public static function getBestUser() { if (self::$bestUserRun) { return self::$bestUser; } $user = null; $segments = URL::getItems(); foreach ($segments as $uname) { if (!in_array($uname, self::$skipNames)) { if (is_numeric($uname)) { $user = ORM::factory("user", $uname); } else { $user = ORM::factory("user")->where('vanity_url', '=', $uname)->find(); } if ($user && $user->loaded()) { break; } } } if (empty($user) || !$user->loaded()) { $user = Auth::instance()->get_user(); } if (empty($user) || !$user->loaded()) { $user = new stdClass(); $user->loaded = function () { return false; }; } self::$bestUserRun = true; self::$bestUser = $user; return $user; }