X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FUrl.php;h=af43b457961729f3a5c2abc82a407b4a402531ec;hb=refs%2Fpull%2F374%2Fhead;hp=23356f39d20514ade3f2391458678d6cb7b650c1;hpb=d9d776af19fd0a191f82525991dafbb56e1bcfcb;p=github%2Fshaarli%2FShaarli.git diff --git a/application/Url.php b/application/Url.php index 23356f39..af43b457 100644 --- a/application/Url.php +++ b/application/Url.php @@ -25,6 +25,32 @@ function unparse_url($parsedUrl) return "$scheme$user$pass$host$port$path$query$fragment"; } +/** + * Removes undesired query parameters and fragments + * + * @param string url Url to be cleaned + * + * @return string the string representation of this URL after cleanup + */ +function cleanup_url($url) +{ + $obj_url = new Url($url); + return $obj_url->cleanup(); +} + +/** + * Get URL scheme. + * + * @param string url Url for which the scheme is requested + * + * @return mixed the URL scheme or false if none is provided. + */ +function get_url_scheme($url) +{ + $obj_url = new Url($url); + return $obj_url->getScheme(); +} + /** * URL representation and cleanup utilities * @@ -81,12 +107,16 @@ class Url public function __construct($url) { $this->parts = parse_url($url); + + if (!empty($url) && empty($this->parts['scheme'])) { + $this->parts['scheme'] = 'http'; + } } /** * Returns a string representation of this URL */ - public function __toString() + public function toString() { return unparse_url($this->parts); } @@ -145,6 +175,18 @@ class Url { $this->cleanupQuery(); $this->cleanupFragment(); - return $this->__toString(); + return $this->toString(); + } + + /** + * Get URL scheme. + * + * @return string the URL scheme or false if none is provided. + */ + public function getScheme() { + if (!isset($this->parts['scheme'])) { + return false; + } + return $this->parts['scheme']; } }