/** * @param $vars * @return array */ public function checkAssignVarsOk($vars) { $errors = array(); if (empty($vars['username'])) { $errors[] = 'AdminRightsUsernameEmpty'; } else { // check if user name exists $member = new Member(); $member = $member->findByUsername($vars['username']); if (!$member) { $errors[] = 'AdminRightsUsernameNotExisting'; } } if ($vars['rightid'] == 0) { $errors[] = 'AdminRightsNoRightSelected'; } else { // check if right is already assigned if (isset($member)) { $right = new Right($vars['rightid']); $assigned = $right->getRightForMember($member); if ($assigned) { $errors[] = 'AdminRightsAlreadyAssigned'; } } } if ($vars['level'] == 0) { $errors[] = 'AdminRightsNoLevelSelected'; } if (empty($vars['scope'])) { $errors[] = 'AdminRightsScopeEmpty'; } else { // check if scope is well formed if (!$this->checkScopeWellFormed($vars['scope'])) { $errors[] = 'AdminRightsScopeNotWellFormed'; } } if (empty($vars['comment'])) { $errors[] = 'AdminRightsCommentEmpty'; } return $errors; }
public function remove() { $this->checkRights('Rights'); $rightId = $this->route_vars['id']; $username = $this->route_vars['username']; // Check if right and user exist and if right is assigned to user at all; redirect if not $right = new Right($rightId); if (!$right) { $this->redirectAbsolute($this->router->url('admin_rights_overview')); } $temp = new Member(); $member = $temp->findByUsername($username); if (!$member) { $this->redirectAbsolute($this->router->url('admin_rights_overview')); } $assigned = $right->getRightForMember($member); if (!$assigned) { $this->redirectAbsolute($this->router->url('admin_rights_overview')); } $page = new AdminRightsRemovePage(); $rights = $this->model->getRights(true); $page->rights = $rights; $redirectTo = ''; if (isset($_SERVER['HTTP_REFERER'])) { if (strpos($_SERVER['HTTP_REFERER'], "/list/members") !== false) { $redirectTo = 'members'; } if (strpos($_SERVER['HTTP_REFERER'], "/list/member/") !== false) { $redirectTo = 'member'; } if (strpos($_SERVER['HTTP_REFERER'], "/list/rights") !== false) { $redirectTo = 'rights'; } if (strpos($_SERVER['HTTP_REFERER'], "/list/right/") !== false) { $redirectTo = 'right'; } } $vars = array('username' => $username, 'right' => $rightId, 'level' => $assigned->Level, 'scope' => $assigned->Scope, 'comment' => $assigned->Comment, 'redirect' => $redirectTo); $page->vars = $vars; return $page; }