. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ /** * @access public */ require_once 'classes/model/Permissions.php'; require_once 'classes/model/Systems.php'; require_once 'classes/model/RolesPermissions.php'; require_once 'classes/model/RbacUsers.php'; require_once 'classes/model/om/BaseRoles.php'; require_once 'classes/model/om/BaseRbacUsers.php'; require_once 'classes/model/om/BaseUsersRoles.php'; require_once 'classes/model/Content.php'; /** * Skeleton subclass for representing a row from the 'ROLES' table. * * * * You should add additional methods to this class to meet the * application requirements. This class will only be generated as * long as it does not already exist in the output directory. * * @package rbac-classes-model */ class Roles extends BaseRoles { public $rol_name; /** * Function load * access public */ public function load($Uid) { try { $oRow = RolesPeer::retrieveByPK($Uid); if (! is_null($oRow)) { $aFields = $oRow->toArray(BasePeer::TYPE_FIELDNAME); $this->fromArray($aFields, BasePeer::TYPE_FIELDNAME); $this->setNew(false); $this->getRolName(); $aFields['ROL_NAME'] = ($this->rol_name != '' ? $this->rol_name: $this->getRolCode()); return $aFields; } else { throw (new Exception("The '$Uid' row doesn't exist!")); } } catch( exception $oError ) { throw ($oError); } } function loadByCode($sRolCode = '') { try { $oCriteria = new Criteria('rbac'); $oCriteria->add(RolesPeer::ROL_CODE, $sRolCode); $oDataset = RolesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); $roles = new Roles(); $roles->load($aRow['ROL_UID']); $aRow['ROL_NAME'] = $roles->getRolName(); if ($aRow['ROL_NAME'] == '') { $aRow['ROL_NAME'] = $roles->getRolCode(); } if (is_array($aRow)) { return $aRow; } else { throw (new Exception("The role '$sRolCode' doesn\'t exist!")); } } catch( exception $oError ) { throw ($oError); } } function listAllRoles($systemCode = 'PROCESSMAKER', $filter = '') { try { $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(RolesPeer::ROL_UID); $oCriteria->addSelectColumn(RolesPeer::ROL_PARENT); $oCriteria->addSelectColumn(RolesPeer::ROL_SYSTEM); $oCriteria->addSelectColumn(SystemsPeer::SYS_CODE); $oCriteria->addSelectColumn(RolesPeer::ROL_CODE); $oCriteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_STATUS); $oCriteria->add(RolesPeer::ROL_UID, '', Criteria::NOT_EQUAL); $oCriteria->add(RolesPeer::ROL_CODE, RBAC::PROCESSMAKER_GUEST, Criteria::NOT_EQUAL); $oCriteria->add(SystemsPeer::SYS_CODE, $systemCode); $oCriteria->add(RolesPeer::ROL_CREATE_DATE, '', Criteria::NOT_EQUAL); $oCriteria->add(RolesPeer::ROL_UPDATE_DATE, '', Criteria::NOT_EQUAL); //Added by QENNIX Jan 21th, 2011 if ($filter != ''){ $oCriteria->add(RolesPeer::ROL_CODE, '%'.$filter.'%', Criteria::LIKE); } $oCriteria->addJoin(RolesPeer::ROL_SYSTEM, SystemsPeer::SYS_UID); return $oCriteria; } catch( exception $oError ) { throw (new Exception("Class ROLES::FATAL ERROR. Criteria with rbac Can't initialized ")); } } /** * This function get all Roles filters * We can apply page and filters * * @param integer $start * @param integer $limit * @param string $filter * * @return array */ function getAllRolesFilter($start, $limit, $filter = '') { $systemCode = 'PROCESSMAKER'; $criteriaCount = new Criteria('rbac'); $result = []; $criteriaCount->addSelectColumn('COUNT(*) AS CNT'); $criteriaCount->add(RolesPeer::ROL_UID, '', Criteria::NOT_EQUAL); $criteriaCount->add(SystemsPeer::SYS_CODE, $systemCode); $criteriaCount->add(RolesPeer::ROL_CREATE_DATE, '', Criteria::NOT_EQUAL); $criteriaCount->add(RolesPeer::ROL_UPDATE_DATE, '', Criteria::NOT_EQUAL); $criteriaCount->add(RolesPeer::ROL_UID, ['', RBAC::PROCESSMAKER_GUEST_UID], Criteria::NOT_IN); $criteriaCount->addJoin(RolesPeer::ROL_SYSTEM, SystemsPeer::SYS_UID); if ($filter != '') { $criteriaCount->add(RolesPeer::ROL_CODE, '%' . $filter . '%', Criteria::LIKE); } $result['COUNTER'] = $criteriaCount; $criteria = new Criteria('rbac'); $criteria->clear(); $criteria->addSelectColumn(RolesPeer::ROL_UID); $criteria->addSelectColumn(RolesPeer::ROL_PARENT); $criteria->addSelectColumn(RolesPeer::ROL_SYSTEM); $criteria->addSelectColumn(SystemsPeer::SYS_CODE); $criteria->addSelectColumn(RolesPeer::ROL_CODE); $criteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); $criteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); $criteria->addSelectColumn(RolesPeer::ROL_STATUS); $criteria->add(RolesPeer::ROL_UID, ['', RBAC::PROCESSMAKER_GUEST_UID], Criteria::NOT_IN); $criteria->add(SystemsPeer::SYS_CODE, $systemCode); $criteria->add(RolesPeer::ROL_CREATE_DATE, '', Criteria::NOT_EQUAL); $criteria->add(RolesPeer::ROL_UPDATE_DATE, '', Criteria::NOT_EQUAL); $criteria->addJoin(RolesPeer::ROL_SYSTEM, SystemsPeer::SYS_UID); if ($filter != '') { $criteria->add(RolesPeer::ROL_CODE, '%' . $filter . '%', Criteria::LIKE); } $criteria->setOffset($start); $criteria->setLimit($limit); $result['LIST'] = $criteria; return $result; } 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; } function listAllPermissions($systemCode = 'PROCESSMAKER') { try { $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(PermissionsPeer::PER_UID); $oCriteria->addSelectColumn(PermissionsPeer::PER_CODE); $oCriteria->addSelectColumn(PermissionsPeer::PER_CREATE_DATE); $oCriteria->addSelectColumn(PermissionsPeer::PER_UPDATE_DATE); $oCriteria->addSelectColumn(PermissionsPeer::PER_STATUS); $oCriteria->add(PermissionsPeer::PER_CODE, substr($systemCode, 0, 3) . '_%', Criteria::LIKE); return $oCriteria; } catch( exception $oError ) { throw (new Exception("Class ROLES::FATAL ERROR. Criteria with rbac Can't initialized ")); } } function createRole($aData) { $con = Propel::getConnection(RolesPeer::DATABASE_NAME); try { $sRolCode = $aData['ROL_CODE']; $sRolSystem = $aData['ROL_SYSTEM']; $status = $fields['ROL_STATUS'] = 1 ? 'ACTIVE' : 'INACTIVE'; $oCriteria = new Criteria('rbac'); $oCriteria->add(RolesPeer::ROL_CODE, $sRolCode); $oCriteria->add(RolesPeer::ROL_SYSTEM, $sRolSystem); $oDataset = RolesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (is_array($aRow)) { return $aRow; } if (!isset($aData['ROL_NAME'])) { $aData['ROL_NAME'] = ''; } $rol_name = $aData['ROL_NAME']; unset($aData['ROL_NAME']); $obj = new Roles(); $obj->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($obj->validate()) { $con->begin(); $result = $obj->save(); $con->commit(); $obj->setRolName($rol_name); G::auditLog("CreateRole", "Role Name: ". $rol_name ." - Role Code: ".$aData['ROL_CODE']." - Role Status: ".$status); } else { $e = new Exception("Failed Validation in class " . get_class($this) . "."); $e->aValidationFailures = $this->getValidationFailures(); throw ($e); } return $result; } catch( exception $e ) { $con->rollback(); throw ($e); } } public function updateRole($fields) { $con = Propel::getConnection(RolesPeer::DATABASE_NAME); try { $con->begin(); $this->load($fields['ROL_UID']); $rol_name = $fields['ROL_NAME']; unset($fields['ROL_NAME']); $this->fromArray($fields, BasePeer::TYPE_FIELDNAME); if ($this->validate()) { $result = $this->save(); $con->commit(); $this->setRolName($rol_name); $status = $fields['ROL_STATUS'] = 1 ? 'ACTIVE' : 'INACTIVE'; $rolCode = (isset($fields["ROL_CODE"]))? "- Role Code: " . $fields["ROL_CODE"] : ""; G::auditLog("UpdateRole", "Role Name: " . $rol_name . " - Role ID: (".$fields['ROL_UID'].") " . $rolCode . " - Role Status: ".$status); return $result; } else { $con->rollback(); throw (new Exception("Failed Validation in class " . get_class($this) . ".")); } } catch( exception $e ) { $con->rollback(); throw ($e); } } function removeRole($ROL_UID) { $con = Propel::getConnection(RolesPeer::DATABASE_NAME); try { $con->begin(); $this->setRolUid($ROL_UID); $rol_name = $this->load($ROL_UID); Content::removeContent('ROL_NAME', '', $this->getRolUid()); $result = $this->delete(); $con->commit(); G::auditLog("DeleteRole", "Role Name: ".$rol_name['ROL_NAME']." Role UID: (".$ROL_UID.") "); return $result; } catch( exception $e ) { $con->rollback(); throw ($e); } } function verifyNewRole($code) { $code = trim($code); $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(RolesPeer::ROL_UID); $oCriteria->add(RolesPeer::ROL_CODE, $code); $count = RolesPeer::doCount($oCriteria); if ($count == 0) { return true; } else { return false; } } function loadById($ROL_UID) { $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(RolesPeer::ROL_UID); $oCriteria->addSelectColumn(RolesPeer::ROL_PARENT); $oCriteria->addSelectColumn(RolesPeer::ROL_SYSTEM); $oCriteria->addSelectColumn(RolesPeer::ROL_CODE); $oCriteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_STATUS); $oCriteria->add(RolesPeer::ROL_UID, $ROL_UID); $result = RolesPeer::doSelectRS($oCriteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); $row = $result->getRow(); if (is_array($row)) { $o = RolesPeer::retrieveByPK($row['ROL_UID']); $row['ROL_NAME'] = $o->getRolName(); if ($row['ROL_NAME'] == '') { $row['ROL_NAME'] = $o->getRolCode(); } return $row; } else { return null; } } function getRoleCode($ROL_UID) { $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(RolesPeer::ROL_UID); $oCriteria->addSelectColumn(RolesPeer::ROL_CODE); $oCriteria->add(RolesPeer::ROL_UID, $ROL_UID); $result = RolesPeer::doSelectRS($oCriteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); $row = $result->getRow(); $ret = $row['ROL_CODE']; return $ret; } //Added by Enrique at Feb 9th, 2011 //Gets number of users by role function getAllUsersByRole(){ $oCriteria = new Criteria('rbac'); $oCriteria->addSelectColumn(UsersRolesPeer::ROL_UID); $oCriteria->addSelectColumn('COUNT(*) AS CNT'); $oCriteria->addJoin(RbacUsersPeer::USR_UID,UsersRolesPeer::USR_UID,Criteria::INNER_JOIN); $oCriteria->add(RbacUsersPeer::USR_STATUS,0,Criteria::NOT_EQUAL); $oCriteria->addGroupByColumn(UsersRolesPeer::ROL_UID); $oDataset = UsersRolesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aRoles = array(); while ($oDataset->next()){ $row = $oDataset->getRow(); $aRoles[$row['ROL_UID']] = $row['CNT']; } return $aRoles; } //Added by Enrique at Feb 10th, 2011 //Gets number of users by department 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; } function getRoleUsers($ROL_UID, $filter='') { throw new Exception(__METHOD__ . ': The method is deprecated'); } function getAllUsers($ROL_UID, $filter='') { throw new Exception(__METHOD__ . ': The method is deprecated'); } function assignUserToRole($aData) { /*find the system uid for this role */ require_once 'classes/model/Users.php'; $c = new Criteria(); $c->add(RolesPeer::ROL_UID, $aData['ROL_UID']); $result = RolesPeer::doSelectRS($c); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); $row = $result->getRow(); $sSystemId = $row['ROL_SYSTEM']; //updating the role into users table $oCriteria1 = new Criteria('workflow'); $oCriteria1->add(UsersPeer::USR_UID , $aData['USR_UID'], Criteria::EQUAL); $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(UsersPeer::USR_ROLE , $row['ROL_CODE']); BasePeer::doUpdate($oCriteria1, $oCriteria2, Propel::getConnection('workflow')); //delete roles for the same System $c = new Criteria(); $c->addSelectColumn(UsersRolesPeer::USR_UID); $c->addSelectColumn(RolesPeer::ROL_UID); $c->addSelectColumn(RolesPeer::ROL_CODE); $c->addSelectColumn(RolesPeer::ROL_SYSTEM); $c->add(UsersRolesPeer::USR_UID, $aData['USR_UID']); $c->add(RolesPeer::ROL_SYSTEM, $sSystemId); $c->addJoin(RolesPeer::ROL_UID, UsersRolesPeer::ROL_UID); $result = RolesPeer::doSelectRS($c); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); while( $row = $result->getRow() ) { $crit = new Criteria(); $crit->add(UsersRolesPeer::USR_UID, $row['USR_UID']); $crit->add(UsersRolesPeer::ROL_UID, $row['ROL_UID']); UsersRolesPeer::doDelete($crit); $result->next(); } //save the unique role for this system $oUsersRoles = new UsersRoles(); $oUsersRoles->setUsrUid($aData['USR_UID']); $oUsersRoles->setRolUid($aData['ROL_UID']); $oUsersRoles->save(); $rol = $this->load($aData['ROL_UID']); $oUsersRbac = new RbacUsers(); $user = $oUsersRbac->load($aData['USR_UID']); G::auditLog("AssignUserToRole", "Assign user ".$user['USR_USERNAME']." (".$aData['USR_UID'].") to Role ".$rol['ROL_NAME']." (".$aData['ROL_UID'].") "); } function deleteUserRole($ROL_UID, $USR_UID) { $crit = new Criteria(); $crit->add(UsersRolesPeer::USR_UID, $USR_UID); if ($ROL_UID != '%') { $crit->add(UsersRolesPeer::ROL_UID, $ROL_UID); } UsersRolesPeer::doDelete($crit); $rol = $this->load($ROL_UID); $oUsersRbac = new RbacUsers(); $user = $oUsersRbac->load($USR_UID); G::auditLog("DeleteUserToRole", "Delete user ".$user['USR_USERNAME']." (".$USR_UID.") to Role ".$rol['ROL_NAME']." (".$ROL_UID.") "); } /** * @param $roleUid * @return ResultSet * @throws Exception */ function getRolePermissionsByPerUid($roleUid){ try { $criteria = new Criteria(); $criteria->addSelectColumn(RolesPermissionsPeer::ROL_UID); $criteria->addSelectColumn(RolesPermissionsPeer::PER_UID); $criteria->add(RolesPermissionsPeer::PER_UID, $roleUid); $oDataset = RolesPeer::doSelectRS($criteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); return $oDataset; } catch( exception $e ) { throw $e; } } /** * Checks a permission is assigned to a Role * @param $ROL_UID * @param $PER_UID * @return bool * @throws Exception */ function getPermissionAssignedRole($ROL_UID, $PER_UID) { try { $criteria = new Criteria(); $criteria->addSelectColumn(RolesPermissionsPeer::ROL_UID); $criteria->addSelectColumn(RolesPermissionsPeer::PER_UID); $criteria->add(RolesPermissionsPeer::ROL_UID, $ROL_UID, Criteria::EQUAL); $criteria->add(RolesPermissionsPeer::PER_UID, $PER_UID, Criteria::EQUAL); $oDataset = RolesPermissionsPeer::doSelectRS($criteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); if($aRowRP = $oDataset->getRow()){ return true; } return false; } catch (exception $e) { throw $e; } } function getRolePermissions($ROL_UID, $filter='', $status=null) { try { $criteria = new Criteria(); $criteria->addSelectColumn(RolesPeer::ROL_UID); $criteria->addSelectColumn(RolesPeer::ROL_PARENT); $criteria->addSelectColumn(RolesPeer::ROL_SYSTEM); $criteria->addSelectColumn(RolesPeer::ROL_CODE); $criteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); $criteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); $criteria->addSelectColumn(RolesPeer::ROL_STATUS); $criteria->addSelectColumn(PermissionsPeer::PER_UID); $criteria->addSelectColumn(PermissionsPeer::PER_CODE); $criteria->addSelectColumn(PermissionsPeer::PER_CREATE_DATE); $criteria->addSelectColumn(PermissionsPeer::PER_UPDATE_DATE); $criteria->addSelectColumn(PermissionsPeer::PER_STATUS); $criteria->add(RolesPeer::ROL_UID, "", Criteria::NOT_EQUAL); $criteria->add(RolesPeer::ROL_UID, $ROL_UID); $criteria->addJoin(RolesPeer::ROL_UID, RolesPermissionsPeer::ROL_UID); $criteria->addJoin(RolesPermissionsPeer::PER_UID, PermissionsPeer::PER_UID); if ($filter != '') { $criteria->add(PermissionsPeer::PER_CODE, '%'.$filter.'%',Criteria::LIKE); } if (!is_null($status) && ($status == 1 || $status == 0)) { $criteria->add(PermissionsPeer::PER_STATUS, $status); } $oDataset = RolesPeer::doSelectRS($criteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); return $oDataset; } catch( exception $e ) { throw $e; } } function getAllPermissions($ROL_UID, $PER_SYSTEM = "", $filter='', $status=null) { try { $c = new Criteria(); $c->addSelectColumn(PermissionsPeer::PER_UID); $c->add(RolesPeer::ROL_UID, $ROL_UID); $c->addJoin(RolesPeer::ROL_UID, RolesPermissionsPeer::ROL_UID); $c->addJoin(RolesPermissionsPeer::PER_UID, PermissionsPeer::PER_UID); $result = PermissionsPeer::doSelectRS($c); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); $a = [RBAC::PM_GUEST_CASE_UID]; while( $row = $result->getRow() ) { $a[] = $row['PER_UID']; $result->next(); } $criteria = new Criteria(); $criteria->addSelectColumn(PermissionsPeer::PER_UID); $criteria->addSelectColumn(PermissionsPeer::PER_CODE); $criteria->addSelectColumn(PermissionsPeer::PER_CREATE_DATE); $criteria->addSelectColumn(PermissionsPeer::PER_UPDATE_DATE); $criteria->addSelectColumn(PermissionsPeer::PER_STATUS); $criteria->addSelectColumn(PermissionsPeer::PER_SYSTEM); $criteria->addSelectColumn(SystemsPeer::SYS_CODE); $criteria->add(PermissionsPeer::PER_UID, $a, Criteria::NOT_IN); if ($PER_SYSTEM != "") { $criteria->add(SystemsPeer::SYS_CODE, $PER_SYSTEM); } $criteria->addJoin(PermissionsPeer::PER_SYSTEM, SystemsPeer::SYS_UID); if ($filter != ''){ $criteria->add(PermissionsPeer::PER_CODE, '%'.$filter.'%',Criteria::LIKE); } if (!is_null($status) && ($status == 1 || $status == 0)) { $criteria->add(PermissionsPeer::PER_STATUS, $status); } $oDataset = PermissionsPeer::doSelectRS($criteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); return $oDataset; } catch( exception $e ) { throw $e; } } function assignPermissionRole($sData) { $o = new RolesPermissions(); $o->setPerUid($sData['PER_UID']); $o->setRolUid($sData['ROL_UID']); if (isset($sData['PER_NAME'])) { $o->setPermissionName($sData['PER_NAME']); } $permission = $o->getPermissionName($sData['PER_UID']); $role = $this->load($sData['ROL_UID']); $o->save(); G::auditLog("AddPermissionToRole", "Add Permission ".$permission." (".$sData['PER_UID'].") to Role ".$role['ROL_NAME']." (".$sData['ROL_UID'].") "); } function deletePermissionRole($ROL_UID, $PER_UID) { $crit = new Criteria(); $crit->add(RolesPermissionsPeer::ROL_UID, $ROL_UID); $crit->add(RolesPermissionsPeer::PER_UID, $PER_UID); RolesPermissionsPeer::doDelete($crit); $o = new RolesPermissions(); $o->setPerUid($PER_UID); $permission = $o->getPermissionName($PER_UID); $role = $this->load($ROL_UID); G::auditLog("DeletePermissionToRole", "Delete Permission ".$permission." (".$PER_UID.") from Role ".$role['ROL_NAME']." (".$ROL_UID.") "); } function numUsersWithRole($ROL_UID) { $criteria = new Criteria(); $criteria->addSelectColumn(RbacUsersPeer::USR_UID); $criteria->add(RolesPeer::ROL_UID, "", Criteria::NOT_EQUAL); $criteria->add(RolesPeer::ROL_UID, $ROL_UID); $criteria->addJoin(RolesPeer::ROL_UID, UsersRolesPeer::ROL_UID); $criteria->addJoin(UsersRolesPeer::USR_UID, RbacUsersPeer::USR_UID); return RolesPeer::doCount($criteria); } function verifyByCode($sRolCode = '') { try { $oCriteria = new Criteria('rbac'); $oCriteria->add(RolesPeer::ROL_CODE, $sRolCode); $oDataset = RolesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (is_array($aRow)) { return 1; } else { return 0; } } catch( exception $oError ) { throw ($oError); } } public function getRolName() { if ($this->getRolUid() == '') { throw (new Exception("Error in getRolName, the ROL_UID can't be blank")); } $lang = defined('SYS_LANG') ? SYS_LANG : 'en'; $this->rol_name = Content::load('ROL_NAME', '', $this->getRolUid(), $lang); return $this->rol_name; } public function setRolName($v) { if ($this->getRolUid() == '') { throw (new Exception("Error in setProTitle, the PRO_UID can't be blank")); } // Since the native PHP type for this column is string, // we will cast the input to a string (if it is not). if ($v !== null && ! is_string($v)) { $v = (string)$v; } if ($this->rol_name !== $v || $v === '') { $this->rol_name = $v; $lang = defined('SYS_LANG') ? SYS_LANG : 'en'; $res = Content::addContent('ROL_NAME', '', $this->getRolUid(), $lang, $this->rol_name); } } } // Roles