Exemple #1
0
 /**
  * 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;
     }
 }