summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2011-08-08 21:42:25 +0200
committerRobin Appelman <icewind1991@gmail.com>2011-08-08 21:43:31 +0200
commite6f6d3dabccb5f9fd42d7f0f609107a9023fc4d3 (patch)
treeb99446ea286dd9df0275500c1798eb1654aadb01 /lib
parent7820e8959c1764f6260005ff8aeca41ca13c3e8e (diff)
downloadnextcloud-server-e6f6d3dabccb5f9fd42d7f0f609107a9023fc4d3.tar.gz
nextcloud-server-e6f6d3dabccb5f9fd42d7f0f609107a9023fc4d3.zip
dont use a different navigation page for settings stuff
Diffstat (limited to 'lib')
-rw-r--r--lib/app.php181
-rw-r--r--lib/template.php16
2 files changed, 30 insertions, 167 deletions
diff --git a/lib/app.php b/lib/app.php
index 9e81ed8184e..51e86c847dd 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -30,10 +30,7 @@ class OC_App{
static private $init = false;
static private $apps = array();
static private $activeapp = '';
- static private $adminpages = array();
- static private $settingspages = array();
static private $navigation = array();
- static private $subnavigation = array();
/**
* @brief loads all apps
@@ -167,38 +164,6 @@ class OC_App{
}
/**
- * @brief adds a sub entry to the navigation
- * @param $parent id of the parent
- * @param $data array containing the data
- * @returns true/false
- *
- * This function adds a new sub entry to the navigation visible to users.
- * these entries are visible only if the parent navigation entry is marked
- * as being active (see activateNavigationEntry()). $data is an associative
- * array.
- * The following keys are required:
- * - id: unique id for this entry ('addressbook_index')
- * - href: link to the page
- * - name: Human readable name ('Addressbook')
- *
- * The following keys are optional:
- * - icon: path to the icon of the app
- * - order: integer, that influences the position of your application in
- * the navigation. Lower values come first.
- */
- public static function addNavigationSubEntry( $parent, $data ){
- $data['active']=false;
- if(!isset($data['icon'])){
- $data['icon']='';
- }
- if( !array_key_exists( $parent, self::$subnavigation )){
- self::$subnavigation[$parent] = array();
- }
- self::$subnavigation[$parent][] = $data;
- return true;
- }
-
- /**
* @brief marks a navigation entry as active
* @param $id id of the entry
* @returns true/false
@@ -224,70 +189,6 @@ class OC_App{
}
/**
- * @brief registers an admin page
- * @param $data array containing the data
- * @returns true/false
- *
- * This function registers a admin page that will be shown in the admin
- * menu. $data is an associative array.
- * The following keys are required:
- * - id: unique id for this entry ('files_admin')
- * - href: link to the admin page
- * - name: Human readable name ('Files Administration')
- *
- * The following keys are optional:
- * - order: integer, that influences the position of your application in
- * the list. Lower values come first.
- */
- public static function addAdminPage( $data = array()){
- // TODO: write function
- OC_App::$adminpages[] = $data;
- return true;
- }
-
- /**
- * @brief registers a settings page
- * @param $data array containing the data
- * @returns true/false
- *
- * This function registers a settings page. $data is an associative array.
- * The following keys are required:
- * - app: app the settings belong to ('files')
- * - id: unique id for this entry ('files_public')
- * - href: link to the admin page
- * - name: Human readable name ('Public files')
- *
- * The following keys are optional:
- * - order: integer, that influences the position of your application in
- * the list. Lower values come first.
- *
- * For the main settings page of an app, the keys 'app' and 'id' have to be
- * the same.
- */
- public static function addSettingsPage( $data = array()){
- // TODO: write function
- OC_App::$settingspages[] = $data;
- return true;
- }
-
- /**
- * @brief Returns the navigation
- * @returns associative array
- *
- * This function returns an array containing all entries added. The
- * 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 );
- $navigation = self::addSubNavigation( $navigation );
- return $navigation;
- }
-
- /**
* @brief Returns the Settings Navigation
* @returns associative array
*
@@ -295,57 +196,20 @@ class OC_App{
* entries are sorted by the key 'order' ascending.
*/
public static function getSettingsNavigation(){
- $navigation = self::proceedNavigation( self::$settingspages );
- $navigation = self::addSubNavigation( $navigation );
-
- return $navigation;
- }
-
- /**
- * @brief Returns the admin navigation
- * @returns associative array
- *
- * This function returns an array containing all admin pages added. The
- * entries are sorted by the key 'order' ascending.
- */
- public static function getAdminNavigation(){
- $navigation = self::proceedNavigation( self::$adminpages );
- $navigation = self::addSubNavigation( $navigation );
-
- return $navigation;
- }
-
- /// Private foo
- private static function addSubNavigation( $list ){
- if(isset(self::$subnavigation[self::$activeapp])){
- $subNav=self::$subnavigation[self::$activeapp];
- foreach( $list as &$naventry ){
- if( $naventry['id'] == self::$activeapp ){
- $naventry['active'] = true;
- $naventry['subnavigation'] = $subNav;
- }
- }
- }else{
- foreach(self::$subnavigation as $parent=>$entries){
- $activeParent=false;
- foreach($entries as &$subNav){
- $subNav['active']=$subNav['id'] == self::$activeapp;
- if($subNav['active']){
- $activeParent=true;
- }
- }
- if($activeParent){
- foreach( $list as &$naventry ){
- if( $naventry['id'] == $parent ){
- $naventry['active'] = true;
- $naventry['subnavigation'] = $entries;
- }
- }
- }
- }
+ $admin=array(
+ array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "admin", "users.php" ), "name" => "Users", "icon" => OC_Helper::imagePath( "admin", "users.png" )),
+ array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkTo( "admin", "apps.php?installed" ), "name" => "Apps", "icon" => OC_Helper::imagePath( "admin", "apps.png" )),
+ array( "id" => "files_administration", "order" => 3, "href" => OC_Helper::linkTo( "files", "admin.php" ), "name" => "Files", "icon" => OC_Helper::imagePath( "files", "folder.png" )),
+ );
+ $settings=array(
+ array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkTo( "help", "index.php" ), "name" => "Help", "icon" => OC_Helper::imagePath( "help", "help.png" )),
+ array( "id" => "settings", "order" => 1, "href" => OC_Helper::linkTo( "settings", "index.php" ), "name" => "Personal", "icon" => OC_Helper::imagePath( "settings", "personal.png" ))
+ );
+ if( OC_Group::inGroup( $_SESSION["user_id"], "admin" )){
+ $settings=array_merge($admin,$settings);
}
-
- return $list;
+ $navigation = self::proceedNavigation($settings);
+ return $navigation;
}
/// This is private as well. It simply works, so don't ask for more details
@@ -354,9 +218,6 @@ class OC_App{
$naventry['subnavigation'] = array();
if( $naventry['id'] == self::$activeapp ){
$naventry['active'] = true;
- if( array_key_exists( $naventry['id'], self::$subnavigation )){
- $naventry['subnavigation'] = self::$subnavigation[$naventry['id']];
- }
}
else{
$naventry['active'] = false;
@@ -393,6 +254,22 @@ class OC_App{
}
/**
+ * @brief Returns the navigation
+ * @returns associative array
+ *
+ * This function returns an array containing all entries added. The
+ * 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 );
+ return $navigation;
+ }
+
+ /**
* get the id of loaded app
* @return string
*/
diff --git a/lib/template.php b/lib/template.php
index 124343bd85b..12047a38a13 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -242,22 +242,8 @@ class OC_Template{
// Add navigation entry
$page->assign( "navigation", OC_App::getNavigation());
- }
- elseif( $this->renderas == "admin" )
- {
- $page = new OC_Template( "core", "layout.admin" );
- $search=new OC_Template( 'core', 'part.searchbox');
- $search->assign('searchurl',OC_Helper::linkTo( 'search', 'index.php' ));
- $page->assign('searchbox', $search->fetchPage());
-
- // Add menu data
- if( OC_Group::inGroup( $_SESSION["user_id"], "admin" )){
- $page->assign( "adminnavigation", OC_App::getAdminNavigation());
- }
$page->assign( "settingsnavigation", OC_App::getSettingsNavigation());
- }
- else
- {
+ }else{
$page = new OC_Template( "core", "layout.guest" );
}