Example #1
0
 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;
 }
Example #3
0
 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;
     }
 }
Example #5
0
 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;
 }
Example #6
0
    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);
    }
Example #7
0
 /**
  * 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]]);
     }
 }
Example #8
0
 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;
 }
Example #9
0
 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;
 }
Example #10
0
 /**
  * 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());
     }
 }
Example #11
0
 $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;
 }
Example #13
0
 /**
  * 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;
 }
Example #14
0
 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;
     }
 }
Example #15
0
 /**
  * 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;
 }
Example #16
0
 /**
  * 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']);
Example #18
0
    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);
    }
Example #19
0
 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;
 }
Example #21
0
    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;

        }

    }
Example #22
0
 /**
  * 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]]);
     }
 }
Example #23
0
    /**
     * 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);
        }
    }
Example #24
0
 /**
  * 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;
     }
 }
Example #25
0
    /**
     * 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);
        }
    }
Example #26
0
 /**
  * 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;
 }
Example #27
0
 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;
 }
Example #28
0
 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;
}
Example #30
0
$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');
}