diff --git a/TODO.txt b/TODO.txt
index 6dcae104a29e055a6febd2ce4b761d7070052ef3..382f8afa7a0eab987c634c372dbb2fc7051f025b 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -26,13 +26,6 @@ Server
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 bc995c17b2873c2fba7b055cbf1c6fad914cfab4..4405de4c53365854cc8ec9c8c324d02fadf7d7cc 100644
--- a/interface/lib/classes/tform_base.inc.php
+++ b/interface/lib/classes/tform_base.inc.php
@@ -974,16 +974,21 @@ class tform_base {
}
}
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]."
\r\n";
- } else {
- $this->errorMessage .= $errmsg."
\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]."
\r\n";
+ } else {
+ $this->errorMessage .= $errmsg."
\r\n";
+ }
}
- }
- } else $this->errorMessage .= "function filter_var missing
\r\n";
+ } else $this->errorMessage .= "function filter_var missing
\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 8de41055392a576a3ff6b88778d4ca04e7196f40..4415768d62d6b9043391265b9e984f4b0b8d44c2 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -501,7 +501,7 @@ $form["tabs"]['address'] = array (
'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 9bc416fd6247d8dfc2d49fd879b5c3e6bf307b58..8f4e5baf6dab40b82d785e0c7fd5024e437b8f36 100644
--- a/interface/web/client/form/reseller.tform.php
+++ b/interface/web/client/form/reseller.tform.php
@@ -499,7 +499,7 @@ $form["tabs"]['address'] = array (
'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 b4d274cba5ceed8868ea606374702667059224e1..62585838747b9a6e25c6ffc3004b235e5ae285b6 100644
--- a/server/plugins-available/mongo_clientdb_plugin.inc.php
+++ b/server/plugins-available/mongo_clientdb_plugin.inc.php
@@ -52,11 +52,14 @@ class mongo_clientdb_plugin {
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;
}