From b9a3ef486ebcde18a5ade37865ff8f397185d24f Mon Sep 17 00:00:00 2001 From: Till Brehm <tbrehm@ispconfig.org> Date: Sun, 24 Jul 2016 05:30:59 -0400 Subject: [PATCH] Fixed #3979 Mailbox users unable to save autoresponders --- interface/lib/classes/tform_base.inc.php | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 50 insertions(+), 1 deletions(-) diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php index 599cce4..f5e1793 100644 --- a/interface/lib/classes/tform_base.inc.php +++ b/interface/lib/classes/tform_base.inc.php @@ -562,6 +562,18 @@ $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); break; + case 'DATE': + if (strtotime($val) !== false) { + $dt_value = $val; + } elseif ( isset($field['default']) && (strtotime($field['default']) !== false) ) { + $dt_value = $field['default']; + } else { + $dt_value = 0; + } + + $new_record[$key] = $this->_getDateHTML($key, $dt_value); + break; + default: if(isset($record[$key])) { $new_record[$key] = htmlspecialchars($record[$key]); @@ -671,6 +683,12 @@ $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false; $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); + break; + + case 'DATE': + $dt_value = (isset($field['default'])) ? $field['default'] : 0; + + $new_record[$key] = $this->_getDateHTML($key, $dt_value); break; default: @@ -883,6 +901,9 @@ case 'IDNTOUTF8': $returnval = $app->functions->idn_decode($returnval); break; + case 'TOLATIN1': + $returnval = mb_convert_encoding($returnval, 'ISO-8859-1', 'UTF-8'); + break; case 'TRIM': $returnval = trim($returnval); break; @@ -974,6 +995,26 @@ } } break; + case 'ISDOMAIN': + $error = false; + if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n'; + if($validator['allowempty'] == 'y' && $field_value == '') { + //* Do nothing + } else { + if(function_exists('filter_var')) { + if(filter_var('check@'.$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"; + } + unset($error); + break; case 'ISEMAIL': $error = false; if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n'; @@ -1002,7 +1043,7 @@ unset($error); break; case 'ISINT': - if(function_exists('filter_var') && $field_value < 2147483647) { + if(function_exists('filter_var') && $field_value < PHP_INT_MAX) { //if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT, array("options" => array('min_range'=>0))) === false) { if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT) === false) { $errmsg = $validator['errmsg']; @@ -1225,6 +1266,10 @@ } elseif(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; + } elseif(isset($field['encryption']) && $field['encryption'] == 'CRYPTMAIL') { + // The password for the mail system needs to be converted to latin1 before it is hashed. + $record[$key] = $app->auth->crypt_password(stripslashes($record[$key]),'ISO-8859-1'); + $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') { $tmp = $app->db->queryOneRecord("SELECT PASSWORD(?) as `crypted`", stripslashes($record[$key])); $record[$key] = $tmp['crypted']; @@ -1253,6 +1298,10 @@ } elseif(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; + } elseif(isset($field['encryption']) && $field['encryption'] == 'CRYPTMAIL') { + // The password for the mail system needs to be converted to latin1 before it is hashed. + $record[$key] = $app->auth->crypt_password(stripslashes($record[$key]),'ISO-8859-1'); + $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') { $tmp = $app->db->queryOneRecord("SELECT PASSWORD(?) as `crypted`", stripslashes($record[$key])); $record[$key] = $tmp['crypted']; -- Gitblit v1.9.1