Fixed the 'Undefined index "user_id"' bug when requesting a publicly shared folder and being logged-out.
The OC_App::navigation array contains by default only the help menu.
This commit is contained in:
parent
2c95c799e6
commit
3388381deb
47
lib/app.php
47
lib/app.php
|
@ -200,23 +200,36 @@ class OC_App{
|
|||
*/
|
||||
public static function getSettingsNavigation(){
|
||||
$l=new OC_L10N('core');
|
||||
$admin=array(
|
||||
array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "settings", "users.php" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" )),
|
||||
array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkTo( "settings", "apps.php?installed" ), "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" )),
|
||||
);
|
||||
$settings=array(
|
||||
array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "help.php" ), "name" => $l->t("Help"), "icon" => OC_Helper::imagePath( "settings", "help.svg" )),
|
||||
array( "id" => "personal", "order" => 1, "href" => OC_Helper::linkTo( "settings", "personal.php" ), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath( "settings", "personal.svg" ))
|
||||
);
|
||||
if(count(self::$settingsForms)>0){
|
||||
$settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "settings.php" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" ));
|
||||
}
|
||||
if(count(self::$adminForms)>0){
|
||||
$admin[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "admin.php" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" ));
|
||||
}
|
||||
if( OC_Group::inGroup( $_SESSION["user_id"], "admin" )){
|
||||
$settings=array_merge($admin,$settings);
|
||||
}
|
||||
|
||||
// by default, settings only contain the help menu
|
||||
$settings = array(
|
||||
array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "help.php" ), "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::linkTo( "settings", "personal.php" ), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath( "settings", "personal.svg" ));
|
||||
|
||||
// if there're some settings forms
|
||||
if(!empty(self::$settingsForms))
|
||||
// settings menu
|
||||
$settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "settings.php" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" ));
|
||||
|
||||
// if the user is an admin
|
||||
if(OC_Group::inGroup( $_SESSION["user_id"], "admin" )) {
|
||||
// admin users menu
|
||||
$settings[] = array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "settings", "users.php" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" ));
|
||||
// admin apps menu
|
||||
$settings[] = array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkTo( "settings", "apps.php?installed" ), "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" ));
|
||||
|
||||
// if there're some admin forms
|
||||
if(!empty(self::$adminForms))
|
||||
// admins menu
|
||||
$settings[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "admin.php" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" ));
|
||||
}
|
||||
}
|
||||
|
||||
$navigation = self::proceedNavigation($settings);
|
||||
return $navigation;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue