function create($aData) { try { $sCode = $aData['PER_CODE']; $oCriteria = new Criteria('rbac'); $oCriteria->add(PermissionsPeer::PER_CODE, $sCode); $oDataset = PermissionsPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (is_array($aRow)) { return 1; } $aData['PER_UID'] = G::generateUniqueID(); $aData['PER_CODE'] = $aData['PER_CODE']; $aData['PER_CREATE_DATE'] = date('Y-m-d H:i:s'); $aData['PER_UPDATE_DATE'] = $aData['PER_CREATE_DATE']; $aData['PER_STATUS'] = 1; $oPermission = new Permissions(); $oPermission->fromArray($aData, BasePeer::TYPE_FIELDNAME); $iResult = $oPermission->save(); return $aData['PER_UID']; } catch (Exception $oError) { throw $oError; } }
/** * 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 PermissionsPeer::populateObjects(PermissionsPeer::doSelectRS($criteria, $con)); }
/** * this function permissions * * * @access public * */ public function verifyPermissions() { $message = array(); $listPermissions = $this->loadPermissionAdmin(); $criteria = new Criteria('rbac'); $dataset = PermissionsPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $dataset->next(); $aRow = $dataset->getRow(); while (is_array($aRow)) { foreach ($listPermissions as $key => $item) { if ($aRow['PER_UID'] == $item['PER_UID']) { unset($listPermissions[$key]); break; } } $dataset->next(); $aRow = $dataset->getRow(); } foreach ($listPermissions as $key => $item) { $data['PER_UID'] = $item['PER_UID']; $data['PER_CODE'] = $item['PER_CODE']; $data['PER_CREATE_DATE'] = date('Y-m-d H:i:s'); $data['PER_UPDATE_DATE'] = $data['PER_CREATE_DATE']; $data['PER_STATUS'] = 1; $permission = new Permissions(); $permission->fromArray($data, BasePeer::TYPE_FIELDNAME); $permission->save(); $message[] = 'Add permission missing ' . $item['PER_CODE']; } return $message; }
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 = array(); 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; } }
/** * Get all Permissions of a Role * * @param string $roleUid Unique id of Role * @param string $option Option (PERMISSIONS, AVAILABLE-PERMISSIONS) * @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 Permissions of a Role */ public function getPermissions($roleUid, $option, array $arrayFilterData = null, $sortField = null, $sortDir = null, $start = null, $limit = null) { try { $arrayPermission = array(); //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $role = new \ProcessMaker\BusinessModel\Role(); $role->throwExceptionIfNotExistsRole($roleUid, $this->arrayFieldNameForException["roleUid"]); $process->throwExceptionIfDataNotMetFieldDefinition(array("OPTION" => $option), array("OPTION" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("PERMISSIONS", "AVAILABLE-PERMISSIONS"), "fieldNameAux" => "option")), array("option" => "\$option"), true); $process->throwExceptionIfDataNotMetPagerVarDefinition(array("start" => $start, "limit" => $limit), $this->arrayFieldNameForException); //Get data if (!is_null($limit) && $limit . "" == "0") { return $arrayPermission; } //Set variables $rolePermission = new \RolesPermissions(); //SQL switch ($option) { case "PERMISSIONS": //Criteria $criteria = $this->getPermissionCriteria($roleUid); break; case "AVAILABLE-PERMISSIONS": //Get Uids $arrayUid = array(); $criteria = $this->getPermissionCriteria($roleUid); $rsCriteria = \PermissionsPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $arrayUid[] = $row["PER_UID"]; } //Criteria $criteria = $this->getPermissionCriteria("", $arrayUid); break; } if (!is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData["filter"]) && trim($arrayFilterData["filter"]) != "") { $criteria->add(\PermissionsPeer::PER_CODE, "%" . $arrayFilterData["filter"] . "%", \Criteria::LIKE); } //SQL if (!is_null($sortField) && trim($sortField) != "") { $sortField = strtoupper($sortField); if (in_array($sortField, array("PER_UID", "PER_CODE"))) { $sortField = \PermissionsPeer::TABLE_NAME . "." . $sortField; } else { $sortField = \PermissionsPeer::PER_CODE; } } else { $sortField = \PermissionsPeer::PER_CODE; } 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 = \PermissionsPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $rolePermission->setPerUid($row["PER_UID"]); $row["PER_NAME"] = $rolePermission->getPermissionName(); $arrayPermission[] = $this->getPermissionDataFromRecord($row); } //Return return $arrayPermission; } catch (\Exception $e) { throw $e; } }