fix: Support other schemes than HTTP and HTTPS in app navigation

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
pull/43520/head
Côme Chilliet 2024-02-01 14:29:51 +07:00 committed by backportbot[bot]
parent ce808eefb5
commit 4cf140b5e5
1 changed files with 2 additions and 1 deletions

@ -115,7 +115,8 @@ class NavigationController extends OCSController {
*/
private function rewriteToAbsoluteUrls(array $navigation): array {
foreach ($navigation as &$entry) {
if (!str_starts_with($entry['href'], 'https://') && !str_starts_with($entry['href'], 'http://')) {
/* If parse_url finds no host it means the URL is not absolute */
if (!isset(\parse_url($entry['href'])['host'])) {
$entry['href'] = $this->urlGenerator->getAbsoluteURL($entry['href']);
}
if (!str_starts_with($entry['icon'], $this->urlGenerator->getBaseUrl())) {