From 613433fd4eed8f566e9f8f0be4b6116fe028f123 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Fri, 29 Jan 2016 10:24:11 -0500
Subject: [PATCH] Merge branch 'stable-3.1'

---
 TODO.txt                                               |    7 -------
 server/plugins-available/mongo_clientdb_plugin.inc.php |    7 +++++--
 interface/web/client/form/client.tform.php             |    2 +-
 interface/lib/classes/tform_base.inc.php               |   23 ++++++++++++++---------
 interface/web/client/form/reseller.tform.php           |    2 +-
 5 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/TODO.txt b/TODO.txt
index 6dcae10..382f8af 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -26,13 +26,6 @@
 Mail module
 --------------------------------------
 
-- Show mail statistics in the interface. The mail statistics are stored
-  in the database table mail_traffic and are collected by the file
-  server/cron_daily.php
--- For Courier this works but not Dovecot. Maybe the intention needs
-	reviewed as some clients think this should be the number of emails
-	and not the size of the emails.  (I agree that size is important)
-		lathama
 
 Administration module
 --------------------------------------
diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php
index bc995c1..4405de4 100644
--- a/interface/lib/classes/tform_base.inc.php
+++ b/interface/lib/classes/tform_base.inc.php
@@ -974,16 +974,21 @@
 					}
 				}
 			case 'ISEMAIL':
-				if(function_exists('filter_var')) {
-					if(filter_var($field_value, FILTER_VALIDATE_EMAIL) === false) {
-						$errmsg = $validator['errmsg'];
-						if(isset($this->wordbook[$errmsg])) {
-							$this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
-						} else {
-							$this->errorMessage .= $errmsg."<br />\r\n";
+				if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
+				if($validator['allowempty'] == 'y' && $field_value == '') {
+					//* Do nothing
+				} else {
+					if(function_exists('filter_var')) {
+						if(filter_var($field_value, FILTER_VALIDATE_EMAIL) === false) {
+							$errmsg = $validator['errmsg'];
+							if(isset($this->wordbook[$errmsg])) {
+								$this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
+							} else {
+								$this->errorMessage .= $errmsg."<br />\r\n";
+							}
 						}
-					}
-				} else $this->errorMessage .= "function filter_var missing <br />\r\n";
+					} else $this->errorMessage .= "function filter_var missing <br />\r\n";
+				}
 				break;
 			case 'ISINT':
 				if(function_exists('filter_var') && $field_value < 2147483647) {
diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php
index 8de4105..4415768 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -501,7 +501,7 @@
 					'type' => 'TOLOWER')
 			),
 			'validators' => array (
-				0 => array ( 'type' => 'ISEMAIL', 'errmsg'=> 'email_error_isemail'),
+				0 => array ( 'type' => 'ISEMAIL', 'allowempty' => 'y', 'errmsg'=> 'email_error_isemail'),
 			),
 			'default' => '',
 			'value'  => '',
diff --git a/interface/web/client/form/reseller.tform.php b/interface/web/client/form/reseller.tform.php
index 9bc416f..8f4e5ba 100644
--- a/interface/web/client/form/reseller.tform.php
+++ b/interface/web/client/form/reseller.tform.php
@@ -499,7 +499,7 @@
 					'type' => 'TOLOWER')
 			),
 			'validators' => array (
-				0 => array ( 'type' => 'ISEMAIL', 'errmsg'=> 'paypal_email_error_isemail'),
+				0 => array ( 'type' => 'ISEMAIL', 'allowempty' => 'y', 'errmsg'=> 'paypal_email_error_isemail'),
 			),
 			'default' => '',
 			'value'  => '',
diff --git a/server/plugins-available/mongo_clientdb_plugin.inc.php b/server/plugins-available/mongo_clientdb_plugin.inc.php
index b4d274c..6258583 100644
--- a/server/plugins-available/mongo_clientdb_plugin.inc.php
+++ b/server/plugins-available/mongo_clientdb_plugin.inc.php
@@ -52,11 +52,14 @@
 	function onInstall() {
 		global $conf;
 		
-		if($conf['services']['db'] == true && class_exists('MongoClient')) {
+		/*if($conf['services']['db'] == true && class_exists('MongoClient')) {
 			return true;
 		} else {
 			return false;
-		}
+		}*/
+		
+		// Disable mongodb plugin in ISPConfig 3.1
+		return false;
 	}
 
 

--
Gitblit v1.9.1