$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : ''; global $RBAC; $Criterias = $RBAC->getAllRolesFilter($start, $limit, $filter); $rs = RolesPeer::DoSelectRs($Criterias['LIST']); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $content = new Content(); $rNames = $content->getAllContentsByRole(); $aUsers = $RBAC->getAllUsersByRole(); $aRows = array(); while ($rs->next()) { $aRows[] = $rs->getRow(); $index = sizeof($aRows) - 1; $roleUid = $aRows[$index]['ROL_UID']; if (!isset($rNames[$roleUid])) { $rol = new Roles(); $row = $rol->load($roleUid); $rolname = $row['ROL_NAME']; } else { $rolname = $rNames[$roleUid]; } $aRows[$index]['ROL_NAME'] = $rolname; $aRows[$index]['TOTAL_USERS'] = isset($aUsers[$roleUid]) ? $aUsers[$roleUid] : 0; } $oData = RolesPeer::doSelectRS($Criterias['COUNTER']); $oData->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oData->next(); $row = $oData->getRow(); $total_roles = $row['CNT']; echo '{roles: ' . G::json_encode($aRows) . ', total_roles: ' . $total_roles . '}'; break; case 'updatePageSize':
function getAllRoles($systemCode = 'PROCESSMAKER') { $c = $this->listAllRoles($systemCode); $rs = RolesPeer::DoSelectRs($c); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aRows = array(); while ($rs->next()) { $row = $rs->getRow(); $o = new Roles(); $o->load($row['ROL_UID']); $row['ROL_NAME'] = $o->getRolName(); if ($row['ROL_NAME'] == '') { $row['ROL_NAME'] = $o->getRolCode(); } $aRows[] = $row; } return $aRows; }
/** * Get data of a Role * * @param string $roleUid Unique id of Role * @param bool $flagGetRecord Value that set the getting * * return array Return an array with data of a Role */ public function getRole($roleUid, $flagGetRecord = false) { try { //Verify data $this->throwExceptionIfNotExistsRole($roleUid, $this->arrayFieldNameForException["roleUid"]); //Set variables if (!$flagGetRecord) { $content = new \Content(); $role = new \Roles(); $arrayContentByRole = $content->getAllContentsByRole(); } //Get data //SQL $criteria = $this->getRoleCriteria(); if (!$flagGetRecord) { $criteria->addAsColumn("ROL_TOTAL_USERS", "(SELECT COUNT(" . \UsersRolesPeer::ROL_UID . ") FROM " . \UsersRolesPeer::TABLE_NAME . " WHERE " . \UsersRolesPeer::ROL_UID . " = " . \RolesPeer::ROL_UID . ")"); } $criteria->add(\RolesPeer::ROL_UID, $roleUid, \Criteria::EQUAL); $rsCriteria = \RolesPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); if (!$flagGetRecord) { if (isset($arrayContentByRole[$roleUid])) { $roleName = $arrayContentByRole[$roleUid]; } else { $rowAux = $role->load($roleUid); $roleName = $rowAux["ROL_NAME"]; } $row["ROL_NAME"] = $roleName; } //Return return !$flagGetRecord ? $this->getRoleDataFromRecord($row) : $row; } catch (\Exception $e) { throw $e; } }