Пример #1
0
 /**
  * List all available groups
  *
  * @view views/scripts/group/index.phtml
  * @access public
  */
 public function indexAction()
 {
     $groups = array();
     foreach ($this->dbGroups->fetchAll() as $row) {
         $groups[] = new Admin_Model_DbRow_Group($row);
     }
     $this->view->groups = $groups;
 }
Пример #2
0
 /**
  * Load the Groups in the UserManagement Context
  *
  * Return only the Id and name for the group as an array
  *
  * @return array
  * @todo neeeded? I think can be removed
  * @deprecated
  */
 public function loadUserGroupsAction()
 {
     $groupdModel = new Admin_Model_DbTable_Groups();
     $return = array();
     foreach ($groupdModel->fetchAll() as $group) {
         $return[] = array('id' => $group->ug_id, 'name' => $group->ug_name, 'description' => $group->ug_description);
     }
     return $return;
 }
Пример #3
0
 /**
  * Edit a role and assign users and groups to this role
  *
  * @view /views/scripts/role/edit.phtml
  * @access public
  */
 public function editAction()
 {
     $roleRow = new Admin_Model_DbRow_Role($this->dbRole->find($this->checkRoleIdParam()));
     $groups = array();
     $users = array();
     $inhterits = array();
     foreach ($this->dbGroup->fetchAll() as $row) {
         $groups[] = new Admin_Model_DbRow_Group($row);
     }
     foreach ($this->dbUser->fetchAll() as $row) {
         $users[] = new Admin_Model_DbRow_User($row);
     }
     foreach ($this->dbRole->fetchAll() as $row) {
         $inherit = new Admin_Model_DbRow_Role($row);
         if ($inherit->get('id') !== $roleRow->get('id')) {
             $inhterits[] = $inherit;
         }
     }
     $form = new Admin_Form_Role_Edit($roleRow, $groups, $users, $inhterits);
     if ($this->getRequest()->isPost()) {
         if ($form->isValid($this->getRequest()->getParams())) {
             $selectedGroups = $form->getValue('groups');
             $selectedUsers = $form->getValue('users');
             $roleInheritance = $form->getValue('inherit');
             $this->dbRole->update($roleRow->toDbArray(array('name', 'description')), $roleRow->get('id'));
             // delete current settings
             $this->dbRoleInherit->deleteWithRoleId($roleRow->get('id'));
             $this->dbRoleMember->deleteWithRoleId($roleRow->get('id'));
             // add the new setting
             foreach ($roleInheritance as $inherit) {
                 // dont insert "no inheritance" in the database or self as inheritance
                 if ($inherit == 0 || $inherit == $roleRow->get('id')) {
                     continue;
                 }
                 $this->dbRoleInherit->insert($roleRow->get('id'), $inherit);
             }
             foreach ($selectedGroups as $group) {
                 $this->dbRoleMember->insert($roleRow->get('id'), $group, Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_GROUP);
             }
             foreach ($selectedUsers as $user) {
                 $this->dbRoleMember->insert($roleRow->get('id'), $user, Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_USER);
             }
             $this->_redirect('admin/role/index');
         }
     }
     $form->getElement('groups')->setValue($this->dbRoleMember->getRoleBindingToId($roleRow->get('id'), Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_GROUP));
     $form->getElement('users')->setValue($this->dbRoleMember->getRoleBindingToId($roleRow->get('id'), Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_USER));
     $form->getElement('inherit')->setValue($this->dbRoleInherit->getInheritedRoles($roleRow->get('id')));
     $this->view->form = $form;
 }