/**
  * Determine the current user(s)
  */
 public function determineUser()
 {
     global $ilUser;
     // a valid user session is found
     if ($_SESSION["AccountId"]) {
         $this->check_users = array($_SESSION["AccountId"]);
         return;
     } elseif ($GLOBALS['WEB_ACCESS_WITHOUT_SESSION'] and $this->getCheckIp()) {
         $this->check_users = ilSession::_getUsersWithIp($_SERVER['REMOTE_ADDR']);
         if (count($this->check_users) == 0) {
             // no user was found for the ip address
             $this->check_users = array(ANONYMOUS_USER_ID);
             $_SESSION["AccountId"] = ANONYMOUS_USER_ID;
             $ilUser->setId(ANONYMOUS_USER_ID);
             $ilUser->read();
         } elseif (count($this->check_users) == 1) {
             // exactly one user is found with an active session
             $_SESSION["AccountId"] = current($this->check_users);
             $ilUser->setId(current($this->check_users));
             $ilUser->read();
         } else {
             // more than one user found for the ip address
             // take the anonymous user for the session
             $_SESSION["AccountId"] = ANONYMOUS_USER_ID;
             $ilUser->setId(ANONYMOUS_USER_ID);
             $ilUser->read();
         }
         return;
     } else {
         $this->check_users = array(ANONYMOUS_USER_ID);
         $_SESSION["AccountId"] = ANONYMOUS_USER_ID;
         $ilUser->setId(ANONYMOUS_USER_ID);
         $ilUser->read();
         return;
     }
 }