From 65164295778caa2c4e623e7c8e195f2aa3560121 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Thu, 07 Apr 2016 13:19:58 -0400
Subject: [PATCH] - Changed 0000-00-00 date and datetime values to NULL (mySQL compatibility), Fixes: #3690

---
 interface/web/mail/form/mail_user.tform.php |   63 +++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 5 deletions(-)

diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 03f458a..8b80dea 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_user.tform.php
@@ -58,7 +58,7 @@
 $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
 $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
 
-$form["tabs"]['mailuser'] = array (
+$form["tabs"]['mailuser'] = array(
 	'title'  => "Mailbox",
 	'width'  => 100,
 	'template'  => "templates/mail_user_mailbox_edit.htm",
@@ -109,7 +109,7 @@
 				0 => array (  'type'  => 'UNIQUE',
 					'errmsg'=> 'login_error_unique'),
 				1 => array (  'type'  => 'REGEX',
-					'regex' => '/^[a-z0-9][\w\.\-_\+@]{1,63}$/',
+					'regex' => '/^[_a-z0-9][\w\.\-_\+@]{1,63}$/',
 					'errmsg'=> 'login_error_regex'),
 			),
 			'default' => '',
@@ -120,6 +120,14 @@
 		'password' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'PASSWORD',
+			'validators' => array(
+				0 => array(
+					'type' => 'CUSTOM',
+					'class' => 'validate_password',
+					'function' => 'password_check',
+					'errmsg' => 'weak_password_txt'
+				)
+			),
 			'encryption'=> 'CRYPT',
 			'default' => '',
 			'value'  => '',
@@ -160,8 +168,27 @@
 					'type' => 'TOLOWER')
 			),
 			'validators' => array (  0 => array ( 'type' => 'REGEX',
-					'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,1}$/i',
+					'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,1}(,\s*\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,}$/i',
 					'errmsg'=> 'cc_error_isemail'),
+			),
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255'
+		),
+		'sender_cc' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
+			'filters'   => array( 0 => array( 'event' => 'SAVE',
+					'type' => 'IDNTOASCII'),
+				1 => array( 'event' => 'SHOW',
+					'type' => 'IDNTOUTF8'),
+				2 => array( 'event' => 'SAVE',
+					'type' => 'TOLOWER')
+			),
+			'validators' => array (  0 => array ( 'type' => 'REGEX',
+					'regex'=>'/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,1}(,\s*\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,}$/i',
+					'errmsg'=> 'sender_cc_error_isemail'),
 			),
 			'default' => '',
 			'value'  => '',
@@ -206,6 +233,12 @@
 			'default' => 'y',
 			'value'  => array(1 => 'y', 0 => 'n')
 		),
+		'greylisting' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(1 => 'y', 0 => 'n')
+		),
 		/*
 		'access' => array (
 			'datatype'	=> 'VARCHAR',
@@ -214,6 +247,12 @@
 			'value'		=> array(1 => 'y',0 => 'n')
 		),
 		*/
+		'disablesmtp' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(1 => 'y', 0 => 'n')
+		),
 		'disableimap' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
@@ -231,6 +270,12 @@
 		//#################################
 	)
 );
+
+if($global_config['mail']['mail_password_onlyascii'] == 'y') {
+	$form['tabs']['mailuser']['fields']['password']['validators'] = array( 0 => array( 'type' => 'ISASCII',
+		'errmsg' => 'email_error_isascii')
+	);
+}
 
 if ($global_config['mail']['mailbox_show_autoresponder_tab'] === 'y') {
 	$form["tabs"]['autoresponder'] = array (
@@ -266,7 +311,11 @@
 			'autoresponder_start_date' => array (
 				'datatype' => 'DATETIME',
 				'formtype' => 'DATETIME',
-				'validators'=> array ( 0 => array ( 'type' => 'CUSTOM',
+				'validators'=> array ( 
+					0 => array ( 'type' => 'ISDATETIME',
+						'allowempty' => 'y',
+						'errmsg'=> 'autoresponder_start_date_is_no_date'),
+					1 => array ( 'type' => 'CUSTOM',
 						'class' => 'validate_autoresponder',
 						'function' => 'start_date',
 						'errmsg'=> 'autoresponder_start_date_is_required'),
@@ -275,7 +324,11 @@
 			'autoresponder_end_date' => array (
 				'datatype' => 'DATETIME',
 				'formtype' => 'DATETIME',
-				'validators'=> array (  0 => array ( 'type' => 'CUSTOM',
+				'validators'=> array (  
+					0 => array ( 'type' => 'ISDATETIME',
+						'allowempty' => 'y',
+						'errmsg'=> 'autoresponder_end_date_is_no_date'),
+					1 => array ( 'type' => 'CUSTOM',
 						'class' => 'validate_autoresponder',
 						'function' => 'end_date',
 						'errmsg'=> 'autoresponder_end_date_isgreater'),

--
Gitblit v1.9.1