summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/app.php17
-rw-r--r--lib/base.php1
-rw-r--r--settings/ajax/navigationdetect.php5
3 files changed, 19 insertions, 4 deletions
diff --git a/lib/app.php b/lib/app.php
index 54f16d6bdcd..ca256ed1aaa 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -295,6 +295,23 @@ class OC_App{
}
/**
+ * @brief Get the navigation entries for the $app
+ * @param string $app app
+ * @return array of the $data added with addNavigationEntry
+ */
+ public static function getAppNavigationEntries($app) {
+ if(is_file(self::getAppPath($app).'/appinfo/app.php')) {
+ $save = self::$navigation;
+ self::$navigation = array();
+ require $app.'/appinfo/app.php';
+ $app_entries = self::$navigation;
+ self::$navigation = $save;
+ return $app_entries;
+ }
+ return array();
+ }
+
+ /**
* @brief gets the active Menu entry
* @return string id or empty string
*
diff --git a/lib/base.php b/lib/base.php
index 3de38258d03..c60a97100f4 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -557,6 +557,7 @@ class OC {
if (!self::$CLI) {
try {
+ OC_App::loadApps();
OC::getRouter()->match(OC_Request::getPathInfo());
return;
} catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) {
diff --git a/settings/ajax/navigationdetect.php b/settings/ajax/navigationdetect.php
index 607c0e873f9..7f961eb9bc5 100644
--- a/settings/ajax/navigationdetect.php
+++ b/settings/ajax/navigationdetect.php
@@ -6,10 +6,7 @@ OCP\JSON::callCheck();
$app = $_GET['app'];
$app = OC_App::cleanAppId($app);
-//load the one app and see what it adds to the navigation
-OC_App::loadApp($app);
-
-$navigation = OC_App::getNavigation();
+$navigation = OC_App::getAppNavigationEntries($app);
$navIds = array();
foreach ($navigation as $nav) {