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

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
Côme Chilliet 2024-02-01 14:29:51 +01:00 committed by Côme Chilliet
parent 4f69f49a75
commit 6fc5cef6e9

View file

@ -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())) {