From 2696e12bd643eaca85b9780b1c7d8ec1377df0fb Mon Sep 17 00:00:00 2001
From: latham <latham@ispconfig3>
Date: Fri, 04 Nov 2011 09:57:16 -0400
Subject: [PATCH] This will sort the modules by alpha before the dashboard is pushed to the front.  This patch keeps the menu tabs stable instead of different on each user. Logging in as an admin, reseller, and user would show the tabs in different order each time do to user creation.

---
 interface/web/sites/lib/module.conf.php |  188 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 179 insertions(+), 9 deletions(-)

diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php
index 1a91e04..cbcc62b 100644
--- a/interface/web/sites/lib/module.conf.php
+++ b/interface/web/sites/lib/module.conf.php
@@ -1,10 +1,180 @@
-<?php
-$module = array (
-  'name' => 'sites',
-  'title' => 'Sites',
-  'template' => 'module.tpl.htm',
-  'navframe_page' => '',
-  'startpage' => 'sites/index.php',
-  'tab_width' => '',
-)
+<?php
+
+$userid=$app->auth->get_user_id();
+
+$module["name"] 		= "sites";
+$module["title"] 		= "top_menu_sites";
+$module["template"] 	= "module.tpl.htm";
+$module["startpage"] 	= "sites/web_domain_list.php";
+$module["tab_width"]    = '';
+
+/*
+	Websites menu
+*/
+$items=array();
+
+if($app->auth->get_client_limit($userid,'web_domain') != 0)
+{
+	$items[] = array( 'title' 	=> "Website",
+			'target' 	=> 'content',
+			'link'	=> 'sites/web_domain_list.php',
+			'html_id' => 'domain_list');
+}
+
+if($app->auth->get_client_limit($userid,'web_subdomain') != 0)
+{
+	$items[] = array( 'title' 	=> "Subdomain",
+			'target' 	=> 'content',
+			'link'	=> 'sites/web_subdomain_list.php',
+			'html_id' => 'subdomain_list');
+}
+
+if($app->auth->get_client_limit($userid,'web_aliasdomain') != 0)
+{
+	$items[] = array( 'title'   => "Aliasdomain",
+			'target'  => 'content',
+			'link'    => 'sites/web_aliasdomain_list.php',
+			'html_id' => 'aliasdomain_list');
+}
+
+if(count($items))
+{
+	$module["nav"][] = array(	'title'	=> 'Websites',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
+
+
+/*
+	FTP User menu
+*/
+if($app->auth->get_client_limit($userid,'ftp_user') != 0)
+{
+	$items=array();
+	
+	$items[] = array( 'title' 	=> "FTP-User",
+					  'target' 	=> 'content',
+					  'link'	=> 'sites/ftp_user_list.php',
+					  'html_id' => 'ftp_user_list');
+	
+	
+	$module["nav"][] = array(	'title'	=> 'FTP',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
+
+/*
+	Shell User menu
+*/
+if($app->auth->get_client_limit($userid,'shell_user') != 0)
+{
+	$items=array();
+	
+	$items[] = array( 'title' 	=> "Shell-User",
+					  'target' 	=> 'content',
+					  'link'	=> 'sites/shell_user_list.php',
+					  'html_id' => 'shell_user_list');	
+	
+	$module["nav"][] = array(	'title'	=> 'Shell',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
+
+/*
+	Databases menu
+*/
+if($app->auth->get_client_limit($userid,'database') != 0)
+{
+	$items=array();
+	
+	$items[] = array( 'title' 	=> "Database",
+					  'target' 	=> 'content',
+					  'link'	=> 'sites/database_list.php',
+					  'html_id' => 'database_list'
+					  );	
+	
+	$module["nav"][] = array(	'title'	=> 'Database',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
+
+/*
+ *	Webdav User menu
+ */
+if($app->auth->get_client_limit($userid,'webdav_user') != 0)
+{
+	$items=array();
+	
+	$items[] = array( 'title' 	=> "Webdav-User",
+			'target' 	=> 'content',
+			'link'	=> 'sites/webdav_user_list.php',
+			'html_id' => 'webdav_user_list');
+	
+	
+	$module["nav"][] = array(	'title'	=> 'Webdav',
+			'open' 	=> 1,
+			'items'	=> $items);
+}
+
+/*
+ *	Web folder menu
+ */
+	$items=array();
+	
+	$items[] = array( 'title' 	=> "Folder",
+			'target' 	=> 'content',
+			'link'	=> 'sites/web_folder_list.php',
+			'html_id' => 'web_folder_list');
+	
+	$items[] = array( 'title' 	=> "Folder users",
+			'target' 	=> 'content',
+			'link'	=> 'sites/web_folder_user_list.php',
+			'html_id' => 'web_folder_user_list');
+	
+	$module["nav"][] = array(	'title'	=> 'Folder protection',
+			'open' 	=> 1,
+			'items'	=> $items);
+
+
+/*
+    Cron menu
+*/
+if($app->auth->get_client_limit($userid,'cron') != 0)
+{
+	$items = array();	
+	
+	$items[] = array( 'title'   => "Cron Jobs",
+	                  'target'  => 'content',
+	                  'link'    => 'sites/cron_list.php',
+					  'html_id' => 'cron_list');	
+	
+	$module["nav"][] = array(   'title' => 'Cron',
+	                            'open'  => 1,
+	                            'items' => $items);
+}
+
+//**** Statistics menu
+$items = array();
+
+$items[] = array( 'title'   => 'Web traffic',
+		'target'  => 'content',
+		'link'    => 'sites/web_sites_stats.php',
+		'html_id' => 'websites_stats');
+
+$items[] = array( 'title'   => 'Website quota (Harddisk)',
+		'target'  => 'content',
+		'link'    => 'sites/user_quota_stats.php',
+		'html_id' => 'user_quota_stats');
+
+
+$module['nav'][] = array(   'title' => 'Statistics',
+		'open'  => 1,
+		'items' => $items);
+
+
+
+// clean up
+unset($items);
+
+
 ?>
\ No newline at end of file

--
Gitblit v1.9.1