CODE STYLE class.dashletProcessMakerCommunity.php class.dashletProcessMakerEnterprise.php class.dashletRssReader.php

This commit is contained in:
Fernando Ontiveros
2012-10-09 12:38:43 -04:00
parent 9a683be6ae
commit 4a9180e95f
3 changed files with 141 additions and 127 deletions

View File

@@ -2,26 +2,31 @@
require_once 'classes/interfaces/dashletInterface.php'; require_once 'classes/interfaces/dashletInterface.php';
class dashletProcessMakerCommunity implements DashletInterface { class dashletProcessMakerCommunity implements DashletInterface
{
const version = '1.0'; const version = '1.0';
public static function getAdditionalFields($className) { public static function getAdditionalFields ($className)
$additionalFields = array(); {
$additionalFields = array ();
return $additionalFields; return $additionalFields;
} }
public static function getXTemplate($className) { public static function getXTemplate ($className)
return "<iframe src=\"{page}?DAS_INS_UID={id}\" width=\"{width}\" height=\"207\" frameborder=\"0\"></iframe>"; {
} return "<iframe src=\"{page}?DAS_INS_UID={id}\" width=\"{width}\" height=\"207\" frameborder=\"0\"></iframe>";
}
public function setup($config) { public function setup ($config)
return true; {
} return true;
}
public function render ($width = 300) { public function render ($width = 300)
$html = " {
$html = "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\"> <html xmlns=\"http://www.w3.org/1999/xhtml\">
@@ -139,7 +144,7 @@ class dashletProcessMakerCommunity implements DashletInterface {
</html> </html>
"; ";
echo $html; echo $html;
} }
} }

View File

@@ -2,26 +2,31 @@
require_once 'classes/interfaces/dashletInterface.php'; require_once 'classes/interfaces/dashletInterface.php';
class dashletProcessMakerEnterprise implements DashletInterface { class dashletProcessMakerEnterprise implements DashletInterface
{
const version = '1.0'; const version = '1.0';
public static function getAdditionalFields($className) { public static function getAdditionalFields ($className)
$additionalFields = array(); {
$additionalFields = array ();
return $additionalFields; return $additionalFields;
} }
public static function getXTemplate($className) { public static function getXTemplate ($className)
return "<iframe src=\"{page}?DAS_INS_UID={id}\" width=\"{width}\" height=\"207\" frameborder=\"0\"></iframe>"; {
} return "<iframe src=\"{page}?DAS_INS_UID={id}\" width=\"{width}\" height=\"207\" frameborder=\"0\"></iframe>";
}
public function setup($config) { public function setup ($config)
return true; {
} return true;
}
public function render ($width = 300) { public function render ($width = 300)
$html = " {
$html = "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\"> <html xmlns=\"http://www.w3.org/1999/xhtml\">
@@ -247,7 +252,7 @@ class dashletProcessMakerEnterprise implements DashletInterface {
</html> </html>
"; ";
echo $html; echo $html;
} }
} }

View File

@@ -2,107 +2,111 @@
require_once 'classes/interfaces/dashletInterface.php'; require_once 'classes/interfaces/dashletInterface.php';
class dashletRssReader implements DashletInterface { class dashletRssReader implements DashletInterface
{
const version = '1.0'; const version = '1.0';
public static function getAdditionalFields($className) { public static function getAdditionalFields ($className)
$additionalFields = array();
$urlFrom = new stdclass();
$urlFrom->xtype = 'textfield';
$urlFrom->name = 'DAS_URL';
$urlFrom->fieldLabel = 'Url';
$urlFrom->width = 320;
$urlFrom->maxLength = 200;
$urlFrom->allowBlank = false;
$urlFrom->value = "http://license.processmaker.com/syspmLicenseSrv/en/green/services/rssAP";
$additionalFields[] = $urlFrom;
return $additionalFields;
}
public static function getXTemplate($className) {
return "<iframe src=\"{page}?DAS_INS_UID={id}\" width=\"{width}\" height=\"207\" frameborder=\"0\"></iframe>";
}
public function setup($config) {
$this->urlFrom = isset($config['DAS_URL']) ? $config['DAS_URL'] : "http://license.processmaker.com/syspmLicenseSrv/en/green/services/rssAP";
return true;
}
public function render ($width = 300) {
$pCurl = curl_init();
curl_setopt($pCurl, CURLOPT_URL, $this->urlFrom);
curl_setopt($pCurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($pCurl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($pCurl, CURLOPT_AUTOREFERER, true);
//To avoid SSL error
curl_setopt($pCurl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($pCurl, CURLOPT_SSL_VERIFYPEER, 0);
//To avoid timeouts
curl_setopt($pCurl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($pCurl, CURLOPT_TIMEOUT, 20);
curl_setopt($pCurl, CURLOPT_NOPROGRESS, false);
curl_setopt($pCurl, CURLOPT_VERBOSE, true);
//Apply proxy settings
$sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') {
curl_setopt($pCurl, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : ''));
if ($sysConf['proxy_port'] != '') {
curl_setopt($pCurl, CURLOPT_PROXYPORT, $sysConf['proxy_port']);
}
if ($sysConf['proxy_user'] != '') {
curl_setopt($pCurl, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : ''));
}
curl_setopt($pCurl, CURLOPT_HTTPHEADER, array('Expect:'));
}
$self->rss = @simplexml_load_string(curl_exec($pCurl));
if($self->rss)
{ {
$index= 0; $additionalFields = array ();
$render = '';
$self->items = $self->rss->channel->item;
if (count($self->rss->channel)!= 0) {
$status = 'true';
foreach($self->items as $self->item)
{
$self->title = $self->item->title;
$self->link = $self->item->link;
$self->des = $self->item->description; $urlFrom = new stdclass();
$render[] = array('link' => '<a href="'.$self->link.'" target="_blank">'.$self->title.'</a><br/>','description' => $self->des.'<br/><hr>'); $urlFrom->xtype = 'textfield';
$index++; $urlFrom->name = 'DAS_URL';
$urlFrom->fieldLabel = 'Url';
$urlFrom->width = 320;
$urlFrom->maxLength = 200;
$urlFrom->allowBlank = false;
$urlFrom->value = "http://license.processmaker.com/syspmLicenseSrv/en/green/services/rssAP";
$additionalFields[] = $urlFrom;
return $additionalFields;
}
public static function getXTemplate ($className)
{
return "<iframe src=\"{page}?DAS_INS_UID={id}\" width=\"{width}\" height=\"207\" frameborder=\"0\"></iframe>";
}
public function setup ($config)
{
$this->urlFrom = isset( $config['DAS_URL'] ) ? $config['DAS_URL'] : "http://license.processmaker.com/syspmLicenseSrv/en/green/services/rssAP";
return true;
}
public function render ($width = 300)
{
$pCurl = curl_init();
curl_setopt( $pCurl, CURLOPT_URL, $this->urlFrom );
curl_setopt( $pCurl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $pCurl, CURLOPT_FOLLOWLOCATION, false );
curl_setopt( $pCurl, CURLOPT_AUTOREFERER, true );
//To avoid SSL error
curl_setopt( $pCurl, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $pCurl, CURLOPT_SSL_VERIFYPEER, 0 );
//To avoid timeouts
curl_setopt( $pCurl, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt( $pCurl, CURLOPT_TIMEOUT, 20 );
curl_setopt( $pCurl, CURLOPT_NOPROGRESS, false );
curl_setopt( $pCurl, CURLOPT_VERBOSE, true );
//Apply proxy settings
$sysConf = System::getSystemConfiguration();
if ($sysConf['proxy_host'] != '') {
curl_setopt( $pCurl, CURLOPT_PROXY, $sysConf['proxy_host'] . ($sysConf['proxy_port'] != '' ? ':' . $sysConf['proxy_port'] : '') );
if ($sysConf['proxy_port'] != '') {
curl_setopt( $pCurl, CURLOPT_PROXYPORT, $sysConf['proxy_port'] );
}
if ($sysConf['proxy_user'] != '') {
curl_setopt( $pCurl, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') );
}
curl_setopt( $pCurl, CURLOPT_HTTPHEADER, array ('Expect:'
) );
} }
}
else {
$status = 'Error';
$render[] =array('link' => 'Error', 'description' =>"Unable to parse XML");
}
}
else {
$status = 'Error';
$render[] =array('link' => 'Error', 'description' =>"Unable to parse XML");
}
G::verifyPath ( PATH_SMARTY_C, true );
$smarty = new Smarty();
$smarty->template_dir = PATH_CORE.'templates/dashboard/';
$smarty->compile_dir = PATH_SMARTY_C;
try { $self->rss = @simplexml_load_string( curl_exec( $pCurl ) );
$smarty->assign('url', $this->urlFrom); if ($self->rss) {
$smarty->assign('render', $render); $index = 0;
$smarty->assign('status', $status); $render = '';
} $self->items = $self->rss->channel->item;
catch (Exception $ex) { if (count( $self->rss->channel ) != 0) {
print $item->key; $status = 'true';
} foreach ($self->items as $self->item) {
$smarty->display('dashletRssReaderTemplate.html',null,null); $self->title = $self->item->title;
$self->link = $self->item->link;
} $self->des = $self->item->description;
$render[] = array ('link' => '<a href="' . $self->link . '" target="_blank">' . $self->title . '</a><br/>','description' => $self->des . '<br/><hr>'
);
$index ++;
}
} else {
$status = 'Error';
$render[] = array ('link' => 'Error','description' => "Unable to parse XML"
);
}
} else {
$status = 'Error';
$render[] = array ('link' => 'Error','description' => "Unable to parse XML"
);
}
G::verifyPath( PATH_SMARTY_C, true );
$smarty = new Smarty();
$smarty->template_dir = PATH_CORE . 'templates/dashboard/';
$smarty->compile_dir = PATH_SMARTY_C;
try {
$smarty->assign( 'url', $this->urlFrom );
$smarty->assign( 'render', $render );
$smarty->assign( 'status', $status );
} catch (Exception $ex) {
print $item->key;
}
$smarty->display( 'dashletRssReaderTemplate.html', null, null );
}
} }