/** * Returns the Settings Navigation * * @return string * * This function returns an array containing all settings pages added. The * entries are sorted by the key 'order' ascending. */ public static function getSettingsNavigation() { $l = \OC::$server->getL10N('lib'); $defaults = new OC_Defaults(); $settings = array(); // by default, settings only contain the help menu if (OC_Util::getEditionString() === '' && OC_Config::getValue('knowledgebaseenabled', true) == true) { $settings = array(array("id" => "help", "order" => 1000, "href" => $defaults->getKnowledgeBaseUrl(), "name" => $l->t("Help"), "icon" => OC_Helper::imagePath("settings", "help.svg"))); } // if the user is logged-in if (OC_User::isLoggedIn()) { // personal menu $settings[] = array("id" => "personal", "order" => 1, "href" => OC_Helper::linkToRoute("settings_personal"), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath("settings", "personal.svg")); //SubAdmins are also allowed to access user management if (OC_SubAdmin::isSubAdmin(OC_User::getUser())) { // admin users menu $settings[] = array("id" => "core_users", "order" => 2, "href" => OC_Helper::linkToRoute("settings_users"), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath("settings", "users.svg")); } // if the user is an admin if (OC_User::isAdminUser(OC_User::getUser())) { // admin settings $settings[] = array("id" => "admin", "order" => 1000, "href" => OC_Helper::linkToRoute("settings_admin"), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath("settings", "admin.svg")); } } $navigation = self::proceedNavigation($settings); return $navigation; }