Use byjg/uri dependency instead of adding new URL-handling library #42
|
@ -20,6 +20,7 @@
|
||||||
"atlas/pdo": "^1.1",
|
"atlas/pdo": "^1.1",
|
||||||
"boronczyk/localization-middleware": "^1.4",
|
"boronczyk/localization-middleware": "^1.4",
|
||||||
"byjg/migration": "^4.0",
|
"byjg/migration": "^4.0",
|
||||||
|
"byjg/uri": "^1.0.4",
|
||||||
"byjg/webrequest": "^1.0",
|
"byjg/webrequest": "^1.0",
|
||||||
"gettext/gettext": "^4.6",
|
"gettext/gettext": "^4.6",
|
||||||
"gofabian/negotiation-middleware": "^0.1.3",
|
"gofabian/negotiation-middleware": "^0.1.3",
|
||||||
|
|
13
composer.lock
generated
13
composer.lock
generated
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "0179cccd89f6bd7fd8ade738431b1a3b",
|
"content-hash": "4ec1d35a2434e8cd6887500404ad427b",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "asika/simple-console",
|
"name": "asika/simple-console",
|
||||||
|
@ -556,6 +556,7 @@
|
||||||
],
|
],
|
||||||
"description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
|
"description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
|
||||||
"homepage": "https://github.com/container-interop/container-interop",
|
"homepage": "https://github.com/container-interop/container-interop",
|
||||||
|
"abandoned": "psr/container",
|
||||||
"time": "2017-02-14T19:40:03+00:00"
|
"time": "2017-02-14T19:40:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -622,12 +623,12 @@
|
||||||
"version": "v4.6.2",
|
"version": "v4.6.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/oscarotero/Gettext.git",
|
"url": "https://github.com/php-gettext/Gettext.git",
|
||||||
"reference": "93176b272d61fb58a9767be71c50d19149cb1e48"
|
"reference": "93176b272d61fb58a9767be71c50d19149cb1e48"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/oscarotero/Gettext/zipball/93176b272d61fb58a9767be71c50d19149cb1e48",
|
"url": "https://api.github.com/repos/php-gettext/Gettext/zipball/93176b272d61fb58a9767be71c50d19149cb1e48",
|
||||||
"reference": "93176b272d61fb58a9767be71c50d19149cb1e48",
|
"reference": "93176b272d61fb58a9767be71c50d19149cb1e48",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
|
@ -684,12 +685,12 @@
|
||||||
"version": "2.5.0",
|
"version": "2.5.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mlocati/cldr-to-gettext-plural-rules.git",
|
"url": "https://github.com/php-gettext/Languages.git",
|
||||||
"reference": "78db2d17933f0765a102f368a6663f057162ddbd"
|
"reference": "78db2d17933f0765a102f368a6663f057162ddbd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mlocati/cldr-to-gettext-plural-rules/zipball/78db2d17933f0765a102f368a6663f057162ddbd",
|
"url": "https://api.github.com/repos/php-gettext/Languages/zipball/78db2d17933f0765a102f368a6663f057162ddbd",
|
||||||
"reference": "78db2d17933f0765a102f368a6663f057162ddbd",
|
"reference": "78db2d17933f0765a102f368a6663f057162ddbd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
|
@ -1694,6 +1695,7 @@
|
||||||
"escaper",
|
"escaper",
|
||||||
"zf"
|
"zf"
|
||||||
],
|
],
|
||||||
|
"abandoned": "laminas/laminas-escaper",
|
||||||
"time": "2018-04-25T15:48:53+00:00"
|
"time": "2018-04-25T15:48:53+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1950,6 +1952,7 @@
|
||||||
"scss",
|
"scss",
|
||||||
"stylesheet"
|
"stylesheet"
|
||||||
],
|
],
|
||||||
|
"abandoned": "scssphp/scssphp",
|
||||||
"time": "2018-07-22T01:22:08+00:00"
|
"time": "2018-07-22T01:22:08+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace Friendica\Directory\Utils;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* URL related static utilities
|
|
||||||
*
|
|
||||||
* @author Hypolite Petovan <hypolite@mrpetovan.com>
|
|
||||||
* @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 : '');
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace Friendica\Directory\Views;
|
namespace Friendica\Directory\Views;
|
||||||
|
|
||||||
use Friendica\Directory\Utils\Url;
|
|
||||||
use Slim\Router;
|
use Slim\Router;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -206,18 +205,9 @@ class PhpRenderer extends \Slim\Views\PhpRenderer
|
||||||
function u(string $url)
|
function u(string $url)
|
||||||
{
|
{
|
||||||
if ($this->getAttribute('zrl')) {
|
if ($this->getAttribute('zrl')) {
|
||||||
$queryParameters = [];
|
$uri = new \ByJG\Util\Uri($url);
|
||||||
|
$uri->withQueryKeyValue('zrl', $this->getAttribute('zrl'));
|
||||||
$parsed = parse_url($url);
|
$url = $uri->__toString();
|
||||||
if (!empty($parsed['query'])) {
|
|
||||||
parse_str($parsed['query'], $queryParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
$queryParameters['zrl'] = $this->getAttribute('zrl');
|
|
||||||
|
|
||||||
$parsed['query'] = http_build_query($queryParameters);
|
|
||||||
|
|
||||||
$url = Url::unparse($parsed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $url;
|
return $url;
|
||||||
|
|
Loading…
Reference in a new issue