From c97b4274ccdc4fa841b164dedb608fdf351a0412 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Thu, 4 Oct 2018 21:06:00 +0200 Subject: Add function to generate urls for OCS routes fixes #11617 The OCS routes are only absolute for now as they are often exposed to the outside anyway and are on a different endpoint than index.php in anyway. Signed-off-by: Roeland Jago Douma --- lib/private/URLGenerator.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/private/URLGenerator.php') diff --git a/lib/private/URLGenerator.php b/lib/private/URLGenerator.php index 6f4f869238c..f4a83138e4c 100644 --- a/lib/private/URLGenerator.php +++ b/lib/private/URLGenerator.php @@ -91,6 +91,19 @@ class URLGenerator implements IURLGenerator { return $this->getAbsoluteURL($this->linkToRoute($routeName, $arguments)); } + public function linkToOCSRouteAbsolute(string $routeName, array $arguments = []): string { + $route = \OC::$server->getRouter()->generate('ocs.'.$routeName, $arguments, false); + + if (strpos($route, '/index.php') === 0) { + $route = substr($route, 10); + } + + $route = substr($route, 7); + $route = '/ocs/v2.php' . $route; + + return $this->getAbsoluteURL($route); + } + /** * Creates an url * @param string $app app -- cgit v1.2.3