예제 #1
0
 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);
 }
예제 #2
0
파일: Acl.php 프로젝트: zelimirus/yard
 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);
         }
     }
 }