inital commit
[pharext/pharext.org] / app / BaseUrl.php
1 <?php
2
3 namespace app;
4
5 use http\Url;
6
7 class BaseUrl extends Url {
8 /**
9 * Create base URL
10 * @param mixed $url
11 */
12 function __construct($url = null) {
13 $self = array(
14 "scheme" => filter_input(INPUT_SERVER, "HTTPS", FILTER_VALIDATE_BOOLEAN) ? "https":"http",
15 "path" => dirname(filter_input(INPUT_SERVER, "SCRIPT_NAME"))."/"
16 );
17 parent::__construct($self, $url,
18 self::JOIN_PATH |
19 self::SANITIZE_PATH |
20 self::STRIP_QUERY |
21 self::STRIP_AUTH |
22 self::FROM_ENV
23 );
24 }
25 /**
26 * Extract path info
27 *
28 * @param mixed $url full request url
29 * @return string
30 */
31 function pathinfo($url) {
32 $url = new Url($this, $url, Url::FROM_ENV | Url::STRIP_QUERY);
33 $info = substr($url, strlen($this)-1);
34 return $info;
35 }
36
37
38 }