diff --git a/src/App/Page.php b/src/App/Page.php index 8dd876346..4b1929a99 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -15,6 +15,7 @@ use Friendica\Core\Renderer; use Friendica\Core\Theme; use Friendica\Module\Special\HTTPException as ModuleHTTPException; use Friendica\Network\HTTPException; +use Friendica\Util\Network; use Friendica\Util\Strings; /** @@ -151,6 +152,8 @@ class Page implements ArrayAccess */ public function registerStylesheet($path) { + $path = Network::appendQueryParam($path, ['v' => FRIENDICA_VERSION]); + if (mb_strpos($path, $this->basePath . DIRECTORY_SEPARATOR) === 0) { $path = mb_substr($path, mb_strlen($this->basePath . DIRECTORY_SEPARATOR)); } @@ -334,6 +337,8 @@ class Page implements ArrayAccess */ public function registerFooterScript($path) { + $path = Network::appendQueryParam($path, ['v' => FRIENDICA_VERSION]); + $url = str_replace($this->basePath . DIRECTORY_SEPARATOR, '', $path); $this->footerScripts[] = trim($url, '/'); diff --git a/src/Util/Network.php b/src/Util/Network.php index e2cfc3e84..17ddd048a 100644 --- a/src/Util/Network.php +++ b/src/Util/Network.php @@ -870,4 +870,27 @@ class Network return $url; } + + /** + * Adds query string parameters to the provided URI. Replace the value of existing keys. + * + * @param string $path + * @param array $additionalParams Associative array of parameters + * @return string + */ + public static function appendQueryParam(string $path, array $additionalParams) + { + $parsed = parse_url($path); + + $params = []; + if (!empty($parsed['query'])) { + parse_str($parsed['query'], $params); + } + + $params = array_merge($params, $additionalParams); + + $parsed['query'] = http_build_query($params); + + return self::unparseURL($parsed); + } } diff --git a/view/templates/admin/federation.tpl b/view/templates/admin/federation.tpl index 9850a3741..177d5406f 100644 --- a/view/templates/admin/federation.tpl +++ b/view/templates/admin/federation.tpl @@ -1,4 +1,4 @@ - +