function set_current_user() { $AnonymousUser = array('id' => null, 'level' => 0, 'name' => "Anonymous", 'pretty_name' => "Anonymous", 'is_anonymous' => true, 'show_samples' => true, 'has_avatar' => false, 'language' => '', 'secondary_languages' => '', 'secondary_language_array' => array(), 'ip_addr' => $_SERVER['REMOTE_ADDR'], 'pool_browse_mode' => 1); // if(!empty(User::$current)) { if (!empty($_SESSION[CONFIG::app_name]['user_id'])) { User::$current = User::find($_SESSION[CONFIG::app_name]['user_id']); } elseif (isset($_COOKIE['login']) && isset($_COOKIE['pass_hash'])) { User::$current = User::authenticate_hash($_COOKIE['login'], $_COOKIE['pass_hash']); } elseif (isset(Request::$params->login) && isset(Request::$params->password_hash)) { User::$current = User::authenticate(Request::$params->login, Request::$params->password_hash); } elseif (isset(Request::$params->user['name']) && isset(Request::$params->user['password'])) { User::$current = User::authenticate(Request::$params->user['name'], Request::$params->user['password']); } // vde(User::$current); if (User::$current) { # TODO: // if(User::$current->is_blocked && User::$current->ban && User::$current->ban->expires_at < gmd()) { // User::$current->update_attribute(array('level'->CONFIG["starting_level"])); // Ban::destroy_all("user_id = #{@current_user.id}") // } } else { User::$current = User::create_from_array($AnonymousUser); } // User::$current = new User('from_array', $AnonymousUser); // vde(User::$current); }