aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJakob Sack <kde@jakobsack.de>2011-08-08 23:16:30 +0200
committerJakob Sack <kde@jakobsack.de>2011-08-08 23:16:30 +0200
commit962907ee6f12f20c374263d6507d3557bb053e3c (patch)
tree90e387c638e4fd697b96f0fba7f0a75ff140226c /lib
parent4b967a941426dbc7994105208e2226524651bf6d (diff)
parentd1d47eb5eb28d9a62f3a16cc3b1be4e0136bed8b (diff)
downloadnextcloud-server-962907ee6f12f20c374263d6507d3557bb053e3c.tar.gz
nextcloud-server-962907ee6f12f20c374263d6507d3557bb053e3c.zip
Merge branch 'master' of git://anongit.kde.org/owncloud
Conflicts: lib/template.php
Diffstat (limited to 'lib')
-rw-r--r--lib/app.php181
-rw-r--r--lib/setup.php4
-rw-r--r--lib/template.php19
3 files changed, 38 insertions, 166 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/setup.php b/lib/setup.php
index f87581d7582..04a65d01265 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -224,7 +224,9 @@ class OC_Setup {
OC_Installer::installShippedApps(true);
//create htaccess files for apache hosts
- self::createHtaccess(); //TODO detect if apache is used
+ if (strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
+ self::createHtaccess();
+ }
//and we are done
OC_Config::setValue('installed', true);
diff --git a/lib/template.php b/lib/template.php
index 37da1919556..2ba26eebac8 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -233,23 +233,16 @@ class OC_Template{
$search=new OC_Template( 'core', 'part.searchbox');
$search->assign('searchurl',OC_Helper::linkTo( 'search', 'index.php' ));
$page->assign('searchbox', $search->fetchPage());
+ if(array_search(OC_APP::getCurrentApp(),array('settings','admin','help'))!==false){
+ $page->assign('bodyid','body-settings');
+ }else{
+ $page->assign('bodyid','body-user');
+ }
// 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" );
}