From d87f76019fc231ec20d95126a7fee0487e7be5f0 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 14 Aug 2012 10:56:20 -0400
Subject: [PATCH] - Added new web folder named private to web folder layout. The folder is intended to store data that shall not be visible in the web directory, it is owned by the user of the web. - Changed ownership of web root directory to root user in all security modes to prevent symlink attacks. - Apache log files are now owned by user root. - Improved functions in system library.

---
 interface/web/admin/lib/module.conf.php |  226 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 118 insertions(+), 108 deletions(-)

diff --git a/interface/web/admin/lib/module.conf.php b/interface/web/admin/lib/module.conf.php
index a9802e7..91a9401 100644
--- a/interface/web/admin/lib/module.conf.php
+++ b/interface/web/admin/lib/module.conf.php
@@ -2,166 +2,176 @@
 
 global $conf;
 
-$module['name'] 		= 'admin';
-$module['title'] 		= 'top_menu_system';
+$module['name'] 	= 'admin';
+$module['title'] 	= 'top_menu_system';
 $module['template'] 	= 'module.tpl.htm';
 $module['startpage'] 	= 'admin/server_list.php';
 $module['tab_width']    = '60';
 
 
-$items[] = array( 'title' 	=> 'Add user',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/users_edit.php');
+$items[] = array(   'title'     => 'CP Users',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/users_list.php',
+                    'html_id'   => 'user_list');
 
-$items[] = array( 'title' 	=> 'Edit user',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/users_list.php');
+$items[] = array(   'title' 	=> 'Remote Users',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/remote_user_list.php',
+                    'html_id'   => 'remote_user_list');
 
-				  
-$module['nav'][] = array(	'title'	=> 'CP Users',
-							'open' 	=> 1,
-							'items'	=> $items);
-
+$module['nav'][] = array(   'title'	=> 'User Management',
+                            'open' 	=> 1,
+                            'items'	=> $items);
 
 // cleanup
 unset($items);
-/*
-$items[] = array( 'title' 	=> 'Add group',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/groups_edit.php');
 
-$items[] = array( 'title' 	=> 'Edit group',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/groups_list.php');
+$items[] = array(   'title' 	=> 'Server Services',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/server_list.php',
+                    'html_id'   => 'server_list');
 
-				  
-$module['nav'][] = array(	'title'	=> 'Groups',
-							'open' 	=> 1,
-							'items'	=> $items);
+$items[] = array(   'title' 	=> 'Server Config',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/server_config_list.php',
+                    'html_id'   => 'server_config_list');
+
+$items[] = array(   'title' 	=> 'Server IP addresses',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/server_ip_list.php',
+                    'html_id'   => 'server_ip_list');
 
 
-// cleanup
-unset($items);
-*/
-/*
-$items[] = array( 'title' 	=> 'Add server',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/server_edit.php');
-*/
-$items[] = array( 'title' 	=> 'Server Services',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/server_list.php');
 
-$items[] = array( 'title' 	=> 'Server Config',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/server_config_list.php');
+$items[] = array(   'title' 	=> 'Additional PHP Versions',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/server_php_list.php',
+                    'html_id'   => 'server_php_list');
+
+$items[] = array(   'title' 	=> 'Firewall',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/firewall_list.php',
+                    'html_id'   => 'firewall_list');
 
 /*
-$items[] = array( 'title' 	=> 'Add Server IP',
+$items[] = array( 'title' 	=> 'Firewall IPTables',
 				  'target' 	=> 'content',
-				  'link'	=> 'admin/server_ip_edit.php');
+				  'link'	=> 'admin/iptables_list.php');
+
+$items[] = array( 'title' 	=> 'Packet Filter',
+				  'target' 	=> 'content',
+				  'link'	=> 'admin/firewall_filter_list.php');				  
+
+$items[] = array( 'title' 	=> 'Port Forward',
+				  'target' 	=> 'content',
+				  'link'	=> 'admin/firewall_forward_list.php');				  
 */
-$items[] = array( 'title' 	=> 'Edit Server IP',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/server_ip_list.php');				  
 
-
-$items[] = array( 'title' 	=> 'Interface Config',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/system_config_edit.php?id=1');
-
-$module['nav'][] = array(	'title'	=> 'System',
-							'open' 	=> 1,
-							'items'	=> $items);
+$module['nav'][] = array(   'title'     => 'System',
+                            'open' 	=> 1,
+                            'items'	=> $items);
 // cleanup
 unset($items);
 
+$items[] = array(   'title' 	=> 'Interface Config',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/system_config_edit.php?id=1',
+                    'html_id'   => 'interface_config');
 
-$items[] = array( 'title' 	=> 'Firewall',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/firewall_list.php');				  
+//**** Load the settings pages of all installed themes
+$menu_dir = ISPC_WEB_PATH.'/admin/lib/interface.d';
 
+if (is_dir($menu_dir)) {
+    if ($dh = opendir($menu_dir)) {
+        //** Go through all files in the menu dir
+        while (($file = readdir($dh)) !== false) {
+            if ($file != '.' && $file != '..' && substr($file, -9, 9) == '.menu.php') {
+                include_once($menu_dir . '/' . $file);
+            }
+        }
+    }
+}
 
-$module['nav'][] = array(	'title'	=> 'Firewall',
-							'open' 	=> 1,
-							'items'	=> $items);
+$module['nav'][] = array(   'title'     => 'Interface',
+                            'open'      => "1",
+                            'items'     => $items);
 
 
 // cleanup
 unset($items);
 
 
-$items[] = array( 'title' 	=> 'Repositories',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/software_repo_list.php');
+$items[] = array(   'title' 	=> 'Repositories',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/software_repo_list.php',
+                    'html_id'   => 'software_repo_list');
 
-$items[] = array( 'title' 	=> 'Packages',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/software_package_list.php');
+$items[] = array(   'title' 	=> 'Packages',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/software_package_list.php',
+                    'html_id'   => 'software_package_list');
 
-$items[] = array( 'title' 	=> 'Updates',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/software_update_list.php');
+$items[] = array(   'title' 	=> 'Updates',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/software_update_list.php',
+                    'html_id'   => 'software_update_list');
 
-$module['nav'][] = array(	'title'	=> 'Software',
-							'open' 	=> 1,
-							'items'	=> $items);
+$module['nav'][] = array(   'title'     => 'Software',
+                            'open' 	=> 1,
+                            'items'	=> $items);
 
 
 // cleanup
 unset($items);
 
-$items[] = array( 'title' 	=> 'Languages',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/language_list.php');
+$items[] = array(   'title' 	=> 'Languages',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/language_list.php',
+                    'html_id'   => 'language_list');
 
-$items[] = array( 'title' 	=> 'New Language',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/language_add.php');
-				  
-$items[] = array( 'title' 	=> 'Merge',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/language_complete.php');
+$items[] = array(   'title' 	=> 'New Language',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/language_add.php',
+                    'html_id'   => 'language_add');
 
-$items[] = array( 'title' 	=> 'Export',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/language_export.php');
+$items[] = array(   'title' 	=> 'Merge',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/language_complete.php',
+                    'html_id'   => 'language_complete');
 
-$items[] = array( 'title' 	=> 'Import',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/language_import.php');
+$items[] = array(   'title' 	=> 'Export',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/language_export.php',
+                    'html_id'   => 'language_export');
 
-$module['nav'][] = array(	'title'	=> 'Language Editor',
-							'open' 	=> 1,
-							'items'	=> $items);
+$items[] = array(   'title' 	=> 'Import',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/language_import.php',
+                    'html_id'   => 'language_import');
+
+$module['nav'][] = array(   'title'     => 'Language Editor',
+                            'open'      => 1,
+                            'items'     => $items);
 
 
 // cleanup
 unset($items);
 
-$items[] = array( 'title' 	=> 'Add user',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/remote_user_edit.php');
 
-$items[] = array( 'title' 	=> 'Edit user',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/remote_user_list.php');
+$items[] = array(   'title' 	=> 'Do OS-Update',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/remote_action_osupdate.php',
+                    'html_id'   => 'osupdate');
 
-				  
-$module['nav'][] = array(	'title'	=> 'Remote Users',
-							'open' 	=> 1,
-							'items'	=> $items);
+// ISPConfig interface update has been removed. Please use ispconfig_update.sh on the shell instead.
+$items[] = array(   'title' 	=> 'Do ISPConfig-Update',
+                    'target' 	=> 'content',
+                    'link'	=> 'admin/remote_action_ispcupdate.php',
+                    'html_id'   => 'ispcupdate');
 
-// cleanup
-unset($items);
-
-$items[] = array( 'title' 	=> 'Do OS-Update',
-				  'target' 	=> 'content',
-				  'link'	=> 'admin/remote_action_osupdate.php');
-
-$module['nav'][] = array(	'title'	=> 'Remote Actions',
-							'open' 	=> 1,
-							'items'	=> $items);
+$module['nav'][] = array(   'title'	=> 'Remote Actions',
+                            'open' 	=> 1,
+                            'items'	=> $items);
 
 
 // Getting the admin options from other modules

--
Gitblit v1.9.1