From 47ac489b24a588f4d848b5c1e8a20112052bc9d5 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Tue, 14 May 2019 10:54:30 +0200 Subject: [PATCH] MOBILE-3013 core: Support relative URLs in redirect --- src/providers/urlschemes.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/providers/urlschemes.ts b/src/providers/urlschemes.ts index 5f0b89b17..214a925c4 100644 --- a/src/providers/urlschemes.ts +++ b/src/providers/urlschemes.ts @@ -130,7 +130,7 @@ export class CoreCustomURLSchemesProvider { }).then((result) => { data = result; - if (data.redirect && data.redirect.indexOf(data.siteUrl) == -1) { + if (data.redirect && data.redirect.match(/^https?:\/\//) && data.redirect.indexOf(data.siteUrl) == -1) { // Redirect URL must belong to the same site. Reject. return Promise.reject(this.translate.instant('core.contentlinks.errorredirectothersite')); } @@ -173,6 +173,11 @@ export class CoreCustomURLSchemesProvider { return; } + if (data.redirect && !data.redirect.match(/^https?:\/\//)) { + // Redirect is a relative URL. Append the site URL. + data.redirect = this.textUtils.concatenatePaths(data.siteUrl, data.redirect); + } + let promise; if (siteId) {