/** * Get the email accounts of the current workspace * * return array */ public function getEmailEventAccounts() { try { $criteria = new \Criteria("workflow"); $criteria->clearSelectColumns(); $criteria->addSelectColumn(\UsersPeer::USR_UID); $criteria->addSelectColumn(\UsersPeer::USR_EMAIL); $criteria->addAsColumn('UID', 'USR_UID'); $criteria->addAsColumn('EMAIL', 'USR_EMAIL'); $criteria->add(\UsersPeer::USR_STATUS, "ACTIVE"); $result = \UsersPeer::doSelectRS($criteria); $result->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $result->next(); $accountsArray = array(); while ($aRow = $result->getRow()) { if (($aRow['USR_EMAIL'] != null) || ($aRow['USR_EMAIL'] != "")) { $accountsArray[] = array_change_key_case($aRow, CASE_LOWER); } $result->next(); } return $accountsArray; } catch (\Exception $e) { throw $e; } }
function adhocAssignUsersk($params) { G::LoadClass('groups'); G::LoadClass('tasks'); $oTasks = new Tasks(); $aAux = $oTasks->getGroupsOfTask($_SESSION['TASK'], 2); $aAdhocUsers = array(); $oGroups = new Groups(); foreach ($aAux as $aGroup) { $aUsers = $oGroups->getUsersOfGroup($aGroup['GRP_UID']); foreach ($aUsers as $aUser) { if ($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { $aAdhocUsers[] = $aUser['USR_UID']; } } } $aAux = $oTasks->getUsersOfTask($_SESSION['TASK'], 2); foreach ($aAux as $aUser) { if ($aUser['USR_UID'] != $_SESSION['USER_LOGGED']) { $aAdhocUsers[] = $aUser['USR_UID']; } } require_once 'classes/model/Users.php'; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->add(UsersPeer::USR_UID, $aAdhocUsers, Criteria::IN); $oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aData = array(); while ($oDataset->next()) { $aData[] = $oDataset->getRow(); } $this->data = $aData; }
/** function executed by the cron this function will synchronize users from ldap/active directory to PM users tables @return void */ public function executeCron($debug) { $rbac =& RBAC::getSingleton(); if (is_null($rbac->authSourcesObj)) { $rbac->authSourcesObj = new AuthenticationSource(); } $plugin = new ldapAdvanced(); $plugin->sSystem = $rbac->sSystem; $plugin->setFrontEnd(true); $plugin->setDebug($debug); //Get all authsource for this plugin ( ldapAdvanced plugin, because other authsources are not needed ) $arrayAuthenticationSource = $plugin->getAuthSources(); $aDepartments = $plugin->getDepartments(""); $aGroups = $plugin->getGroups(); //$arrayDepartmentUserAd = array(); //(D) Update Users //$arrayGroupUserAd = array(); //(G) Update Users //echo "\n"; $plugin->frontEndShow("START"); $plugin->debugLog("START"); foreach ($arrayAuthenticationSource as $value) { $arrayAuthenticationSourceData = $value; $plugin->debugLog("ldapadvanced.php > function executeCron() > foreach > \$arrayAuthenticationSourceData ---->\n" . print_r($arrayAuthenticationSourceData, true)); $plugin->sAuthSource = $arrayAuthenticationSourceData["AUTH_SOURCE_UID"]; $plugin->ldapcnn = null; $plugin->setArrayDepartmentUserSynchronizedChecked(array()); $plugin->setArrayUserUpdateChecked(array()); //Get all User (USR_UID, USR_USERNAME, USR_AUTH_USER_DN) registered in RBAC with this Authentication Source $plugin->setArrayAuthenticationSourceUsers($arrayAuthenticationSourceData["AUTH_SOURCE_UID"]); //INITIALIZE DATA $plugin->frontEndShow("TEXT", "Authentication Source: " . $arrayAuthenticationSourceData["AUTH_SOURCE_NAME"]); $plugin->log(null, "Executing cron for Authentication Source: " . $arrayAuthenticationSourceData["AUTH_SOURCE_NAME"]); //Get all departments from Ldap/ActiveDirectory and build a hierarchy using dn (ou->ou parent) $aLdapDepts = $plugin->searchDepartments(); //Obtain all departments from PM with a valid department in LDAP/ActiveDirectory $aRegisteredDepts = $plugin->getRegisteredDepartments($aLdapDepts, $aDepartments); $plugin->debugLog("ldapadvanced.php > function executeCron() > foreach > \$aRegisteredDepts ---->\n" . print_r($aRegisteredDepts, true)); //Get all group from Ldap/ActiveDirectory $aLdapGroups = $plugin->searchGroups(); //Obtain all groups from PM with a valid group in LDAP/ActiveDirectory $aRegisteredGroups = $plugin->getRegisteredGroups($aLdapGroups, $aGroups); $plugin->debugLog("ldapadvanced.php > function executeCron() > foreach > \$aRegisteredGroups ---->\n" . print_r($aRegisteredGroups, true)); //Get all users from Removed OU $this->usersRemovedOu = $plugin->getUsersFromRemovedOu($arrayAuthenticationSourceData); $plugin->deactiveArrayOfUsers($this->usersRemovedOu); //Variables $this->deletedRemoved = count($this->usersRemovedOu); $this->deletedRemovedUsers = ""; $this->dAlready = 0; $this->dMoved = 0; $this->dImpossible = 0; $this->dCreated = 0; $this->dRemoved = 0; $this->dAlreadyUsers = ""; $this->dMovedUsers = ""; $this->dImpossibleUsers = ""; $this->dCreatedUsers = ""; $this->dRemovedUsers = ""; $this->gAlready = 0; $this->gMoved = 0; $this->gImpossible = 0; $this->gCreated = 0; $this->gRemoved = 0; $this->gAlreadyUsers = ""; $this->gMovedUsers = ""; $this->gImpossibleUsers = ""; $this->gCreatedUsers = ""; $this->gRemovedUsers = ""; //Department - Synchronize Users $numDepartments = count($aRegisteredDepts); $count = 0; $plugin->debugLog("ldapadvanced.php > function executeCron() > foreach > \$numDepartments ----> {$numDepartments}"); foreach ($aRegisteredDepts as $registeredDept) { $count++; //(D) Update Users //if (!isset($arrayDepartmentUserAd[$registeredDept["DEP_UID"]])) { // $arrayDepartmentUserAd[$registeredDept["DEP_UID"]] = array(); //Current users in department based in Active Directory //} // //$arrayAux = $this->departmentSynchronizeUsers($plugin, $numDepartments, $count, $registeredDept); //$arrayAux = array_merge($arrayDepartmentUserAd[$registeredDept["DEP_UID"]], $arrayAux); // //$arrayDepartmentUserAd[$registeredDept["DEP_UID"]] = array_unique($arrayAux); $arrayAux = $this->departmentSynchronizeUsers($plugin, $numDepartments, $count, $registeredDept); } //Department - Print log $logResults = sprintf("- Departments -> Existing users: %d, moved: %d, impossible: %d, created: %d, removed: %d", $this->dAlready, $this->dMoved, $this->dImpossible, $this->dCreated, $this->dRemoved); $plugin->frontEndShow("TEXT", $logResults); $plugin->log(null, $logResults); //Group - Synchronize Users $numGroups = count($aRegisteredGroups); $count = 0; $plugin->debugLog("ldapadvanced.php > function executeCron() > foreach > \$numGroups ----> {$numGroups}"); foreach ($aRegisteredGroups as $registeredGroup) { $count++; //(G) Update Users //if (!isset($arrayGroupUserAd[$registeredGroup["GRP_UID"]])) { // $arrayGroupUserAd[$registeredGroup["GRP_UID"]] = array(); //Current users in group based in Active Directory //} // //$arrayAux = $this->groupSynchronizeUsers($plugin, $numGroups, $count, $registeredGroup); //$arrayAux = array_merge($arrayGroupUserAd[$registeredGroup["GRP_UID"]], $arrayAux); // //$arrayGroupUserAd[$registeredGroup["GRP_UID"]] = array_unique($arrayAux); $arrayAux = $this->groupSynchronizeUsers($plugin, $numGroups, $count, $registeredGroup); } //Group - Print log $logResults = sprintf("- Groups -> Existing users: %d, moved: %d, impossible: %d, created: %d, removed: %d", $this->gAlready, $this->gMoved, $this->gImpossible, $this->gCreated, $this->gRemoved); $plugin->frontEndShow("TEXT", $logResults); $plugin->log(null, $logResults); //Manager $plugin->clearManager($this->managersToClear); if (isset($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["DEPARTMENTS_TO_UNASSIGN"])) { if (is_array($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["DEPARTMENTS_TO_UNASSIGN"])) { foreach ($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["DEPARTMENTS_TO_UNASSIGN"] as $departmentUID) { // Delete manager assignments $criteriaSet = new Criteria("workflow"); $criteriaSet->add(UsersPeer::USR_REPORTS_TO, ""); $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(UsersPeer::DEP_UID, $departmentUID); $criteriaWhere->add(UsersPeer::USR_REPORTS_TO, "", Criteria::NOT_EQUAL); $this->deletedManager = BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); // Delete department assignments $criteriaSet = new Criteria("workflow"); $criteriaSet->add(UsersPeer::DEP_UID, ""); $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(UsersPeer::DEP_UID, $departmentUID); $this->dMoved += UsersPeer::doCount($criteriaWhere); BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); } } unset($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["DEPARTMENTS_TO_UNASSIGN"]); $rbac =& RBAC::getSingleton(); $rbac->authSourcesObj->update($arrayAuthenticationSourceData); } if (isset($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["GROUPS_TO_UNASSIGN"])) { if (is_array($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["GROUPS_TO_UNASSIGN"])) { foreach ($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["GROUPS_TO_UNASSIGN"] as $groupUID) { // Delete manager assignments $groupsInstance = new Groups(); $criteria = $groupsInstance->getUsersGroupCriteria($groupUID); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $users = array(); while ($row = $dataset->getRow()) { $users[] = $row["USR_UID"]; $dataset->next(); } $criteriaSet = new Criteria("workflow"); $criteriaSet->add(UsersPeer::USR_REPORTS_TO, ""); $criteriaWhere = new Criteria("workflow"); $criteriaWhere->add(UsersPeer::USR_UID, $users, Criteria::IN); $criteriaWhere->add(UsersPeer::USR_REPORTS_TO, "", Criteria::NOT_EQUAL); $this->deletedManager = BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); // Delete group assignments $criteria = new Criteria("workflow"); $criteria->add(GroupUserPeer::GRP_UID, $groupUID); $this->gMoved += GroupUserPeer::doCount($criteria); BasePeer::doDelete($criteria, Propel::getConnection("workflow")); } } unset($arrayAuthenticationSourceData["AUTH_SOURCE_DATA"]["GROUPS_TO_UNASSIGN"]); $rbac =& RBAC::getSingleton(); $rbac->authSourcesObj->update($arrayAuthenticationSourceData); } // Delete the managers that not exists in PM $criteria = new Criteria("rbac"); $criteria->addSelectColumn(RbacUsersPeer::USR_AUTH_USER_DN); $criteria->add(RbacUsersPeer::USR_AUTH_USER_DN, "", Criteria::NOT_EQUAL); $dataset = RbacUsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $existingUsers = array(); while ($row = $dataset->getRow()) { $existingUsers[] = $row["USR_AUTH_USER_DN"]; $dataset->next(); } foreach ($this->managersHierarchy as $managerDN => $subordinates) { if (!in_array($managerDN, $existingUsers)) { unset($this->managersHierarchy[$managerDN]); } } // Get the managers assigments counters $plugin->synchronizeManagers($this->managersHierarchy); $deletedManagersAssignments = self::array_diff_assoc_recursive($this->oldManagersHierarchy, $this->managersHierarchy); $newManagersAssignments = self::array_diff_assoc_recursive($this->managersHierarchy, $this->oldManagersHierarchy); $deletedManagers = array(); $newManagers = array(); $movedManagers = array(); if (is_array($deletedManagersAssignments)) { foreach ($deletedManagersAssignments as $dn1 => $subordinates1) { foreach ($subordinates1 as $subordinate) { if (!in_array($subordinate, $deletedManagers)) { $deletedManagers[] = $subordinate; } foreach ($newManagersAssignments as $dn2 => $subordinates2) { if (isset($subordinates2[$subordinate])) { $movedManagers[] = $subordinate; } } } } } if (is_array($newManagersAssignments)) { foreach ($newManagersAssignments as $dn1 => $subordinates1) { foreach ($subordinates1 as $subordinate) { if (!in_array($subordinate, $newManagers)) { $newManagers[] = $subordinate; } foreach ($deletedManagersAssignments as $dn2 => $subordinates2) { if (isset($subordinates2[$subordinate])) { if (!in_array($subordinate, $movedManagers)) { $movedManagers[] = $subordinate; } } } } } } //Print and log the users's information //Deleted/Removed Users $logResults = sprintf("- Deleted/Removed Users: %d", $this->deletedRemoved); $plugin->frontEndShow("TEXT", $logResults); $plugin->log(null, $logResults); if ($this->deletedRemoved > 0) { $plugin->log(null, "Deleted/Removed Users: "); $plugin->log(null, $this->deletedRemovedUsers); } if ($this->dAlready + $this->gAlready > 0) { $plugin->log(null, "Existing Users: "); $plugin->log(null, $this->dAlreadyUsers . " " . $this->gAlreadyUsers); } if ($this->dMoved + $this->gMoved > 0) { $plugin->log(null, "Moved Users: "); $plugin->log(null, $this->dMovedUsers . " " . $this->gMovedUsers); } if ($this->dImpossible + $this->gImpossible > 0) { $plugin->log(null, "Impossible Users: "); $plugin->log(null, $this->dImpossibleUsers . " " . $this->gImpossibleUsers); } if ($this->dCreated + $this->gCreated > 0) { $plugin->log(null, "Created Users: "); $plugin->log(null, $this->dCreatedUsers . " " . $this->gCreatedUsers); } if ($this->dRemoved + $this->gRemoved > 0) { $plugin->log(null, "Removed Users: "); $plugin->log(null, $this->dRemovedUsers . " " . $this->gRemovedUsers); } //Print and log the managers assignments"s information $logResults = sprintf("- Managers assignments: created %d, moved %d, removed %d", count($newManagers) - count($movedManagers), count($movedManagers), count($deletedManagers) - count($movedManagers) + $this->deletedManager); $plugin->frontEndShow("TEXT", $logResults); $plugin->log(null, $logResults); //Update Users data based on the LDAP Server $plugin->usersUpdateData($arrayAuthenticationSourceData["AUTH_SOURCE_UID"]); } $plugin->frontEndShow("END"); //(D) Update Users ////Department //Upgrade users in departments //foreach ($arrayDepartmentUserAd as $departmentUid => $arrayUserAd) { // $plugin->setArrayDepartmentUsers($departmentUid); //INITIALIZE DATA // // $arrayAux = array_diff(array_keys($plugin->arrayDepartmentUsersByUid), $arrayUserAd); // // $this->departmentRemoveUsers($departmentUid, $arrayAux); //} //(G) Update Users ////Group //Upgrade users in groups //foreach ($arrayGroupUserAd as $groupUid => $arrayUserAd) { // $plugin->setArrayGroupUsers($groupUid); //INITIALIZE DATA // // $arrayAux = array_diff(array_keys($plugin->arrayGroupUsersByUid), $arrayUserAd); // // $this->groupRemoveUsers($groupUid, $arrayAux); //} //// Developed by Gary and Ronald //$usersInfo = $plugin->ASUpdateInfo(''); //if (isset($usersInfo) && $usersInfo > 0) { // $this->dMoved = $usersInfo; //} //// End Developed by Gary and Ronald $plugin->debugLog("END"); }
/** * Return a list of adhoc assignees of an activity * * @param string $sProcessUID {@min 32} {@max 32} * @param string $sTaskUID {@min 32} {@max 32} * @param string $filter * @param int $start * @param int $limit * @param string $type * * return array * * @access public */ public function getTaskAdhocAssigneesAll($sProcessUID, $sTaskUID, $filter, $start, $limit, $type) { try { Validator::proUid($sProcessUID, '$prj_uid'); $this->validateActUid($sTaskUID); $aUsers = array(); $oTasks = new \Tasks(); $aAux = $oTasks->getGroupsOfTask($sTaskUID, 2); $aGroupUids = array(); foreach ($aAux as $aGroup) { $aGroupUids[] = $aGroup['GRP_UID']; } foreach ($aGroupUids as $results) { $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn('USR_UID'); $oCriteria->add(\GroupUserPeer::GRP_UID, $results); $oGroupDataset = \GroupUserPeer::doSelectRS($oCriteria); $oGroupDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($oGroupDataset->next()) { $aGroupRow = $oGroupDataset->getRow(); $oGroupCriteria = new \Criteria('workflow'); $oGroupCriteria->addSelectColumn(\UsersPeer::USR_UID); $oGroupCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME); $oGroupCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME); $oGroupCriteria->addSelectColumn(\UsersPeer::USR_USERNAME); if ($filter != '') { $oGroupCriteria->add($oGroupCriteria->getNewCriterion(\UsersPeer::USR_USERNAME, "%{$filter}%", \Criteria::LIKE)->addOr($oGroupCriteria->getNewCriterion(\UsersPeer::USR_FIRSTNAME, "%{$filter}%", \Criteria::LIKE))->addOr($oGroupCriteria->getNewCriterion(\UsersPeer::USR_LASTNAME, "%{$filter}%", \Criteria::LIKE))); } $oGroupCriteria->add(\UsersPeer::USR_UID, $aGroupRow["USR_UID"]); $oUserDataset = \UsersPeer::doSelectRS($oGroupCriteria); $oUserDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oUserDataset->next(); while ($aUserRow = $oUserDataset->getRow()) { $aUsers[] = array('aas_uid' => $aUserRow['USR_UID'], 'aas_name' => $aUserRow['USR_FIRSTNAME'], 'aas_lastname' => $aUserRow['USR_LASTNAME'], 'aas_username' => $aUserRow['USR_USERNAME'], 'aas_type' => "user"); $oUserDataset->next(); } } } $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\UsersPeer::USR_UID); $oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME); if ($filter != '') { $oCriteria->add($oCriteria->getNewCriterion(\UsersPeer::USR_USERNAME, "%{$filter}%", \Criteria::LIKE)->addOr($oCriteria->getNewCriterion(\UsersPeer::USR_FIRSTNAME, "%{$filter}%", \Criteria::LIKE))->addOr($oCriteria->getNewCriterion(\UsersPeer::USR_LASTNAME, "%{$filter}%", \Criteria::LIKE))); } $oCriteria->addJoin(\TaskUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN); $oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID); $oCriteria->add(\TaskUserPeer::TU_TYPE, 2); $oCriteria->add(\TaskUserPeer::TU_RELATION, 1); $oDataset = \TaskUserPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { if ($type == '' || $type == 'user') { $aUsers[] = array('aas_uid' => $aRow['USR_UID'], 'aas_name' => $aRow['USR_FIRSTNAME'], 'aas_lastname' => $aRow['USR_LASTNAME'], 'aas_username' => $aRow['USR_USERNAME'], 'aas_type' => "user"); } $oDataset->next(); } $aUsersGroups = array(); $exclude = array(""); for ($i = 0; $i <= count($aUsers) - 1; $i++) { if (!in_array(trim($aUsers[$i]["aas_uid"]), $exclude)) { $aUsersGroups[] = $aUsers[$i]; $exclude[] = trim($aUsers[$i]["aas_uid"]); } } if ($start) { if ($start < 0) { throw new \Exception(\G::LoadTranslation("ID_INVALID_START")); } } else { $start = 0; } if (isset($limit)) { if ($limit < 0) { throw new \Exception(\G::LoadTranslation("ID_INVALID_LIMIT")); } else { if ($limit == 0) { return array(); } } } else { $limit = count($aUsersGroups) + 1; } $aUsersGroups = $this->arrayPagination($aUsersGroups, $start, $limit); return $aUsersGroups; } catch (\Exception $e) { throw $e; } }
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); }
/** * 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); } }
/** * 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); } }
function getDenpendentUser($USR_UID) { //require_once 'classes/model/Users.php'; //here the uid to next Users $oC = new Criteria(); $oC->addSelectColumn(UsersPeer::USR_REPORTS_TO); $oC->add(UsersPeer::USR_UID, $USR_UID); $oDataset = UsersPeer::doSelectRS($oC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); return $aRow['USR_REPORTS_TO']; }
/** * Refresh List Participated Last * * @param type $seqName * @return type * @throws type * */ public function refresh ($data, $isSelfService = false) { $data['APP_STATUS'] = (empty($data['APP_STATUS'])) ? 'TO_DO' : $data['APP_STATUS']; if (!$isSelfService) { if ($data["USR_UID"] == "") { return; } $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(); //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::DEL_CURRENT_USR_USERNAME, $aRow['USR_USERNAME']); $criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_FIRSTNAME, $aRow['USR_FIRSTNAME']); $criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_LASTNAME, $aRow['USR_LASTNAME']); BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); } $this->update($data); }
/** * Get all Users of a Group * * @param string $option Option (USERS, AVAILABLE-USERS) * @param string $groupUid Unique id of Group * @param array $arrayFilterData Data of the filters * @param string $sortField Field name to sort * @param string $sortDir Direction of sorting (ASC, DESC) * @param int $start Start * @param int $limit Limit * * return array Return an array with all Users of a Group */ public function getUsers($option, $groupUid, $arrayFilterData = null, $sortField = null, $sortDir = null, $start = null, $limit = null) { try { $arrayUser = array(); //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $this->throwExceptionIfNotExistsGroup($groupUid, $this->arrayFieldNameForException["groupUid"]); $process->throwExceptionIfDataNotMetPagerVarDefinition(array("start" => $start, "limit" => $limit), $this->arrayFieldNameForException); //Get data if (!is_null($limit) && $limit . "" == "0") { return $arrayUser; } //SQL switch ($option) { case "SUPERVISOR": $flagPermission = true; //Criteria for Supervisor $criteria = $this->getUserCriteria($groupUid, $arrayFilterData); break; case "USERS": //Criteria $criteria = $this->getUserCriteria($groupUid, $arrayFilterData); break; case "AVAILABLE-USERS": //Get Uids $arrayUid = array(); $criteria = $this->getUserCriteria($groupUid); $rsCriteria = \UsersPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUid[] = $row["USR_UID"]; } //Criteria $criteria = $this->getUserCriteria("", $arrayFilterData, $arrayUid); break; } //SQL if (!is_null($sortField) && trim($sortField) != "") { $sortField = strtoupper($sortField); if (in_array($sortField, array("USR_UID", "USR_USERNAME", "USR_FIRSTNAME", "USR_LASTNAME", "USR_EMAIL", "USR_STATUS"))) { $sortField = \UsersPeer::TABLE_NAME . "." . $sortField; } else { $sortField = \UsersPeer::USR_USERNAME; } } else { $sortField = \UsersPeer::USR_USERNAME; } if (!is_null($sortDir) && trim($sortDir) != "" && strtoupper($sortDir) == "DESC") { $criteria->addDescendingOrderByColumn($sortField); } else { $criteria->addAscendingOrderByColumn($sortField); } if (!is_null($start)) { $criteria->setOffset((int) $start); } if (!is_null($limit)) { $criteria->setLimit((int) $limit); } $rsCriteria = \UsersPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); if (isset($flagPermission) && $flagPermission) { \G::LoadSystem('rbac'); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $aPermissions = $this->loadUserRolePermission("PROCESSMAKER", $row['USR_UID']); $bInclude = false; foreach ($aPermissions as $aPermission) { if ($aPermission['PER_CODE'] == 'PM_SUPERVISOR') { $bInclude = true; } } if ($bInclude) { $arrayUser[] = $this->getUserDataFromRecord($row); } } } else { while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUser[] = $this->getUserDataFromRecord($row); } } //Return return $arrayUser; } catch (\Exception $e) { throw $e; } }
function buildData() { require_once "classes/model/Users.php"; G::LoadClass("serverConfiguration"); G::LoadClass("system"); $oServerConf =& serverConf::getSingleton(); $os = ''; if (file_exists('/etc/redhat-release')) { $fnewsize = filesize('/etc/redhat-release'); $fp = fopen('/etc/redhat-release', 'r'); $os = trim(fread($fp, $fnewsize)); fclose($fp); } $os .= " (" . PHP_OS . ")"; $params = array(); $params['ip'] = getenv('SERVER_ADDR'); $oServerConf->setHeartbeatProperty('HB_BEAT_INDEX', intval($oServerConf->getHeartbeatProperty('HB_BEAT_INDEX', 'HEART_BEAT_CONF')) + 1, 'HEART_BEAT_CONF'); $params['index'] = $oServerConf->getHeartbeatProperty('HB_BEAT_INDEX', 'HEART_BEAT_CONF'); //$this->index; $params['beatType'] = is_null($oServerConf->getHeartbeatProperty('HB_BEAT_TYPE', 'HEART_BEAT_CONF')) ? "starting" : $oServerConf->getHeartbeatProperty('HB_BEAT_TYPE', 'HEART_BEAT_CONF'); //1;//$this->beatType; $params['date'] = date('Y-m-d H:i:s'); $params['host'] = getenv('SERVER_NAME'); $params['os'] = $os; $params['webserver'] = getenv('SERVER_SOFTWARE'); $params['php'] = phpversion(); $params['pmVersion'] = System::getVersion(); if (class_exists('pmLicenseManager')) { $params['pmProduct'] = 'PMEE'; } else { $params['pmProduct'] = 'PMCE'; } $params['logins'] = $oServerConf->logins; $params['workspaces'] = serialize($oServerConf->getWSList()); $params['plugins'] = serialize($oServerConf->getPluginsList()); $params['dbVersion'] = $oServerConf->getDBVersion(); //$params ['errors'] = serialize( $oServerConf->errors ); if ($licInfo = $oServerConf->getProperty('LICENSE_INFO')) { $params['license'] = serialize($licInfo); } /////// $criteria = new Criteria("workflow"); $criteria->addSelectColumn("COUNT(USERS.USR_UID) AS USERS_NUMBER"); $criteria->add(UsersPeer::USR_UID, null, Criteria::ISNOTNULL); $rs = UsersPeer::doSelectRS($criteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); $params["users"] = $row["USERS_NUMBER"]; /////// $ee = null; if (file_exists(PATH_PLUGINS . "enterprise" . PATH_SEP . "VERSION")) { $ee = trim(file_get_contents(PATH_PLUGINS . "enterprise" . PATH_SEP . "VERSION")); } else { $pluginRegistry =& PMPluginRegistry::getSingleton(); $details = $pluginRegistry->getPluginDetails("enterprise.php"); $ee = !($details == null) ? $details->iVersion : null; } $params["ee"] = $ee; /////// $addonNumber = 0; $addonEnabledNumber = 0; $pluginRegistry =& PMPluginRegistry::getSingleton(); $arrayAddon = array(); if (file_exists(PATH_DATA_SITE . "ee")) { $arrayAddon = unserialize(trim(file_get_contents(PATH_DATA_SITE . "ee"))); $arrayAddon["enterprise"] = array("sFilename" => "enterprise-1.tar"); } foreach ($arrayAddon as $addon) { $sFileName = substr($addon["sFilename"], 0, strpos($addon["sFilename"], "-")); if (file_exists(PATH_PLUGINS . $sFileName . ".php")) { $addonDetails = $pluginRegistry->getPluginDetails($sFileName . ".php"); $enabled = 0; if ($addonDetails) { $enabled = $addonDetails->enabled ? 1 : 0; } if ($enabled == 1) { $addonEnabledNumber = $addonEnabledNumber + 1; } $addonNumber = $addonNumber + 1; } } $params["addonNumber"] = $addonNumber; $params["addonEnabledNumber"] = $addonEnabledNumber; /////// $licenseID = null; $licenseType = null; $licenseDomainWorkspace = null; $licenseNumber = 0; if (file_exists(PATH_PLUGINS . "enterprise" . PATH_SEP . "class.pmLicenseManager.php")) { $licenseManager =& pmLicenseManager::getSingleton(); preg_match("/^license_(.*).dat\$/", $licenseManager->file, $matches); $licenseID = $matches[1]; $licenseType = $licenseManager->type; $licenseDomainWorkspace = $licenseManager->info["DOMAIN_WORKSPACE"]; /////// $criteria = new Criteria("workflow"); $criteria->addSelectColumn("COUNT(LICENSE_MANAGER.LICENSE_UID) AS LICENSE_NUMBER"); $criteria->add(LicenseManagerPeer::LICENSE_UID, null, Criteria::ISNOTNULL); $rs = LicenseManagerPeer::doSelectRS($criteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); /////// $licenseNumber = $row["LICENSE_NUMBER"] > 0 ? $row["LICENSE_NUMBER"] : count(glob(PATH_DATA_SITE . "licenses" . PATH_SEP . "*.dat")); } $params["licenseID"] = $licenseID; $params["licenseType"] = $licenseType; $params["licenseDomainWorkspace"] = $licenseDomainWorkspace; $params["licenseNumber"] = $licenseNumber; /////// return $params; }
/** * Get all Users * * @param array $arrayFilterData Data of the filters * @param string $sortField Field name to sort * @param string $sortDir Direction of sorting (ASC, DESC) * @param int $start Start * @param int $limit Limit * * return array Return an array with all Users */ public function getUsers($arrayFilterData = null, $sortField = null, $sortDir = null, $start = null, $limit = null) { try { $arrayUser = array(); $numRecTotal = 0; //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfDataNotMetPagerVarDefinition(array("start" => $start, "limit" => $limit), array("start" => "start", "limit" => "limit")); //Set variables $filterName = "filter"; if (!is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData["filter"])) { $arrayAux = array( "" => "filter", "LEFT" => "lfilter", "RIGHT" => "rfilter" ); $filterName = $arrayAux[(isset($arrayFilterData["filterOption"]))? $arrayFilterData["filterOption"] : ""]; } //Get data if (!is_null($limit) && $limit . "" == "0") { //Return return array( "total" => $numRecTotal, "start" => (int)((!is_null($start))? $start : 0), "limit" => (int)((!is_null($limit))? $limit : 0), $filterName => (!is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData["filter"]))? $arrayFilterData["filter"] : "", "data" => $arrayUser ); } //Query $criteria = $this->getUserCriteria(); if (!is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData["filter"]) && trim($arrayFilterData["filter"]) != "") { $arraySearch = array( "" => "%" . $arrayFilterData["filter"] . "%", "LEFT" => $arrayFilterData["filter"] . "%", "RIGHT" => "%" . $arrayFilterData["filter"] ); $search = $arraySearch[(isset($arrayFilterData["filterOption"]))? $arrayFilterData["filterOption"] : ""]; $criteria->add( $criteria->getNewCriterion(\UsersPeer::USR_USERNAME, $search, \Criteria::LIKE)->addOr( $criteria->getNewCriterion(\UsersPeer::USR_FIRSTNAME, $search, \Criteria::LIKE))->addOr( $criteria->getNewCriterion(\UsersPeer::USR_LASTNAME, $search, \Criteria::LIKE)) ); } $criteria->add(\UsersPeer::USR_STATUS, "ACTIVE", \Criteria::EQUAL); //Number records total $criteriaCount = clone $criteria; $criteriaCount->clearSelectColumns(); $criteriaCount->addSelectColumn("COUNT(" . \UsersPeer::USR_UID . ") AS NUM_REC"); $rsCriteriaCount = \UsersPeer::doSelectRS($criteriaCount); $rsCriteriaCount->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $result = $rsCriteriaCount->next(); $row = $rsCriteriaCount->getRow(); $numRecTotal = (int)($row["NUM_REC"]); //Query if (!is_null($sortField) && trim($sortField) != "") { $sortField = strtoupper($sortField); if (in_array(\UsersPeer::TABLE_NAME . "." . $sortField, $criteria->getSelectColumns())) { $sortField = \UsersPeer::TABLE_NAME . "." . $sortField; } else { $sortField = \UsersPeer::USR_FIRSTNAME; } } else { $sortField = \UsersPeer::USR_FIRSTNAME; } if (!is_null($sortDir) && trim($sortDir) != "" && strtoupper($sortDir) == "DESC") { $criteria->addDescendingOrderByColumn($sortField); } else { $criteria->addAscendingOrderByColumn($sortField); } if (!is_null($start)) { $criteria->setOffset((int)($start)); } if (!is_null($limit)) { $criteria->setLimit((int)($limit)); } $rsCriteria = \UsersPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUser[] = $this->getUserDataFromRecord($row); } //Return return array( "total" => $numRecTotal, "start" => (int)((!is_null($start))? $start : 0), "limit" => (int)((!is_null($limit))? $limit : 0), $filterName => (!is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData["filter"]))? $arrayFilterData["filter"] : "", "data" => $arrayUser ); } catch (\Exception $e) { throw $e; } }
public function enterpriseSystemUpdate($data) { if (count(glob(PATH_DATA_SITE . 'license/*.dat')) == 0) { return; } require_once "classes/model/Users.php"; $user = $data; $criteria = new Criteria("workflow"); //SELECT $criteria->addSelectColumn(UsersPeer::USR_UID); //FROM //WHERE $criteria->add(UsersPeer::USR_USERNAME, $user->lName); //$user->lPassword $criteria->add(UsersPeer::USR_ROLE, "PROCESSMAKER_ADMIN"); //query $rsSQLUSR = UsersPeer::doSelectRS($criteria); $rsSQLUSR->setFetchmode(ResultSet::FETCHMODE_ASSOC); $sw = 0; if (UsersPeer::doCount($criteria) > 0) { //if ($rsSQLUSR->getRecordCount() > 0) { $sw = 1; } /* $cnn = Propel::getConnection("workflow"); $stmt = $cnn->createStatement(); $sql = "SELECT USR.USR_UID FROM USERS AS USR WHERE USR.USR_USERNAME = '******' AND USR.USR_ROLE = 'PROCESSMAKER_ADMIN'"; $rsSQLUSR = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); $sw = 0; if ($rsSQLUSR->getRecordCount() > 0) { $sw = 1; } */ if ($sw == 1) { //Upgrade available $swUpgrade = 0; $addonList = AddonsStore::addonList(); $addon = $addonList["addons"]; if (count($addon) > 0) { $status = array("ready", "upgrade", "available"); $pmVersion = EnterpriseUtils::pmVersion(PM_VERSION); foreach ($addon as $index => $value) { if ($addon[$index]["id"] == "processmaker") { if (version_compare($pmVersion . "", EnterpriseUtils::pmVersion($addon[$index]["version"]) . "", "<")) { $swUpgrade = 1; break; } } else { if (in_array($addon[$index]["status"], $status)) { $swUpgrade = 1; break; } } } } if ($swUpgrade == 1) { $_SESSION["__ENTERPRISE_SYSTEM_UPDATE__"] = 1; } } }
/** * Get all Users * * @param string $filter * @param int $start * @param int $limit * * return array Return an array with all Users */ public function getUsers($filter, $start, $limit) { try { $aUserInfo = array(); require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Users.php"); $oCriteria = $this->getUserCriteria(); if ($filter != '') { $oCriteria->add( $oCriteria->getNewCriterion( \UsersPeer::USR_USERNAME, "%$filter%", \Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_FIRSTNAME, "%$filter%", \Criteria::LIKE ) )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_LASTNAME, "%$filter%", \Criteria::LIKE ) ) ); } if ($start) { if ($start < 0) { throw new \Exception(\G::LoadTranslation("ID_INVALID_START")); } else { $oCriteria->setOffset($start); } } if ($limit != '') { if ($limit < 0) { throw new \Exception(\G::LoadTranslation("ID_INVALID_LIMIT")); } else { if ($limit == 0) { return $aUserInfo; } else { $oCriteria->setLimit($limit); } } } $oCriteria->add(\UsersPeer::USR_STATUS, "ACTIVE", \Criteria::EQUAL); $oDataset = \UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($oDataset->next()) { $aRow1 = $oDataset->getRow(); $aRow1 = array_change_key_case($aRow1, CASE_LOWER); $aUserInfo[] = $aRow1; } //Return return $aUserInfo; } catch (\Exception $e) { throw $e; } }
/** * Return available supervisors * @param string $obj_type * @param string $sProcessUID * * @return array * * @access public */ public function getAvailableProcessSupervisors($obj_type, $sProcessUID = '') { try { require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Roles.php"); $aRespLi = array(); $aRespLiGroups = array(); $userRole = new \ProcessMaker\BusinessModel\User(); // Groups $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID); $oCriteria->addSelectColumn(\ProcessUserPeer::PU_TYPE); $oCriteria->add(\ProcessUserPeer::PRO_UID, $sProcessUID); $oCriteria->add(\ProcessUserPeer::PU_TYPE, '%SUPERVISOR%', \Criteria::LIKE); $oDataset = \ProcessUserPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aUIDS = array(); $aGRUS = array(); while ($aRow = $oDataset->getRow()) { if ($aRow['PU_TYPE'] == 'SUPERVISOR') { $aUIDS [] = $aRow ['USR_UID']; } else { $aGRUS [] = $aRow ['USR_UID']; } $oDataset->next(); } $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\GroupwfPeer::GRP_UID); $oCriteria->addAsColumn('GRP_TITLE', \ContentPeer::CON_VALUE); $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_UID, $aGRUS, \Criteria::NOT_IN); $oCriteria->addAscendingOrderByColumn(\ContentPeer::CON_VALUE); $oDataset = \GroupwfPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); if ($obj_type == 'group' || $obj_type == '') { while ($aRow = $oDataset->getRow()) { $group = new \ProcessMaker\BusinessModel\Group(); $userGroup = $group->getUsers('USERS', $aRow['GRP_UID']); foreach ($userGroup as $value) { $permission = $userRole->loadUserRolePermission('PROCESSMAKER', $value["USR_UID"]); foreach ($permission as $values) { if ($values["PER_CODE"] == 'PM_SUPERVISOR') { $aRespLiGroups[] = array('grp_uid' => $aRow['GRP_UID'], 'grp_name' => $aRow['GRP_TITLE'], 'obj_type' => "group"); } } } $oDataset->next(); } } $exclude = array(""); for ($i = 0; $i<=count($aRespLiGroups)-1; $i++) { if (!in_array(trim($aRespLiGroups[$i]["grp_uid"]) ,$exclude)) { $aRespLi[] = $aRespLiGroups[$i]; $exclude[] = trim($aRespLiGroups[$i]["grp_uid"]); } } $sDelimiter = \DBAdapter::getStringDelimiter(); $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\UsersPeer::USR_UID); $oCriteria->addSelectColumn(\UsersPeer::USR_ROLE); $oCriteria->add(\UsersPeer::USR_UID, $aUIDS, \Criteria::NOT_IN); $oDataset = \UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aUIDS = array(); while ($aRow = $oDataset->getRow()) { $permission = $userRole->loadUserRolePermission('PROCESSMAKER', $aRow['USR_UID']); foreach ($permission as $key => $value) { if ($value["PER_CODE"] == 'PM_SUPERVISOR') { $aUIDS [] = $aRow ['USR_UID']; } } $oDataset->next(); } $oCriteria = new \Criteria('workflow'); $oCriteria->addSelectColumn(\UsersPeer::USR_UID); $oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME); $oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME); $oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL); $oCriteria->add(\UsersPeer::USR_UID, $aUIDS, \Criteria::IN); $oCriteria->addAscendingOrderByColumn(\UsersPeer::USR_FIRSTNAME); $oCriteria->add(\UsersPeer::USR_STATUS, 'ACTIVE'); $oDataset = \UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset->next(); if ($obj_type == 'user' || $obj_type == '') { while ($aRow = $oDataset->getRow()) { $aRespLi[] = array('usr_uid' => $aRow['USR_UID'], 'usr_firstname' => $aRow['USR_FIRSTNAME'], 'usr_lastname' => $aRow['USR_LASTNAME'], 'usr_username' => $aRow['USR_USERNAME'], 'usr_email' => $aRow['USR_EMAIL'], "obj_type" => "user" ); $oDataset->next(); } } return $aRespLi; } catch (Exception $e) { throw $e; } }
public function getAllDepartmentsByUser() { $c = new Criteria('workflow'); $c->addSelectColumn(UsersPeer::USR_UID); $c->addAsColumn('DEP_TITLE', ContentPeer::CON_VALUE); $c->add(ContentPeer::CON_LANG, defined(SYS_LANG) ? SYS_LANG : 'en'); $c->add(ContentPeer::CON_CATEGORY, 'DEPO_TITLE'); $c->addJoin(UsersPeer::DEP_UID, ContentPeer::CON_ID, Criteria::INNER_JOIN); $Dat = UsersPeer::doSelectRS($c); $Dat->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aRows = array(); while ($Dat->next()) { $row = $Dat->getRow(); $aRows[$row['USR_UID']] = $row['DEP_TITLE']; } return $aRows; }
function getAllUsersByDepartment() { $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(UsersPeer::DEP_UID); $oCriteria->addSelectColumn('COUNT(*) AS CNT'); $oCriteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); $oCriteria->addGroupByColumn(UsersPeer::DEP_UID); $oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aDepts = array(); while ($oDataset->next()) { $row = $oDataset->getRow(); $aDepts[$row['DEP_UID']] = $row['CNT']; } return $aDepts; }
/** * Get all Active users * * @return array of all active users */ public function getAll($start = null, $limit = null, $search = null) { $totalCount = 0; $criteria = new Criteria('workflow'); $criteria->addSelectColumn(UsersPeer::USR_UID); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); $criteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); $criteria->addAscendingOrderByColumn(UsersPeer::USR_LASTNAME); if ($search) { $criteria->add($criteria->getNewCriterion(UsersPeer::USR_USERNAME, "%{$search}%", Criteria::LIKE)->addOr($criteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, "%{$search}%", Criteria::LIKE))->addOr($criteria->getNewCriterion(UsersPeer::USR_LASTNAME, "%{$search}%", Criteria::LIKE))); } $c = clone $criteria; $c->clearSelectColumns(); $c->addSelectColumn('COUNT(*)'); $dataset = UsersPeer::doSelectRS($c); $dataset->next(); $rowCount = $dataset->getRow(); if (is_array($rowCount)) { $totalCount = $rowCount[0]; } if ($start) { $criteria->setOffset($start); } if ($limit) { $criteria->setLimit($limit); } $rs = UsersPeer::doSelectRS($criteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rows = array(); while ($rs->next()) { $rows[] = $rs->getRow(); } $result->data = $rows; $result->totalCount = $totalCount; return $result; }
/** * Refresh List My Inbox * * @param type $seqName * @return type * @throws type * */ public function refresh($data) { $data['APP_STATUS'] = empty($data['APP_STATUS']) ? 'TO_DO' : $data['APP_STATUS']; $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_UID'] = $data['USR_UID']; $data['DEL_CURRENT_USR_USERNAME'] = $aRow['USR_USERNAME']; $data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME']; if ($data['DEL_INDEX'] == 1 && $data['APP_STATUS'] == 'TO_DO') { $data['APP_CREATE_DATE'] = $data['APP_UPDATE_DATE']; $oCriteria = new Criteria('workflow'); $oCriteria->add(ListMyInboxPeer::APP_UID, $data['APP_UID']); $oCriteria->add(ListMyInboxPeer::USR_UID, $data['USR_UID']); ListMyInboxPeer::doDelete($oCriteria); $this->create($data); } else { unset($data['USR_UID']); $this->update($data); } }
/** * Get the assigned users of a task * @param string $sTaskUID * @param integer $iType * @return array */ public function getUsersOfTask($sTaskUID, $iType) { try { $aUsers = array(); $oCriteria = new Criteria('workflow'); $oCriteria->addJoin(UsersPeer::USR_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN); $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID); $oCriteria->add(TaskUserPeer::TU_TYPE, $iType); $oCriteria->add(TaskUserPeer::TU_RELATION, 1); $oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aUsers[] = $aRow; $oDataset->next(); } return $aUsers; } catch (Exception $oError) { throw $oError; } }
$sWS_USER = trim($_REQUEST['USERNAME']); $sWS_PASS = trim($_REQUEST['PASSWORD']); if (G::is_https()) { $http = 'https://'; } else { $http = 'http://'; } $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; @($client = new SoapClient($endpoint)); $user = $sWS_USER; $pass = $sWS_PASS; $params = array('userid' => $user, 'password' => $pass); $result = $client->__SoapCall('login', array($params)); $fields['status_code'] = $result->status_code; $fields['message'] = 'ProcessMaker WebService version: ' . $result->version . "\n" . $result->message; $fields['version'] = $result->version; $fields['time_stamp'] = $result->timestamp; $messageCode = $result->message; if ($result->status_code == 0) { if (!class_exists('Users')) { require "classes/model/UsersPeer.php"; } $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn('USR_UID'); $oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER); $resultSet = UsersPeer::doSelectRS($oCriteria); $resultSet->next(); $user_id = $resultSet->getRow(); $messageCode = $user_id[0]; } echo $messageCode;
//now get users, just for the Search action switch ($action) { case 'search_simple': case 'search': G::LoadClass("configuration"); $conf = new Configurations(); $confEnvSetting = $conf->getFormats(); $cUsers = new Criteria('workflow'); $cUsers->clearSelectColumns(); $cUsers->addSelectColumn(UsersPeer::USR_UID); $cUsers->addSelectColumn(UsersPeer::USR_USERNAME); $cUsers->addSelectColumn(UsersPeer::USR_FIRSTNAME); $cUsers->addSelectColumn(UsersPeer::USR_LASTNAME); $cUsers->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); $cUsers->addAscendingOrderByColumn(UsersPeer::TABLE_NAME . "." . $conf->userNameFormatGetFirstFieldByUsersTable()); $oDataset = UsersPeer::doSelectRS($cUsers); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($oDataset->next()) { $row = $oDataset->getRow(); $usrFullName = $conf->usersNameFormatBySetParameters($confEnvSetting["format"], $row["USR_USERNAME"], $row["USR_FIRSTNAME"], $row["USR_LASTNAME"]); $users[] = array("USR_UID" => $row["USR_UID"], "USR_FULLNAME" => $usrFullName); } break; default: return $users; break; } //return $users; return print G::json_encode($users); } if ($actionAjax == "processListExtJs") {
/** * reassign Case * * @param string sessionId : The session ID (which was obtained during login) * @param string caseId : The case ID (which can be obtained with the caseList() function) * @param string delIndex : The delegation index number of the case (which can be obtained with the caseList() * function). * @param string userIdSource : The user who is currently assigned the case. * @param string userIdTarget : The target user who will be newly assigned to the case. * @return $result will return an object */ public function reassignCase ($sessionId, $caseId, $delIndex, $userIdSource, $userIdTarget) { $g = new G(); try { $g->sessionVarSave(); $_SESSION["APPLICATION"] = $caseId; $_SESSION["INDEX"] = $delIndex; $_SESSION["USER_LOGGED"] = $userIdSource; if ($userIdTarget == $userIdSource) { $result = new wsResponse( 30, G::loadTranslation( 'ID_TARGET_ORIGIN_USER_SAME' ) ); $g->sessionVarRestore(); return $result; } /** * ****************( 1 )***************** */ $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add( UsersPeer::USR_UID, $userIdSource ); $oDataset = UsersPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); if (! is_array( $aRow )) { $result = new wsResponse( 31, G::loadTranslation( 'ID_INVALID_ORIGIN_USER' ) ); $g->sessionVarRestore(); return $result; } /** * ****************( 2 )***************** */ $oCase = new Cases(); $rows = $oCase->loadCase( $caseId ); if (! is_array( $aRow )) { $result = new wsResponse( 32, G::loadTranslation( 'ID_CASE_NOT_OPEN' ) ); $g->sessionVarRestore(); return $result; } /** * ****************( 3 )***************** */ $oCriteria = new Criteria( 'workflow' ); $aConditions = array (); // $aConditions[] = array(AppDelegationPeer::USR_UID, TaskUserPeer::USR_UID); // $aConditions[] = array(AppDelegationPeer::TAS_UID, TaskUserPeer::TAS_UID); // $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); //$oCriteria->addJoin(AppDelegationPeer::USR_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN); $oCriteria->add( AppDelegationPeer::APP_UID, $caseId ); $oCriteria->add( AppDelegationPeer::USR_UID, $userIdSource ); $oCriteria->add( AppDelegationPeer::DEL_INDEX, $delIndex ); $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL ); $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); if (! is_array( $aRow )) { $result = new wsResponse( 33, G::loadTranslation( 'ID_INVALID_CASE_DELEGATION_INDEX' ) ); $g->sessionVarRestore(); return $result; } $tasUid = $aRow['TAS_UID']; $derivation = new Derivation(); $userList = $derivation->getAllUsersFromAnyTask($tasUid, true); if (! in_array( $userIdTarget, $userList )) { $result = new wsResponse( 34, G::loadTranslation( 'ID_TARGET_USER_DOES_NOT_HAVE_RIGHTS' ) ); $g->sessionVarRestore(); return $result; } /** * ****************( 4 )***************** */ $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add( UsersPeer::USR_UID, $userIdTarget ); $oDataset = UsersPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); if (! is_array( $aRow )) { $result = new wsResponse( 35, G::loadTranslation( 'ID_TARGET_USER_DESTINATION_INVALID' ) ); $g->sessionVarRestore(); return $result; } /** * ****************( 5 )***************** */ $var = $oCase->reassignCase( $caseId, $delIndex, $userIdSource, $userIdTarget ); if (! $var) { $result = new wsResponse( 36, G::loadTranslation( 'ID_CASE_COULD_NOT_REASSIGNED' ) ); $g->sessionVarRestore(); return $result; } $result = new wsResponse( 0, G::loadTranslation( 'ID_COMMAND_EXECUTED_SUCCESSFULLY' ) ); $g->sessionVarRestore(); return $result; } catch (Exception $e) { $result[] = array ('guid' => $e->getMessage(),'name' => $e->getMessage() ); $g->sessionVarRestore(); return $result; } }
$rsSQL = AppDelegationPeer::doSelectRS($criteria); $rsSQL->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsSQL->next()) { $row = $rsSQL->getRow(); $current_user_uid = $row["USR_UID"]; } if ($current_user_uid != null) { $criteria = new Criteria("workflow"); $criteria->addSelectColumn(UsersPeer::USR_USERNAME); $criteria->add(UsersPeer::USR_UID, $current_user_uid); $rsSQL = UsersPeer::doSelectRS($criteria); $rsSQL->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsSQL->next(); $row = $rsSQL->getRow(); $currentUsrName = $row["USR_USERNAME"]; $casesFields["APP_DATA"]["USER_LOGGED"] = $current_user_uid; $casesFields["APP_DATA"]["USR_USERNAME"] = $currentUsrName; } foreach ($casesFields["APP_DATA"] as $index => $value) { $_SESSION[$index] = $value; }
function getDenpendentUser ($USR_UID) { //Here the uid to next user $oC = new Criteria(); $oC->addSelectColumn( UsersPeer::USR_REPORTS_TO ); $oC->add( UsersPeer::USR_UID, $USR_UID ); $oDataset = UsersPeer::doSelectRS( $oC ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); return $aRow['USR_REPORTS_TO'] != '' ? $aRow['USR_REPORTS_TO'] : $USR_UID; }
public function getExtAvailableUsersList($sTaskUID = '', $iType = 2) { try { $oTasks = new Tasks(); $aAux = $oTasks->getGroupsOfTask($sTaskUID, $iType); $aUIDS1 = array(); $aUIDS2 = array(); foreach ($aAux as $aGroup) { $aUIDS1[] = $aGroup['GRP_UID']; } $aAux = $oTasks->getUsersOfTask($sTaskUID, $iType); foreach ($aAux as $aUser) { $aUIDS2[] = $aUser['USR_UID']; } $aUsers = array(); $aUsers[] = array('LABEL' => 'char', 'TAS_UID' => 'char', 'USR_UID' => 'char', 'TU_TYPE' => 'integer', 'TU_RELATION' => 'integer'); $sDelimiter = DBAdapter::getStringDelimiter(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID); $oCriteria->addAsColumn('GRP_TITLE', 'C.CON_VALUE'); $oCriteria->addAlias('C', 'CONTENT'); $aConditions = array(); $aConditions[] = array(GroupwfPeer::GRP_UID, 'C.CON_ID'); $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'GRP_TITLE' . $sDelimiter); $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE'); $oCriteria->add(GroupwfPeer::GRP_UID, $aUIDS1, Criteria::NOT_IN); //$oCriteria->add(GroupwfPeer::GRP_UID, '', Criteria::NOT_EQUAL); $oDataset = GroupwfPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $c = 0; while ($aRow = $oDataset->getRow()) { $c++; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER'); $oCriteria->add(GroupUserPeer::GRP_UID, $aRow['GRP_UID']); $oDataset2 = GroupUserPeer::doSelectRS($oCriteria); $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset2->next(); $aRow2 = $oDataset2->getRow(); $aUsers[] = array('LABEL' => $aRow['GRP_TITLE'] . ' <a href="#" onclick="usersGroup(\'' . $aRow['GRP_UID'] . '\', \'' . $c . '\');return false;"><font color="green"><strong>(' . $aRow2['MEMBERS_NUMBER'] . ' ' . ((int) $aRow2['MEMBERS_NUMBER'] == 1 ? G::LoadTranslation('ID_USER') : G::LoadTranslation('ID_USERS')) . ')</strong></font></a> <br /><div id="users' . $c . '" style="display: none"></div>', 'TAS_UID' => $sTaskUID, 'USR_UID' => $aRow['GRP_UID'], 'TU_TYPE' => $iType, 'TU_RELATION' => 2); $oDataset->next(); } $sDelimiter = DBAdapter::getStringDelimiter(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(UsersPeer::USR_UID); $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); $oCriteria->add(UsersPeer::USR_UID, $aUIDS2, Criteria::NOT_IN); $oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aUsers[] = array('LABEL' => $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'], 'TAS_UID' => $sTaskUID, 'USR_UID' => $aRow['USR_UID'], 'TU_TYPE' => $iType, 'TU_RELATION' => 1); $oDataset->next(); } global $_DBArray; $_DBArray = isset($_SESSION['_DBArray']) ? $_SESSION['_DBArray'] : ''; $_DBArray['availableUsers'] = $aUsers; $_SESSION['_DBArray'] = $_DBArray; return $_SESSION['_DBArray']['availableUsers']; } catch (Exception $oError) { throw $oError; } }
$gif = '<img width="13" height="13" border="0" src="' . $img . '">'; $aFields['DESCRIPTION'] = $span . $gif . $aFields['DESCRIPTION']; print G::json_encode($aFields); break; case 'testUsername': require_once 'classes/model/Users.php'; $_POST['NEW_USERNAME'] = trim($_POST['NEW_USERNAME']); $USR_UID = isset($_POST['USR_UID']) ? $_POST['USR_UID'] : ''; $response = array("success" => true); $oCriteria = new Criteria(); $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); $oCriteria->add(UsersPeer::USR_USERNAME, utf8_encode($_POST['NEW_USERNAME'])); if ($USR_UID != '') { $oCriteria->add(UsersPeer::USR_UID, array($_POST['USR_UID']), Criteria::NOT_IN); } $oDataset = UsersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (is_array($aRow) || $_POST['NEW_USERNAME'] == '') { $color = 'red'; $img = '/images/delete.png'; $dataVar['USER_ID'] = $_POST['NEW_USERNAME']; $text = G::LoadTranslation('ID_USERNAME_ALREADY_EXISTS', $dataVar); $text = $_POST['NEW_USERNAME'] == '' ? G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME') : $text; $response['exists'] = true; } else { $color = 'green'; $img = '/images/dialog-ok-apply.png'; $text = G::LoadTranslation('ID_USERNAME_CORRECT'); $response['exists'] = false;
/** * Method to do selects. * * @param Criteria $criteria The Criteria object used to build the SELECT statement. * @param Connection $con * @return array Array of selected Objects * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelect(Criteria $criteria, $con = null) { return UsersPeer::populateObjects(UsersPeer::doSelectRS($criteria, $con)); }
function getUserArray($action, $userUid) { global $oAppCache; $status = array(); $users[] = array("CURRENT_USER", G::LoadTranslation("ID_CURRENT_USER")); $users[] = array("ALL", G::LoadTranslation("ID_ALL_USERS")); //now get users, just for the Search action switch ($action) { case 'search_simple': case 'search': $cUsers = new Criteria('workflow'); $cUsers->clearSelectColumns(); $cUsers->addSelectColumn(UsersPeer::USR_UID); $cUsers->addSelectColumn(UsersPeer::USR_FIRSTNAME); $cUsers->addSelectColumn(UsersPeer::USR_LASTNAME); $oDataset = UsersPeer::doSelectRS($cUsers); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $users[] = array($aRow['USR_UID'], htmlentities($aRow['USR_LASTNAME'] . ' ' . $aRow['USR_FIRSTNAME'], ENT_QUOTES, "UTF-8")); $oDataset->next(); } break; default: return $users; break; } return $users; }
/** * Migrate all cases to New list * * return all LIST TABLES with data */ public function migrateList ($workSpace) { if ($this->listFirstExecution('check')) { return 1; } $this->initPropel(true); $appCache = new AppCacheView(); $users = new Users(); G::LoadClass("case"); $case = new Cases(); //Select data CANCELLED $canCriteria = $appCache->getSelAllColumns(); $canCriteria->add(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL); $canCriteria->add(AppCacheViewPeer::DEL_LAST_INDEX, "1", CRITERIA::EQUAL); $rsCriteria = AppCacheViewPeer::doSelectRS($canCriteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); //Insert data LIST_CANCELED while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $listCanceled = new ListCanceled(); $listCanceled->remove($row["APP_UID"]); $listCanceled->setDeleted(false); $listCanceled->create($row); } CLI::logging("> Completed table LIST_CANCELED\n"); //Select data COMPLETED $comCriteria = $appCache->getSelAllColumns(); $comCriteria->add(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL); $comCriteria->add(AppCacheViewPeer::DEL_LAST_INDEX, "1", CRITERIA::EQUAL); $rsCriteria = AppCacheViewPeer::doSelectRS($comCriteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); //Insert new data LIST_COMPLETED while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $listCompleted = new ListCompleted(); $listCompleted->remove($row["APP_UID"]); $listCompleted->setDeleted(false); $listCompleted->create($row); } CLI::logging("> Completed table LIST_COMPLETED\n"); //Select data TO_DO OR DRAFT $inbCriteria = $appCache->getSelAllColumns(); $rsCriteria = AppCacheViewPeer::doSelectRS($inbCriteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $criteriaUser = new Criteria(); $criteriaUser->addSelectColumn( UsersPeer::USR_UID ); $criteriaUser->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $criteriaUser->addSelectColumn( UsersPeer::USR_LASTNAME ); $criteriaUser->addSelectColumn( UsersPeer::USR_USERNAME ); //Insert new data LIST_INBOX while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $isSelfService = ($row['USR_UID'] == '') ? true : false; if($row["DEL_THREAD_STATUS"] == 'OPEN'){ //Update information about the previous_user $row["DEL_PREVIOUS_USR_UID"] = $row["PREVIOUS_USR_UID"]; $criteriaUser->add( UsersPeer::USR_UID, $row["PREVIOUS_USR_UID"] ); $datasetU = UsersPeer::doSelectRS($criteriaUser); $datasetU->setFetchmode(ResultSet::FETCHMODE_ASSOC); $datasetU->next(); $arrayUsers = $datasetU->getRow(); $row["DEL_PREVIOUS_USR_USERNAME"] = $arrayUsers["USR_USERNAME"]; $row["DEL_PREVIOUS_USR_FIRSTNAME"]= $arrayUsers["USR_FIRSTNAME"]; $row["DEL_PREVIOUS_USR_LASTNAME"] = $arrayUsers["USR_LASTNAME"]; //Update the due date $row["DEL_DUE_DATE"] = $row["DEL_TASK_DUE_DATE"]; $listInbox = new ListInbox(); $listInbox->remove($row["APP_UID"],$row["DEL_INDEX"]); $listInbox->setDeleted(false); $listInbox->create($row, $isSelfService); } else { // create participated List when the thread is CLOSED $listParticipatedHistory = new ListParticipatedHistory(); $listParticipatedHistory->remove($row['APP_UID'], $row['DEL_INDEX']); $listParticipatedHistory = new ListParticipatedHistory(); $listParticipatedHistory->create($row); $oCriteria = new Criteria('workflow'); $oCriteria->add(ListParticipatedLastPeer::APP_UID, $row['APP_UID']); $oCriteria->add(ListParticipatedLastPeer::USR_UID, $row['USR_UID']); ListParticipatedLastPeer::doDelete($oCriteria); $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->create($row); $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->refresh($row); } } CLI::logging("> Completed table LIST_INBOX\n"); //With this List is populated the LIST_PARTICIPATED_HISTORY and LIST_PARTICIPATED_LAST CLI::logging("> Completed table LIST_PARTICIPATED_HISTORY\n"); CLI::logging("> Completed table LIST_PARTICIPATED_LAST\n"); //Select data TO_DO OR DRAFT CASES CREATED BY AN USER $myiCriteria = $appCache->getSelAllColumns(); $myiCriteria->add(AppCacheViewPeer::DEL_INDEX, "1", CRITERIA::EQUAL); $rsCriteria = AppCacheViewPeer::doSelectRS($myiCriteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); //Insert new data LIST_MY_INBOX while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $listMyInbox = new ListMyInbox(); $listMyInbox ->remove($row["APP_UID"],$row["USR_UID"]); $listMyInbox->setDeleted(false); $listMyInbox->create($row); } CLI::logging("> Completed table LIST_MY_INBOX\n"); //Select data PAUSED $delaycriteria = new Criteria("workflow"); $delaycriteria->addSelectColumn(AppDelayPeer::APP_UID); $delaycriteria->addSelectColumn(AppDelayPeer::PRO_UID); $delaycriteria->addSelectColumn(AppDelayPeer::APP_DEL_INDEX); $delaycriteria->addSelectColumn(AppCacheViewPeer::APP_NUMBER); $delaycriteria->addSelectColumn(AppCacheViewPeer::USR_UID); $delaycriteria->addSelectColumn(AppCacheViewPeer::APP_STATUS); $delaycriteria->addSelectColumn(AppCacheViewPeer::TAS_UID); $delaycriteria->addJoin( AppCacheViewPeer::APP_UID, AppDelayPeer::APP_UID . ' AND ' . AppCacheViewPeer::DEL_INDEX . ' = ' . AppDelayPeer::APP_DEL_INDEX, Criteria::INNER_JOIN ); $delaycriteria->add(AppDelayPeer::APP_DISABLE_ACTION_USER, "0", CRITERIA::EQUAL); $delaycriteria->add(AppDelayPeer::APP_TYPE, "PAUSE", CRITERIA::EQUAL); $rsCriteria = AppDelayPeer::doSelectRS($delaycriteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); //Insert new data LIST_PAUSED while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $data = $row; $data["DEL_INDEX"] = $row["APP_DEL_INDEX"]; $listPaused = new ListPaused(); $listPaused ->remove($row["APP_UID"],$row["APP_DEL_INDEX"],$data); $listPaused->setDeleted(false); $listPaused->create($data); } CLI::logging("> Completed table LIST_PAUSED\n"); //Select and Insert LIST_UNASSIGNED $unaCriteria = $appCache->getSelAllColumns(); $unaCriteria->add(AppCacheViewPeer::USR_UID, "", CRITERIA::EQUAL); $rsCriteria = AppCacheViewPeer::doSelectRS($unaCriteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $del = new ListUnassignedPeer(); $del->doDeleteAll(); $del = new ListUnassignedGroupPeer(); $del->doDeleteAll(); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $listUnassigned = new ListUnassigned(); $unaUid = $listUnassigned->generateData($row["APP_UID"],$row["PREVIOUS_USR_UID"]); } CLI::logging("> Completed table LIST_UNASSIGNED\n"); CLI::logging("> Completed table LIST_UNASSIGNED_GROUP\n"); // ADD LISTS COUNTS $aTypes = array( 'to_do', 'draft', 'cancelled', 'sent', 'paused', 'completed', 'selfservice' ); $users = new Users(); $criteria = new Criteria(); $criteria->addSelectColumn(UsersPeer::USR_UID); $dataset = UsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); while($dataset->next()) { $aRow = $dataset->getRow(); $oAppCache = new AppCacheView(); $aCount = $oAppCache->getAllCounters( $aTypes, $aRow['USR_UID'] ); $newData = array( 'USR_UID' => $aRow['USR_UID'], 'USR_TOTAL_INBOX' => $aCount['to_do'], 'USR_TOTAL_DRAFT' => $aCount['draft'], 'USR_TOTAL_CANCELLED' => $aCount['cancelled'], 'USR_TOTAL_PARTICIPATED' => $aCount['sent'], 'USR_TOTAL_PAUSED' => $aCount['paused'], 'USR_TOTAL_COMPLETED' => $aCount['completed'], 'USR_TOTAL_UNASSIGNED' => $aCount['selfservice'] ); $users->update($newData); } $this->listFirstExecution('insert'); return true; }