/**
  * @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;
 }