summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/routes.php15
-rwxr-xr-xlib/app.php18
-rwxr-xr-xsettings/admin.php2
-rw-r--r--settings/apps.php2
-rw-r--r--settings/help.php3
-rw-r--r--settings/personal.php2
-rw-r--r--settings/settings.php2
-rw-r--r--settings/users.php4
8 files changed, 34 insertions, 14 deletions
diff --git a/core/routes.php b/core/routes.php
index 04b42d20598..9a84eb64a3b 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -6,6 +6,21 @@
* See the COPYING-README file.
*/
+// Core settings pages
+$this->create('settings_help', '/settings/help')
+ ->actionInclude('settings/help.php');
+$this->create('settings_personal', '/settings/personal')
+ ->actionInclude('settings/personal.php');
+$this->create('settings_settings', '/settings')
+ ->actionInclude('settings/settings.php');
+$this->create('settings_users', '/settings/users')
+ ->actionInclude('settings/users.php');
+$this->create('settings_apps', '/settings/apps')
+ ->actionInclude('settings/apps.php');
+$this->create('settings_admin', '/settings/admin')
+ ->actionInclude('settings/admin.php');
+
+// Not specifically routed
$this->create('app_css', '/apps/{app}/{file}')
->requirements(array('file' => '.*.css'))
->action('OC', 'loadCSSFile');
diff --git a/lib/app.php b/lib/app.php
index 7889339e420..71add883802 100755
--- a/lib/app.php
+++ b/lib/app.php
@@ -282,33 +282,33 @@ class OC_App{
// by default, settings only contain the help menu
if(OC_Config::getValue('knowledgebaseenabled', true)==true) {
$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" => "help", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_help" ), "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" ));
+ $settings[] = array( "id" => "personal", "order" => 1, "href" => OC_Helper::linkToRoute( "settings_personal" ), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath( "settings", "personal.svg" ));
// if there are 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" ));
+ $settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_settings" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" ));
//SubAdmins are also allowed to access user management
if(OC_SubAdmin::isSubAdmin($_SESSION["user_id"]) || 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" ));
+ $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_Group::inGroup( $_SESSION["user_id"], "admin" )) {
// 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" ));
+ $settings[] = array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkToRoute( "settings_apps" ).'?installed', "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" ));
- $settings[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "admin.php" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" ));
+ $settings[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_admin" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" ));
}
}
@@ -485,6 +485,12 @@ class OC_App{
public static function getCurrentApp() {
$script=substr($_SERVER["SCRIPT_NAME"], strlen(OC::$WEBROOT)+1);
$topFolder=substr($script, 0, strpos($script, '/'));
+ if (empty($topFolder)) {
+ $path_info = OC_Request::getPathInfo();
+ if ($path_info) {
+ $topFolder=substr($path_info, 1, strpos($path_info, '/', 1)-1);
+ }
+ }
if($topFolder=='apps') {
$length=strlen($topFolder);
return substr($script, $length+1, strpos($script, '/', $length+1)-$length-1);
diff --git a/settings/admin.php b/settings/admin.php
index a36f2190386..9cb70353f9c 100755
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -5,8 +5,8 @@
* See the COPYING-README file.
*/
-require_once '../lib/base.php';
OC_Util::checkAdminUser();
+OC_App::loadApps();
OC_Util::addStyle( "settings", "settings" );
OC_Util::addScript( "settings", "admin" );
diff --git a/settings/apps.php b/settings/apps.php
index a1c1bf6aa53..8134b44143a 100644
--- a/settings/apps.php
+++ b/settings/apps.php
@@ -21,8 +21,8 @@
*
*/
-require_once '../lib/base.php';
OC_Util::checkAdminUser();
+OC_App::loadApps();
// Load the files we need
OC_Util::addStyle( "settings", "settings" );
diff --git a/settings/help.php b/settings/help.php
index 9157308dd57..69a5ec9c146 100644
--- a/settings/help.php
+++ b/settings/help.php
@@ -5,9 +5,8 @@
* See the COPYING-README file.
*/
-require_once '../lib/base.php';
OC_Util::checkLoggedIn();
-
+OC_App::loadApps();
// Load the files we need
OC_Util::addStyle( "settings", "settings" );
diff --git a/settings/personal.php b/settings/personal.php
index 4f92985c797..ce9065247df 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -5,8 +5,8 @@
* See the COPYING-README file.
*/
-require_once '../lib/base.php';
OC_Util::checkLoggedIn();
+OC_App::loadApps();
// Highlight navigation entry
OC_Util::addScript( 'settings', 'personal' );
diff --git a/settings/settings.php b/settings/settings.php
index 24099ef5742..1e05452ec4d 100644
--- a/settings/settings.php
+++ b/settings/settings.php
@@ -5,8 +5,8 @@
* See the COPYING-README file.
*/
-require_once '../lib/base.php';
OC_Util::checkLoggedIn();
+OC_App::loadApps();
OC_Util::addStyle( 'settings', 'settings' );
OC_App::setActiveNavigationEntry( 'settings' );
diff --git a/settings/users.php b/settings/users.php
index e76505cc78d..6eaae474538 100644
--- a/settings/users.php
+++ b/settings/users.php
@@ -5,8 +5,8 @@
* See the COPYING-README file.
*/
-require_once '../lib/base.php';
OC_Util::checkSubAdminUser();
+OC_App::loadApps();
// We have some javascript foo!
OC_Util::addScript( 'settings', 'users' );
@@ -57,4 +57,4 @@ $tmpl->assign( 'subadmins', $subadmins);
$tmpl->assign( 'numofgroups', count($accessiblegroups));
$tmpl->assign( 'quota_preset', $quotaPreset);
$tmpl->assign( 'default_quota', $defaultQuota);
-$tmpl->printPage(); \ No newline at end of file
+$tmpl->printPage();