示例#1
0
 /**
  * Try to figure who is uploading
  *
  * Currently checks for either user & session in request or cookies
  * and initializes a global User
  * @param void
  * @return void
  */
 private function tryAuth()
 {
     global $config, $user;
     if (isset($_REQUEST['user']) && isset($_REQUEST['session'])) {
         //Auth by session data from query
         $name = $_REQUEST['user'];
         $session = $_REQUEST['session'];
         $duser = User::by_session($name, $session);
         if (!is_null($duser)) {
             $user = $duser;
         } else {
             $user = User::by_id($config->get_int("anon_id", 0));
         }
     } elseif (isset($_COOKIE[$config->get_string('cookie_prefix', 'shm') . '_' . 'session']) && isset($_COOKIE[$config->get_string('cookie_prefix', 'shm') . '_' . 'user'])) {
         //Auth by session data from cookies
         $session = $_COOKIE[$config->get_string('cookie_prefix', 'shm') . '_' . 'session'];
         $user = $_COOKIE[$config->get_string('cookie_prefix', 'shm') . '_' . 'user'];
         $duser = User::by_session($user, $session);
         if (!is_null($duser)) {
             $user = $duser;
         } else {
             $user = User::by_id($config->get_int("anon_id", 0));
         }
     }
 }
示例#2
0
/**
 * @return User
 */
function _get_user()
{
    global $config;
    $user = null;
    if (get_prefixed_cookie("user") && get_prefixed_cookie("session")) {
        $tmp_user = User::by_session(get_prefixed_cookie("user"), get_prefixed_cookie("session"));
        if (!is_null($tmp_user)) {
            $user = $tmp_user;
        }
    }
    if (is_null($user)) {
        $user = User::by_id($config->get_int("anon_id", 0));
    }
    assert(!is_null($user));
    return $user;
}