/** * Get all users of the Task * * @param string $taskUid * @param int $taskUserType * @param bool $keyCaseToLower * * return array * * @access public */ public function getUsers($taskUid, $taskUserType, $keyCaseToLower = false) { try { //G::LoadClass("BasePeer"); require_once PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.BasePeer.php"; $arrayData = array(); $keyCase = $keyCaseToLower ? CASE_LOWER : CASE_UPPER; //Criteria $processMap = new \ProcessMap(); $criteria = $processMap->getTaskUsersCriteria($taskUid, $taskUserType); if ($criteria->getDbName() == "dbarray") { $rsCriteria = \ArrayBasePeer::doSelectRS($criteria); } else { $rsCriteria = \GulliverBasePeer::doSelectRS($criteria); } $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayData[] = array_change_key_case($row, $keyCase); } return $arrayData; } catch (\Exception $e) { throw $e; } }
/** * Returns the number of rows matching criteria. * * @param Criteria $criteria * @param boolean $distinct Whether to select only distinct columns (You can also set DISTINCT modifier in Criteria). * @param Connection $con * @return int Number of matching rows. * @todo Review declarated constant d'not used COUNT, COUNT_DISTINCT */ public static function doCount(Criteria $criteria, $distinct = false, $con = null) { // we're going to modify criteria, so copy it first $criteria = clone $criteria; // clear out anything that might confuse the ORDER BY clause $criteria->clearSelectColumns()->clearOrderByColumns(); /* krumo ( ApplicationPeer::COUNT_DISTINCT ); if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { $criteria->addSelectColumn(ApplicationPeer::COUNT_DISTINCT); } else { $criteria->addSelectColumn(ApplicationPeer::COUNT); } */ $criteria->addSelectColumn('COUNT(*)'); // just in case we're grouping: add those columns to the select statement foreach ($criteria->getGroupByColumns() as $column) { $criteria->addSelectColumn($column); } $rs = ArrayBasePeer::doSelectRS($criteria, $con); if ($rs->next()) { $row = $rs->getRow(); return $row[1]; } else { // no rows returned; we infer that means 0 matches. return 0; } }
G::LoadClass('processMap'); G::LoadClass('ArrayPeer'); G::LoadClass('dbConnections'); global $_DBArray; switch ($action) { case 'loadInfoAssigConnecctionDB': $oStep = new Step(); return print $oStep->loadInfoAssigConnecctionDB($_POST['PRO_UID'], $_POST['DBS_UID']); break; case 'showDbConnectionsList': $oProcess = new processMap(); $oCriteria = $oProcess->getConditionProcessList(); if (ProcessPeer::doCount($oCriteria) > 0) { $aProcesses = array(); $aProcesses[] = array('PRO_UID' => 'char', 'PRO_TITLE' => 'char'); $oDataset = ArrayBasePeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $sProcessUID = ''; while ($aRow = $oDataset->getRow()) { if ($sProcessUID == '') { $sProcessUID = $aRow['PRO_UID']; } $aProcesses[] = array('PRO_UID' => isset($aRow['PRO_UID']) ? $aRow['PRO_UID'] : '', 'PRO_TITLE' => isset($aRow['PRO_TITLE']) ? $aRow['PRO_TITLE'] : ''); $oDataset->next(); } $_DBArray['PROCESSES'] = $aProcesses; $_SESSION['_DBArray'] = $_DBArray; $_SESSION['PROCESS'] = isset($_POST['PRO_UID']) ? $_POST['PRO_UID'] : ''; $oDBSource = new DbSource(); $oCriteria = $oDBSource->getCriteriaDBSList($_SESSION['PROCESS']);
/** * newExtObjectPermission * * @param string $sProcessUID * @param string $sAction * @return array depending on action */ public function newExtObjectPermission($sProcessUID, $sAction) { $aAllTasks = array(); $aAllTasks[] = array('UID' => 'char', 'LABEL' => 'char'); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(TaskPeer::PRO_UID); $oCriteria->addSelectColumn(TaskPeer::TAS_UID); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE); $aConditions = array(); $aConditions[] = array(0 => TaskPeer::TAS_UID, 1 => ContentPeer::CON_ID); $aConditions[] = array(0 => ContentPeer::CON_CATEGORY, 1 => DBAdapter::getStringDelimiter() . 'TAS_TITLE' . DBAdapter::getStringDelimiter()); $aConditions[] = array(0 => ContentPeer::CON_LANG, 1 => DBAdapter::getStringDelimiter() . SYS_LANG . DBAdapter::getStringDelimiter()); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(TaskPeer::PRO_UID, $sProcessUID); $oDataset = TaskPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aAllTasks[] = array('UID' => $aRow['TAS_UID'], 'LABEL' => $aRow['CON_VALUE']); $oDataset->next(); } $aUsersGroups = array(); $aUsersGroups[] = array('UID' => 'char', 'LABEL' => 'char'); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID); $oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE); $aConditions = array(); $aConditions[] = array(GroupwfPeer::GRP_UID, ContentPeer::CON_ID); $aConditions[] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter() . 'GRP_TITLE' . DBAdapter::getStringDelimiter()); $aConditions[] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter() . SYS_LANG . DBAdapter::getStringDelimiter()); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE'); $oDataset = GroupwfPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aUsersGroups[] = array('UID' => '2|' . $aRow['GRP_UID'], 'LABEL' => $aRow['GRP_TITLE'] . ' (' . G::LoadTranslation('ID_GROUP') . ')'); $oDataset->next(); } $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); $oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aUsersGroups[] = array('UID' => '1|' . $aRow['USR_UID'], 'LABEL' => $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'] . ' (' . $aRow['USR_USERNAME'] . ')'); $oDataset->next(); } $aAllObjects = array(); $aAllObjects[] = array('UID' => 'char', 'LABEL' => 'char'); $aAllDynaforms = array(); $aAllDynaforms[] = array('UID' => 'char', 'LABEL' => 'char'); $aAllInputs = array(); $aAllInputs[] = array('UID' => 'char', 'LABEL' => 'char'); $aAllOutputs = array(); $aAllOutputs[] = array('UID' => 'char', 'LABEL' => 'char'); $oCriteria = $this->getDynaformsCriteria($sProcessUID); $oCriteria->add(DynaformPeer::DYN_TYPE, 'XMLFORM'); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aRow['DYN_TITLE'] = isset($aRow['DYN_TITLE']) ? $aRow['DYN_TITLE'] : ''; $aAllObjects[] = array('UID' => 'DYNAFORM|' . $aRow['DYN_UID'], 'LABEL' => $aRow['DYN_TITLE'] . ' (' . G::LoadTranslation('ID_DYNAFORM') . ')'); $aAllDynaforms[] = array('UID' => $aRow['DYN_UID'], 'LABEL' => $aRow['DYN_TITLE']); $oDataset->next(); } G::LoadClass('ArrayPeer'); $oDataset = ArrayBasePeer::doSelectRS($this->getInputDocumentsCriteria($sProcessUID)); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aAllObjects[] = array('UID' => 'INPUT_DOCUMENT|' . $aRow['INP_DOC_UID'], 'LABEL' => $aRow['INP_DOC_TITLE'] . ' (' . G::LoadTranslation('ID_INPUT_DOCUMENT') . ')'); $aAllInputs[] = array('UID' => $aRow['INP_DOC_UID'], 'LABEL' => $aRow['INP_DOC_TITLE']); $oDataset->next(); } G::LoadClass('ArrayPeer'); $oDataset = ArrayBasePeer::doSelectRS($this->getOutputDocumentsCriteria($sProcessUID)); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aAllObjects[] = array('UID' => 'OUTPUT_DOCUMENT|' . $aRow['OUT_DOC_UID'], 'LABEL' => $aRow['OUT_DOC_TITLE'] . ' (' . G::LoadTranslation('ID_OUTPUT_DOCUMENT') . ')'); $aAllOutputs[] = array('UID' => $aRow['OUT_DOC_UID'], 'LABEL' => $aRow['OUT_DOC_TITLE']); $oDataset->next(); } global $_DBArray; $_DBArray = isset($_SESSION['_DBArray']) ? $_SESSION['_DBArray'] : ''; switch ($sAction) { case 'tasks': return $aAllTasks; break; case 'users': return $aUsersGroups; break; case 'dynaform': return $aAllDynaforms; break; case 'input': return $aAllInputs; break; case 'output': return $aAllOutputs; break; } }