Invoke IPageMenuItemProvider::getLink() for landing pages
authorAlexander Ebert <ebert@woltlab.com>
Fri, 24 Jan 2014 16:17:35 +0000 (17:17 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Fri, 24 Jan 2014 16:17:35 +0000 (17:17 +0100)
wcfsetup/install/files/lib/system/request/LinkHandler.class.php

index 5a51c788640d97c95ea5a8820a346c5f295df700..0e2768f93adbac4e79af191623a8aeed9eb31a2e 100644 (file)
@@ -2,6 +2,7 @@
 namespace wcf\system\request;
 use wcf\data\DatabaseObjectDecorator;
 use wcf\system\application\ApplicationHandler;
+use wcf\system\menu\page\IPageMenuItemProvider;
 use wcf\system\menu\page\PageMenu;
 use wcf\system\request\RouteHandler;
 use wcf\system\Regex;
@@ -120,9 +121,14 @@ class LinkHandler extends SingletonFactory {
                        else {
                                // build link to landing page
                                $landingPage = PageMenu::getInstance()->getLandingPage();
-                               $controller = $landingPage->getController();
-                               $abbreviation = $landingPage->getApplication();
-                               $url = $landingPage->menuItemLink;
+                               if ($landingPage instanceof IPageMenuItemProvider) {
+                                       return $landingPage->getLink();
+                               }
+                               else {
+                                       $controller = $landingPage->getController();
+                                       $abbreviation = $landingPage->getApplication();
+                                       $url = $landingPage->menuItemLink;
+                               }
                        }
                }