示例#1
0
文件: Acl.php 项目: hasanozgan/joy
 public function _init()
 {
     parent::_init();
     $this->_acl = new Zend_Acl();
     $roles = $this->config->application->get("privileges/privileges/roles");
     foreach ($roles as $role => $parent) {
         $this->addRole($role, (array) $parent);
     }
     $order = $this->config->application->get("privileges/privileges/order");
     foreach ($order as $type) {
         $rule = $this->config->application->get("privileges/privileges/{$type}");
         foreach ($rule as $role => $resources) {
             if (count($resources) > 0) {
                 foreach ($resources as $resource => $privileges) {
                     if (!$this->hasResource($resource)) {
                         $this->addResource($resource);
                     }
                     $this->addRule($type, $role, $resource, $privileges);
                 }
             } else {
                 if (!$this->hasResource("*")) {
                     $this->addResource("*");
                 }
                 // add Rule
                 $this->addRule($type, $role, "*");
             }
         }
     }
 }