From b0a258cd0ed6fa1b788b22b00c033e3aee440e86 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 14 Jun 2020 11:49:21 -0400 Subject: [PATCH] Use byjg/uri dependency instead of adding new URL-handling library in PHPRenderer --- src/classes/Utils/Url.php | 38 ------------------------------- src/classes/Views/PhpRenderer.php | 16 +++---------- 2 files changed, 3 insertions(+), 51 deletions(-) delete mode 100644 src/classes/Utils/Url.php diff --git a/src/classes/Utils/Url.php b/src/classes/Utils/Url.php deleted file mode 100644 index a292c6a..0000000 --- a/src/classes/Utils/Url.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @package Friendica\Directory\Utils - */ -class Url -{ - /** - * Mirror of parse_url function, puts components back together to form a URI. - * - * @param array $parsed - * @return string - */ - public static function unparse(array $parsed) - { - $scheme = $parsed['scheme'] ?? null; - $user = $parsed['user'] ?? null; - $pass = $parsed['pass'] ?? null; - $userinfo = $pass !== null ? "$user:$pass" : $user; - $port = $parsed['port'] ?? null; - $query = $parsed['query'] ?? null; - $fragment = $parsed['fragment'] ?? null; - $authority = ($userinfo !== null ? $userinfo . "@" : '') . - ($parsed['host'] ?? '') . - ($port ? ":$port" : ''); - - return (!empty($scheme) ? $scheme . ":" : '') . - (strlen($authority) ? "//" . $authority : '') . - ($parsed['path'] ?? '') . - (strlen($query) ? "?" . $query : '') . - (strlen($fragment) ? "#" . $fragment : ''); - } -} diff --git a/src/classes/Views/PhpRenderer.php b/src/classes/Views/PhpRenderer.php index d80628e..3df40ac 100644 --- a/src/classes/Views/PhpRenderer.php +++ b/src/classes/Views/PhpRenderer.php @@ -2,7 +2,6 @@ namespace Friendica\Directory\Views; -use Friendica\Directory\Utils\Url; use Slim\Router; /** @@ -206,18 +205,9 @@ class PhpRenderer extends \Slim\Views\PhpRenderer function u(string $url) { if ($this->getAttribute('zrl')) { - $queryParameters = []; - - $parsed = parse_url($url); - if (!empty($parsed['query'])) { - parse_str($parsed['query'], $queryParameters); - } - - $queryParameters['zrl'] = $this->getAttribute('zrl'); - - $parsed['query'] = http_build_query($queryParameters); - - $url = Url::unparse($parsed); + $uri = new \ByJG\Util\Uri($url); + $uri->withQueryKeyValue('zrl', $this->getAttribute('zrl')); + $url = $uri->__toString(); } return $url;