From acdd2013a7c660340fabb5fb55be1e78103388c6 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 03 Sep 2010 09:10:37 -0400
Subject: [PATCH] FS#1262 - client menu depending on limits

---
 interface/web/sites/lib/module.conf.php |  187 +++++++++++++++++++++++++---------------------
 1 files changed, 102 insertions(+), 85 deletions(-)

diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php
index 7311d61..46502ce 100644
--- a/interface/web/sites/lib/module.conf.php
+++ b/interface/web/sites/lib/module.conf.php
@@ -1,5 +1,7 @@
 <?php
 
+$userid=$app->auth->get_user_id();
+
 $module["name"] 		= "sites";
 $module["title"] 		= "top_menu_sites";
 $module["template"] 	= "module.tpl.htm";
@@ -9,112 +11,127 @@
 /*
 	Websites menu
 */
+$items=array();
 
-$items[] = array( 'title' 	=> "Website",
-		'target' 	=> 'content',
-		'link'	=> 'sites/web_domain_list.php',
-		'html_id' => 'domain_list');
+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');
+}
 
-$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);
+}
 
-$items[] = array( 'title'   => "Aliasdomain",
-		'target'  => 'content',
-		'link'    => 'sites/web_aliasdomain_list.php',
-		'html_id' => 'aliasdomain_list');
-
-$module["nav"][] = array(	'title'	=> 'Websites',
-		'open' 	=> 1,
-		'items'	=> $items);
-
-// clean up
-unset($items);
 
 /*
 	FTP User menu
 */
-
-$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);
-
-// clean up
-unset($items);
+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
+	FTP User menu
 */
-
-$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);
-
-// clean up
-unset($items);
-
-/*
- *	Webdav User menu
- */
-$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);
-
-// clean up
-unset($items);
-
+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);
+}
 
-$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);
+}
 
 /*
     Cron menu
 */
-$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);
-
+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();

--
Gitblit v1.9.1