summaryrefslogtreecommitdiffstats
path: root/lib/app.php
diff options
context:
space:
mode:
authorTom Needham <needham.thomas@gmail.com>2012-12-14 15:15:05 +0000
committerTom Needham <needham.thomas@gmail.com>2012-12-14 15:15:05 +0000
commit5fe61296981343a3f877618aeecfc33ea7fed3c1 (patch)
tree919ea533c8d98f71f7c77d534eb0595207d22a17 /lib/app.php
parent4facd766e3712d4c714f2e1bf2ad4be41461a7cc (diff)
parentf0893fb8fe7f0642ae30de2e1168472377c127e2 (diff)
downloadnextcloud-server-5fe61296981343a3f877618aeecfc33ea7fed3c1.tar.gz
nextcloud-server-5fe61296981343a3f877618aeecfc33ea7fed3c1.zip
Merge master into ocs_api, fix conflicts.
Diffstat (limited to 'lib/app.php')
-rw-r--r--lib/app.php35
1 files changed, 20 insertions, 15 deletions
diff --git a/lib/app.php b/lib/app.php
index 3d2ceb1729f..ccd0958cd01 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -92,7 +92,7 @@ class OC_App{
* @param string/array $types
* @return bool
*/
- public static function isType($app,$types) {
+ public static function isType($app, $types) {
if(is_string($types)) {
$types=array($types);
}
@@ -199,7 +199,7 @@ class OC_App{
}else{
$download=OC_OCSClient::getApplicationDownload($app, 1);
if(isset($download['downloadlink']) and $download['downloadlink']!='') {
- $app=OC_Installer::installApp(array('source'=>'http','href'=>$download['downloadlink']));
+ $app=OC_Installer::installApp(array('source'=>'http', 'href'=>$download['downloadlink']));
}
}
}
@@ -267,6 +267,8 @@ class OC_App{
* highlighting the current position of the user.
*/
public static function setActiveNavigationEntry( $id ) {
+ // load all the apps, to make sure we have all the navigation entries
+ self::loadApps();
self::$activeapp = $id;
return true;
}
@@ -296,33 +298,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" ));
}
}
@@ -333,7 +335,6 @@ class OC_App{
/// This is private as well. It simply works, so don't ask for more details
private static function proceedNavigation( $list ) {
foreach( $list as &$naventry ) {
- $naventry['subnavigation'] = array();
if( $naventry['id'] == self::$activeapp ) {
$naventry['active'] = true;
}
@@ -419,7 +420,7 @@ class OC_App{
* @return array
* @note all data is read from info.xml, not just pre-defined fields
*/
- public static function getAppInfo($appid,$path=false) {
+ public static function getAppInfo($appid, $path=false) {
if($path) {
$file=$appid;
}else{
@@ -483,8 +484,6 @@ class OC_App{
* entries are sorted by the key 'order' ascending. Additional to the keys
* given for each app the following keys exist:
* - active: boolean, signals if the user is on this navigation entry
- * - children: array that is empty if the key 'active' is false or
- * contains the subentries if the key 'active' is true
*/
public static function getNavigation() {
$navigation = self::proceedNavigation( self::$navigation );
@@ -498,6 +497,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);
@@ -534,21 +539,21 @@ class OC_App{
/**
* register a settings form to be shown
*/
- public static function registerSettings($app,$page) {
+ public static function registerSettings($app, $page) {
self::$settingsForms[]= $app.'/'.$page.'.php';
}
/**
* register an admin form to be shown
*/
- public static function registerAdmin($app,$page) {
+ public static function registerAdmin($app, $page) {
self::$adminForms[]= $app.'/'.$page.'.php';
}
/**
* register a personal form to be shown
*/
- public static function registerPersonal($app,$page) {
+ public static function registerPersonal($app, $page) {
self::$personalForms[]= $app.'/'.$page.'.php';
}