/** * @param $vars * @return array */ public function checkAssignVarsOk($vars) { $errors = array(); if (empty($vars['username'])) { $errors[] = 'AdminFlagsUsernameEmpty'; } else { // check if user name exists $member = new Member(); $member = $member->findByUsername($vars['username']); if (!$member) { $errors[] = 'AdminFlagsUsernameNotExisting'; } } if ($vars['flagid'] == 0) { $errors[] = 'AdminFlagsNoFlagSelected'; } else { // check if flag is already assigned if (isset($member)) { $flag = new Flag($vars['flagid']); $assigned = $flag->getFlagForMember($member); if ($assigned) { $errors[] = 'AdminFlagsAlreadyAssigned'; } } } if ($vars['level'] == 0) { $errors[] = 'AdminFlagsNoLevelSelected'; } if (empty($vars['comment'])) { $errors[] = 'AdminFlagsCommentEmpty'; } return $errors; }
public function remove() { $this->checkRights('Flags'); $flagId = $this->route_vars['id']; $username = $this->route_vars['username']; // Check if flag and user exist and if flag is assigned to user at all; redirect if not $flag = new Flag($flagId); if (!$flag) { $this->redirectAbsolute($this->router->url('admin_flags_overview')); } $temp = new Member(); $member = $temp->findByUsername($username); if (!$member) { $this->redirectAbsolute($this->router->url('admin_flags_overview')); } $assigned = $flag->getFlagForMember($member); if (!$assigned) { $this->redirectAbsolute($this->router->url('admin_flags_overview')); } $page = new AdminFlagsRemovePage(); $flags = $this->model->getFlags(true); $page->flags = $flags; $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/Flags") !== false) { $redirectTo = 'Flags'; } if (strpos($_SERVER['HTTP_REFERER'], "/list/flag/") !== false) { $redirectTo = 'flag'; } } $vars = array('username' => $username, 'flag' => $flagId, 'level' => $assigned->Level, 'scope' => $assigned->Scope, 'comment' => $assigned->Comment, 'redirect' => $redirectTo); $page->vars = $vars; return $page; }