diff options
author | Robin Appelman <icewind1991@gmail.com> | 2011-08-08 23:42:25 +0400 |
---|---|---|
committer | Robin Appelman <icewind1991@gmail.com> | 2011-08-08 23:43:31 +0400 |
commit | e6f6d3dabccb5f9fd42d7f0f609107a9023fc4d3 (patch) | |
tree | b99446ea286dd9df0275500c1798eb1654aadb01 | |
parent | 7820e8959c1764f6260005ff8aeca41ca13c3e8e (diff) |
dont use a different navigation page for settings stuff
-rw-r--r-- | admin/appinfo/app.php | 7 | ||||
-rw-r--r-- | apps/files_publiclink/appinfo/app.php | 2 | ||||
-rw-r--r-- | apps/user_ldap/appinfo/app.php | 2 | ||||
-rw-r--r-- | core/templates/layout.admin.php | 69 | ||||
-rw-r--r-- | core/templates/layout.user.php | 13 | ||||
-rw-r--r-- | files/appinfo/app.php | 5 | ||||
-rw-r--r-- | help/appinfo/app.php | 9 | ||||
-rw-r--r-- | lib/app.php | 181 | ||||
-rw-r--r-- | lib/template.php | 16 | ||||
-rw-r--r-- | settings/appinfo/app.php | 1 |
10 files changed, 43 insertions, 262 deletions
diff --git a/admin/appinfo/app.php b/admin/appinfo/app.php index 08a36060fe3..80850638f71 100644 --- a/admin/appinfo/app.php +++ b/admin/appinfo/app.php @@ -2,11 +2,4 @@ OC_App::register( array( "order" => 1, "id" => "admin", "name" => "Administration" )); -// OC_App::addAdminPage( array( "id" => "core_system", "order" => 1, "href" => OC_Helper::linkTo( "admin", "system.php" ), "name" =>"System", "icon" => OC_Helper::imagePath( "admin", "administration.png" ))); -OC_App::addAdminPage( array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "admin", "users.php" ), "name" => "Users", "icon" => OC_Helper::imagePath( "admin", "users.png" ))); -OC_App::addAdminPage( array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkTo( "admin", "apps.php?installed" ), "name" => "Apps", "icon" => OC_Helper::imagePath( "admin", "apps.png" ))); - -// Add subentries for App installer -//OC_App::addNavigationSubEntry( "core_apps", array( "id" => "core_apps_get", "order" => 4, "href" => OC_Helper::linkTo( "admin", "apps.php" ), "name" => "Get new apps", "icon" => OC_Helper::imagePath( "admin", "navicon.png" ))); - ?> diff --git a/apps/files_publiclink/appinfo/app.php b/apps/files_publiclink/appinfo/app.php index 17646b3e5b5..e2d8d27c007 100644 --- a/apps/files_publiclink/appinfo/app.php +++ b/apps/files_publiclink/appinfo/app.php @@ -1,6 +1,6 @@ <?php -OC_App::addNavigationSubEntry('files_index', array( "id" => "files_publiclink_administration", "order" => 1, "href" => OC_Helper::linkTo( "files_publiclink", "admin.php" ), "name" => "Public Links")); +OC_App::addNavigationEntry(array( "id" => "files_publiclink_administration", "order" => 2, "href" => OC_Helper::linkTo( "files_publiclink", "admin.php" ), "name" => "Public Links")); ?> diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php index 7f20372ea8d..a6fca415012 100644 --- a/apps/user_ldap/appinfo/app.php +++ b/apps/user_ldap/appinfo/app.php @@ -36,4 +36,4 @@ $entry = array( 'href' => OC_Helper::linkTo( "user_ldap", "settings.php" ), 'name' => 'LDAP' ); -OC_App::addNavigationSubEntry( "core_users", $entry); +// OC_App::addNavigationSubEntry( "core_users", $entry); diff --git a/core/templates/layout.admin.php b/core/templates/layout.admin.php deleted file mode 100644 index 853fcff608d..00000000000 --- a/core/templates/layout.admin.php +++ /dev/null @@ -1,69 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>ownCloud</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <link rel="shortcut icon" href="<?php echo image_path('', 'favicon.png'); ?>" /><link rel="apple-touch-icon-precomposed" href="<?php echo image_path('', 'favicon-touch.png'); ?>" /> - <?php foreach($_['cssfiles'] as $cssfile): ?> - <link rel="stylesheet" href="<?php echo $cssfile; ?>" type="text/css" media="screen" /> - <?php endforeach; ?> - <script type="text/javascript"> - var oc_webroot = '<?php global $WEBROOT; echo $WEBROOT; ?>'; - var oc_current_user = '<?php echo OC_User::getUser() ?>'; - // </script> - <?php foreach($_['jsfiles'] as $jsfile): ?> - <script type="text/javascript" src="<?php echo $jsfile; ?>"></script> - <?php endforeach; ?> - <?php foreach($_['headers'] as $header): ?> - <?php - echo '<'.$header['tag'].' '; - foreach($header['attributes'] as $name=>$value){ - echo "$name='$value' "; - }; - echo '>'; - echo $header['text']; - echo '</'.$header['tag'].'>'; - ?> - <?php endforeach; ?> - </head> - - <body id="body-settings"> - <div id="header"> - <a href="<?php echo link_to('', 'index.php'); ?>" title="" id="owncloud"><img src="<?php echo image_path('', 'owncloud-logo-small-white.png'); ?>" alt="ownCloud" /></a> - <ul id="metanav"> - <li><a href="<?php echo link_to('', 'index.php'); ?>" title="Back to files"><img class='svg' src="<?php echo image_path('', 'actions/back.svg'); ?>"></a></li> - <li><a href="<?php echo link_to('', 'index.php?logout=true'); ?>" title="Log out"><img class='svg' src="<?php echo image_path('', 'actions/logout.svg'); ?>"></a></li> - </ul> - </div> - - <div id="navigation"> - <ul> - <?php foreach($_['settingsnavigation'] as $entry):?> - <li><a style="background-image:url(<?php echo $entry['icon']; ?>)" href="<?php echo $entry['href']; ?>" title="" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>><?php echo $entry['name'] ?></a></li> - <?php if( sizeof( $entry["subnavigation"] )): ?> - <?php foreach($entry["subnavigation"] as $subentry):?> - <li><a href="<?php echo $subentry['href']; ?>" title="" <?php if( $subentry['active'] ): ?>class="active"<?php endif; ?>><?php echo $subentry['name'] ?></a></li> - <?php endforeach; ?> - <?php endif; ?> - <?php endforeach; ?> - <?php if(isset($_['adminnavigation'])):?> - <?php foreach($_['adminnavigation'] as $entry):?> - <li><a style="background-image:url(<?php echo $entry['icon']; ?>)" href="<?php echo $entry['href']; ?>" title="" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>><?php echo $entry['name'] ?></a> - <?php if( sizeof( $entry["subnavigation"] )): ?> - <ul> - <?php foreach($entry["subnavigation"] as $subentry):?> - <li class="subentry"><a class="subentry<?php if( $subentry['active'] ): ?> active<?php endif; ?>" href="<?php echo $subentry['href']; ?>" title=""><?php echo $subentry['name'] ?></a></li> - <?php endforeach; ?> - </ul> - <?php endif; ?> - </li> - <?php endforeach; ?> - <?php endif; ?> - </ul> - </div> - - <div id="content"> - <?php echo $_['content']; ?> - </div> - </body> -</html> diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 57c48563bd8..db142241d64 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -32,13 +32,12 @@ <a href="<?php echo link_to('', 'index.php'); ?>" title="" id="owncloud"><img src="<?php echo image_path('', 'owncloud-logo-small-white.png'); ?>" alt="ownCloud" /></a> <?php echo $_['searchbox']?> <ul id="metanav"> - <li><a href="<?php echo link_to('settings', 'index.php'); ?>" title="Settings"><img class='svg' src="<?php echo image_path('', 'actions/settings.svg'); ?>"></a></li> <li><a href="<?php echo link_to('', 'index.php'); ?>?logout=true" title="Log out"><img class='svg' src="<?php echo image_path('', 'actions/logout.svg'); ?>"></a></li> </ul> </div> <div id="navigation"> - <ul> + <ul id="apps"> <?php foreach($_['navigation'] as $entry): ?> <li><a style="background-image:url(<?php echo $entry['icon']; ?>)" href="<?php echo $entry['href']; ?>" title="" <?php if( $entry['active'] ): ?> class="active"<?php endif; ?>><?php echo $entry['name']; ?></a> <?php if( sizeof( $entry["subnavigation"] )): ?> @@ -51,6 +50,16 @@ </li> <?php endforeach; ?> </ul> + <ul id="settings"> + <?php foreach($_['settingsnavigation'] as $entry):?> + <li><a style="background-image:url(<?php echo $entry['icon']; ?>)" href="<?php echo $entry['href']; ?>" title="" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>><?php echo $entry['name'] ?></a></li> + <?php if( sizeof( $entry["subnavigation"] )): ?> + <?php foreach($entry["subnavigation"] as $subentry):?> + <li><a href="<?php echo $subentry['href']; ?>" title="" <?php if( $subentry['active'] ): ?>class="active"<?php endif; ?>><?php echo $subentry['name'] ?></a></li> + <?php endforeach; ?> + <?php endif; ?> + <?php endforeach; ?> + </ul> </div> <div id="content"> <?php echo $_['content']; ?> diff --git a/files/appinfo/app.php b/files/appinfo/app.php index 0f95b19f592..a4cec3d6ec2 100644 --- a/files/appinfo/app.php +++ b/files/appinfo/app.php @@ -3,10 +3,5 @@ OC_App::register( array( "order" => 2, "id" => "files", "name" => "Files" )); OC_App::addNavigationEntry( array( "id" => "files_index", "order" => 1, "href" => OC_Helper::linkTo( "files", "index.php" ), "icon" => OC_Helper::imagePath( "files", "home.png" ), "name" => "Files" )); -OC_App::addAdminPage( array( "id" => "files_administration", "order" => 3, "href" => OC_Helper::linkTo( "files", "admin.php" ), "name" => "Files", "icon" => OC_Helper::imagePath( "files", "folder.png" ))); - - -// To add navigation sub entries use -// OC_App::addNavigationSubEntry( "files_index", array( ... )); ?> diff --git a/help/appinfo/app.php b/help/appinfo/app.php index 2e82c0cd181..372e28c97bd 100644 --- a/help/appinfo/app.php +++ b/help/appinfo/app.php @@ -2,13 +2,4 @@ OC_App::register( array( "order" => 1, "id" => "help", "name" => "Help" )); -// Workaround for having help as the last entry always -$entry = array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkTo( "help", "index.php" ), "name" => "Help", "icon" => OC_Helper::imagePath( "help", "help.png" )); -if( isset( $_SESSION["user_id"] ) && OC_Group::inGroup( $_SESSION["user_id"], "admin" )){ - OC_App::addAdminPage( $entry ); -} -else{ - OC_App::addSettingsPage( $entry ); -} - ?> 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" ); } diff --git a/settings/appinfo/app.php b/settings/appinfo/app.php index db4594dcc2d..4ffb944aba3 100644 --- a/settings/appinfo/app.php +++ b/settings/appinfo/app.php @@ -1,6 +1,5 @@ <?php OC_App::register( array( "id" => "settings", "name" => "Settings" )); -OC_App::addSettingsPage( array( "id" => "settings", "order" => -1000, "href" => OC_Helper::linkTo( "settings", "index.php" ), "name" => "Personal", "icon" => OC_Helper::imagePath( "settings", "personal.png" ))); ?> |