+ Hook::callAll('page_header', $nav);
+
+ return $nav;
+ }
+
+ /**
+ * Returns the addon app menu
+ *
+ * @return array
+ */
+ public static function getAppMenu()
+ {
+ if (is_null(self::$app_menu)) {
+ self::populateAppMenu();
+ }
+
+ return self::$app_menu;
+ }
+
+ /**
+ * Fills the apps static variable with apps that require a menu
+ */
+ private static function populateAppMenu()
+ {
+ self::$app_menu = [];
+
+ //Don't populate apps_menu if apps are private
+ $privateapps = Config::get('config', 'private_addons', false);
+ if (local_user() || !$privateapps) {
+ $arr = ['app_menu' => self::$app_menu];
+
+ Hook::callAll('app_menu', $arr);
+
+ self::$app_menu = $arr['app_menu'];
+ }