Пример #1
0
 static function url()
 {
     if (self::$current_url === null) {
         $u = new GBURL();
         $u->secure = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on';
         $u->scheme = $u->secure ? 'https' : 'http';
         $u->host = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost');
         if (($p = strpos($u->host, ':')) !== false) {
             $u->port = intval(substr($u->host, $p + 1));
             $u->host = substr($u->host, 0, $p);
         } elseif (isset($_SERVER['SERVER_PORT'])) {
             $u->port = intval($_SERVER['SERVER_PORT']);
         } else {
             $u->port = $u->secure ? 443 : 80;
         }
         $u->query = $_GET;
         $u->path = $u->query ? substr(@$_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], '?')) : rtrim(@$_SERVER['REQUEST_URI'], '?');
         self::$current_url = $u;
     }
     return self::$current_url;
 }