public function getActiveLanguages() { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(LanguagePeer::LAN_ID); $oCriteria->addSelectColumn(LanguagePeer::LAN_NAME); $oCriteria->add(LanguagePeer::LAN_ENABLED, '1'); $oCriteria->addDescendingOrderByColumn(LanguagePeer::LAN_WEIGHT); $oDataset = ContentPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oContent = new Content(); $rows = array(); while ($oDataset->next()) { array_push($rows, $oDataset->getRow()); } return $rows; }
function deleteContent($data, $fields) { $obj = new Content(); $ConCategory = $fields['CON_CATEGORY']; $ConParent = $fields['CON_PARENT']; $ConId = $fields['CON_ID']; $ConLang = $fields['CON_LANG']; try { //$res = $obj->load($ConCategory, $ConParent, $ConId, $ConLang ); $content = ContentPeer::retrieveByPK($ConCategory, $ConParent, $ConId, $ConLang); if ($content) { $content->delete(); } } catch (Exception $e) { return $e; } return $res; }
public function executeChangeGradeItem(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { if ($request->getParameter('idgradeunit') != '') { try { updateGradeImte($request->getParameter('idgradeunit'), $request->getParameter('idhorario'), $request->getParameter('iddisciplina'), $request->getParameter('idprofessor'), $request->getParameter('idlocal'), $request->getParameter('idweekday')); } catch (Exception $e) { } $c = new Criteria(); $c->add(GradeunitPeer::ID, intval($request->getParameter('idgradeunit'))); $this->content = ContentPeer::doSelectOne($c); if ($this->content) { $this->user = sfGuardUserPeer::retrieveByPK($this->content->getUserId()); } return $this->content ? sfView::SUCCESS : sfView::ERROR; } } $this->forward404(); }
public function addTask($sProcessUID = '', $iX = 0, $iY = 0, $iWidth = 165, $iHeight = 40) { try { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn('TAS_UID'); $oCriteria->add(TaskPeer::PRO_UID, $sProcessUID); $oDataset = TaskPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aTasks = array(); $iTaskNumber = 0; while ($oDataset->next()) { $aRow = $oDataset->getRow(); $aTasks[] = $aRow["TAS_UID"]; $iTaskNumber = $iTaskNumber + 1; } if ($iTaskNumber > 0) { $criteria = new Criteria("workflow"); $criteria->addSelectColumn(ContentPeer::CON_LANG); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add(ContentPeer::CON_ID, $aTasks, Criteria::IN); $criteria->add(ContentPeer::CON_CATEGORY, "TAS_TITLE"); $rsSQLCON = ContentPeer::doSelectRS($criteria); $rsSQLCON->setFetchmode(ResultSet::FETCHMODE_ASSOC); $numMaxLang = 0; $numMax = 0; while ($rsSQLCON->next()) { $row = $rsSQLCON->getRow(); $conLang = $row["CON_LANG"]; $conValue = $row["CON_VALUE"]; if (preg_match("/^\\S+\\s(\\d+)\$/", $conValue, $matches)) { $n = intval($matches[1]); if ($conLang == SYS_LANG) { if ($n > $numMaxLang) { $numMaxLang = $n; } } else { if ($n > $numMax) { $numMax = $n; } } } } if ($numMaxLang > 0) { $numMax = $numMaxLang; } if ($numMax > 0 && $numMax > $iTaskNumber) { $iTaskNumber = $numMax + 1; } else { $iTaskNumber = $iTaskNumber + 1; } } else { $iTaskNumber = 1; } $oTask = new Task(); $oNewTask->label = G::LoadTranslation('ID_TASK') . ' ' . $iTaskNumber; $oNewTask->uid = $oTask->create(array('PRO_UID' => $sProcessUID, 'TAS_TITLE' => $oNewTask->label, 'TAS_POSX' => $iX, 'TAS_POSY' => $iY, 'TAS_WIDTH' => $iWidth, 'TAS_HEIGHT' => $iHeight)); $oNewTask->statusIcons = array(); $oNewTask->statusIcons[] = array('label' => '', 'icon' => '/images/alert.gif', 'message' => '', 'url' => ''); //$oJSON = new Services_JSON(); return Bootstrap::json_encode($oNewTask); //$oJSON->encode( $oNewTask ); } catch (Exception $oError) { throw $oError; } }
function getAllProcesses($start, $limit, $category = NULL, $processName = NULL) { require_once PATH_RBAC . "model/RbacUsers.php"; require_once "classes/model/ProcessCategory.php"; require_once "classes/model/Users.php"; $user = new RbacUsers(); $aProcesses = array(); $categories = array(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessPeer::PRO_UID); $oCriteria->addSelectColumn(ProcessPeer::PRO_PARENT); $oCriteria->addSelectColumn(ProcessPeer::PRO_STATUS); $oCriteria->addSelectColumn(ProcessPeer::PRO_CATEGORY); $oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_DATE); $oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_USER); $oCriteria->addSelectColumn(ProcessPeer::PRO_DEBUG); $oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_UID); $oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_NAME); $oCriteria->add(ProcessPeer::PRO_UID, '', Criteria::NOT_EQUAL); $oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL); if (isset($category)) { $oCriteria->add(ProcessPeer::PRO_CATEGORY, $category, Criteria::EQUAL); } $oCriteria->addJoin(ProcessPeer::PRO_CREATE_USER, UsersPeer::USR_UID, Criteria::LEFT_JOIN); $oCriteria->addJoin(ProcessPeer::PRO_CATEGORY, ProcessCategoryPeer::CATEGORY_UID, Criteria::LEFT_JOIN); $this->tmpCriteria = clone $oCriteria; if ($start != '') { $oCriteria->setOffset($start); } if ($limit != '' && !isset($category) && !isset($processName)) { $oCriteria->setLimit($limit); } //execute a query to obtain numbers, how many cases there are by process $casesCnt = $this->getCasesCountInAllProcesses(); //execute the query $oDataset = ProcessPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $processes = array(); $uids = array(); while ($oDataset->next()) { $processes[] = $oDataset->getRow(); $uids[] = $processes[sizeof($processes) - 1]['PRO_UID']; } //process details will have the info about the processes $processesDetails = array(); //now get the labels for all process, using an array of Uids, $c = new Criteria('workflow'); //$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $c->add(ContentPeer::CON_LANG, defined('SYS_LANG') ? SYS_LANG : 'en', Criteria::EQUAL); $c->add(ContentPeer::CON_ID, $uids, Criteria::IN); $dt = ContentPeer::doSelectRS($c); $dt->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($dt->next()) { $row = $dt->getRow(); $processesDetails[$row['CON_ID']][$row['CON_CATEGORY']] = $row['CON_VALUE']; } G::loadClass('configuration'); $oConf = new Configurations(); $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', ''); foreach ($processes as $process) { $proTitle = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_TITLE']) ? $processesDetails[$process['PRO_UID']]['PRO_TITLE'] : ''; $proDescription = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION']) ? $processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION'] : ''; // verify if the title is already set on the current language if (trim($proTitle) == '') { // if not, then load the record to generate content for current language $proData = $this->load($process['PRO_UID']); $proTitle = $proData['PRO_TITLE']; $proDescription = $proData['PRO_DESCRIPTION']; } //filtering by $processName if (isset($processName) && $processName != '' && stripos($proTitle, $processName) === false) { continue; } $casesCountTotal = 0; if (isset($casesCnt[$process['PRO_UID']])) { foreach ($casesCnt[$process['PRO_UID']] as $item) { $casesCountTotal += $item; } } //get user format from configuration $userOwner = isset($oConf->aConfig['format']) ? $oConf->aConfig['format'] : ''; $creationDateMask = isset($oConf->aConfig['dateFormat']) ? $oConf->aConfig['dateFormat'] : ''; if ($userOwner != '') { $userOwner = str_replace('@userName', $process['USR_USERNAME'], $userOwner); $userOwner = str_replace('@firstName', $process['USR_FIRSTNAME'], $userOwner); $userOwner = str_replace('@lastName', $process['USR_LASTNAME'], $userOwner); if ($userOwner == " ( )") { $userOwner = '-'; } } else { $userOwner = $process['USR_FIRSTNAME'] . ' ' . $process['USR_LASTNAME']; } //get date format from configuration if ($creationDateMask != '') { list($date, $time) = explode(' ', $process['PRO_CREATE_DATE']); list($y, $m, $d) = explode('-', $date); list($h, $i, $s) = explode(':', $time); $process['PRO_CREATE_DATE'] = date($creationDateMask, mktime($h, $i, $s, $m, $d, $y)); } $process['PRO_CATEGORY_LABEL'] = trim($process['PRO_CATEGORY']) != '' ? $process['CATEGORY_NAME'] : G::LoadTranslation('ID_PROCESS_NO_CATEGORY'); $process['PRO_TITLE'] = $proTitle; $process['PRO_DESCRIPTION'] = $proDescription; $process['PRO_DEBUG'] = $process['PRO_DEBUG']; $process['PRO_DEBUG_LABEL'] = $process['PRO_DEBUG'] == "1" ? G::LoadTranslation('ID_ON') : G::LoadTranslation('ID_OFF'); $process['PRO_STATUS_LABEL'] = $process['PRO_STATUS'] == 'ACTIVE' ? G::LoadTranslation('ID_ACTIVE') : G::LoadTranslation('ID_INACTIVE'); $process['PRO_CREATE_USER_LABEL'] = $userOwner; $process['CASES_COUNT_TO_DO'] = isset($casesCnt[$process['PRO_UID']]['TO_DO']) ? $casesCnt[$process['PRO_UID']]['TO_DO'] : 0; $process['CASES_COUNT_COMPLETED'] = isset($casesCnt[$process['PRO_UID']]['COMPLETED']) ? $casesCnt[$process['PRO_UID']]['COMPLETED'] : 0; $process['CASES_COUNT_DRAFT'] = isset($casesCnt[$process['PRO_UID']]['DRAFT']) ? $casesCnt[$process['PRO_UID']]['DRAFT'] : 0; $process['CASES_COUNT_CANCELLED'] = isset($casesCnt[$process['PRO_UID']]['CANCELLED']) ? $casesCnt[$process['PRO_UID']]['CANCELLED'] : 0; $process['CASES_COUNT'] = $casesCountTotal; unset($process['PRO_CREATE_USER']); $aProcesses[] = $process; } usort($aProcesses, 'ordProcessByProTitle'); return $aProcesses; }
public function newRow ($data, $delPreviusUsrUid, $isInitSubprocess = false, $dataPreviusApplication = array(), $isSelfService = false) { $removeList = true; if (isset($data['REMOVED_LIST'])) { $removeList = $data['REMOVED_LIST']; unset($data['REMOVED_LIST']); } $data['DEL_PREVIOUS_USR_UID'] = $delPreviusUsrUid; if (isset($data['DEL_TASK_DUE_DATE'])) { $data['DEL_DUE_DATE'] = $data['DEL_TASK_DUE_DATE']; } $criteria = new Criteria(); $criteria->addSelectColumn( ApplicationPeer::APP_NUMBER ); $criteria->addSelectColumn( ApplicationPeer::APP_UPDATE_DATE ); $criteria->add( ApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $dataset = ApplicationPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data = array_merge($data, $aRow); $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['APP_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'APP_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['PRO_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_PRO_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['TAS_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'TAS_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TAS_TITLE'] = $aRow['CON_VALUE']; $data['APP_PREVIOUS_USER'] = ''; if ($data['DEL_PREVIOUS_USR_UID'] != '') { $criteria = new Criteria(); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); $criteria->add( UsersPeer::USR_UID, $data['DEL_PREVIOUS_USR_UID'], Criteria::EQUAL ); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['DEL_PREVIOUS_USR_USERNAME'] = $aRow['USR_USERNAME']; $data['DEL_PREVIOUS_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_PREVIOUS_USR_LASTNAME'] = $aRow['USR_LASTNAME']; } $users = new Users(); $criteria = new Criteria(); $criteria->addSelectColumn(SubApplicationPeer::DEL_INDEX_PARENT); $criteria->add( SubApplicationPeer::APP_PARENT, $data['APP_UID'], Criteria::EQUAL ); $dataset = SubApplicationPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($dataset->next()) { $aSub = $dataset->getRow(); if ($aSub['DEL_INDEX_PARENT'] == $data['DEL_PREVIOUS'] && !$isSelfService) { $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); self::create($data, $isSelfService); return 1; } } if (!$isInitSubprocess) { if ($data['APP_STATUS'] == 'DRAFT') { $users->refreshTotal($data['USR_UID'], 'add', 'draft'); } else { $oRow = ApplicationPeer::retrieveByPK($data['APP_UID']); $aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME ); if ($removeList) { if ($data['DEL_INDEX'] == 2 || $aFields['APP_STATUS'] == 'DRAFT') { $criteria = new Criteria(); $criteria->addSelectColumn(SubApplicationPeer::APP_UID); $criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $dataset = SubApplicationPeer::doSelectRS($criteria); if ($dataset->next()) { $users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox'); } else { $users->refreshTotal($delPreviusUsrUid, 'remove', 'draft'); } } else { $users->refreshTotal($delPreviusUsrUid, 'remove', 'inbox'); } } if (!$isSelfService) { $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); } } } else { if($data['USR_UID'] !=''){ $users->refreshTotal($data['USR_UID'], 'add', 'inbox'); } if ($dataPreviusApplication['APP_STATUS'] == 'DRAFT') { $users->refreshTotal($dataPreviusApplication['CURRENT_USER_UID'], 'remove', 'draft'); } else { $users->refreshTotal($dataPreviusApplication['CURRENT_USER_UID'], 'remove', 'inbox'); } } self::create($data, $isSelfService); }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. * The default key type is the column's phpname (e.g. 'AuthorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = ContentPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setTemplate($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setParent($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setPagetitle($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setDescription($arr[$keys[4]]); } }
public function getAllProcesses($start, $limit, $category = null, $processName = null, $counters = true, $reviewSubProcess = false, $userLogged = "") { require_once PATH_RBAC . "model/RbacUsers.php"; require_once "classes/model/ProcessCategory.php"; require_once "classes/model/Users.php"; $user = new RbacUsers(); $aProcesses = array(); $categories = array(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessPeer::PRO_UID); $oCriteria->addSelectColumn(ProcessPeer::PRO_PARENT); $oCriteria->addSelectColumn(ProcessPeer::PRO_STATUS); $oCriteria->addSelectColumn(ProcessPeer::PRO_TYPE); $oCriteria->addSelectColumn(ProcessPeer::PRO_CATEGORY); $oCriteria->addSelectColumn(ProcessPeer::PRO_UPDATE_DATE); $oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_DATE); $oCriteria->addSelectColumn(ProcessPeer::PRO_CREATE_USER); $oCriteria->addSelectColumn(ProcessPeer::PRO_DEBUG); $oCriteria->addSelectColumn(ProcessPeer::PRO_TYPE_PROCESS); $oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_UID); $oCriteria->addSelectColumn(ProcessCategoryPeer::CATEGORY_NAME); $oCriteria->add(ProcessPeer::PRO_UID, '', Criteria::NOT_EQUAL); $oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL); if ($reviewSubProcess) { $oCriteria->add(ProcessPeer::PRO_SUBPROCESS, '1', Criteria::NOT_EQUAL); } if (isset($category)) { $oCriteria->add(ProcessPeer::PRO_CATEGORY, $category, Criteria::EQUAL); } $oCriteria->addJoin(ProcessPeer::PRO_CREATE_USER, UsersPeer::USR_UID, Criteria::LEFT_JOIN); $oCriteria->addJoin(ProcessPeer::PRO_CATEGORY, ProcessCategoryPeer::CATEGORY_UID, Criteria::LEFT_JOIN); if ($this->sort == "PRO_CREATE_DATE") { if ($this->dir == "DESC") { $oCriteria->addDescendingOrderByColumn(ProcessPeer::PRO_CREATE_DATE); } else { $oCriteria->addAscendingOrderByColumn(ProcessPeer::PRO_CREATE_DATE); } } if ($userLogged != "") { $oCriteria->add($oCriteria->getNewCriterion(ProcessPeer::PRO_TYPE_PROCESS, "PUBLIC", Criteria::EQUAL)->addOr($oCriteria->getNewCriterion(ProcessPeer::PRO_CREATE_USER, $userLogged, Criteria::EQUAL))); } $this->tmpCriteria = clone $oCriteria; //execute a query to obtain numbers, how many cases there are by process if ($counters) { $casesCnt = $this->getCasesCountInAllProcesses(); } // getting bpmn projects $c = new Criteria('workflow'); $c->addSelectColumn(BpmnProjectPeer::PRJ_UID); $ds = ProcessPeer::doSelectRS($c, Propel::getDbConnection('workflow_ro')); $ds->setFetchmode(ResultSet::FETCHMODE_ASSOC); $bpmnProjects = array(); while ($ds->next()) { $row = $ds->getRow(); $bpmnProjects[] = $row['PRJ_UID']; } //execute the query $oDataset = ProcessPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $processes = array(); $uids = array(); while ($oDataset->next()) { $row = $oDataset->getRow(); $row["PROJECT_TYPE"] = $row["PRO_TYPE"] == "NORMAL" ? in_array($row["PRO_UID"], $bpmnProjects) ? "bpmn" : "classic" : $row["PRO_TYPE"]; $processes[] = $row; $uids[] = $processes[sizeof($processes) - 1]['PRO_UID']; } //process details will have the info about the processes $processesDetails = array(); //now get the labels for all process, using an array of Uids, $c = new Criteria('workflow'); //$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $c->add(ContentPeer::CON_LANG, defined('SYS_LANG') ? SYS_LANG : 'en', Criteria::EQUAL); $c->add(ContentPeer::CON_ID, $uids, Criteria::IN); $dt = ContentPeer::doSelectRS($c, Propel::getDbConnection('workflow_ro')); $dt->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($dt->next()) { $row = $dt->getRow(); $processesDetails[$row['CON_ID']][$row['CON_CATEGORY']] = $row['CON_VALUE']; } G::loadClass('configuration'); $oConf = new Configurations(); $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', ''); foreach ($processes as $process) { $proTitle = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_TITLE']) ? $processesDetails[$process['PRO_UID']]['PRO_TITLE'] : ''; $proDescription = isset($processesDetails[$process['PRO_UID']]) && isset($processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION']) ? $processesDetails[$process['PRO_UID']]['PRO_DESCRIPTION'] : ''; $process["PRO_TYPE_PROCESS"] = $process["PRO_TYPE_PROCESS"] == "PUBLIC" ? G::LoadTranslation("ID_PUBLIC") : G::LoadTranslation("ID_PRIVATE"); // verify if the title is already set on the current language if (trim($proTitle) == '') { // if not, then load the record to generate content for current language $proData = $this->load($process['PRO_UID']); $proTitle = $proData['PRO_TITLE']; $proDescription = $proData['PRO_DESCRIPTION']; } //filtering by $processName if (isset($processName) && $processName != '' && stripos($proTitle, $processName) === false) { continue; } if ($counters) { $casesCountTotal = 0; if (isset($casesCnt[$process['PRO_UID']])) { foreach ($casesCnt[$process['PRO_UID']] as $item) { $casesCountTotal += $item; } } } //get user format from configuration $userOwner = isset($oConf->aConfig['format']) ? $oConf->aConfig['format'] : ''; $creationDateMask = isset($oConf->aConfig['dateFormat']) ? $oConf->aConfig['dateFormat'] : ''; if ($userOwner != '') { $userOwner = str_replace('@userName', $process['USR_USERNAME'], $userOwner); $userOwner = str_replace('@firstName', $process['USR_FIRSTNAME'], $userOwner); $userOwner = str_replace('@lastName', $process['USR_LASTNAME'], $userOwner); if ($userOwner == " ( )") { $userOwner = '-'; } } else { $userOwner = $process['USR_FIRSTNAME'] . ' ' . $process['USR_LASTNAME']; } //get date format from configuration if ($creationDateMask != '') { list($date, $time) = explode(' ', $process['PRO_CREATE_DATE']); list($y, $m, $d) = explode('-', $date); list($h, $i, $s) = explode(':', $time); $process['PRO_CREATE_DATE'] = date($creationDateMask, mktime($h, $i, $s, $m, $d, $y)); } $process['PRO_CATEGORY_LABEL'] = trim($process['PRO_CATEGORY']) != '' ? $process['CATEGORY_NAME'] : '- ' . G::LoadTranslation('ID_PROCESS_NO_CATEGORY') . ' -'; $process['PRO_TITLE'] = $proTitle; $process['PRO_DESCRIPTION'] = $proDescription; $process['PRO_DEBUG'] = $process['PRO_DEBUG']; $process['PRO_DEBUG_LABEL'] = $process['PRO_DEBUG'] == "1" ? G::LoadTranslation('ID_ON') : G::LoadTranslation('ID_OFF'); $process['PRO_STATUS_LABEL'] = $process['PRO_STATUS'] == 'ACTIVE' ? G::LoadTranslation('ID_ACTIVE') : G::LoadTranslation('ID_INACTIVE'); $process['PRO_CREATE_USER_LABEL'] = $userOwner; if ($counters) { $process['CASES_COUNT_TO_DO'] = isset($casesCnt[$process['PRO_UID']]['TO_DO']) ? $casesCnt[$process['PRO_UID']]['TO_DO'] : 0; $process['CASES_COUNT_COMPLETED'] = isset($casesCnt[$process['PRO_UID']]['COMPLETED']) ? $casesCnt[$process['PRO_UID']]['COMPLETED'] : 0; $process['CASES_COUNT_DRAFT'] = isset($casesCnt[$process['PRO_UID']]['DRAFT']) ? $casesCnt[$process['PRO_UID']]['DRAFT'] : 0; $process['CASES_COUNT_CANCELLED'] = isset($casesCnt[$process['PRO_UID']]['CANCELLED']) ? $casesCnt[$process['PRO_UID']]['CANCELLED'] : 0; $process['CASES_COUNT'] = $casesCountTotal; } unset($process['PRO_CREATE_USER']); $aProcesses[] = $process; } $memcache =& PMmemcached::getSingleton(SYS_SYS); if (isset($memcache) && $memcache->enabled == 1) { return $aProcesses; } if ($limit == '') { $limit = count($aProcesses); } if ($this->sort != "PRO_CREATE_DATE") { if ($this->dir == "ASC") { usort($aProcesses, array($this, "ordProcessAsc")); } else { usort($aProcesses, array($this, "ordProcessDesc")); } } return $aProcesses; }
function getAllContentsByRole($sys_lang = SYS_LANG) { if (!isset($sys_lang)) { $sys_lang = 'en'; } $oCriteria = new Criteria('workflow'); $oCriteria->clearSelectColumns(); $oCriteria->addSelectColumn(ContentPeer::CON_ID); $oCriteria->addAsColumn('ROL_NAME', ContentPeer::CON_VALUE); //$oCriteria->addAsColumn('ROL_UID', ContentPeer::CON_ID); $oCriteria->add(ContentPeer::CON_CATEGORY, 'ROL_NAME'); $oCriteria->add(ContentPeer::CON_LANG, $sys_lang); $oDataset = ContentPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aRoles = array(); while ($oDataset->next()) { $xRow = $oDataset->getRow(); $aRoles[$xRow['CON_ID']] = $xRow['ROL_NAME']; } return $aRoles; }
/** * Implementation for 'DELETE' method for Rest API * * @param mixed $conCategory, $conParent, $conId, $conLang Primary key * * @return array $result Returns array within multiple records or a single record depending if * a single selection was requested passing id(s) as param */ protected function delete($conCategory, $conParent, $conId, $conLang) { $conn = Propel::getConnection(ContentPeer::DATABASE_NAME); try { $conn->begin(); $obj = ContentPeer::retrieveByPK($conCategory, $conParent, $conId, $conLang); if (!is_object($obj)) { throw new RestException(412, G::LoadTranslation('ID_RECORD_DOES_NOT_EXIST')); } $obj->delete(); $conn->commit(); } catch (Exception $e) { $conn->rollback(); throw new RestException(412, $e->getMessage()); } }
$criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add(ContentPeer::CON_ID, $copyDynaformGridUid); $criteria->add(ContentPeer::CON_CATEGORY, "DYN_TITLE"); $criteria->add(ContentPeer::CON_LANG, SYS_LANG); $rsCriteria = ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $copyDynGrdTitle = $row["CON_VALUE"]; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add(ContentPeer::CON_ID, $copyDynaformGridUid); $criteria->add(ContentPeer::CON_CATEGORY, "DYN_DESCRIPTION"); $criteria->add(ContentPeer::CON_LANG, SYS_LANG); $rsCriteria = ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $copyDynGrdDescription = $row["CON_VALUE"]; //Create grid $dynaformGrid = new dynaform(); $aDataAux = $aData; $aDataAux["DYN_TYPE"] = "grid"; $aDataAux["DYN_TITLE"] = $copyDynGrdTitle . ($dynaFormAux->existsTitle($dynaform->getProUid(), $copyDynGrdTitle) ? " (" . $dynaform->getDynTitle() . ")" : ""); $aDataAux["DYN_DESCRIPTION"] = $copyDynGrdDescription; $aFields = $dynaformGrid->create($aDataAux); $dynaformGridUid = $dynaformGrid->getDynUid(); $aDataAux["DYN_UID"] = $dynaformGridUid; $dynaformGrid->update($aDataAux); //Copy files of the dynaform grid
/** * Selects a collection of Disciplina objects pre-filled with all related objects. * * @param Criteria $criteria * @param PropelPDO $con * @param String $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN * @return array Array of Disciplina objects. * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelectJoinAll(Criteria $criteria, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $criteria = clone $criteria; // Set the correct dbName if it has not been overridden if ($criteria->getDbName() == Propel::getDefaultDB()) { $criteria->setDbName(self::DATABASE_NAME); } DisciplinaPeer::addSelectColumns($criteria); $startcol2 = DisciplinaPeer::NUM_COLUMNS - DisciplinaPeer::NUM_LAZY_LOAD_COLUMNS; ContentPeer::addSelectColumns($criteria); $startcol3 = $startcol2 + (ContentPeer::NUM_COLUMNS - ContentPeer::NUM_LAZY_LOAD_COLUMNS); $criteria->addJoin(DisciplinaPeer::CONTENT_ID, ContentPeer::ID, $join_behavior); // symfony_behaviors behavior foreach (sfMixer::getCallables(self::getMixerPreSelectHook(__FUNCTION__)) as $sf_hook) { call_user_func($sf_hook, 'BaseDisciplinaPeer', $criteria, $con); } $stmt = BasePeer::doSelect($criteria, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = DisciplinaPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = DisciplinaPeer::getInstanceFromPool($key1))) { // We no longer rehydrate the object, since this can cause data loss. // See http://propel.phpdb.org/trac/ticket/509 // $obj1->hydrate($row, 0, true); // rehydrate } else { $cls = DisciplinaPeer::getOMClass(false); $obj1 = new $cls(); $obj1->hydrate($row); DisciplinaPeer::addInstanceToPool($obj1, $key1); } // if obj1 already loaded // Add objects for joined Content rows $key2 = ContentPeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = ContentPeer::getInstanceFromPool($key2); if (!$obj2) { $cls = ContentPeer::getOMClass(false); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); ContentPeer::addInstanceToPool($obj2, $key2); } // if obj2 loaded // Add the $obj1 (Disciplina) to the collection in $obj2 (Content) $obj2->addDisciplina($obj1); } // if joined row not null $results[] = $obj1; } $stmt->closeCursor(); return $results; }
/** * Verify name for trigger in process * @var string $sProcessUID. Uid for Process * @var string $sTriggerName. Name for Trigger * @var string $sTriggerUid. Uid for Trigger * * @author Brayan Pereyra (Cochalo) <*****@*****.**> * @copyright Colosa - Bolivia * * @return boolean */ public function verifyNameTrigger($sProcessUID, $sTriggerName, $sTriggerUid = '') { $oCriteria = new \Criteria("workflow"); $oCriteria->addSelectColumn(\TriggersPeer::TRI_UID); $oCriteria->add(\TriggersPeer::PRO_UID, $sProcessUID); if ($sTriggerUid != '') { $oCriteria->add(\TriggersPeer::TRI_UID, $sTriggerUid, \Criteria::NOT_EQUAL); } $oDataset = \TriggersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($oDataset->next()) { $aRow = $oDataset->getRow(); $oCriteria1 = new \Criteria('workflow'); $oCriteria1->addSelectColumn('COUNT(*) AS TRIGGERS'); $oCriteria1->add(\ContentPeer::CON_CATEGORY, 'TRI_TITLE'); $oCriteria1->add(\ContentPeer::CON_ID, $aRow['TRI_UID']); $oCriteria1->add(\ContentPeer::CON_VALUE, $sTriggerName); $oCriteria1->add(\ContentPeer::CON_LANG, SYS_LANG); $oDataset1 = \ContentPeer::doSelectRS($oCriteria1); $oDataset1->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset1->next(); $aRow1 = $oDataset1->getRow(); if ($aRow1['TRIGGERS']) { return false; } } return true; }
public function update($fields) { require_once "classes/model/AppCacheView.php"; require_once "classes/model/Configuration.php"; $con = Propel::getConnection(TaskPeer::DATABASE_NAME); try { $con->begin(); $this->load($fields["TAS_UID"]); $this->fromArray($fields, BasePeer::TYPE_FIELDNAME); if ($this->validate()) { $taskDefTitlePrevious = null; $criteria = new Criteria("workflow"); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add(ContentPeer::CON_CATEGORY, "TAS_DEF_TITLE"); $criteria->add(ContentPeer::CON_ID, $fields["TAS_UID"]); $criteria->add(ContentPeer::CON_LANG, SYS_LANG); $rsCriteria = ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $taskDefTitlePrevious = $row["CON_VALUE"]; } $contentResult = 0; if (array_key_exists("TAS_TITLE", $fields)) { $contentResult += $this->setTasTitle($fields["TAS_TITLE"]); } if (array_key_exists("TAS_DESCRIPTION", $fields)) { $contentResult += $this->setTasDescription($fields["TAS_DESCRIPTION"]); } if (array_key_exists("TAS_DEF_TITLE", $fields)) { $contentResult += $this->setTasDefTitle($fields["TAS_DEF_TITLE"]); } if (array_key_exists("TAS_DEF_DESCRIPTION", $fields)) { $contentResult += $this->setTasDefDescription($fields["TAS_DEF_DESCRIPTION"]); } if (array_key_exists("TAS_DEF_PROC_CODE", $fields)) { $contentResult += $this->setTasDefProcCode($fields["TAS_DEF_PROC_CODE"]); } if (array_key_exists("TAS_DEF_MESSAGE", $fields)) { $contentResult += $this->setTasDefMessage(trim($fields["TAS_DEF_MESSAGE"])); } if (array_key_exists("TAS_DEF_SUBJECT_MESSAGE", $fields)) { $contentResult += $this->setTasDefSubjectMessage(trim($fields["TAS_DEF_SUBJECT_MESSAGE"])); } if (array_key_exists("TAS_CALENDAR", $fields)) { $contentResult += $this->setTasCalendar($fields['TAS_UID'], $fields["TAS_CALENDAR"]); } $result = $this->save(); $result = $result == 0 ? $contentResult > 0 ? 1 : 0 : $result; $con->commit(); if ($result == 1 && array_key_exists("TAS_DEF_TITLE", $fields) && $fields["TAS_DEF_TITLE"] != $taskDefTitlePrevious) { $criteria = new Criteria("workflow"); $criteria->addAsColumn("APPCV_NUM_ROWS", "COUNT(DISTINCT " . AppCacheViewPeer::APP_UID . ")"); $criteria->add(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"); $criteria->add(AppCacheViewPeer::TAS_UID, $fields["TAS_UID"]); $rsCriteria = AppCacheViewPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $appcvNumRows = intval($row["APPCV_NUM_ROWS"]); if ($appcvNumRows <= 1000) { $appcv = new AppCacheView(); $appcv->appTitleByTaskCaseLabelUpdate($fields["TAS_UID"], SYS_LANG); $result = 2; } else { //Delete record $criteria = new Criteria("workflow"); $criteria->add(ConfigurationPeer::CFG_UID, "TAS_APP_TITLE_UPDATE"); $criteria->add(ConfigurationPeer::OBJ_UID, $fields["TAS_UID"]); $criteria->add(ConfigurationPeer::CFG_VALUE, SYS_LANG); $numRowDeleted = ConfigurationPeer::doDelete($criteria); //Insert record $conf = new Configuration(); $conf->create(array("CFG_UID" => "TAS_APP_TITLE_UPDATE", "OBJ_UID" => $fields["TAS_UID"], "CFG_VALUE" => SYS_LANG, "PRO_UID" => "", "USR_UID" => "", "APP_UID" => "")); $result = 3; } } return $result; } else { $con->rollback(); throw new Exception("Failed Validation in class " . get_class($this) . "."); } } catch (Exception $e) { $con->rollback(); throw $e; } }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(ContentPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(ContentPeer::DATABASE_NAME); $criteria->add(ContentPeer::ID, $pks, Criteria::IN); $objs = ContentPeer::doSelect($criteria, $con); } return $objs; }
/** * Get the associated Content object * * @param PropelPDO Optional Connection object. * @return Content The associated Content object. * @throws PropelException */ public function getContent(PropelPDO $con = null) { if ($this->aContent === null && $this->content_id !== null) { $this->aContent = ContentPeer::retrieveByPk($this->content_id); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aContent->addCmspages($this); */ } return $this->aContent; }
$sPRO_UID = urldecode($_POST['proUid']); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(DynaformPeer::DYN_UID); $oCriteria->add(DynaformPeer::PRO_UID, $sPRO_UID); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $flag = true; while ($oDataset->next() && $flag) { $aRow = $oDataset->getRow(); $oCriteria1 = new Criteria('workflow'); $oCriteria1->addSelectColumn('COUNT(*) AS DYNAFORMS'); $oCriteria1->add(ContentPeer::CON_CATEGORY, 'DYN_TITLE'); $oCriteria1->add(ContentPeer::CON_ID, $aRow['DYN_UID']); $oCriteria1->add(ContentPeer::CON_VALUE, $snameDyanform); $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); $oDataset1 = ContentPeer::doSelectRS($oCriteria1); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset1->next(); $aRow1 = $oDataset1->getRow(); if ($aRow1['DYNAFORMS']) { $flag = false; } } print $flag; } else { $dynaform = new dynaform(); if (isset($_POST['form'])) { $aData = $_POST['form']; //For old process map form if ($aData['DYN_UID'] === '') { unset($aData['DYN_UID']);
public function getAll($start = 0, $limit = 20, $filter = '', $process = null) { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG); $oCriteria->addSelectColumn(AdditionalTablesPeer::PRO_UID); $oCriteria->addSelectColumn(AdditionalTablesPeer::DBS_UID); if (isset($process)) { foreach ($process as $key => $pro_uid) { if ($key == 'equal') { $oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::EQUAL); } else { $oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::NOT_EQUAL); } } } if ($filter != '' && is_string($filter)) { $oCriteria->add( $oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_NAME, '%' . $filter . '%', Criteria::LIKE)->addOr( $oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_DESCRIPTION, '%' . $filter . '%', Criteria::LIKE)) ); } if (isset($_POST['sort'])) { if ($_POST['dir'] == 'ASC') { eval('$oCriteria->addAscendingOrderByColumn(AdditionalTablesPeer::' . $_POST['sort'] . ');'); } else { eval('$oCriteria->addDescendingOrderByColumn(AdditionalTablesPeer::' . $_POST['sort'] . ');'); } } else { $oCriteria->addAscendingOrderByColumn(AdditionalTablesPeer::ADD_TAB_NAME); } $criteriaCount = clone $oCriteria; $count = AdditionalTablesPeer::doCount($criteriaCount); $oCriteria->setLimit($limit); $oCriteria->setOffset($start); $oDataset = AdditionalTablesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $addTables = Array(); $proUids = Array(); while ($oDataset->next()) { $row = $oDataset->getRow(); $row['PRO_TITLE'] = $row['PRO_DESCRIPTION'] = ''; $addTables[] = $row; if ($row['PRO_UID'] != '') { $proUids[] = $row['PRO_UID']; } } //process details will have the info about the processes $procDetails = Array(); if (count($proUids) > 0) { //now get the labels for all process, using an array of Uids, $c = new Criteria('workflow'); //$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $c->add(ContentPeer::CON_LANG, defined('SYS_LANG') ? SYS_LANG : 'en', Criteria::EQUAL); $c->add(ContentPeer::CON_ID, $proUids, Criteria::IN); $dt = ContentPeer::doSelectRS($c); $dt->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($dt->next()) { $row = $dt->getRow(); $procDetails[$row['CON_ID']][$row['CON_CATEGORY']] = $row['CON_VALUE']; } foreach ($addTables as $i => $addTable) { if (isset($procDetails[$addTable['PRO_UID']]['PRO_TITLE'])) { $addTables[$i]['PRO_TITLE'] = $procDetails[$addTable['PRO_UID']]['PRO_TITLE']; } if (isset($procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION'])) { $addTables[$i]['PRO_DESCRIPTION'] = $procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION']; } } } return array('rows' => $addTables, 'count' => $count); }
public function appTitleByTaskCaseLabelUpdate($taskUid, $lang, $cron = 0) { $taskDefTitle = null; $criteria = new Criteria("workflow"); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add(ContentPeer::CON_CATEGORY, "TAS_DEF_TITLE"); $criteria->add(ContentPeer::CON_ID, $taskUid); $criteria->add(ContentPeer::CON_LANG, $lang); $rsCriteria = ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $taskDefTitle = $row["CON_VALUE"]; } //Get cases $criteriaAPPCV = new Criteria("workflow"); $criteriaAPPCV->setDistinct(); $criteriaAPPCV->addSelectColumn(AppCacheViewPeer::APP_UID); $criteriaAPPCV->add(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"); $criteriaAPPCV->add(AppCacheViewPeer::TAS_UID, $taskUid); $rsCriteriaAPPCV = AppCacheViewPeer::doSelectRS($criteriaAPPCV); $rsCriteriaAPPCV->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteriaAPPCV->next()) { if ($cron == 1) { $arrayCron = unserialize(trim(@file_get_contents(PATH_DATA . "cron"))); $arrayCron["processcTimeStart"] = time(); @file_put_contents(PATH_DATA . "cron", serialize($arrayCron)); } $row = $rsCriteriaAPPCV->getRow(); $appcvAppUid = $row["APP_UID"]; //Current task? $criteria = new Criteria("workflow"); $criteria->addSelectColumn(AppCacheViewPeer::APP_UID); $criteria->add(AppCacheViewPeer::APP_UID, $appcvAppUid); $criteria->add(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"); $criteria->add(AppCacheViewPeer::TAS_UID, $taskUid); $rsCriteria = AppCacheViewPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($rsCriteria->next()) { $appTitle = $taskDefTitle; $app = new Application(); $arrayAppField = $app->Load($appcvAppUid); $appTitle = !empty($appTitle) ? $appTitle : "#" . $arrayAppField["APP_NUMBER"]; $appTitleNew = G::replaceDataField($appTitle, unserialize($arrayAppField["APP_DATA"])); if (isset($arrayAppField["APP_TITLE"]) && $arrayAppField["APP_TITLE"] != $appTitleNew) { //Updating the value in content, where... $criteria1 = new Criteria("workflow"); $criteria1->add(ContentPeer::CON_CATEGORY, "APP_TITLE"); $criteria1->add(ContentPeer::CON_ID, $appcvAppUid); $criteria1->add(ContentPeer::CON_LANG, $lang); //Update set $criteria2 = new Criteria("workflow"); $criteria2->add(ContentPeer::CON_VALUE, $appTitleNew); BasePeer::doUpdate($criteria1, $criteria2, Propel::getConnection("workflow")); } } } }
/** * Retrieve object using using composite pkey values. * @param string $con_category * @param string $con_parent * @param string $con_id * @param string $con_lang * @param Connection $con * @return Content */ public static function retrieveByPK($con_category, $con_parent, $con_id, $con_lang, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $criteria = new Criteria(); $criteria->add(ContentPeer::CON_CATEGORY, $con_category); $criteria->add(ContentPeer::CON_PARENT, $con_parent); $criteria->add(ContentPeer::CON_ID, $con_id); $criteria->add(ContentPeer::CON_LANG, $con_lang); $v = ContentPeer::doSelect($criteria, $con); return !empty($v) ? $v[0] : null; }
public function mergeExistingGroups ($sGroupList) { $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( GroupwfPeer::GRP_UID ); $oCriteria->addSelectColumn( ContentPeer::CON_ID ); $oCriteria->addSelectColumn( ContentPeer::CON_VALUE ); $oCriteria->add( ContentPeer::CON_CATEGORY, 'GRP_TITLE' ); $oCriteria->add( ContentPeer::CON_LANG, 'en' ); $oCriteria->addJoin( ContentPeer::CON_ID, GroupwfPeer::GRP_UID ); $oDataset = ContentPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aGroupwf[] = $aRow; $oDataset->next(); } //check if any group name exists in the dbase foreach ($sGroupList as $group) { $merged = false; foreach ($aGroupwf as $groupBase) { if ($groupBase['CON_VALUE'] == $group['GRP_TITLE'] && $groupBase['CON_ID'] != $group['GRP_UID']) { $group['GRP_UID'] = $groupBase['CON_ID']; $mergedGroupList[] = $group; $merged = true; } } if (! $merged) { $mergedGroupList[] = $group; } } if (isset( $mergedGroupList )) { return $mergedGroupList; } else { return null; } }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = ContentPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setConCategory($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setConParent($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setConId($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setConLang($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setConValue($arr[$keys[4]]); } }
/** * Create List Completed Table * * @param type $data * @return type * */ public function create($data) { $criteria = new Criteria(); $criteria->addSelectColumn(ListCompletedPeer::APP_UID); $criteria->add( ListCompletedPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $dataset = ListCompletedPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($dataset->next()) { return 1; } $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['APP_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'APP_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['PRO_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_PRO_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['TAS_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'TAS_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TAS_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); $criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL ); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['DEL_CURRENT_USR_USERNAME'] = $aRow['USR_USERNAME']; $data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME']; $data['DEL_PREVIOUS'] = isset($data['DEL_PREVIOUS']) ? $data['DEL_PREVIOUS'] : ""; if ($data['DEL_PREVIOUS'] != 0) { $criteria = new Criteria(); $criteria->addSelectColumn(AppDelegationPeer::USR_UID); $criteria->add( AppDelegationPeer::DEL_INDEX, $data['DEL_PREVIOUS'], Criteria::EQUAL ); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['DEL_PREVIOUS_USR_UID'] = $aRow['USR_UID']; } //Update - WHERE $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL); //Update - SET $criteriaSet = new Criteria("workflow"); $criteriaSet->add(ListParticipatedLastPeer::APP_STATUS, 'COMPLETED'); BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); $users = new Users(); $users->refreshTotal($data['USR_UID'], 'add', 'completed'); if ($data['DEL_PREVIOUS'] != 0) { $criteria = new Criteria(); $criteria->addSelectColumn(TaskPeer::TAS_TYPE); $criteria->add( TaskPeer::TAS_UID, $data['TAS_UID'], Criteria::EQUAL ); $dataset = TaskPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); if ($aRow['TAS_TYPE'] != 'SUBPROCESS') { $users->refreshTotal($data['USR_UID'], 'remove', 'inbox'); } } else { $criteria = new Criteria(); $criteria->addSelectColumn(SubApplicationPeer::APP_UID); $criteria->add( SubApplicationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $dataset = SubApplicationPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($dataset->next()) { $users->refreshTotal($data['USR_UID'], 'remove', 'inbox'); } else { $users->refreshTotal($data['USR_UID'], 'remove', 'draft'); } } $con = Propel::getConnection( ListCompletedPeer::DATABASE_NAME ); try { $this->fromArray( $data, BasePeer::TYPE_FIELDNAME ); if ($this->validate()) { $result = $this->save(); } else { $e = new Exception( "Failed Validation in class " . get_class( $this ) . "." ); $e->aValidationFailures = $this->getValidationFailures(); throw ($e); } $con->commit(); return $result; } catch(Exception $e) { $con->rollback(); throw ($e); } }
/** * Copy/Import a DynaForm * * @param string $processUid Unique id of Process * @param array $arrayData Data * * return array Return data of the new DynaForm created */ public function copyImport($processUid, $arrayData) { try { $arrayData = \G::array_change_key_case2($arrayData, CASE_UPPER); unset($arrayData["DYN_UID"]); unset($arrayData["PMTABLE"]); //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfNotExistsProcess($processUid, $this->arrayFieldNameForException["processUid"]); $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, true); if (!isset($arrayData["COPY_IMPORT"])) { throw new \Exception(\G::LoadTranslation("ID_UNDEFINED_VALUE_IS_REQUIRED", array($this->getFieldNameByFormatFieldName("COPY_IMPORT")))); } if (!isset($arrayData["COPY_IMPORT"]["PRJ_UID"])) { throw new \Exception(\G::LoadTranslation("ID_UNDEFINED_VALUE_IS_REQUIRED", array($this->getFieldNameByFormatFieldName("COPY_IMPORT.PRJ_UID")))); } $arrayData["COPY_IMPORT"]["PRJ_UID"] = trim($arrayData["COPY_IMPORT"]["PRJ_UID"]); if ($arrayData["COPY_IMPORT"]["PRJ_UID"] == "") { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_CAN_NOT_BE_EMPTY", array($this->getFieldNameByFormatFieldName("COPY_IMPORT.PRJ_UID")))); } if (!isset($arrayData["COPY_IMPORT"]["DYN_UID"])) { throw new \Exception(\G::LoadTranslation("ID_UNDEFINED_VALUE_IS_REQUIRED", array($this->getFieldNameByFormatFieldName("COPY_IMPORT.DYN_UID")))); } $arrayData["COPY_IMPORT"]["DYN_UID"] = trim($arrayData["COPY_IMPORT"]["DYN_UID"]); if ($arrayData["COPY_IMPORT"]["DYN_UID"] == "") { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_CAN_NOT_BE_EMPTY", array($this->getFieldNameByFormatFieldName("COPY_IMPORT.DYN_UID")))); } $this->throwExceptionIfExistsTitle($processUid, $arrayData["DYN_TITLE"], $this->arrayFieldNameForException["dynaFormTitle"]); //Copy/Import Uids $processUidCopyImport = $arrayData["COPY_IMPORT"]["PRJ_UID"]; $dynaFormUidCopyImport = $arrayData["COPY_IMPORT"]["DYN_UID"]; //Verify data $process->throwExceptionIfNotExistsProcess($processUidCopyImport, $this->getFieldNameByFormatFieldName("COPY_IMPORT.PRJ_UID")); $this->throwExceptionIfNotExistsDynaForm($dynaFormUidCopyImport, $processUidCopyImport, $this->getFieldNameByFormatFieldName("COPY_IMPORT.DYN_UID")); //Copy/Import //Copy content if version is 2 if ($arrayData["DYN_VERSION"] === 2) { $dynaFormOld = new \Dynaform(); $arrayDynaFormData = $dynaFormOld->Load($dynaFormUidCopyImport); $arrayData["DYN_CONTENT"] = $arrayDynaFormData["DYN_CONTENT"]; } //Create $arrayData = $this->create($processUid, $arrayData); $dynaFormUid = $arrayData[$this->getFieldNameByFormatFieldName("DYN_UID")]; //Copy files of the DynaForm $umaskOld = umask(0); $fileXml = PATH_DYNAFORM . $processUidCopyImport . PATH_SEP . $dynaFormUidCopyImport . ".xml"; if (file_exists($fileXml)) { $fileXmlCopy = PATH_DYNAFORM . $processUid . PATH_SEP . $dynaFormUid . ".xml"; $fhXml = fopen($fileXml, "r"); $fhXmlCopy = fopen($fileXmlCopy, "w"); while (!feof($fhXml)) { $strLine = fgets($fhXml, 4096); $strLine = str_replace($processUidCopyImport . "/" . $dynaFormUidCopyImport, $processUid . "/" . $dynaFormUid, $strLine); //DynaForm Grid preg_match_all("/<.*type\\s*=\\s*[\"\\']grid[\"\\'].*xmlgrid\\s*=\\s*[\"\\']\\w{32}\\/(\\w{32})[\"\\'].*\\/>/", $strLine, $arrayMatch, PREG_SET_ORDER); foreach ($arrayMatch as $value) { $dynaFormGridUidCopyImport = $value[1]; //Get data $criteria = new \Criteria(); $criteria->addSelectColumn(\ContentPeer::CON_VALUE); $criteria->add(\ContentPeer::CON_ID, $dynaFormGridUidCopyImport); $criteria->add(\ContentPeer::CON_CATEGORY, "DYN_TITLE"); $criteria->add(\ContentPeer::CON_LANG, SYS_LANG); $rsCriteria = \ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $dynGrdTitleCopyImport = $row["CON_VALUE"]; $criteria = new \Criteria(); $criteria->addSelectColumn(\ContentPeer::CON_VALUE); $criteria->add(\ContentPeer::CON_ID, $dynaFormGridUidCopyImport); $criteria->add(\ContentPeer::CON_CATEGORY, "DYN_DESCRIPTION"); $criteria->add(\ContentPeer::CON_LANG, SYS_LANG); $rsCriteria = \ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $dynGrdDescriptionCopyImport = $row["CON_VALUE"]; //Create Grid $dynaFormGrid = new \Dynaform(); $arrayDataAux = array("PRO_UID" => $processUid, "DYN_TITLE" => $dynGrdTitleCopyImport . ($this->existsTitle($processUid, $dynGrdTitleCopyImport) ? " (" . $arrayData["DYN_TITLE"] . ")" : ""), "DYN_DESCRIPTION" => $dynGrdDescriptionCopyImport, "DYN_TYPE" => "grid"); $dynaFormGridUid = $dynaFormGrid->create($arrayDataAux); //Copy files of the DynaForm Grid $fileGridXml = PATH_DYNAFORM . $processUidCopyImport . PATH_SEP . $dynaFormGridUidCopyImport . ".xml"; if (file_exists($fileGridXml)) { $fileGridXmlCopy = PATH_DYNAFORM . $processUid . PATH_SEP . $dynaFormGridUid . ".xml"; $fhGridXml = fopen($fileGridXml, "r"); $fhGridXmlCopy = fopen($fileGridXmlCopy, "w"); while (!feof($fhGridXml)) { $strLineAux = fgets($fhGridXml, 4096); $strLineAux = str_replace($processUidCopyImport . "/" . $dynaFormGridUidCopyImport, $processUid . "/" . $dynaFormGridUid, $strLineAux); fwrite($fhGridXmlCopy, $strLineAux); } fclose($fhGridXmlCopy); fclose($fhGridXml); chmod($fileGridXmlCopy, 0777); } $fileGridHtml = PATH_DYNAFORM . $processUidCopyImport . PATH_SEP . $dynaFormGridUidCopyImport . ".html"; if (file_exists($fileGridHtml)) { $fileGridHtmlCopy = PATH_DYNAFORM . $processUid . PATH_SEP . $dynaFormGridUid . ".html"; copy($fileGridHtml, $fileGridHtmlCopy); chmod($fileGridHtmlCopy, 0777); } $strLine = str_replace($processUidCopyImport . "/" . $dynaFormGridUidCopyImport, $processUid . "/" . $dynaFormGridUid, $strLine); } fwrite($fhXmlCopy, $strLine); } fclose($fhXmlCopy); fclose($fhXml); chmod($fileXmlCopy, 0777); } $fileHtml = PATH_DYNAFORM . $processUidCopyImport . PATH_SEP . $dynaFormUidCopyImport . ".html"; if (file_exists($fileHtml)) { $fileHtmlCopy = PATH_DYNAFORM . $processUid . PATH_SEP . $dynaFormUid . ".html"; copy($fileHtml, $fileHtmlCopy); chmod($fileHtmlCopy, 0777); } //Copy if there are conditions attached to the DynaForm $fieldCondition = new \FieldCondition(); $arrayCondition = $fieldCondition->getAllByDynUid($dynaFormUidCopyImport); foreach ($arrayCondition as $condition) { $condition["FCD_UID"] = ""; $condition["FCD_DYN_UID"] = $dynaFormUid; $fieldCondition->quickSave($condition); } umask($umaskOld); //Return return $arrayData; } catch (\Exception $e) { throw $e; } }
/** * Create List Paused Table * * @param type $data * @return type * */ public function create($data) { $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['APP_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'APP_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['PRO_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_PRO_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(AppDelegationPeer::USR_UID); $criteria->addSelectColumn(AppDelegationPeer::TAS_UID); $criteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE); $criteria->addSelectColumn(AppDelegationPeer::DEL_DELEGATE_DATE); $criteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE); $criteria->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS); $criteria->add( AppDelegationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $criteria->add( AppDelegationPeer::DEL_INDEX, $data['DEL_INDEX'], Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['USR_UID'] = isset($data['USR_UID']) ? $data['USR_UID'] : $aRow['USR_UID']; $data['TAS_UID'] = $aRow['TAS_UID']; $data['DEL_INIT_DATE'] = $aRow['DEL_INIT_DATE']; $data['DEL_DUE_DATE'] = $aRow['DEL_TASK_DUE_DATE']; $data['DEL_DELEGATE_DATE'] = $aRow['DEL_DELEGATE_DATE']; $delPrevious = $aRow['DEL_PREVIOUS']; $criteria = new Criteria(); $criteria->addSelectColumn(AppDelegationPeer::USR_UID); $criteria->add( AppDelegationPeer::APP_UID, $data['APP_UID'], Criteria::EQUAL ); $criteria->add( AppDelegationPeer::DEL_INDEX, $delPrevious, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['DEL_PREVIOUS_USR_UID'] = $aRow['USR_UID']; $criteria = new Criteria(); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); $criteria->add( UsersPeer::USR_UID, $data['DEL_PREVIOUS_USR_UID'], Criteria::EQUAL ); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['DEL_PREVIOUS_USR_USERNAME'] = $aRow['USR_USERNAME']; $data['DEL_PREVIOUS_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_PREVIOUS_USR_LASTNAME'] = $aRow['USR_LASTNAME']; $criteria = new Criteria(); $criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add( ContentPeer::CON_ID, $data['TAS_UID'], Criteria::EQUAL ); $criteria->add( ContentPeer::CON_CATEGORY, 'TAS_TITLE', Criteria::EQUAL ); $criteria->add( ContentPeer::CON_LANG, SYS_LANG, Criteria::EQUAL ); $dataset = ContentPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['APP_TAS_TITLE'] = $aRow['CON_VALUE']; $criteria = new Criteria(); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); $criteria->add( UsersPeer::USR_UID, $data['USR_UID'], Criteria::EQUAL ); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); $data['DEL_CURRENT_USR_USERNAME'] = $aRow['USR_USERNAME']; $data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME']; $data['APP_PAUSED_DATE'] = Date("Y-m-d H:i:s"); $oListInbox = new ListInbox(); $oListInbox->remove($data['APP_UID'], $data['DEL_INDEX']); $users = new Users(); if ($data['APP_STATUS'] == 'DRAFT') { $users->refreshTotal($data['USR_UID'], 'removed', 'draft'); } else { $users->refreshTotal($data['USR_UID'], 'removed', 'inbox'); } $users->refreshTotal($data['USR_UID'], 'add', 'paused'); $con = Propel::getConnection( ListPausedPeer::DATABASE_NAME ); try { $this->fromArray( $data, BasePeer::TYPE_FIELDNAME ); if ($this->validate()) { $result = $this->save(); } else { $e = new Exception( "Failed Validation in class " . get_class( $this ) . "." ); $e->aValidationFailures = $this->getValidationFailures(); throw ($e); } $con->commit(); return $result; } catch(Exception $e) { $con->rollback(); throw ($e); } }
/** * Get the [app_description] , [app_title] column values. * @return array of string */ public function getContentFields() { if ($this->getAppUid() == '') { throw new Exception("Error in getContentFields, the APP_UID can't be blank"); } $lang = defined('SYS_LANG') ? SYS_LANG : 'en'; $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(ContentPeer::CON_CATEGORY); $c->addSelectColumn(ContentPeer::CON_LANG); $c->addSelectColumn(ContentPeer::CON_VALUE); $c->add(ContentPeer::CON_ID, $this->getAppUid()); //$c->add(ContentPeer::CON_LANG, $lang); $c->addAscendingOrderByColumn('CON_CATEGORY'); $c->addAscendingOrderByColumn('CON_LANG'); $rs = ContentPeer::doSelectRS($c); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $content = array(); while ($row = $rs->getRow()) { $conCategory = $row['CON_CATEGORY']; $conLang = $row['CON_LANG']; if (!isset($content[$conCategory])) { $content[$conCategory] = array(); } if (!isset($content[$conCategory][$conLang])) { $content[$conCategory][$conLang] = array(); } $content[$conCategory][$conLang] = $row['CON_VALUE']; $rs->next(); $row = $rs->getRow(); } $appTitle = $this->normalizeContent($content, 'APP_TITLE', $lang); $appDescription = $this->normalizeContent($content, 'APP_DESCRIPTION', $lang); $res['APP_TITLE'] = $appTitle; $res['APP_DESCRIPTION'] = $appDescription; return $res; }
public function verifyExistingName($sName, $sProUid) { $sNameDyanform = urldecode($sName); $sProUid = urldecode($sProUid); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(DynaformPeer::DYN_UID); $oCriteria->add(DynaformPeer::PRO_UID, $sProUid); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $flag = true; while ($oDataset->next() && $flag) { $aRow = $oDataset->getRow(); $oCriteria1 = new Criteria('workflow'); $oCriteria1->addSelectColumn('COUNT(*) AS DYNAFORMS'); $oCriteria1->add(ContentPeer::CON_CATEGORY, 'DYN_TITLE'); $oCriteria1->add(ContentPeer::CON_ID, $aRow['DYN_UID']); $oCriteria1->add(ContentPeer::CON_VALUE, $sNameDyanform); $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); $oDataset1 = ContentPeer::doSelectRS($oCriteria1); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset1->next(); $aRow1 = $oDataset1->getRow(); if ($aRow1['DYNAFORMS']) { $flag = false; break; } } return $flag; }
private function getUserRole() { global $RBAC; $rolCode = str_replace('_', ' ', $RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']); $rolUid = $RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_UID']; $oCriteria1 = new Criteria('workflow'); $oCriteria1->add(ContentPeer::CON_CATEGORY, 'ROL_NAME'); $oCriteria1->add(ContentPeer::CON_ID, $rolUid); $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); $oDataset1 = ContentPeer::doSelectRS($oCriteria1); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset1->next(); $aRow = $oDataset1->getRow(); $rolName = $aRow['CON_VALUE']; return $rolName ? $rolName : $rolCode; }
function lookinginforContentProcess($sproUid) { require_once 'classes/model/Content.php'; require_once 'classes/model/Task.php'; require_once 'classes/model/Content.php'; $oContent = new Content(); ///we are looking for a pro title for this process $sproUid $oCriteria = new Criteria('workflow'); $oCriteria->add(ContentPeer::CON_CATEGORY, 'PRO_TITLE'); $oCriteria->add(ContentPeer::CON_LANG, 'en'); $oCriteria->add(ContentPeer::CON_ID, $sproUid); $oDataset = ContentPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (!is_array($aRow)) { $oC = new Criteria('workflow'); $oC->addSelectColumn(TaskPeer::TAS_UID); $oC->add(TaskPeer::PRO_UID, $sproUid); $oDataset1 = TaskPeer::doSelectRS($oC); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($oDataset1->next()) { $aRow1 = $oDataset1->getRow(); $oCriteria1 = new Criteria('workflow'); $oCriteria1->add(ContentPeer::CON_CATEGORY, 'TAS_TITLE'); $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); $oCriteria1->add(ContentPeer::CON_ID, $aRow1['TAS_UID']); $oDataset2 = ContentPeer::doSelectRS($oCriteria1); $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset2->next(); $aRow2 = $oDataset2->getRow(); Content::insertContent('TAS_TITLE', '', $aRow2['CON_ID'], 'en', $aRow2['CON_VALUE']); } $oC2 = new Criteria('workflow'); $oC2->add(ContentPeer::CON_CATEGORY, 'PRO_TITLE'); $oC2->add(ContentPeer::CON_LANG, SYS_LANG); $oC2->add(ContentPeer::CON_ID, $sproUid); $oDataset3 = ContentPeer::doSelectRS($oC2); $oDataset3->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset3->next(); $aRow3 = $oDataset3->getRow(); Content::insertContent('PRO_TITLE', '', $aRow3['CON_ID'], 'en', $aRow3['CON_VALUE']); } return 1; }
$oDataset->next(); $aRow1 = $oDataset->getRow(); if (is_array($aRow1)) { $G_PUBLISH = new Publisher(); $G_MAIN_MENU = 'processmaker'; $G_ID_MENU_SELECTED = 'SETUP'; $G_SUB_MENU = 'setup'; $G_ID_SUB_MENU_SELECTED = 'LANGUAGES'; //$aMessage['MESSAGE'] = G::LoadTranslation('CANT_DEL_LANGUAGE');//"you can't delete this language is in use"; //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'setup/showMessage', '', $aMessage ); //G::RenderPage('publishBlank', 'blank'); G::SendTemporalMessage('CANT_DEL_LANGUAGE', 'error', 'labels'); G::header('location: languages'); } else { /*the reason why comment it was because when delete some language,we're losing some labels about this language*/ $oCriteria = new Criteria('workflow'); $oCriteria->add(ContentPeer::CON_LANG, $_GET['LAN_ID']); ContentPeer::doDelete($oCriteria); /* $oCriteria1 = new Criteria('workflow'); $oCriteria1->add(LanguagePeer::LAN_ENABLED, 0); $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(LanguagePeer::LAN_ID, $_GET['LAN_ID']); LanguagePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow')); */ $aLanguage['LAN_ID'] = $_GET['LAN_ID']; $aLanguage['LAN_ENABLED'] = 0; $oLanguage = new Language(); $oLanguage->update($aLanguage); G::header('Location: languages'); }