/**
  * Action to shw overview of all privileges
  */
 public function overviewAction()
 {
     $roles = array();
     foreach ($this->acl->getRolePrivileges() as $role => $privileges) {
         $roles[$role][$this->_('Role')] = $role;
         $roles[$role][$this->_('Parents')] = $privileges[\MUtil_Acl::PARENTS] ? implode(', ', $privileges[\MUtil_Acl::PARENTS]) : null;
         $roles[$role][$this->_('Allowed')] = $privileges[\Zend_Acl::TYPE_ALLOW] ? implode(', ', $privileges[\Zend_Acl::TYPE_ALLOW]) : null;
         //$roles[$role][$this->_('Denied')]  = $privileges[\Zend_Acl::TYPE_DENY]  ? implode(', ', $privileges[\Zend_Acl::TYPE_DENY])  : null;
         $roles[$role][$this->_('Inherited')] = $privileges[\MUtil_Acl::INHERITED][\Zend_Acl::TYPE_ALLOW] ? implode(', ', $privileges[\MUtil_Acl::INHERITED][\Zend_Acl::TYPE_ALLOW]) : null;
         //$roles[$role][$this->_('Parent denied')]  = $privileges[\MUtil_Acl::INHERITED][\Zend_Acl::TYPE_DENY]  ? implode(', ', $privileges[\MUtil_Acl::INHERITED][\Zend_Acl::TYPE_DENY])  : null;
     }
     ksort($roles);
     $this->html->h2($this->_('Project role overview'));
     $this->_showTable($this->_('Roles'), $roles, true);
 }
 /**
  * Get the privileges for thess parents
  *
  * @param array $parents
  * @return array privilege => setting
  */
 protected function getInheritedPrivileges(array $parents)
 {
     if (!$parents) {
         return array();
     }
     $rolePrivileges = $this->acl->getRolePrivileges();
     $inherited = array();
     foreach ($parents as $parent) {
         if (isset($rolePrivileges[$parent])) {
             $inherited = $inherited + array_flip($rolePrivileges[$parent][\Zend_Acl::TYPE_ALLOW]);
             $inherited = $inherited + array_flip($rolePrivileges[$parent][\MUtil_Acl::INHERITED][\Zend_Acl::TYPE_ALLOW]);
         }
     }
     // Sneaks in:
     unset($inherited[""]);
     return $inherited;
 }