X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FUrl.php;h=c5c7dd187bbc0d1f1f3d7aff97bbb4cfc375bb61;hb=7af9a41881ed0b9d44d18a0ce03a123a8441adf5;hp=af38c4d9155ed4eb856691c941f26f11714b77be;hpb=9486a2e92911c726673fe50674a0a408be3c774f;p=github%2Fshaarli%2FShaarli.git diff --git a/application/Url.php b/application/Url.php index af38c4d9..c5c7dd18 100644 --- a/application/Url.php +++ b/application/Url.php @@ -85,6 +85,7 @@ class Url 'action_type_map=', 'fb_', 'fb=', + 'PHPSESSID=', // Scoop.it '__scoop', @@ -220,6 +221,22 @@ class Url return $this->toString(); } + /** + * Converts an URL with an International Domain Name host to a ASCII one. + * This requires PHP-intl. If it's not available, just returns this->cleanup(). + * + * @return string converted cleaned up URL. + */ + public function idnToAscii() + { + $out = $this->cleanup(); + if (! function_exists('idn_to_ascii') || ! isset($this->parts['host'])) { + return $out; + } + $asciiHost = idn_to_ascii($this->parts['host']); + return str_replace($this->parts['host'], $asciiHost, $out); + } + /** * Get URL scheme. * @@ -232,6 +249,18 @@ class Url return $this->parts['scheme']; } + /** + * Get URL host. + * + * @return string the URL host or false if none is provided. + */ + public function getHost() { + if (empty($this->parts['host'])) { + return false; + } + return $this->parts['host']; + } + /** * Test if the Url is an HTTP one. *