/** * Load role privileges * * @service * @anonym * @param Gpf_Rpc_Params $params * @return Gpf_Data_RecordSet */ public function loadRolePrivileges(Gpf_Rpc_Params $params) { if (!Gpf_Session::getAuthUser()->hasPrivilege(Gpf_Privileges::ROLE, Gpf_Privileges::P_READ) && !Gpf_Session::getAuthUser()->hasPrivilege(Gpf_Privileges::ROLE, Pap_Privileges::P_READ_OWN)) { throw new Gpf_Rpc_PermissionDeniedException('Gpf_Role_RolePrivilegesForm', 'loadRolePrivileges'); } $role = new Gpf_Db_Role(); $role->setId($params->get('roleid')); $role->load(); $defaultPrivileges = Gpf_Application::getInstance()->getDefaultPrivilegesByRoleType($role->getRoleType()); $result = new Gpf_Data_RecordSet(); $result->addColumn('object'); $result->addColumn('objectName'); $result->addColumn('possiblePrivileges'); $result->addColumn('activePrivileges'); $rolePrivileges = Gpf_Privileges::loadPrivileges($role->getId()); foreach ($defaultPrivileges->getDefaultPrivileges() as $object => $privileges) { $record = new Gpf_Data_Record($result->getHeader()); $record->add('object', $object); $record->add('objectName', ucfirst(str_replace('_', ' ', strtolower($object)))); $allTypes = $defaultPrivileges->getObjectToTypeRelation(); $record->add('possiblePrivileges', implode(',', $allTypes[$object])); if (array_key_exists($object, $rolePrivileges)) { $record->add('activePrivileges', implode(',', array_keys($rolePrivileges[$object]))); } else { $record->add('activePrivileges', ''); } $result->addRecord($record); } $result->sort('objectName'); return $result; }
protected function afterExecute(Gpf_Data_RecordSet $inputResult) { $outputResult = new Gpf_Data_RecordSet(); $outputResult->setHeader($inputResult->getHeader()); $tree = new Pap_Features_BannersCategories_Tree(false); foreach ($inputResult as $record) { if ($record->get('code')=='0' || $record->get('selected')=='N') { continue; } $newRecord = new Gpf_Data_Record($inputResult->getHeader()); $newRecord->add('name', $this->_localize($tree->getBreadcrumb($record->get('id'), ' > '))); $newRecord->add('id', $record->get('id')); $outputResult->add($newRecord); } return $outputResult; }
protected function afterExecute(Gpf_Data_RecordSet $inputResult) { $outputResult = new Gpf_Data_RecordSet(); $outputResult->setHeader($inputResult->getHeader()); $tree = new Pap_Features_BannersCategories_Tree(false); foreach ($inputResult as $record) { if ($record->get('code')=='0') { $this->_count--; continue; } $newRecord = new Gpf_Data_Record($inputResult->getHeader()); $newRecord->add('name', $record->get('name')); $newRecord->add('id', $record->get('id')); $newRecord->add('state', $record->get('state')); $newRecord->add('depth', $record->get('depth')); $outputResult->add($newRecord); } return $outputResult; }
private function replaceConstants(Gpf_Data_Record $row) { $coupon = new Pap_Db_Coupon(); $coupon->setId($row->get('id')); $coupon->setCode($row->get('code')); $coupon->setStatus($row->get('status')); $coupon->set(Pap_Db_Table_Coupons::MAX_USE_COUNT, $row->get('limit_use')); $coupon->set(Pap_Db_Table_Coupons::VALID_FROM, $row->get('valid_from')); $coupon->set(Pap_Db_Table_Coupons::VALID_TO, $row->get('valid_to')); $row->add('coupon', $this->banner->getCouponText($coupon)); $row->add('validity', $coupon->isValid()); }