public function init() { $resources_table = new Admin_Model_Resources(); foreach ($resources_table->getAll() as $resource) { // select permissions for this resource for current role_id, but only where action != '' $permissions = new Admin_Model_Permissions(); $all_permissions = $permissions->getByRoleAndResourceSpecial($this->getRoleid(), $resource->id); // Set allowed and denied value for text fild $allowed = $denied = ''; foreach ($all_permissions as $perm) { if ($perm->is_allowed == 't') { $allowed .= $perm->action . ';'; } else { $denied .= $perm->action . ';'; } } $allowed = trim($allowed, ';'); $denied = trim($denied, ';'); //Set elements $parent = new Zend_Form_Element_Select((string) $resource->id); $parent->setLabel('Resource ')->addMultiOption((string) $resource->id, $resource->name)->setAttrib('disabled', 'disabled'); $allow = new Zend_Form_Element_Text($resource->id . '_allow'); $allow->setLabel('Allow ')->setValue($allowed); $deny = new Zend_Form_Element_Text($resource->id . '_deny'); $deny->setLabel('Deny ')->setValue($denied); $this->addElement($parent); $this->addElement($allow); $this->addElement($deny); } $submit = new Zend_Form_Element_Submit('save'); $submit->setAttrib('class', 'btn btn-primary'); $submit->setLabel('Confirm'); $this->setAction('')->setMethod('post')->addElement($submit); }
private function _initPermissions() { $permissions_table = new Admin_Model_Permissions(); $permissions = $permissions_table->getAll(); foreach ($permissions as $permission) { if ($permission->is_allowed) { $this->acl->allow($permission->role_id, $permission->resource_id, $permission->action); } else { $this->acl->deny($permission->role_id, $permission->resource_id, $permission->action); } } }