public function __construct()
 {
     /*
      * fetch all roles
      */
     $table = new Wbroles();
     $roles = $table->fetchAllRoles();
     unset($table);
     // Loop roles and put them in an assoc array by ID
     $roleArray = array();
     foreach ($roles as $r) {
         $role = new Zend_Acl_Role($r['name']);
         // If inherit_name isn't null, have the role inherit from that, otherwise no inheriting
         if ($r['inherit_name'] !== null && $r['inherit_name'] !== $r['name']) {
             $this->addRole($role, $r['inherit_name']);
         } else {
             $this->addRole($role);
         }
         $roleArray[$r['id']] = $role;
     }
     /*
      *  fetch all resources
      *  because the Resource must be unique identifier
      */
     $table = new Wbresources();
     $resources = $table->fetchAllResources();
     foreach ($resources as $r) {
         $resource = new Zend_Acl_Resource($r['name']);
         $this->addResource($resource);
     }
     /*
      * establish a correspondence: roles => resources
      */
     $resources_roles = $table->fetchAllResourcesAndRoles();
     foreach ($resources_roles as $r) {
         if ($r['role_id'] !== null) {
             $role = $roleArray[$r['role_id']];
             // the Resource must be unique identifier
             $this->allow($role, $r['resource_name']);
         }
     }
     // Администратор не наследует ни от кого, но обладает всеми привилегиями
     $this->allow('root_role');
 }