diff --git a/lib/Controller/AppController.php b/lib/Controller/AppController.php index 83a0e8c..5516090 100644 --- a/lib/Controller/AppController.php +++ b/lib/Controller/AppController.php @@ -78,29 +78,33 @@ class AppController extends Controller continue; } - return $this->redirectToApp($app['id']); + return $this->redirectToApp($app, true); } return $this->redirectToApp('files'); } - protected function redirectToApp($appId): RedirectResponse + protected function redirectToApp($app, bool $isHref = false): RedirectResponse { - $isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue( - 'htaccess.IgnoreFrontController', - false - ); + if (!$isHref) { + $isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue( + 'htaccess.IgnoreFrontController', + false + ); - $isFrontControllerActive = 'true' === getenv('front_controller_active'); + $isFrontControllerActive = 'true' === getenv('front_controller_active'); - if ($isIgnoreFrontController || $isFrontControllerActive) { - $path = '/apps/%s/'; + if ($isIgnoreFrontController || $isFrontControllerActive) { + $path = '/apps/%s/'; + } else { + $path = '/index.php/apps/%s/'; + } + + $url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $app)); } else { - $path = '/index.php/apps/%s/'; + $url = $app['href']; } - $url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $appId)); - return new RedirectResponse($url); } }