function getStatusArray($action, $userUid) { global $oAppCache; $status = array(); $status[] = array('', G::LoadTranslation('ID_ALL_STATUS')); //get the list based in the action provided switch ($action) { case 'sent': $cStatus = $oAppCache->getSentListProcessCriteria($userUid); // a little slow break; case 'simple_search': case 'search': $cStatus = new Criteria('workflow'); $cStatus->clearSelectColumns(); $cStatus->setDistinct(); $cStatus->addSelectColumn(ApplicationPeer::APP_STATUS); $oDataset = ApplicationPeer::doSelectRS($cStatus); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $status[] = array($aRow['APP_STATUS'], G::LoadTranslation('ID_CASES_STATUS_' . $aRow['APP_STATUS'])); //here we can have a translation for the status ( the second param) $oDataset->next(); } return $status; break; case 'selfservice': $cStatus = $oAppCache->getUnassignedListCriteria($userUid); break; case 'paused': $cStatus = $oAppCache->getPausedListCriteria($userUid); break; case 'to_revise': $cStatus = $oAppCache->getToReviseListCriteria($userUid); // $cStatus = $oAppCache->getPausedListCriteria($userUid); break; case 'to_reassign': $cStatus = $oAppCache->getToReassignListCriteria($userUid); break; case 'todo': case 'draft': case 'gral': // case 'to_revise' : // case 'to_revise' : default: return $status; break; } //get the status for this user in this action only for participated, unassigned, paused // if ( $action != 'todo' && $action != 'draft' && $action != 'to_revise') { if ($action != 'todo' && $action != 'draft') { //$cStatus = new Criteria('workflow'); $cStatus->clearSelectColumns(); $cStatus->setDistinct(); $cStatus->addSelectColumn(AppCacheViewPeer::APP_STATUS); $oDataset = AppCacheViewPeer::doSelectRS($cStatus, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $status[] = array($aRow['APP_STATUS'], G::LoadTranslation('ID_CASES_STATUS_' . $aRow['APP_STATUS'])); //here we can have a translation for the status ( the second param) $oDataset->next(); } } return $status; }
/** * This function checks the user session * * * @name verifySession * * @param string sSessionId * @return array */ public function verifySession($sSessionId = NULL) { try { if ($sSessionId != NULL) { $this->sessionId = $sSessionId; } else { if ($this->sessionId == NULL) { throw new Exception('session id was not set.'); } } $date = date('Y-m-d H:i:s'); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(SessionPeer::USR_UID); $oCriteria->addSelectColumn(SessionPeer::SES_STATUS); $oCriteria->addSelectColumn(SessionPeer::SES_DUE_DATE); $oCriteria->add(SessionPeer::SES_UID, $this->sessionId); $oCriteria->add(SessionPeer::SES_STATUS, 'ACTIVE'); $oCriteria->add(SessionPeer::SES_DUE_DATE, $date, Criteria::GREATER_EQUAL); $oDataset = SessionPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (!is_array($aRow)) { $this->deleteTmpfile(); } return $aRow; } catch (Exception $oError) { throw $oError; } }
$sDataBase = 'database_' . strtolower(DB_ADAPTER); if (G::LoadSystemExist($sDataBase)) { G::LoadSystem($sDataBase); $oDataBase = new database(); $oCriteria->addAsColumn('USR_COMPLETENAME', $oDataBase->concatString("USR_LASTNAME", "' '", "USR_FIRSTNAME")); //$oCriteria->addAsColumn('USR_PHOTO', $oDataBase->concatString("'".PATH_IMAGES_ENVIRONMENT_USERS."'", "USR_UID","'.gif'")); } $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); $oCriteria->addSelectColumn(UsersPeer::USR_ROLE); $oCriteria->addSelectColumn(UsersPeer::USR_DUE_DATE); //$oCriteria->addAsColumn('USR_VIEW', $sDelimiter . G::LoadTranslation('ID_DETAIL') . $sDelimiter); //$oCriteria->addAsColumn('USR_EDIT', $sDelimiter . G::LoadTranslation('ID_EDIT') . $sDelimiter); //$oCriteria->addAsColumn('USR_DELETE', $sDelimiter . G::LoadTranslation('ID_DELETE') . $sDelimiter); //$oCriteria->addAsColumn('USR_AUTH', $sDelimiter . G::LoadTranslation('ID_AUTHENTICATION') . $sDelimiter); //$oCriteria->addAsColumn('USR_REASSIGN', $sDelimiter . G::LoadTranslation('ID_REASSIGN_CASES') . $sDelimiter); $oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); if ($filter != '') { $cc = $oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE)->addOr($oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE)->addOr($oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE))); $oCriteria->add($cc); //echo $oCriteria->toString(); } $rs = UsersPeer::DoSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rows = array(); while ($rs->next()) { $rows[] = $rs->getRow(); // if (!file_exists($aux['USR_PHOTO'])) $aux['USR_PHOTO'] = 'public_html/images/user.gif'; // $rows[] = $aux; } echo '{users: ' . G::json_encode($rows) . '}';
public function getInputDocumentsCriteria($sProcessUID = '') { $sDelimiter = DBAdapter::getStringDelimiter(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(InputDocumentPeer::INP_DOC_UID); $oCriteria->addSelectColumn(InputDocumentPeer::PRO_UID); $oCriteria->addAsColumn('INP_DOC_TITLE', 'C1.CON_VALUE'); $oCriteria->addAsColumn('INP_DOC_DESCRIPTION', 'C2.CON_VALUE'); $oCriteria->addAlias('C1', 'CONTENT'); $oCriteria->addAlias('C2', 'CONTENT'); $aConditions = array(); $aConditions[] = array(InputDocumentPeer::INP_DOC_UID, 'C1.CON_ID' ); $aConditions[] = array('C1.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter ); $aConditions[] = array('C1.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter ); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $aConditions = array(); $aConditions[] = array(InputDocumentPeer::INP_DOC_UID, 'C2.CON_ID' ); $aConditions[] = array('C2.CON_CATEGORY', $sDelimiter . 'INP_DOC_DESCRIPTION' . $sDelimiter ); $aConditions[] = array('C2.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter ); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(InputDocumentPeer::PRO_UID, $sProcessUID); $oDataset = InputDocumentPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $inputDocArray = ""; $inputDocArray[] = array('INP_DOC_UID' => 'char', 'PRO_UID' => 'char', 'INP_DOC_TITLE' => 'char', 'INP_DOC_DESCRIPTION' => 'char' ); while ($aRow = $oDataset->getRow()) { if (($aRow['INP_DOC_TITLE'] == null) || ($aRow['INP_DOC_TITLE'] == "")) { // There is no transaltion for this Document name, try to get/regenerate the label $inputDocument = new InputDocument(); $inputDocumentObj = $inputDocument->load($aRow['INP_DOC_UID']); $aRow['INP_DOC_TITLE'] = $inputDocumentObj['INP_DOC_TITLE']; $aRow['INP_DOC_DESCRIPTION'] = $inputDocumentObj['INP_DOC_DESCRIPTION']; } $inputDocArray[] = $aRow; $oDataset->next(); } global $_DBArray; $_DBArray = (isset($_SESSION['_DBArray']) ? $_SESSION['_DBArray'] : ''); $_DBArray['inputDocArrayMain'] = $inputDocArray; $_SESSION['_DBArray'] = $_DBArray; G::LoadClass('ArrayPeer'); $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('inputDocArrayMain'); return $oCriteria; }
$html .= '<label for="prefix_label">' . $filter->xssFilterHard(G::LoadTranslation('ID_PREFIX')) . '</label>'; $html .= '</td>'; $html .= '<td width="25%">'; $html .= '<label for="variables_label">' . $filter->xssFilterHard(G::LoadTranslation('ID_SEARCH')) . '</label>'; $html .= '</td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td width="25%">'; $html .= '<select name="type_variables" id="type_variables">'; $html .= '<option value="all">' . $filter->xssFilterHard(G::LoadTranslation('ID_TINY_ALL_VARIABLES')) . '</option>'; $html .= '<option value="system">' . $filter->xssFilterHard(G::LoadTranslation('ID_TINY_SYSTEM_VARIABLES')) . '</option>'; $html .= '<option value="process">' . $filter->xssFilterHard(G::LoadTranslation('ID_TINY_PROCESS_VARIABLES')) . '</option>'; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(BpmnProjectPeer::PRJ_UID); $oCriteria->add(BpmnProjectPeer::PRJ_UID, $_REQUEST['sProcess']); $oDataset = ProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $row = $oDataset->getRow(); $isBpmn = false; if (isset($row["PRJ_UID"])) { $isBpmn = true; $html .= '<option value="grid">' . $filter->xssFilterHard(G::LoadTranslation('ID_TINY_GRID_VARIABLES')) . '</option>'; } $html .= '</select> '; $html .= '</td>'; $html .= '<td width="25%">'; $html .= '<select name="prefix" id="prefix">'; if ($isBpmn) { $html .= '<option value="ID_TO_STRING">@@</option>'; $html .= '<option value="ID_TO_FLOAT">@#</option>';
//$value= $_POST['functions']; $value = get_ajax_value('functions'); } switch ($value) { case 'verifyUsername': //print_r($_POST); die; $_POST['sOriginalUsername'] = get_ajax_value('sOriginalUsername'); $_POST['sUsername'] = get_ajax_value('sUsername'); if ($_POST['sOriginalUsername'] == $_POST['sUsername']) { echo '0'; } else { require_once 'classes/model/Users.php'; G::LoadClass('Users'); $oUser = new Users(); $oCriteria = $oUser->loadByUsername($_POST['sUsername']); $oDataset = UsersPeer::doSelectRs($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); //print_r($aRow); die; //if (!$aRow) if (!is_array($aRow)) { echo '0'; } else { echo '1'; } } break; case 'availableUsers': G::LoadClass('processMap'); $oProcessMap = new ProcessMap();
/** * verification the register automatic * * * @access public * @param string $strUser the system * @param string $strPass the password * @return $res */ public function checkAutomaticRegister($strUser, $strPass) { $result = -1; //default return value, foreach ($this->aRbacPlugins as $sClassName) { $plugin = new $sClassName(); if (method_exists($plugin, 'automaticRegister')) { $oCriteria = new Criteria('rbac'); $oCriteria->add(AuthenticationSourcePeer::AUTH_SOURCE_PROVIDER, $sClassName); $oCriteria->addAscendingOrderByColumn(AuthenticationSourcePeer::AUTH_SOURCE_NAME); $oDataset = AuthenticationSourcePeer::doSelectRS($oCriteria, Propel::getDbConnection('rbac_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); while (is_array($aRow)) { $aRow = array_merge($aRow, unserialize($aRow['AUTH_SOURCE_DATA'])); //Check if this authsource is enabled for AutoRegister, if not skip this if ($aRow['AUTH_SOURCE_AUTO_REGISTER'] == 1) { $plugin->sAuthSource = $aRow['AUTH_SOURCE_UID']; $plugin->sSystem = $this->sSystem; //search the usersRolesObj //create the users in ProcessMaker $res = $plugin->automaticRegister($aRow, $strUser, $strPass); if ($res == 1) { return $res; } } $oDataset->next(); $aRow = $oDataset->getRow(); } } } }
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) { $resp = array(); $criteria = new Criteria(); $criteria->addSelectColumn(ListPausedPeer::APP_UID); $criteria->addSelectColumn(ListPausedPeer::USR_UID); $criteria->addSelectColumn(ListPausedPeer::TAS_UID); $criteria->addSelectColumn(ListPausedPeer::PRO_UID); $criteria->addSelectColumn(ListPausedPeer::APP_NUMBER); $criteria->addSelectColumn(ListPausedPeer::APP_TITLE); $criteria->addSelectColumn(ListPausedPeer::APP_PRO_TITLE); $criteria->addSelectColumn(ListPausedPeer::APP_TAS_TITLE); $criteria->addSelectColumn(ListPausedPeer::APP_PAUSED_DATE); $criteria->addSelectColumn(ListPausedPeer::APP_RESTART_DATE); $criteria->addSelectColumn(ListPausedPeer::DEL_INDEX); $criteria->addSelectColumn(ListPausedPeer::DEL_PREVIOUS_USR_UID); $criteria->addSelectColumn(ListPausedPeer::DEL_PREVIOUS_USR_USERNAME); $criteria->addSelectColumn(ListPausedPeer::DEL_PREVIOUS_USR_FIRSTNAME); $criteria->addSelectColumn(ListPausedPeer::DEL_PREVIOUS_USR_LASTNAME); $criteria->addSelectColumn(ListPausedPeer::DEL_CURRENT_USR_FIRSTNAME); $criteria->addSelectColumn(ListPausedPeer::DEL_CURRENT_USR_LASTNAME); $criteria->addSelectColumn(ListPausedPeer::DEL_CURRENT_USR_USERNAME); $criteria->addSelectColumn(ListPausedPeer::DEL_DELEGATE_DATE); $criteria->addSelectColumn(ListPausedPeer::DEL_INIT_DATE); $criteria->addSelectColumn(ListPausedPeer::DEL_DUE_DATE); $criteria->addSelectColumn(ListPausedPeer::DEL_PRIORITY); $criteria->add( ListPausedPeer::USR_UID, $usr_uid, Criteria::EQUAL ); self::loadFilters($criteria, $filters); $sort = (!empty($filters['sort'])) ? $filters['sort'] : "APP_PAUSED_DATE"; $dir = isset($filters['dir']) ? $filters['dir'] : "ASC"; $start = isset($filters['start']) ? $filters['start'] : "0"; $limit = isset($filters['limit']) ? $filters['limit'] : "25"; $paged = isset($filters['paged']) ? $filters['paged'] : 1; if ($dir == "DESC") { $criteria->addDescendingOrderByColumn($sort); } else { $criteria->addAscendingOrderByColumn($sort); } if ($paged == 1) { $criteria->setLimit( $limit ); $criteria->setOffset( $start ); } $dataset = ListPausedPeer::doSelectRS($criteria, Propel::getDbConnection('workflow_ro') ); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $data = array(); while ($dataset->next()) { $aRow = (is_null($callbackRecord))? $dataset->getRow() : $callbackRecord($dataset->getRow()); $data[] = $aRow; } return $data; }
break; } //get the processes for this user in this action $cProcess->clearSelectColumns(); $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID); $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE); $cProcess->setDistinct(AppCacheViewPeer::PRO_UID); if ($categoryUid) { require_once 'classes/model/Process.php'; $cProcess->addAlias('CP', 'PROCESS'); $cProcess->add('CP.PRO_CATEGORY', $categoryUid, Criteria::EQUAL); $cProcess->addJoin(AppCacheViewPeer::PRO_UID, 'CP.PRO_UID', Criteria::LEFT_JOIN); $cProcess->addAsColumn('CATEGORY_UID', 'CP.PRO_CATEGORY'); } $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); $oDataset = AppCacheViewPeer::doSelectRS($cProcess, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']); $oDataset->next(); } return print G::json_encode($processes); } if ($actionAjax == "getUsersToReassign") { $_SESSION['TASK'] = $_REQUEST['TAS_UID']; $case = new Cases(); G::LoadClass('tasks'); $task = new Task(); $tasks = $task->load($_SESSION['TASK']); $result = new stdclass();
public function getAll( $userUid, $start = null, $limit = null, $action = null, $filter = null, $search = null, $process = null, $status = null, $type = null, $dateFrom = null, $dateTo = null, $callback = null, $dir = null, $sort = "APP_CACHE_VIEW.APP_NUMBER", $category = null, $configuration = true, $paged = true ) { $callback = isset($callback)? $callback : "stcCallback1001"; $dir = isset($dir)? $dir : "DESC"; if (isset($sort)) { G::LoadClass('phpSqlParser'); $parser = new PHPSQLParser($sort); $sort = $parser->parsed; $sort = $sort[''][0]; } $sort = isset($sort)? $sort : ""; $start = isset($start)? $start : "0"; $limit = isset($limit)? $limit : "25"; $filter = isset($filter)? $filter : ""; $search = isset($search)? $search : ""; $process = isset($process)? $process : ""; $category = isset($category)? $category : ""; $status = isset($status)? $status : ""; $action = isset($action)? $action : "todo"; $type = isset($type)? $type : "extjs"; $dateFrom = isset($dateFrom)? $dateFrom : ""; $dateTo = isset($dateTo)? $dateTo : ""; G::LoadClass("BasePeer"); G::LoadClass("configuration"); //require_once ("classes/model/AppCacheView.php"); //require_once ("classes/model/AppDelegation.php"); //require_once ("classes/model/AdditionalTables.php"); //require_once ("classes/model/AppDelay.php"); //require_once ("classes/model/Fields.php"); //require_once ("classes/model/Users.php"); //require_once ("classes/model/Process.php"); $oAppCache = new AppCacheView(); if ($configuration == true) { //get data configuration $conf = new Configurations(); $confCasesList = $conf->getConfiguration("casesList", ($action == "search" || $action == "simple_search")? "search" : $action); $oAppCache->confCasesList = $confCasesList; } $delimiter = DBAdapter::getStringDelimiter(); // get the action based list switch ($action) { case "draft": $Criteria = $oAppCache->getDraftListCriteria($userUid); $CriteriaCount = $oAppCache->getDraftCountCriteria($userUid); break; case "sent": $Criteria = $oAppCache->getSentListCriteria($userUid); $CriteriaCount = $oAppCache->getSentCountCriteria($userUid); if (!empty($status)) { $Criteria->add(AppCacheViewPeer::APP_STATUS, $status); $CriteriaCount->add(AppCacheViewPeer::APP_STATUS, $status); } break; case "selfservice": case "unassigned": //$userUid can't be empty or null $Criteria = $oAppCache->getUnassignedListCriteria($userUid); $CriteriaCount = $oAppCache->getUnassignedCountCriteria($userUid); break; case "paused": $Criteria = $oAppCache->getPausedListCriteria($userUid); $CriteriaCount = $oAppCache->getPausedCountCriteria($userUid); break; case "completed": $Criteria = $oAppCache->getCompletedListCriteria($userUid); $CriteriaCount = $oAppCache->getCompletedCountCriteria($userUid); break; case "cancelled": $Criteria = $oAppCache->getCancelledListCriteria($userUid); $CriteriaCount = $oAppCache->getCancelledCountCriteria($userUid); break; case "search": //$Criteria = $oAppCache->getSearchListCriteria(); //$CriteriaCount = $oAppCache->getSearchCountCriteria(); switch ($status) { case "TO_DO": $Criteria = $oAppCache->getToDoListCriteria($userUid); $CriteriaCount = $oAppCache->getToDoCountCriteria($userUid); break; case "DRAFT": $Criteria = $oAppCache->getDraftListCriteria($userUid); $CriteriaCount = $oAppCache->getDraftCountCriteria($userUid); break; case "PAUSED": $Criteria = $oAppCache->getPausedListCriteria($userUid); $CriteriaCount = $oAppCache->getPausedCountCriteria($userUid); break; case "CANCELLED": $Criteria = $oAppCache->getCancelledListCriteria($userUid); $CriteriaCount = $oAppCache->getCancelledCountCriteria($userUid); break; case "COMPLETED": $Criteria = $oAppCache->getCompletedListCriteria($userUid); $CriteriaCount = $oAppCache->getCompletedCountCriteria($userUid); $Criteria->add (AppCacheViewPeer::DEL_LAST_INDEX,"1"); $CriteriaCount->add (AppCacheViewPeer::DEL_LAST_INDEX,"1"); break; default: //All status $Criteria = $oAppCache->getAllCasesListCriteria2($userUid); $CriteriaCount = $oAppCache->getAllCasesCountCriteria2($userUid); break; } break; case "simple_search": $Criteria = $oAppCache->getSimpleSearchListCriteria(); $CriteriaCount = $oAppCache->getSimpleSearchCountCriteria(); break; case "to_revise": $Criteria = $oAppCache->getToReviseListCriteria($userUid); $CriteriaCount = $oAppCache->getToReviseCountCriteria($userUid); break; case "to_reassign": $Criteria = $oAppCache->getToReassignListCriteria($userUid); $CriteriaCount = $oAppCache->getToReassignCountCriteria($userUid); break; case "all": $Criteria = $oAppCache->getAllCasesListCriteria($userUid); $CriteriaCount = $oAppCache->getAllCasesCountCriteria($userUid); break; case "gral": //General criteria probably will be deprecated $Criteria = $oAppCache->getGeneralListCriteria(); $CriteriaCount = $oAppCache->getGeneralCountCriteria(); break; case "todo": $Criteria = $oAppCache->getToDoListCriteria($userUid); $CriteriaCount = $oAppCache->getToDoCountCriteria($userUid); break; default: //All status $Criteria = $oAppCache->getAllCasesListCriteria2($userUid); $CriteriaCount = $oAppCache->getAllCasesCountCriteria2($userUid); break; } $arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT"); $Criteria->addJoin(AppCacheViewPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN); $Criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN); $CriteriaCount->addJoin(AppCacheViewPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN); $CriteriaCount->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN); $Criteria->addAlias( 'CU', 'USERS' ); $Criteria->addJoin( AppCacheViewPeer::USR_UID, 'CU.USR_UID', Criteria::LEFT_JOIN ); $Criteria->addAsColumn( 'USR_UID', 'CU.USR_UID' ); $Criteria->addAsColumn( 'USR_FIRSTNAME', 'CU.USR_FIRSTNAME' ); $Criteria->addAsColumn( 'USR_LASTNAME', 'CU.USR_LASTNAME' ); $Criteria->addAsColumn( 'USR_USERNAME', 'CU.USR_USERNAME' ); $CriteriaCount->addAlias( 'CU', 'USERS' ); $CriteriaCount->addJoin( AppCacheViewPeer::USR_UID, 'CU.USR_UID', Criteria::LEFT_JOIN ); $CriteriaCount->addAsColumn( 'USR_UID', 'CU.USR_UID' ); $CriteriaCount->addAsColumn( 'USR_FIRSTNAME', 'CU.USR_FIRSTNAME' ); $CriteriaCount->addAsColumn( 'USR_LASTNAME', 'CU.USR_LASTNAME' ); $CriteriaCount->addAsColumn( 'USR_USERNAME', 'CU.USR_USERNAME' ); //Current delegation $appdelcrTableName = AppCacheViewPeer::TABLE_NAME; $appdelcrAppTasTitle = "APPDELCR.APP_TAS_TITLE"; $appdelcrAppTasTitleCount = $appdelcrAppTasTitle; switch ($action) { case "sent": $appdelcrTableName = AppDelegationPeer::TABLE_NAME; $appdelcrAppTasTitle = "(SELECT CON_VALUE FROM CONTENT WHERE CON_ID = APPDELCR.TAS_UID AND CON_LANG = " . $delimiter . SYS_LANG . $delimiter . " AND CON_CATEGORY = " . $delimiter . "TAS_TITLE" . $delimiter . ")"; $appdelcrAppTasTitleCount = "APPDELCR.TAS_UID"; break; case "to_reassign": $appdelcrAppTasTitle = "APP_CACHE_VIEW.APP_TAS_TITLE"; $appdelcrAppTasTitleCount = $appdelcrAppTasTitle; break; } $Criteria->addAsColumn("APPDELCR_APP_TAS_TITLE", $appdelcrAppTasTitle); $CriteriaCount->addAsColumn("APPDELCR_APP_TAS_TITLE", $appdelcrAppTasTitleCount); $Criteria->addAsColumn("USRCR_USR_UID", "USRCR.USR_UID"); $Criteria->addAsColumn("USRCR_USR_FIRSTNAME", "USRCR.USR_FIRSTNAME"); $Criteria->addAsColumn("USRCR_USR_LASTNAME", "USRCR.USR_LASTNAME"); $Criteria->addAsColumn("USRCR_USR_USERNAME", "USRCR.USR_USERNAME"); $CriteriaCount->addAsColumn("USRCR_USR_UID", "USRCR.USR_UID"); $CriteriaCount->addAsColumn("USRCR_USR_FIRSTNAME", "USRCR.USR_FIRSTNAME"); $CriteriaCount->addAsColumn("USRCR_USR_LASTNAME", "USRCR.USR_LASTNAME"); $CriteriaCount->addAsColumn("USRCR_USR_USERNAME", "USRCR.USR_USERNAME"); $Criteria->addAlias("APPDELCR", $appdelcrTableName); $Criteria->addAlias("USRCR", UsersPeer::TABLE_NAME); $CriteriaCount->addAlias("APPDELCR", $appdelcrTableName); $CriteriaCount->addAlias("USRCR", UsersPeer::TABLE_NAME); $arrayCondition = array(); $arrayCondition[] = array(AppCacheViewPeer::APP_UID, "APPDELCR.APP_UID"); $arrayCondition[] = array("APPDELCR.DEL_LAST_INDEX", 1); $Criteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN); $CriteriaCount->addJoinMC($arrayCondition, Criteria::LEFT_JOIN); $arrayCondition = array(); $arrayCondition[] = array("APPDELCR.USR_UID", "USRCR.USR_UID"); $Criteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN); $CriteriaCount->addJoinMC($arrayCondition, Criteria::LEFT_JOIN); //Previous user if (($action == "todo" || $action == "selfservice" || $action == "unassigned" || $action == "paused" || $action == "to_revise" || $action == "sent") || ($status == "TO_DO" || $status == "DRAFT" || $status == "PAUSED" || $status == "CANCELLED" || $status == "COMPLETED")) { $Criteria->addAlias( 'PU', 'USERS' ); $Criteria->addJoin( AppCacheViewPeer::PREVIOUS_USR_UID, 'PU.USR_UID', Criteria::LEFT_JOIN ); $Criteria->addAsColumn( 'PREVIOUS_USR_FIRSTNAME', 'PU.USR_FIRSTNAME' ); $Criteria->addAsColumn( 'PREVIOUS_USR_LASTNAME', 'PU.USR_LASTNAME' ); $Criteria->addAsColumn( 'PREVIOUS_USR_USERNAME', 'PU.USR_USERNAME' ); $CriteriaCount->addAlias( 'PU', 'USERS' ); $CriteriaCount->addJoin( AppCacheViewPeer::PREVIOUS_USR_UID, 'PU.USR_UID', Criteria::LEFT_JOIN ); $CriteriaCount->addAsColumn( 'PREVIOUS_USR_FIRSTNAME', 'PU.USR_FIRSTNAME' ); $CriteriaCount->addAsColumn( 'PREVIOUS_USR_LASTNAME', 'PU.USR_LASTNAME' ); $CriteriaCount->addAsColumn( 'PREVIOUS_USR_USERNAME', 'PU.USR_USERNAME' ); } /* if (! is_array( $confCasesList )) { $rows = $this->getDefaultFields( $action ); $result = $this->genericJsonResponse( '', array (), $rows, 20, '' ); //$conf->saveObject($result,'casesList',$action,'','',''); } */ //Add the process filter if (!empty($process)) { $Criteria->add(AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL); $CriteriaCount->add(AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL); } //Add the category filter if (!empty($category)) { require_once 'classes/model/Process.php'; $Criteria->addAlias("CP", "PROCESS"); $Criteria->add("CP.PRO_CATEGORY", $category, Criteria::EQUAL); $Criteria->addJoin(AppCacheViewPeer::PRO_UID, "CP.PRO_UID", Criteria::LEFT_JOIN); $Criteria->addAsColumn("CATEGORY_UID", "CP.PRO_CATEGORY"); $CriteriaCount->addAlias("CP", "PROCESS"); $CriteriaCount->add("CP.PRO_CATEGORY", $category, Criteria::EQUAL); $CriteriaCount->addJoin(AppCacheViewPeer::PRO_UID, "CP.PRO_UID", Criteria::LEFT_JOIN); $CriteriaCount->addAsColumn("CATEGORY_UID", "CP.PRO_CATEGORY"); } // add the user filter /* if ($user != '') { $Criteria->add( AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL ); $CriteriaCount->add( AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL ); } if ($status != '') { $Criteria->add( AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL ); $CriteriaCount->add( AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL ); } */ if ($dateFrom != "") { if ($dateTo != "") { if ($dateFrom == $dateTo) { $dateSame = $dateFrom; $dateFrom = $dateSame . " 00:00:00"; $dateTo = $dateSame . " 23:59:59"; } else { $dateFrom = $dateFrom . " 00:00:00"; $dateTo = $dateTo . " 23:59:59"; } $Criteria->add( $Criteria->getNewCriterion( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL )->addAnd( $Criteria->getNewCriterion( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ) ) ); $CriteriaCount->add( $CriteriaCount->getNewCriterion( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL )->addAnd( $Criteria->getNewCriterion( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ) ) ); } else { $dateFrom = $dateFrom . " 00:00:00"; $Criteria->add( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL ); $CriteriaCount->add( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL ); } } elseif ($dateTo != "") { $dateTo = $dateTo . " 23:59:59"; $Criteria->add( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ); $CriteriaCount->add( AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ); } //add the filter if ($filter != '') { switch ($filter) { case 'read': $Criteria->add( AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL ); $CriteriaCount->add( AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL ); break; case 'unread': $Criteria->add( AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNULL ); $CriteriaCount->add( AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNULL ); break; case 'started': $Criteria->add( AppCacheViewPeer::DEL_INDEX, 1, Criteria::EQUAL ); $CriteriaCount->add( AppCacheViewPeer::DEL_INDEX, 1, Criteria::EQUAL ); break; case 'completed': $Criteria->add( AppCacheViewPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL ); $CriteriaCount->add( AppCacheViewPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL ); break; } } //Add the search filter if ($search != '') { $oTmpCriteria = ''; //If there is PMTable for this case list if (is_array($oAppCache->confCasesList) && count($oAppCache->confCasesList) > 0 && isset($oAppCache->confCasesList["PMTable"]) && trim($oAppCache->confCasesList["PMTable"]) != "") { //Default configuration fields array $defaultFields = $oAppCache->getDefaultFields(); //Getting the table name $additionalTableUid = $oAppCache->confCasesList["PMTable"]; $additionalTable = AdditionalTablesPeer::retrieveByPK($additionalTableUid); $tableName = $additionalTable->getAddTabName(); $additionalTable = new AdditionalTables(); $tableData = $additionalTable->load($additionalTableUid, true); $tableField = array(); foreach ($tableData["FIELDS"] as $arrayField) { $tableField[] = $arrayField["FLD_NAME"]; } $oNewCriteria = new Criteria("workflow"); $sw = 0; foreach ($oAppCache->confCasesList["second"]["data"] as $fieldData) { if (!in_array($fieldData["name"], $defaultFields)) { if (in_array($fieldData["name"], $tableField)) { $fieldName = $tableName . "." . $fieldData["name"]; if ($sw == 0) { $oTmpCriteria = $oNewCriteria->getNewCriterion($fieldName, "%" . $search . "%", Criteria::LIKE); } else { $oTmpCriteria = $oNewCriteria->getNewCriterion($fieldName, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); } $sw = 1; } } } //add the default and hidden DEL_INIT_DATE } // the criteria adds new fields if there are defined PM Table Fields in the cases list if ($oTmpCriteria != '') { $Criteria->add( $Criteria->getNewCriterion( AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE )->addOr( $Criteria->getNewCriterion( AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE )->addOr( $Criteria->getNewCriterion( AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE )->addOr( $oTmpCriteria ) ) ) ); } else { $Criteria->add( $Criteria->getNewCriterion( AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE )->addOr( $Criteria->getNewCriterion( AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE )->addOr( $Criteria->getNewCriterion( AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE ) ) ) ); } // the count query needs to be the normal criteria query if there are defined PM Table Fields in the cases list if ($oTmpCriteria != '') { $CriteriaCount = $Criteria; } else { $CriteriaCount->add( $CriteriaCount->getNewCriterion( AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE )->addOr( $CriteriaCount->getNewCriterion( AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE )->addOr( $CriteriaCount->getNewCriterion( AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE ) ) ) ); } } // this is the optimal way or query to render the cases search list // fixing the bug related to the wrong data displayed in the list /* if ($action == 'search') { $oDatasetIndex = AppCacheViewPeer::doSelectRS( $Criteria ); $oDatasetIndex->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDatasetIndex->next(); $maxDelIndexList = array (); // a list of MAX_DEL_INDEXES is required in order to validate the right row while ($aRow = $oDatasetIndex->getRow()) { $maxDelIndexList[] = $aRow['MAX_DEL_INDEX']; $oDatasetIndex->next(); } // adding the validation condition in order to get the right row using the group by sentence $Criteria->add( AppCacheViewPeer::DEL_INDEX, $maxDelIndexList, Criteria::IN ); // //$params = array($maxDelIndexList); } */ //here we count how many records exists for this criteria. //BUT there are some special cases, and if we dont optimize them the server will crash. $doCountAlreadyExecuted = $paged; //case 1. when the SEARCH action is selected and none filter, search criteria is defined, //we need to count using the table APPLICATION, because APP_CACHE_VIEW takes 3 seconds /* if ($action == 'search' && $filter == '' && $search == '' && $process == '' && $status == '' && $dateFrom == '' && $dateTo == '' && $category == '') { $totalCount = $oAppCache->getSearchAllCount(); $doCountAlreadyExecuted = true; } if ($category != '') { $totalCount = $oAppCache->getSearchCountCriteria(); $doCountAlreadyExecuted = true; } */ $tableNameAux = ''; $totalCount = 0; if ($doCountAlreadyExecuted == true) { // in the case of reassign the distinct attribute shows a diferent count result comparing to the // original list //Check also $distinct in the method getListCounters(), this in AppCacheView.php $distinct = true; if ($action != "sent" && (($action == "todo" || $action == "selfservice" || $action == "unassigned" || $action == "to_reassign" || $action == "to_revise") || ($status == "TO_DO"))) { $distinct = false; } // first check if there is a PMTable defined within the list, // the issue that brokes the normal criteria query seems to be fixed if (isset( $oAppCache->confCasesList['PMTable'] ) && ! empty( $oAppCache->confCasesList['PMTable'] )) { // then $oAdditionalTables = AdditionalTablesPeer::retrieveByPK( $oAppCache->confCasesList['PMTable'] ); $tableName = $oAdditionalTables->getAddTabName(); $tableNameAux = $tableName; $tableName = strtolower( $tableName ); $tableNameArray = explode( '_', $tableName ); foreach ($tableNameArray as $item) { $newTableName[] = ucfirst( $item ); } $tableName = implode( '', $newTableName ); // so the pm table class can be invoqued from the pm table model clases if (! class_exists( $tableName )) { require_once (PATH_DB . SYS_SYS . PATH_SEP . "classes" . PATH_SEP . $tableName . ".php"); } } $totalCount = AppCacheViewPeer::doCount($CriteriaCount, $distinct); } //Add sortable options $sortBk = $sort; if ($sortBk != "") { $sort = ""; //Current delegation (*) if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) { switch ($sortBk) { case "APP_CACHE_VIEW.APP_CURRENT_USER": $sort = "USRCR_" . $conf->userNameFormatGetFirstFieldByUsersTable(); break; case "APP_CACHE_VIEW.APP_TAS_TITLE": $sort = "APPDELCR_APP_TAS_TITLE"; break; } } if (isset( $oAppCache->confCasesList['PMTable'] ) && ! empty( $oAppCache->confCasesList['PMTable'] ) && $tableNameAux != '') { $sortTable = explode(".", $sortBk); $additionalTableUid = $oAppCache->confCasesList["PMTable"]; require_once 'classes/model/Fields.php'; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(FieldsPeer::FLD_UID); $oCriteria->addSelectColumn(FieldsPeer::FLD_INDEX); $oCriteria->addSelectColumn(FieldsPeer::FLD_NAME); $oCriteria->addSelectColumn(FieldsPeer::FLD_DESCRIPTION); $oCriteria->addSelectColumn(FieldsPeer::FLD_TYPE); $oCriteria->addSelectColumn(FieldsPeer::FLD_SIZE); $oCriteria->addSelectColumn(FieldsPeer::FLD_NULL); $oCriteria->addSelectColumn(FieldsPeer::FLD_AUTO_INCREMENT); $oCriteria->addSelectColumn(FieldsPeer::FLD_KEY); $oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY); $oCriteria->addSelectColumn(FieldsPeer::FLD_FOREIGN_KEY_TABLE); $oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_NAME); $oCriteria->addSelectColumn(FieldsPeer::FLD_DYN_UID); $oCriteria->addSelectColumn(FieldsPeer::FLD_FILTER); $oCriteria->add(FieldsPeer::ADD_TAB_UID, $additionalTableUid); $oCriteria->add(FieldsPeer::FLD_NAME, $sortTable[1]); $oCriteria->addAscendingOrderByColumn(FieldsPeer::FLD_INDEX); $oDataset = FieldsPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $row = $oDataset->getRow(); if (is_array($row)) { $sort = $tableNameAux . "." . $sortTable[1]; } } if ($sort == "") { $sort = $sortBk; } if (!in_array($sort, $Criteria->getSelectColumns())) { $sort = AppCacheViewPeer::APP_NUMBER; //DEFAULT VALUE } if ($dir == "DESC") { $Criteria->addDescendingOrderByColumn($sort); } else { $Criteria->addAscendingOrderByColumn($sort); } } //limit the results according the interface $Criteria->setLimit( $limit ); $Criteria->setOffset( $start ); //execute the query $oDataset = AppCacheViewPeer::doSelectRS( $Criteria, Propel::getDbConnection('workflow_ro') ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $result = array (); $result['totalCount'] = $totalCount; $rows = array (); $aPriorities = array ('1' => 'VL','2' => 'L','3' => 'N','4' => 'H','5' => 'VH'); $index = $start; while ($oDataset->next()) { $aRow = $oDataset->getRow(); //$aRow = $oAppCache->replaceRowUserData($aRow); /* * For participated cases, we want the last step in the case, not only the last step this user participated. To do that we get every case information again for the last step. (This could be solved by a subquery, but Propel might not support it and subqueries can be slower for larger * datasets). */ /*if ($action == 'sent' || $action == 'search') { $maxCriteria = new Criteria('workflow'); $maxCriteria->add(AppCacheViewPeer::APP_UID, $aRow['APP_UID'], Criteria::EQUAL); $maxCriteria->addDescendingOrderByColumn(AppCacheViewPeer::DEL_INDEX); $maxCriteria->setLimit(1); $maxDataset = AppCacheViewPeer::doSelectRS( $maxCriteria ); $maxDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $maxDataset->next(); $newData = $maxDataset->getRow(); foreach ($aRow as $col => $value) { if (array_key_exists($col, $newData)) $aRow[$col] = $newData[$col]; } $maxDataset->close(); }*/ //Current delegation (*) || $action == "search" || $action == "to_revise" if (($action == "sent" || $action == "simple_search" || $action == "to_reassign") && ($status != "TO_DO")) { //Current task $aRow["APP_TAS_TITLE"] = $aRow["APPDELCR_APP_TAS_TITLE"]; //Current user //if ($action != "to_reassign" ) { if (($action != "to_reassign") && ($action != "search") && ($action != "to revise")) { $aRow["USR_UID"] = $aRow["USRCR_USR_UID"]; $aRow["USR_FIRSTNAME"] = $aRow["USRCR_USR_FIRSTNAME"]; $aRow["USR_LASTNAME"] = $aRow["USRCR_USR_LASTNAME"]; $aRow["USR_USERNAME"] = $aRow["USRCR_USR_USERNAME"]; } } //Unassigned user if (! isset( $aRow['APP_CURRENT_USER'] )) { $aRow['APP_CURRENT_USER'] = "******" . strtoupper(G::LoadTranslation("ID_UNASSIGNED")) . "]"; } // replacing the status data with their respective translation if (isset( $aRow['APP_STATUS'] )) { $aRow['APP_STATUS_LABEL'] = G::LoadTranslation( "ID_{$aRow['APP_STATUS']}" ); } // replacing the priority data with their respective translation if (isset( $aRow['DEL_PRIORITY'] )) { $aRow['DEL_PRIORITY'] = G::LoadTranslation( "ID_PRIORITY_{$aPriorities[$aRow['DEL_PRIORITY']]}" ); } $rows[] = $aRow; } $result['data'] = $rows; return $result; }
public function getTriggerWebBotProcess ($proUid, $action) { require_once ("classes/model/Triggers.php"); if ((! isset( $proUid ) && $proUid == '') || (! isset( $action ) && $action == '')) { return false; } $action = G::toUpper( $action ); $webBotTrigger = ''; switch ($action) { case 'DELETED': $var = ProcessPeer::PRO_TRI_DELETED; break; case 'CANCELED': $var = ProcessPeer::PRO_TRI_CANCELED; break; case 'PAUSED': $var = ProcessPeer::PRO_TRI_PAUSED; break; case 'REASSIGNED': $var = ProcessPeer::PRO_TRI_REASSIGNED; break; case "UNPAUSE": $var = ProcessPeer::PRO_TRI_UNPAUSED; break; } $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( $var ); $oCriteria->addSelectColumn( TriggersPeer::TRI_WEBBOT ); $oCriteria->addJoin( $var, TriggersPeer::TRI_UID, Criteria::LEFT_JOIN ); $oCriteria->add( ProcessPeer::PRO_UID, $proUid ); $oDataSet = ProcessPeer::doSelectRS( $oCriteria, Propel::getDbConnection('workflow_ro') ); $oDataSet->setFetchmode( ResultSet::FETCHMODE_ASSOC ); if ($oDataSet->next()) { $row = $oDataSet->getRow(); $webBotTrigger = $row['TRI_WEBBOT']; } return $webBotTrigger; }
/** * Function getDynaformsVars * * @access public * @param eter string $sProcessUID * @param eter boolean $bSystemVars * @return array */ function getDynaformsVars ($sProcessUID, $typeVars = 'all', $bIncMulSelFields = 0) { $aFields = array (); $aFieldsNames = array (); if ($typeVars == 'system' || $typeVars == 'all') { $aAux = G::getSystemConstants(); foreach ($aAux as $sName => $sValue) { $aFields[] = array ('sName' => $sName,'sType' => 'system','sLabel' => G::LoadTranslation('ID_TINY_SYSTEM_VARIABLES')); } //we're adding the ping variable to the system list $aFields[] = array ('sName' => 'PIN','sType' => 'system','sLabel' => G::LoadTranslation('ID_TINY_SYSTEM_VARIABLES')); } $aInvalidTypes = array("title", "subtitle", "file", "button", "reset", "submit", "javascript", "pmconnection"); $aMultipleSelectionFields = array("listbox", "checkgroup"); if ($bIncMulSelFields != 0) { $aInvalidTypes = array_merge( $aInvalidTypes, $aMultipleSelectionFields ); } // getting bpmn projects $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(BpmnProjectPeer::PRJ_UID); $oCriteria->add(BpmnProjectPeer::PRJ_UID, $sProcessUID); $oDataset = ProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $row = $oDataset->getRow(); if (isset($row["PRJ_UID"])) { if($typeVars == 'process' || $typeVars == 'all') { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE); $oCriteria->add(ProcessVariablesPeer::PRJ_UID, $sProcessUID); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($oDataset->next()) { $row = $oDataset->getRow(); array_push($aFields, array( "sName" => $row["VAR_NAME"], "sType" => $row["VAR_FIELD_TYPE"], "sLabel" => $row["VAR_FIELD_TYPE"] )); } } if($typeVars == 'grid' || $typeVars == 'all') { $oC = new Criteria( 'workflow' ); $oC->addSelectColumn( DynaformPeer::DYN_CONTENT ); $oC->add( DynaformPeer::PRO_UID, $sProcessUID ); $oC->add( DynaformPeer::DYN_TYPE, 'xmlform' ); $oData = DynaformPeer::doSelectRS( $oC ); $oData->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oData->next(); while ($aRowd = $oData->getRow()) { $dynaform = G::json_decode($aRowd['DYN_CONTENT'],true); if(is_array($dynaform) && sizeof($dynaform)) { $items = $dynaform['items'][0]['items']; foreach($items as $key => $val){ if($val[0]['type'] == 'grid'){ if(sizeof($val[0]['columns'])) { $columns = $val[0]['columns']; foreach($columns as $column) { array_push($aFields, array( "sName" => $column['name'], "sType" => $column['type'], "sLabel" => $column['type'] )); } } } } } $oData->next(); } } } else { require_once 'classes/model/Dynaform.php'; $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( DynaformPeer::DYN_FILENAME ); $oCriteria->add( DynaformPeer::PRO_UID, $sProcessUID ); $oCriteria->add( DynaformPeer::DYN_TYPE, 'xmlform' ); $oDataset = DynaformPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); while ($aRow = $oDataset->getRow()) { if (file_exists( PATH_DYNAFORM . PATH_SEP . $aRow['DYN_FILENAME'] . '.xml' )) { $G_FORM = new Form( $aRow['DYN_FILENAME'], PATH_DYNAFORM, SYS_LANG ); if (($G_FORM->type == 'xmlform') || ($G_FORM->type == '')) { foreach ($G_FORM->fields as $k => $v) { if (! in_array( $v->type, $aInvalidTypes )) { if (! in_array( $k, $aFieldsNames )) { $aFields[] = array ('sName' => $k,'sType' => $v->type,'sLabel' => ($v->type != 'grid' ? $v->label : '[ ' . G::LoadTranslation( 'ID_GRID' ) . ' ]') ); $aFieldsNames[] = $k; } } } } } $oDataset->next(); } } return $aFields; }
public function getUserRole($UsrUid) { $con = Propel::getConnection(UsersRolesPeer::DATABASE_NAME); try { $c = new Criteria('rbac'); $c->clearSelectColumns(); $c->addSelectColumn(RolesPeer::ROL_UID); $c->addSelectColumn(RolesPeer::ROL_CODE); $c->addSelectColumn(RolesPeer::ROL_STATUS); $c->addJoin(UsersRolesPeer::ROL_UID, RolesPeer::ROL_UID); $c->add(UsersRolesPeer::USR_UID, $UsrUid); $rs = UsersRolesPeer::doSelectRs($c, Propel::getDbConnection('rbac_ro')); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); return $row; } catch (Exception $oError) { throw $oError; } }
public function _getDynafields ($proUid, $type = 'xmlform', $start = null, $limit = null, $filter = null) { $cache = 1; if (! isset( $_SESSION['_cache_pmtables'] ) || (isset( $_SESSION['_cache_pmtables'] ) && $_SESSION['_cache_pmtables']['pro_uid'] != $proUid) || (isset( $_SESSION['_cache_pmtables'] ) && $_SESSION['_cache_pmtables']['dyn_uid'] != $this->dynUid)) { require_once 'classes/model/Dynaform.php'; $cache = 0; $fields = array (); $fieldsNames = array (); $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( DynaformPeer::DYN_FILENAME ); $oCriteria->add( DynaformPeer::PRO_UID, $proUid ); $oCriteria->add( DynaformPeer::DYN_TYPE, $type ); if (isset( $this->dynUid )) { $oCriteria->add( DynaformPeer::DYN_UID, $this->dynUid ); } $oDataset = DynaformPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript', '' ); $labelFieldsTypeList = array ('dropdown','radiogroup'); G::loadSystem( 'dynaformhandler' ); $index = 0; while ($aRow = $oDataset->getRow()) { if (file_exists( PATH_DYNAFORM . PATH_SEP . $aRow['DYN_FILENAME'] . '.xml' )) { $dynaformHandler = new dynaformHandler( PATH_DYNAFORM . $aRow['DYN_FILENAME'] . '.xml' ); $nodeFieldsList = $dynaformHandler->getFields(); foreach ($nodeFieldsList as $node) { $arrayNode = $dynaformHandler->getArray( $node ); $fieldName = $arrayNode['__nodeName__']; $fieldType = isset($arrayNode['type']) ? $arrayNode['type']: ''; $fieldValidate = ( isset($arrayNode['validate'])) ? $arrayNode['validate'] : ''; if (! in_array( $fieldType, $excludeFieldsList ) && ! in_array( $fieldName, $fieldsNames ) ) { $fields[] = array ( 'FIELD_UID' => $fieldName . '-' . $fieldType, 'FIELD_NAME' => $fieldName, 'FIELD_VALIDATE'=>$fieldValidate, '_index' => $index ++, '_isset' => true ); $fieldsNames[] = $fieldName; if (in_array( $fieldType, $labelFieldsTypeList ) && ! in_array( $fieldName . '_label', $fieldsNames )) { $fields[] = array ( 'FIELD_UID' => $fieldName . '_label' . '-' . $fieldType, 'FIELD_NAME' => $fieldName . '_label', 'FIELD_VALIDATE'=>$fieldValidate, '_index' => $index ++, '_isset' => true ); $fieldsNames[] = $fieldName; } } } } $oDataset->next(); } // getting bpmn projects $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(BpmnProcessPeer::PRJ_UID); $oCriteria->add(BpmnProcessPeer::PRJ_UID, $proUid); $oDataset = BpmnProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $row = $oDataset->getRow(); if (isset($row["PRJ_UID"])) { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_SQL); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_ACCEPTED_VALUES); $oCriteria->add(ProcessVariablesPeer::PRJ_UID, $row["PRJ_UID"]); $oDataset = ProcessVariablesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $index = 0; while ($oDataset->next()) { $row = $oDataset->getRow(); $fieldType = isset($row["VAR_FIELD_TYPE"]) ? $row["VAR_FIELD_TYPE"]: ''; $varSql = isset($row["VAR_SQL"]) ? $row["VAR_SQL"] : ''; $varProcessVariable = isset($row["VAR_ACCEPTED_VALUES"]) ? $row["VAR_ACCEPTED_VALUES"] : '[]'; if(! in_array( $fieldType, $excludeFieldsList )){ if(strlen($varSql) == 0 && $varProcessVariable == '[]'){ array_push($fields, array( "FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"], "FIELD_NAME" => $row["VAR_NAME"], "FIELD_VALIDATE" => "any", "_index" => $index ++, "_isset" => true )); } } } } sort( $fields ); // if is a editing $fieldsEdit = array (); if (isset( $_SESSION['ADD_TAB_UID'] )) { require_once 'classes/model/AdditionalTables.php'; $additionalTables = new AdditionalTables(); $table = $additionalTables->load( $_SESSION['ADD_TAB_UID'], true ); foreach ($table['FIELDS'] as $i => $field) { array_push( $fieldsEdit, $field['FLD_DYN_NAME'] ); } } //end editing $indexes = array(); foreach ($fields as $i => $field) { $fields[$i]['_index'] = $i; $indexes[$field['FIELD_NAME']] = $i; if (in_array( $field['FIELD_NAME'], $fieldsEdit )) { $fields[$i]['_isset'] = false; } } $_SESSION['_cache_pmtables']['pro_uid'] = $proUid; $_SESSION['_cache_pmtables']['dyn_uid'] = $this->dynUid; $_SESSION['_cache_pmtables']['rows'] = $fields; $_SESSION['_cache_pmtables']['count'] = count( $fields ); $_SESSION['_cache_pmtables']['indexes'] = $indexes; } //end reload $fields = array (); $tmp = array (); foreach ($_SESSION['_cache_pmtables']['rows'] as $i => $row) { if (isset( $filter ) && $filter != '') { if ($row['_isset'] && stripos( $row['FIELD_NAME'], $filter ) !== false) { $tmp[] = $row; } } else { if ($row['_isset']) { $tmp[] = $row; } } } $fields = array_slice( $tmp, $start, $limit ); return array ('cache' => $cache,'count' => count( $tmp ),'rows' => $fields ); }
/** * @param $action * @param $categoryUid * @param $userUid * @return array * @throws \PropelException */ public function getProcessList ($action, $categoryUid, $userUid) { //$action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null; //$categoryUid = isset( $_REQUEST['CATEGORY_UID'] ) ? $_REQUEST['CATEGORY_UID'] : null; //$userUid = (isset( $_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null; // global $oAppCache; $oAppCache = new \AppCacheView(); $processes = array (); $processes[] = array ('',G::LoadTranslation( 'ID_ALL_PROCESS' )); //get the list based in the action provided switch ($action) { case 'draft': $cProcess = $oAppCache->getDraftListCriteria( $userUid ); //fast enough break; case 'sent': $cProcess = $oAppCache->getSentListProcessCriteria( $userUid ); // fast enough break; case 'simple_search': case 'search': //in search action, the query to obtain all process is too slow, so we need to query directly to //process and content tables, and for that reason we need the current language in AppCacheView. G::loadClass( 'configuration' ); $oConf = new \Configurations(); $oConf->loadConfig( $x, 'APP_CACHE_VIEW_ENGINE', '', '', '', '' ); $appCacheViewEngine = $oConf->aConfig; $lang = isset( $appCacheViewEngine['LANG'] ) ? $appCacheViewEngine['LANG'] : 'en'; $cProcess = new Criteria( 'workflow' ); $cProcess->clearSelectColumns(); $cProcess->addSelectColumn( \ProcessPeer::PRO_UID ); $cProcess->addSelectColumn( \ContentPeer::CON_VALUE ); if ($categoryUid) { $cProcess->add( \ProcessPeer::PRO_CATEGORY, $categoryUid ); } $del = DBAdapter::getStringDelimiter(); $conds = array (); $conds[] = array (ProcessPeer::PRO_UID,ContentPeer::CON_ID); $conds[] = array (ContentPeer::CON_CATEGORY,$del . 'PRO_TITLE' . $del); $conds[] = array (ContentPeer::CON_LANG,$del . $lang . $del); $cProcess->addJoinMC( $conds, Criteria::LEFT_JOIN ); $cProcess->add( ProcessPeer::PRO_STATUS, 'ACTIVE' ); $cProcess->addAscendingOrderByColumn(ContentPeer::CON_VALUE); $oDataset = ProcessPeer::doSelectRS( $cProcess ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $processes[] = array ($aRow['PRO_UID'],$aRow['CON_VALUE'] ); $oDataset->next(); } return print G::json_encode( $processes ); break; case 'unassigned': $cProcess = $oAppCache->getUnassignedListCriteria( $userUid ); break; case 'paused': $cProcess = $oAppCache->getPausedListCriteria( $userUid ); break; case 'to_revise': $cProcess = $oAppCache->getToReviseListCriteria( $userUid ); break; case 'to_reassign': $cProcess = $oAppCache->getToReassignListCriteria($userUid); break; case 'gral': $cProcess = $oAppCache->getGeneralListCriteria(); break; case 'todo': default: $cProcess = $oAppCache->getToDoListCriteria( $userUid ); //fast enough break; } //get the processes for this user in this action $cProcess->clearSelectColumns(); $cProcess->addSelectColumn( \AppCacheViewPeer::PRO_UID ); $cProcess->addSelectColumn( \AppCacheViewPeer::APP_PRO_TITLE ); $cProcess->setDistinct( \AppCacheViewPeer::PRO_UID ); if ($categoryUid) { require_once 'classes/model/Process.php'; $cProcess->addAlias( 'CP', 'PROCESS' ); $cProcess->add( 'CP.PRO_CATEGORY', $categoryUid, Criteria::EQUAL ); $cProcess->addJoin( \AppCacheViewPeer::PRO_UID, 'CP.PRO_UID', Criteria::LEFT_JOIN ); $cProcess->addAsColumn( 'CATEGORY_UID', 'CP.PRO_CATEGORY' ); } $cProcess->addAscendingOrderByColumn(\AppCacheViewPeer::APP_PRO_TITLE); $oDataset = \AppCacheViewPeer::doSelectRS( $cProcess, \Propel::getDbConnection('workflow_ro') ); $oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $processes[] = array ($aRow['PRO_UID'],$aRow['APP_PRO_TITLE'] ); $oDataset->next(); } return $processes; }
public function getAllConfiguredCurrencies() { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessPeer::PRO_UNIT_COST); $oCriteria->setDistinct(); $oDataSet = ProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataSet->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aProc = array(); while ($oDataSet->next()) { $row = $oDataSet->getRow(); $aProc[$row['PRO_UNIT_COST']] = $row['PRO_UNIT_COST']; } return $aProc; }
public function loadByUsernameInArray ($sUsername) { $c = $this->loadByUsername( $sUsername ); $rs = UsersPeer::doSelectRS( $c, Propel::getDbConnection('workflow_ro') ); $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $rs->next(); $row = $rs->getRow(); return $row; }
public function loadList($usr_uid, $filters = array(), $callbackRecord = null) { $criteria = new Criteria(); $criteria->addSelectColumn(ListInboxPeer::APP_UID); $criteria->addSelectColumn(ListInboxPeer::DEL_INDEX); $criteria->addSelectColumn(ListInboxPeer::USR_UID); $criteria->addSelectColumn(ListInboxPeer::TAS_UID); $criteria->addSelectColumn(ListInboxPeer::PRO_UID); $criteria->addSelectColumn(ListInboxPeer::APP_NUMBER); $criteria->addSelectColumn(ListInboxPeer::APP_STATUS); $criteria->addSelectColumn(ListInboxPeer::APP_TITLE); $criteria->addSelectColumn(ListInboxPeer::APP_PRO_TITLE); $criteria->addSelectColumn(ListInboxPeer::APP_TAS_TITLE); $criteria->addSelectColumn(ListInboxPeer::APP_UPDATE_DATE); $criteria->addSelectColumn(ListInboxPeer::DEL_PREVIOUS_USR_UID); $criteria->addSelectColumn(ListInboxPeer::DEL_PREVIOUS_USR_USERNAME); $criteria->addSelectColumn(ListInboxPeer::DEL_PREVIOUS_USR_FIRSTNAME); $criteria->addSelectColumn(ListInboxPeer::DEL_PREVIOUS_USR_LASTNAME); $criteria->addSelectColumn(ListInboxPeer::DEL_DELEGATE_DATE); $criteria->addSelectColumn(ListInboxPeer::DEL_INIT_DATE); $criteria->addSelectColumn(ListInboxPeer::DEL_DUE_DATE); $criteria->addSelectColumn(ListInboxPeer::DEL_PRIORITY); $criteria->add( ListInboxPeer::USR_UID, $usr_uid, Criteria::EQUAL ); self::loadFilters($criteria, $filters); $sort = (!empty($filters['sort'])) ? $filters['sort'] : "LIST_INBOX.APP_UPDATE_DATE"; $dir = isset($filters['dir']) ? $filters['dir'] : "ASC"; $start = isset($filters['start']) ? $filters['start'] : "0"; $limit = isset($filters['limit']) ? $filters['limit'] : "25"; $paged = isset($filters['paged']) ? $filters['paged'] : 1; if ($filters['action'] == 'draft') { $criteria->add( ListInboxPeer::APP_STATUS, 'DRAFT', Criteria::EQUAL ); } else { $criteria->add( ListInboxPeer::APP_STATUS, 'TO_DO', Criteria::EQUAL ); } if ($dir == "DESC") { $criteria->addDescendingOrderByColumn($sort); } else { $criteria->addAscendingOrderByColumn($sort); } if ($paged == 1) { $criteria->setLimit( $limit ); $criteria->setOffset( $start ); } $dataset = ListInboxPeer::doSelectRS($criteria, Propel::getDbConnection('workflow_ro') ); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $data = array(); $aPriorities = array ('1' => 'VL','2' => 'L','3' => 'N','4' => 'H','5' => 'VH'); while ($dataset->next()) { $aRow = (is_null($callbackRecord))? $dataset->getRow() : $callbackRecord($dataset->getRow()); $aRow['DEL_PRIORITY'] = G::LoadTranslation( "ID_PRIORITY_{$aPriorities[$aRow['DEL_PRIORITY']]}" ); $data[] = $aRow; } return $data; }
/** * get the case summary data * * @param string $httpData->appUid * @param string $httpData->delIndex * @return array containg the case summary data */ function getSummary($httpData) { $labelsCaseProperties = array(); $labelsCurrentTaskProperties = array(); $labelTitleCurrentTasks = array(); $formCaseProperties = new Form('cases/cases_Resume', PATH_XMLFORM, SYS_LANG); $formCaseTitle = new Form('cases/cases_Resume_Current_Task_Title', PATH_XMLFORM, SYS_LANG); $formCurrentTaskProperties = new Form('cases/cases_Resume_Current_Task', PATH_XMLFORM, SYS_LANG); G::LoadClass('case'); $case = new Cases(); foreach ($formCaseProperties->fields as $fieldName => $field) { $labelsCaseProperties[$fieldName] = $field->label; } foreach ($formCaseTitle->fields as $fieldName => $field) { $labelTitleCurrentTasks[$fieldName] = $field->label; } foreach ($formCurrentTaskProperties->fields as $fieldName => $field) { $labelsCurrentTaskProperties[$fieldName] = $field->label; } if (isset($_SESSION['_applicationFields']) && $_SESSION['_processData']) { $applicationFields = $_SESSION['_applicationFields']; unset($_SESSION['_applicationFields']); $processData = $_SESSION['_processData']; unset($_SESSION['_processData']); } else { if ($httpData->action == 'sent') { // Get the last valid delegation for participated list $criteria = new Criteria(); $criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); $criteria->add(AppDelegationPeer::APP_UID, $httpData->appUid); $criteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); $criteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX); if (AppDelegationPeer::doCount($criteria) > 0) { $dataset = AppDelegationPeer::doSelectRS($criteria, Propel::getDbConnection('workflow_ro')); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $row = $dataset->getRow(); $httpData->delIndex = $row['DEL_INDEX']; } } $applicationFields = $case->loadCase($httpData->appUid, $httpData->delIndex); $process = new Process(); $processData = $process->load($applicationFields['PRO_UID']); } $data = array(); $task = new Task(); $taskData = $task->load($applicationFields['TAS_UID']); $currentUser = $applicationFields['CURRENT_USER'] != '' ? $applicationFields['CURRENT_USER'] : '******' . G::LoadTranslation('ID_UNASSIGNED') . ']'; $data[] = array('label' => $labelsCaseProperties['PRO_TITLE'], 'value' => $processData['PRO_TITLE'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array("label" => $labelsCaseProperties["TITLE"], "value" => htmlentities($applicationFields["TITLE"], ENT_QUOTES, "UTF-8"), "section" => $labelsCaseProperties["TITLE1"]); $data[] = array('label' => $labelsCaseProperties['APP_NUMBER'], 'value' => $applicationFields['APP_NUMBER'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array('label' => $labelsCaseProperties['STATUS'], 'value' => $applicationFields['STATUS'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array('label' => $labelsCaseProperties['APP_UID'], 'value' => $applicationFields['APP_UID'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array('label' => $labelsCaseProperties['CREATOR'], 'value' => $applicationFields['CREATOR'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array('label' => $labelsCaseProperties['CREATE_DATE'], 'value' => $applicationFields['CREATE_DATE'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array('label' => $labelsCaseProperties['UPDATE_DATE'], 'value' => $applicationFields['UPDATE_DATE'], 'section' => $labelsCaseProperties['TITLE1']); $data[] = array("label" => $labelsCaseProperties["DESCRIPTION"], "value" => htmlentities($applicationFields["DESCRIPTION"], ENT_QUOTES, "UTF-8"), "section" => $labelsCaseProperties["TITLE1"]); // note added by krlos pacha carlos[at]colosa[dot]com //getting this field if it doesn't exist. Related 7994 bug $taskData['TAS_TITLE'] = array_key_exists('TAS_TITLE', $taskData) ? $taskData['TAS_TITLE'] : Content::Load("TAS_TITLE", "", $applicationFields['TAS_UID'], SYS_LANG); $data[] = array("label" => $labelsCurrentTaskProperties["TAS_TITLE"], "value" => htmlentities($taskData["TAS_TITLE"], ENT_QUOTES, "UTF-8"), "section" => $labelTitleCurrentTasks["TITLE2"]); $data[] = array('label' => $labelsCurrentTaskProperties['CURRENT_USER'], 'value' => $currentUser, 'section' => $labelTitleCurrentTasks['TITLE2']); $data[] = array('label' => $labelsCurrentTaskProperties['DEL_DELEGATE_DATE'], 'value' => $applicationFields['DEL_DELEGATE_DATE'], 'section' => $labelTitleCurrentTasks['TITLE2']); $data[] = array('label' => $labelsCurrentTaskProperties['DEL_INIT_DATE'], 'value' => $applicationFields['DEL_INIT_DATE'], 'section' => $labelTitleCurrentTasks['TITLE2']); $data[] = array('label' => $labelsCurrentTaskProperties['DEL_TASK_DUE_DATE'], 'value' => $applicationFields['DEL_TASK_DUE_DATE'], 'section' => $labelTitleCurrentTasks['TITLE2']); $data[] = array('label' => $labelsCurrentTaskProperties['DEL_FINISH_DATE'], 'value' => $applicationFields['DEL_FINISH_DATE'], 'section' => $labelTitleCurrentTasks['TITLE2']); //$data[] = array('label'=>$labelsCurrentTaskProperties['DYN_UID'] , 'value' => $processData['PRO_DYNAFORMS']['PROCESS'];, 'section'=>$labelsCurrentTaskProperties['DYN_UID']); return $data; }