From 2cb1563f63386b35a69e460051aa9b4a2851d104 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Wed, 30 May 2012 07:30:44 -0400
Subject: [PATCH] - Added (clickable) placeholders to client messaging function. - Added check so that the client password isn't inserted into the message (for security reasons).

---
 interface/web/mail/lib/module.conf.php |  167 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 113 insertions(+), 54 deletions(-)

diff --git a/interface/web/mail/lib/module.conf.php b/interface/web/mail/lib/module.conf.php
index a0f1b74..731fa91 100644
--- a/interface/web/mail/lib/module.conf.php
+++ b/interface/web/mail/lib/module.conf.php
@@ -1,5 +1,7 @@
 <?php
 
+$userid=$app->auth->get_user_id();
+
 $module['name'] 		= 'mail';
 $module['title'] 		= 'top_menu_email';
 $module['template'] 	= 'module.tpl.htm';
@@ -10,60 +12,104 @@
 //**** Email accounts menu
 $items = array();
 
-$items[] = array( 'title' 	=> 'Domain',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_domain_list.php',
-				  'html_id' => 'mail_domain_list');
+if($app->auth->get_client_limit($userid,'maildomain') != 0)
+{
+	$items[] = array( 'title' 	=> 'Domain',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_domain_list.php',
+					  'html_id' => 'mail_domain_list');
+}
+	
+if($app->auth->get_client_limit($userid,'mailaliasdomain') != 0)
+{
+	$items[] = array( 'title' 	=> 'Domain Alias',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_aliasdomain_list.php',
+					  'html_id' => 'mail_aliasdomain_list');
+}
 
-$items[] = array( 'title' 	=> 'Domain Alias',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_aliasdomain_list.php',
-				  'html_id' => 'mail_aliasdomain_list');
+if($app->auth->get_client_limit($userid,'mailbox') != 0)
+{
+	$items[] = array( 'title' 	=> 'Email Mailbox',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_user_list.php',
+					  'html_id' => 'mail_user_list');
+}
 
-$items[] = array( 'title' 	=> 'Email Mailbox',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_user_list.php',
-				  'html_id' => 'mail_user_list');
+if($app->auth->get_client_limit($userid,'mailalias') != 0)
+{
+	$items[] = array( 'title' 	=> 'Email Alias',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_alias_list.php',
+					  'html_id' => 'mail_alias_list');
+}
 
-$items[] = array( 'title' 	=> 'Email Alias',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_alias_list.php',
-				  'html_id' => 'mail_alias_list');
+if($app->auth->get_client_limit($userid,'mailforward') != 0)
+{
+	$items[] = array( 'title' 	=> 'Email Forward',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_forward_list.php',
+					  'html_id' => 'mail_forward_list');
+}
 
-$items[] = array( 'title' 	=> 'Email Forward',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_forward_list.php',
-				  'html_id' => 'mail_forward_list');
+if($app->auth->get_client_limit($userid,'mailcatchall') != 0)
+{
+	$items[] = array( 'title' 	=> 'Email Catchall',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_domain_catchall_list.php',
+					  'html_id' => 'mail_domain_catchall_list');
+}
 
-$items[] = array( 'title' 	=> 'Email Catchall',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_domain_catchall_list.php',
-				  'html_id' => 'mail_domain_catchall_list');
+if($app->auth->get_client_limit($userid,'mailrouting') != 0)
+{
+	$items[] = array( 'title' 	=> 'Email Routing',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_transport_list.php',
+					  'html_id' => 'mail_transport_list');
+}
 
-$items[] = array( 'title' 	=> 'Email Routing',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_transport_list.php',
-				  'html_id' => 'mail_transport_list');
+if(count($items))
+{
+	$module['nav'][] = array(	'title'	=> 'Email Accounts',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
 
-$module['nav'][] = array(	'title'	=> 'Email Accounts',
-							'open' 	=> 1,
-							'items'	=> $items);
+//**** Mailinglist menu
+$items = array();
+
+if($app->auth->get_client_limit($userid,'mailmailinglist') != 0)
+{
+	$items[] = array( 'title' 	=> 'Mailing List',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_mailinglist_list.php',
+					  'html_id' => 'mail_mailinglist_list');
+}
+
+if(count($items))
+{
+	$module['nav'][] = array(	'title'	=> 'Mailing List',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
 
 //**** Spamfilter menu
 $items = array();
 
-$items[] = array( 'title' 	=> 'Whitelist',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/spamfilter_whitelist_list.php',
-				  'html_id' => 'spamfilter_whitelist_list');
+if($app->auth->get_client_limit($userid,'spamfilter_wblist') != 0)
+{
+	$items[] = array( 'title' 	=> 'Whitelist',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/spamfilter_whitelist_list.php',
+					  'html_id' => 'spamfilter_whitelist_list');
+		
+	$items[] = array( 'title' 	=> 'Blacklist',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/spamfilter_blacklist_list.php',
+					  'html_id' => 'spamfilter_blacklist_list');
+}
 
-
-$items[] = array( 'title' 	=> 'Blacklist',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/spamfilter_blacklist_list.php',
-				  'html_id' => 'spamfilter_blacklist_list');
-
-if($_SESSION['s']['user']['typ'] == 'admin') {
+if($app->auth->is_admin()) {
 
 	$items[] = array( 	'title' 	=> 'User / Domain',
 				  		'target' 	=> 'content',
@@ -79,26 +125,40 @@
 //				  		'target' 	=> 'content',
 //				  		'link'	    => 'mail/spamfilter_config_list.php');
 }
-$module['nav'][] = array(	'title'	=> 'Spamfilter',
-							'open' 	=> 1,
-							'items'	=> $items);
+
+if(count($items))
+{
+	$module['nav'][] = array(	'title'	=> 'Spamfilter',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
 
 //**** Fetchmail menu
 $items = array();
 
-$items[] = array( 'title' 	=> 'Fetchmail',
-				  'target' 	=> 'content',
-				  'link'	=> 'mail/mail_get_list.php',
-				  'html_id' => 'mail_get_list');
+if($app->auth->get_client_limit($userid,'fetchmail') != 0)
+{
+	$items[] = array( 'title' 	=> 'Fetchmail',
+					  'target' 	=> 'content',
+					  'link'	=> 'mail/mail_get_list.php',
+					  'html_id' => 'mail_get_list');
+		
+	$module['nav'][] = array(	'title'	=> 'Fetchmail',
+								'open' 	=> 1,
+								'items'	=> $items);
+}
 
 
-
-$module['nav'][] = array(	'title'	=> 'Fetchmail',
-							'open' 	=> 1,
-							'items'	=> $items);
 
 //**** Statistics menu
 $items = array();
+
+
+//** Email Quotas
+$items[] = array( 'title'   => 'Mailbox quota',
+                  'target'  => 'content',
+                  'link'    => 'mail/user_quota_stats.php',
+                  'html_id' => 'user_quota_stats');
 
 $items[] = array( 'title' 	=> 'Mailbox traffic',
 				  'target' 	=> 'content',
@@ -144,5 +204,4 @@
 								'open' 	=> 1,
 								'items'	=> $items);
 }
-
 ?>
\ No newline at end of file

--
Gitblit v1.9.1