Пример #1
0
 public static function init()
 {
     /**
      * Callback on fatal errors
      */
     register_shutdown_function(function () {
         return \Lobby::fatalErrorHandler();
     });
     self::sysinfo();
     self::config();
     if (isset(self::$config['lobby_url'])) {
         $url_parts = parse_url(self::$config['lobby_url']);
         self::$host_name = $url_parts['host'];
         self::$url = self::$config['lobby_url'];
     } else {
         $base_dir = L_DIR;
         $doc_root = preg_replace("!{$_SERVER['SCRIPT_NAME']}\$!", '', $_SERVER['SCRIPT_FILENAME']);
         $base_url = preg_replace("!^{$doc_root}!", '', $base_dir);
         # ex: '' or '/mywebsite'
         $protocol = empty($_SERVER['HTTPS']) ? 'http' : 'https';
         $port = $_SERVER['SERVER_PORT'];
         $disp_port = $protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443 ? '' : ":{$port}";
         $domain = $_SERVER['SERVER_NAME'];
         self::$url = "{$protocol}://{$domain}{$disp_port}{$base_url}";
         self::$host_name = $domain;
     }
 }
Пример #2
0
 public static function __constructStatic()
 {
     /**
      * Callback on fatal errors
      */
     register_shutdown_function(function () {
         return \Lobby::fatalErrorHandler();
     });
     if (!isset($_SERVER["SERVER_NAME"])) {
         /**
          * Lobby is not loaded by browser request, but by a script
          * so $_SERVER vars won't exist. This will cause problems
          * for URL making, hence we must define it's CLI
          */
         self::$cli = true;
     }
     self::sysInfo();
     self::config();
     $lobbyInfo = FS::get("/lobby.json");
     if ($lobbyInfo !== false) {
         $lobbyInfo = json_decode($lobbyInfo);
         \Lobby::$version = $lobbyInfo->version;
         \Lobby::$versionName = $lobbyInfo->codename;
         \Lobby::$versionReleased = $lobbyInfo->released;
     }
     /**
      * Some checking to make sure Lobby works fine
      */
     if (!is_writable(L_DIR)) {
         $error = array("Fatal Error", "The permissions of the Lobby folder is invalid. You should change the permission of <blockquote>" . L_DIR . "</blockquote>to read and write (0755).");
         if (\Lobby::getSysInfo("os") === "linux") {
             $error[1] .= "<p clear>On Linux systems, do this in terminal : <blockquote>sudo chown \${USER}:www-data " . L_DIR . " -R && sudo chmod u+rwx,g+rw,o+r " . L_DIR . " -R</blockquote></p>";
         }
         \Response::showError($error[0], $error[1]);
     }
     \Assets::config(array("basePath" => L_DIR, "baseURL" => self::getURL(), "serveFile" => "includes/serve-assets.php", "debug" => self::getConfig("debug")));
 }