From b078d1f1deadc6a581ad0c6bfd9bba5ed875376d Mon Sep 17 00:00:00 2001 From: Pierre-Alain Bandinelli Date: Wed, 23 Mar 2022 07:49:44 +0100 Subject: [PATCH] Backporting changes in app_path detection --- .../v/1.16.0/app/libraries/RainLoop/Utils.php | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/app/rainloop/v/1.16.0/app/libraries/RainLoop/Utils.php b/app/rainloop/v/1.16.0/app/libraries/RainLoop/Utils.php index ceb7f687..d772b8f3 100644 --- a/app/rainloop/v/1.16.0/app/libraries/RainLoop/Utils.php +++ b/app/rainloop/v/1.16.0/app/libraries/RainLoop/Utils.php @@ -562,10 +562,10 @@ public static function WebPath() $sAppPath = ''; if (\RainLoop\Utils::IsOwnCloud()) { - if (\class_exists('OC_App')) - { - $sAppPath = \rtrim(\trim(\OC_App::getAppWebPath('rainloop')), '\\/').'/app/'; - } + $sAppPath = \OC::$server->getURLGenerator()->linkToRoute('rainloop.page.appGet'); + // TODO: Fix this ugly hack. Is there a "modern" way to return + // a URL that doesn't include index.php, which breaks things? + $sAppPath = preg_replace('/index\.php\//', '', $sAppPath); if (empty($sAppPath)) { @@ -577,9 +577,18 @@ public static function WebPath() } } } - - return $sAppPath; + /*Now trying to detect the apps folder to give the right URL for assets */ + $re = '/\/([a-zA-Z0-9-_\.]*)\/rainloop\/app\//m'; + $str = __FILE__; + preg_match($re, $str, $matches); + + if ($matches[1] == "apps") { + return $sAppPath; + } else { + return str_replace("/apps/rainloop/app", "/".$matches[1]."/rainloop/app", $sAppPath); + } } + /** * @return string */