CODE STYLE class.pmDashlet.php

This commit is contained in:
Fernando Ontiveros
2012-10-09 12:55:53 -04:00
parent 7f1d0fad9c
commit 16b4ea4e2a

View File

@@ -4,7 +4,8 @@ require_once 'classes/interfaces/dashletInterface.php';
require_once 'classes/model/Dashlet.php'; require_once 'classes/model/Dashlet.php';
require_once 'classes/model/DashletInstance.php'; require_once 'classes/model/DashletInstance.php';
class PMDashlet extends DashletInstance implements DashletInterface { class PMDashlet extends DashletInstance implements DashletInterface
{
// Own properties // Own properties
private $dashletInstance; private $dashletInstance;
@@ -12,106 +13,109 @@ class PMDashlet extends DashletInstance implements DashletInterface {
// Interface functions // Interface functions
public static function getAdditionalFields($className) {
public static function getAdditionalFields ($className)
{
try { try {
if (!class_exists($className)) { if (! class_exists( $className )) {
self::setIncludePath(); self::setIncludePath();
require_once 'classes' . PATH_SEP . 'class.' . $className . '.php'; require_once 'classes' . PATH_SEP . 'class.' . $className . '.php';
} }
G::LoadClass($className); G::LoadClass( $className );
eval("\$additionalFields = $className::getAdditionalFields(\$className);"); eval( "\$additionalFields = $className::getAdditionalFields(\$className);" );
return $additionalFields; return $additionalFields;
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function setup ($dasInsUid)
{
public function setup($dasInsUid) {
try { try {
$this->dashletInstance = $this->loadDashletInstance($dasInsUid); $this->dashletInstance = $this->loadDashletInstance( $dasInsUid );
if (!isset($this->dashletInstance['DAS_CLASS'])) { if (! isset( $this->dashletInstance['DAS_CLASS'] )) {
throw new Exception(G::LoadTranslation('ID_ERROR_OBJECT_NOT_EXISTS') . ' - Probably the plugin related is disabled'); throw new Exception( G::LoadTranslation( 'ID_ERROR_OBJECT_NOT_EXISTS' ) . ' - Probably the plugin related is disabled' );
} }
$className = $this->dashletInstance['DAS_CLASS']; $className = $this->dashletInstance['DAS_CLASS'];
G::LoadClass($className); G::LoadClass( $className );
if (!class_exists($className)) { if (! class_exists( $className )) {
self::setIncludePath(); self::setIncludePath();
require_once 'classes' . PATH_SEP . 'class.' . $className . '.php'; require_once 'classes' . PATH_SEP . 'class.' . $className . '.php';
} }
$this->dashletObject = new $className(); $this->dashletObject = new $className();
$this->dashletObject->setup($this->dashletInstance); $this->dashletObject->setup( $this->dashletInstance );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function render($width = 300) { public function render ($width = 300)
{
try { try {
if (is_null($this->dashletObject)) { if (is_null( $this->dashletObject )) {
throw new Exception('Please call to the function "setup" before call the function "render".'); throw new Exception( 'Please call to the function "setup" before call the function "render".' );
} }
$this->dashletObject->render($width); $this->dashletObject->render( $width );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
// Getter and Setters // Getter and Setters
public function getDashletInstance() {
public function getDashletInstance ()
{
return $this->dashletInstance; return $this->dashletInstance;
} }
public function getDashletObject() { public function getDashletObject ()
{
return $this->dashletObject; return $this->dashletObject;
} }
// Own functions // Own functions
public function getDashletsInstances($start = null, $limit = null) {
public function getDashletsInstances ($start = null, $limit = null)
{
try { try {
$dashletsInstances = array(); $dashletsInstances = array ();
$criteria = new Criteria('workflow'); $criteria = new Criteria( 'workflow' );
$criteria->addSelectColumn('*'); $criteria->addSelectColumn( '*' );
$criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
if (!is_null($start)) { if (! is_null( $start )) {
$criteria->setOffset($start); $criteria->setOffset( $start );
} }
if (!is_null($limit)) { if (! is_null( $limit )) {
$criteria->setLimit($limit); $criteria->setLimit( $limit );
} }
$dataset = DashletInstancePeer::doSelectRS($criteria); $dataset = DashletInstancePeer::doSelectRS( $criteria );
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$dataset->next(); $dataset->next();
while ($row = $dataset->getRow()) { while ($row = $dataset->getRow()) {
$arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]); $arrayField = unserialize( $row["DAS_INS_ADDITIONAL_PROPERTIES"] );
$row['DAS_INS_STATUS_LABEL'] = ($row['DAS_INS_STATUS'] == '1' ? G::LoadTranslation('ID_ACTIVE') : G::LoadTranslation('ID_INACTIVE')); $row['DAS_INS_STATUS_LABEL'] = ($row['DAS_INS_STATUS'] == '1' ? G::LoadTranslation( 'ID_ACTIVE' ) : G::LoadTranslation( 'ID_INACTIVE' ));
$row['DAS_INS_TITLE'] = (isset($arrayField['DAS_INS_TITLE']) && !empty($arrayField['DAS_INS_TITLE']))? $arrayField['DAS_INS_TITLE'] : ''; $row['DAS_INS_TITLE'] = (isset( $arrayField['DAS_INS_TITLE'] ) && ! empty( $arrayField['DAS_INS_TITLE'] )) ? $arrayField['DAS_INS_TITLE'] : '';
if (!class_exists($row['DAS_CLASS'])) { if (! class_exists( $row['DAS_CLASS'] )) {
self::setIncludePath(); self::setIncludePath();
require_once 'classes' . PATH_SEP . 'class.' . $row['DAS_CLASS'] . '.php'; require_once 'classes' . PATH_SEP . 'class.' . $row['DAS_CLASS'] . '.php';
} }
eval("\$row['DAS_VERSION'] = defined('" . $row['DAS_CLASS'] . "::version') ? " . $row['DAS_CLASS'] . "::version : \$row['DAS_VERSION'];"); eval( "\$row['DAS_VERSION'] = defined('" . $row['DAS_CLASS'] . "::version') ? " . $row['DAS_CLASS'] . "::version : \$row['DAS_VERSION'];" );
switch ($row['DAS_INS_OWNER_TYPE']) { switch ($row['DAS_INS_OWNER_TYPE']) {
case 'EVERYBODY': case 'EVERYBODY':
$row['DAS_INS_OWNER_TITLE'] = G::LoadTranslation('ID_ALL_USERS'); $row['DAS_INS_OWNER_TITLE'] = G::LoadTranslation( 'ID_ALL_USERS' );
break; break;
case 'USER': case 'USER':
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
$userInstance = new Users(); $userInstance = new Users();
try { try {
$user = $userInstance->load($row['DAS_INS_OWNER_UID']); $user = $userInstance->load( $row['DAS_INS_OWNER_UID'] );
$row['DAS_INS_OWNER_TITLE'] = $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME']; $row['DAS_INS_OWNER_TITLE'] = $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME'];
} } catch (Exception $error) {
catch (Exception $error) { $this->remove( $row['DAS_INS_UID'] );
$this->remove($row['DAS_INS_UID']);
$row['DAS_INS_UID'] = ''; $row['DAS_INS_UID'] = '';
} }
break; break;
@@ -119,11 +123,10 @@ class PMDashlet extends DashletInstance implements DashletInterface {
require_once 'classes/model/Department.php'; require_once 'classes/model/Department.php';
$departmentInstance = new Department(); $departmentInstance = new Department();
try { try {
$department = $departmentInstance->load($row['DAS_INS_OWNER_UID']); $department = $departmentInstance->load( $row['DAS_INS_OWNER_UID'] );
$row['DAS_INS_OWNER_TITLE'] = $department['DEPO_TITLE']; $row['DAS_INS_OWNER_TITLE'] = $department['DEPO_TITLE'];
} } catch (Exception $error) {
catch (Exception $error) { $this->remove( $row['DAS_INS_UID'] );
$this->remove($row['DAS_INS_UID']);
$row['DAS_INS_UID'] = ''; $row['DAS_INS_UID'] = '';
} }
break; break;
@@ -131,11 +134,10 @@ class PMDashlet extends DashletInstance implements DashletInterface {
require_once 'classes/model/Groupwf.php'; require_once 'classes/model/Groupwf.php';
$groupInstance = new Groupwf(); $groupInstance = new Groupwf();
try { try {
$group = $groupInstance->load($row['DAS_INS_OWNER_UID']); $group = $groupInstance->load( $row['DAS_INS_OWNER_UID'] );
$row['DAS_INS_OWNER_TITLE'] = $group['GRP_TITLE']; $row['DAS_INS_OWNER_TITLE'] = $group['GRP_TITLE'];
} } catch (Exception $error) {
catch (Exception $error) { $this->remove( $row['DAS_INS_UID'] );
$this->remove($row['DAS_INS_UID']);
$row['DAS_INS_UID'] = ''; $row['DAS_INS_UID'] = '';
} }
break; break;
@@ -149,82 +151,82 @@ class PMDashlet extends DashletInstance implements DashletInterface {
$dataset->next(); $dataset->next();
} }
return $dashletsInstances; return $dashletsInstances;
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function getDashletsInstancesQuantity() { public function getDashletsInstancesQuantity ()
{
try { try {
$criteria = new Criteria('workflow'); $criteria = new Criteria( 'workflow' );
$criteria->addSelectColumn('*'); $criteria->addSelectColumn( '*' );
$criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
return DashletInstancePeer::doCount($criteria); return DashletInstancePeer::doCount( $criteria );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function loadDashletInstance($dasInsUid) { public function loadDashletInstance ($dasInsUid)
{
try { try {
$dashletInstance = $this->load($dasInsUid); $dashletInstance = $this->load( $dasInsUid );
//Load data from the serialized field //Load data from the serialized field
$dashlet = new Dashlet(); $dashlet = new Dashlet();
$dashletFields = $dashlet->load($dashletInstance['DAS_UID']); $dashletFields = $dashlet->load( $dashletInstance['DAS_UID'] );
if (is_null($dashletFields)) { if (is_null( $dashletFields )) {
$dashletFields = array(); $dashletFields = array ();
} }
return array_merge($dashletFields, $dashletInstance); return array_merge( $dashletFields, $dashletInstance );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function saveDashletInstance($data) { public function saveDashletInstance ($data)
{
try { try {
$this->createOrUpdate($data); $this->createOrUpdate( $data );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function deleteDashletInstance($dasInsUid) { public function deleteDashletInstance ($dasInsUid)
{
try { try {
$this->remove($dasInsUid); $this->remove( $dasInsUid );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public function getDashletsInstancesForUser($userUid) { public function getDashletsInstancesForUser ($userUid)
{
try { try {
$dashletsInstances = array(); $dashletsInstances = array ();
// Include required classes // Include required classes
require_once 'classes/model/Department.php'; require_once 'classes/model/Department.php';
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
// Check for "public" dashlets // Check for "public" dashlets
$criteria = new Criteria('workflow'); $criteria = new Criteria( 'workflow' );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES );
$criteria->addSelectColumn(DashletPeer::DAS_CLASS); $criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn(DashletPeer::DAS_TITLE); $criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'EVERYBODY'); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'EVERYBODY' );
$dataset = DashletInstancePeer::doSelectRS($criteria); $dataset = DashletInstancePeer::doSelectRS( $criteria );
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$dataset->next(); $dataset->next();
while ($row = $dataset->getRow()) { while ($row = $dataset->getRow()) {
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) { if (! isset( $dashletsInstances[$row['DAS_INS_UID']] )) {
$arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]); $arrayField = unserialize( $row["DAS_INS_ADDITIONAL_PROPERTIES"] );
$row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']); $row['DAS_XTEMPLATE'] = $this->getXTemplate( $row['DAS_CLASS'] );
$row["DAS_TITLE"] = (isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]))? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"]; $row["DAS_TITLE"] = (isset( $arrayField["DAS_INS_TITLE"] ) && ! empty( $arrayField["DAS_INS_TITLE"] )) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
$row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]))? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null); $row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset( $arrayField["DAS_INS_SUBTITLE"] ) && ! empty( $arrayField["DAS_INS_SUBTITLE"] )) ? str_replace( "@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"] ) : null);
$dashletsInstances[$row['DAS_INS_UID']] = $row; $dashletsInstances[$row['DAS_INS_UID']] = $row;
} }
@@ -232,24 +234,24 @@ class PMDashlet extends DashletInstance implements DashletInterface {
} }
// Check for the direct assignments // Check for the direct assignments
$usersInstance = new Users(); $usersInstance = new Users();
$criteria = new Criteria('workflow'); $criteria = new Criteria( 'workflow' );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES );
$criteria->addSelectColumn(DashletPeer::DAS_CLASS); $criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn(DashletPeer::DAS_TITLE); $criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'USER'); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'USER' );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $userUid); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $userUid );
$dataset = DashletInstancePeer::doSelectRS($criteria); $dataset = DashletInstancePeer::doSelectRS( $criteria );
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$dataset->next(); $dataset->next();
while ($row = $dataset->getRow()) { while ($row = $dataset->getRow()) {
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) { if (! isset( $dashletsInstances[$row['DAS_INS_UID']] )) {
$arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]); $arrayField = unserialize( $row["DAS_INS_ADDITIONAL_PROPERTIES"] );
$row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']); $row['DAS_XTEMPLATE'] = $this->getXTemplate( $row['DAS_CLASS'] );
$row["DAS_TITLE"] = (isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]))? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"]; $row["DAS_TITLE"] = (isset( $arrayField["DAS_INS_TITLE"] ) && ! empty( $arrayField["DAS_INS_TITLE"] )) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
$row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]))? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null); $row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset( $arrayField["DAS_INS_SUBTITLE"] ) && ! empty( $arrayField["DAS_INS_SUBTITLE"] )) ? str_replace( "@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"] ) : null);
$dashletsInstances[$row['DAS_INS_UID']] = $row; $dashletsInstances[$row['DAS_INS_UID']] = $row;
} }
@@ -257,26 +259,26 @@ class PMDashlet extends DashletInstance implements DashletInterface {
} }
// Check for department assigments // Check for department assigments
$departmentInstance = new Department(); $departmentInstance = new Department();
$departments = $departmentInstance->getDepartmentsForUser($userUid); $departments = $departmentInstance->getDepartmentsForUser( $userUid );
foreach ($departments as $depUid => $department) { foreach ($departments as $depUid => $department) {
$criteria = new Criteria('workflow'); $criteria = new Criteria( 'workflow' );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES );
$criteria->addSelectColumn(DashletPeer::DAS_CLASS); $criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn(DashletPeer::DAS_TITLE); $criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'DEPARTMENT'); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'DEPARTMENT' );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $depUid); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $depUid );
$dataset = DashletInstancePeer::doSelectRS($criteria); $dataset = DashletInstancePeer::doSelectRS( $criteria );
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$dataset->next(); $dataset->next();
while ($row = $dataset->getRow()) { while ($row = $dataset->getRow()) {
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) { if (! isset( $dashletsInstances[$row['DAS_INS_UID']] )) {
$arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]); $arrayField = unserialize( $row["DAS_INS_ADDITIONAL_PROPERTIES"] );
$row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']); $row['DAS_XTEMPLATE'] = $this->getXTemplate( $row['DAS_CLASS'] );
$row["DAS_TITLE"] = (isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]))? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"]; $row["DAS_TITLE"] = (isset( $arrayField["DAS_INS_TITLE"] ) && ! empty( $arrayField["DAS_INS_TITLE"] )) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
$row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]))? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null); $row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset( $arrayField["DAS_INS_SUBTITLE"] ) && ! empty( $arrayField["DAS_INS_SUBTITLE"] )) ? str_replace( "@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"] ) : null);
$dashletsInstances[$row['DAS_INS_UID']] = $row; $dashletsInstances[$row['DAS_INS_UID']] = $row;
} }
@@ -284,28 +286,28 @@ class PMDashlet extends DashletInstance implements DashletInterface {
} }
} }
// Check for group assignments // Check for group assignments
G::LoadClass('groups'); G::LoadClass( 'groups' );
$groupsInstance = new Groups(); $groupsInstance = new Groups();
$groups = $groupsInstance->getGroupsForUser($userUid); $groups = $groupsInstance->getGroupsForUser( $userUid );
foreach ($groups as $grpUid => $group) { foreach ($groups as $grpUid => $group) {
$criteria = new Criteria('workflow'); $criteria = new Criteria( 'workflow' );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_UID );
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES); $criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES );
$criteria->addSelectColumn(DashletPeer::DAS_CLASS); $criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn(DashletPeer::DAS_TITLE); $criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN); $criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'GROUP'); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'GROUP' );
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $grpUid); $criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $grpUid );
$dataset = DashletInstancePeer::doSelectRS($criteria); $dataset = DashletInstancePeer::doSelectRS( $criteria );
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$dataset->next(); $dataset->next();
while ($row = $dataset->getRow()) { while ($row = $dataset->getRow()) {
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) { if (! isset( $dashletsInstances[$row['DAS_INS_UID']] )) {
$arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]); $arrayField = unserialize( $row["DAS_INS_ADDITIONAL_PROPERTIES"] );
$row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']); $row['DAS_XTEMPLATE'] = $this->getXTemplate( $row['DAS_CLASS'] );
$row["DAS_TITLE"] = (isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]))? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"]; $row["DAS_TITLE"] = (isset( $arrayField["DAS_INS_TITLE"] ) && ! empty( $arrayField["DAS_INS_TITLE"] )) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
$row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]))? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null); $row["DAS_TITLE"] = $row["DAS_TITLE"] . ((isset( $arrayField["DAS_INS_SUBTITLE"] ) && ! empty( $arrayField["DAS_INS_SUBTITLE"] )) ? str_replace( "@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"] ) : null);
$dashletsInstances[$row['DAS_INS_UID']] = $row; $dashletsInstances[$row['DAS_INS_UID']] = $row;
} }
@@ -316,33 +318,33 @@ class PMDashlet extends DashletInstance implements DashletInterface {
// ToDo: Next release // ToDo: Next release
// Check for permission assigments // Check for permission assigments
// ToDo: Next release // ToDo: Next release
return array_values($dashletsInstances); return array_values( $dashletsInstances );
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
public static function getXTemplate($className) { public static function getXTemplate ($className)
{
try { try {
if (!class_exists($className)) { if (! class_exists( $className )) {
self::setIncludePath(); self::setIncludePath();
require_once 'classes' . PATH_SEP . 'class.' . $className . '.php'; require_once 'classes' . PATH_SEP . 'class.' . $className . '.php';
} }
G::LoadClass($className); G::LoadClass( $className );
eval("\$additionalFields = $className::getXTemplate(\$className);"); eval( "\$additionalFields = $className::getXTemplate(\$className);" );
return $additionalFields; return $additionalFields;
} } catch (Exception $error) {
catch (Exception $error) {
throw $error; throw $error;
} }
} }
private static function setIncludePath() { private static function setIncludePath ()
{
$oPluginRegistry = &PMPluginRegistry::getSingleton(); $oPluginRegistry = &PMPluginRegistry::getSingleton();
$pluginsDashlets = $oPluginRegistry->getDashlets(); $pluginsDashlets = $oPluginRegistry->getDashlets();
foreach ($pluginsDashlets as $pluginDashlet) { foreach ($pluginsDashlets as $pluginDashlet) {
set_include_path(get_include_path() . PATH_SEPARATOR . PATH_PLUGINS . $pluginDashlet . PATH_SEP); set_include_path( get_include_path() . PATH_SEPARATOR . PATH_PLUGINS . $pluginDashlet . PATH_SEP );
} }
} }