From 8c1761c64a5c6a24575f43e5afe7a1661cb7f34f Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Wed, 26 Sep 2012 14:18:20 -0400 Subject: [PATCH] Implemented: FS#1102 - Convert internationalized domains to punycode automatically - need to have the pecl idn and intl modules installed or - have the idna_convert class in the classes/idn/ path --- interface/web/dns/list/dns_soa.list.php | 9 interface/web/mail/form/mail_transport.tform.php | 7 interface/web/sites/web_aliasdomain_edit.php | 2 interface/web/dns/list/dns_slave.list.php | 6 interface/web/mail/list/mail_user_stats.list.php | 3 interface/web/mail/form/mail_get.tform.php | 14 + interface/web/client/list/domain.list.php | 3 interface/web/sites/list/web_vhost_subdomain.list.php | 6 interface/web/mail/form/spamfilter_whitelist.tform.php | 7 interface/lib/classes/remoting_lib.inc.php | 12 - interface/web/mail/form/mail_mailinglist.tform.php | 14 + interface/web/mail/form/mail_alias.tform.php | 14 + interface/web/sites/form/web_domain.tform.php | 10 interface/web/dns/list/dns_a.list.php | 3 interface/web/mail/list/mail_forward.list.php | 6 interface/web/sites/list/web_aliasdomain.list.php | 6 interface/web/dns/form/dns_srv.tform.php | 7 interface/web/dns/form/dns_rp.tform.php | 7 interface/web/dns/form/dns_mx.tform.php | 14 + interface/web/mail/form/mail_domain_catchall.tform.php | 14 + interface/web/sites/web_vhost_subdomain_edit.php | 2 interface/web/sites/list/web_domain.list.php | 3 interface/web/sites/list/ftp_user.list.php | 3 interface/web/sites/list/web_folder.list.php | 3 interface/web/vm/form/openvz_vm.tform.php | 7 interface/web/admin/form/system_config.tform.php | 14 + interface/web/mail/list/mail_user.list.php | 3 interface/web/mail/list/mail_transport.list.php | 3 interface/web/mail/form/mail_user.tform.php | 14 + interface/web/sites/form/web_aliasdomain.tform.php | 7 interface/web/sites/list/shell_user.list.php | 3 interface/web/dns/form/dns_alias.tform.php | 14 + interface/web/sites/web_subdomain_edit.php | 2 interface/web/mail/form/mail_forward.tform.php | 14 + interface/web/mail/list/mail_domain_catchall.list.php | 6 interface/web/client/form/reseller.tform.php | 7 interface/lib/classes/functions.inc.php | 69 ++++++ interface/web/dns/form/dns_txt.tform.php | 7 interface/web/vm/list/openvz_vm.list.php | 3 interface/web/sites/list/user_quota_stats.list.php | 3 interface/web/dns/form/dns_soa.tform.php | 21 ++ interface/web/dns/form/dns_ns.tform.php | 14 + interface/web/mail/form/mail_domain.tform.php | 10 interface/web/dns/form/dns_a.tform.php | 7 interface/web/mail/form/mail_aliasdomain.tform.php | 14 + interface/web/mail/list/mail_alias.list.php | 6 interface/web/admin/form/server_config.tform.php | 7 interface/web/dns/form/dns_ptr.tform.php | 14 + interface/web/admin/list/server.list.php | 3 interface/web/mail/list/user_quota_stats.list.php | 3 interface/web/mailuser/form/mail_user_cc.tform.php | 7 interface/web/mail/form/spamfilter_config.tform.php | 7 interface/web/sites/list/web_subdomain.list.php | 6 interface/web/mail/list/mail_mailinglist.list.php | 3 interface/web/mail/list/mail_aliasdomain.list.php | 6 interface/lib/classes/listform.inc.php | 5 interface/web/dns/form/dns_cname.tform.php | 14 + interface/web/mail/list/mail_domain.list.php | 3 interface/web/sites/form/web_vhost_subdomain.tform.php | 7 interface/lib/classes/tform.inc.php | 20 - interface/web/client/form/client.tform.php | 7 interface/web/mail/mail_domain_edit.php | 2 interface/web/dns/form/dns_hinfo.tform.php | 7 interface/web/sites/web_domain_edit.php | 2 interface/web/dns/form/dns_slave.tform.php | 14 + interface/web/sites/list/web_sites_stats.list.php | 3 interface/web/mail/list/mail_get.list.php | 3 interface/web/mail/form/spamfilter_users.tform.php | 7 interface/web/sites/form/web_subdomain.tform.php | 7 interface/web/sites/list/web_folder_user.list.php | 3 interface/web/client/form/domain.tform.php | 7 71 files changed, 553 insertions(+), 37 deletions(-) diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index b0e1f3b..fcb6055 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -32,7 +32,8 @@ //* This class is loaded automatically by the ispconfig framework. class functions { - + var $idn_converter = null; + var $idn_converter_name = ''; public function mail($to, $subject, $text, $from, $filepath = '', $filetype = 'application/pdf', $filename = '', $cc = '', $bcc = '', $from_name = '') { global $app,$conf; @@ -310,6 +311,72 @@ return intval($string); } } + + /** IDN converter wrapper. + * all converter classes should be placed in ISPC_CLASS_PATH.'/idn/' + */ + public function idn_encode($domain) { + if($domain == '') return ''; + if(preg_match('/^[0-9\.]+$/', $domain)) return $domain; // may be an ip address - anyway does not need to bee encoded + + // get domain and user part if it is an email + $user_part = false; + if(strpos($domain, '@') !== false) { + $user_part = substr($domain, 0, strrpos($domain, '@')); + $domain = substr($domain, strrpos($domain, '@') + 1); + } + + if(function_exists('idn_to_ascii')) { + $domain = idn_to_ascii($domain); + } elseif(file_exists(ISPC_CLASS_PATH.'/idn/idna_convert.class.php')) { + /* use idna class: + * @author Matthias Sommerfeld <mso@phlylabs.de> + * @copyright 2004-2011 phlyLabs Berlin, http://phlylabs.de + * @version 0.8.0 2011-03-11 + */ + + if(!is_object($this->idn_converter) || $this->idn_converter_name != 'idna_convert.class') { + include_once(ISPC_CLASS_PATH.'/idn/idna_convert.class.php'); + $this->idn_converter = new idna_convert(array('idn_version' => 2008)); + $this->idn_converter_name = 'idna_convert.class'; + } + $domain = $this->idn_converter->encode($domain); + } + + if($user_part !== false) return $user_part . '@' . $domain; + else return $domain; + } + + public function idn_decode($domain) { + if($domain == '') return ''; + if(preg_match('/^[0-9\.]+$/', $domain)) return $domain; // may be an ip address - anyway does not need to bee decoded + + // get domain and user part if it is an email + $user_part = false; + if(strpos($domain, '@') !== false) { + $user_part = substr($domain, 0, strrpos($domain, '@')); + $domain = substr($domain, strrpos($domain, '@') + 1); + } + if(function_exists('idn_to_utf8')) { + $domain = idn_to_utf8($domain); + } elseif(file_exists(ISPC_CLASS_PATH.'/idn/idna_convert.class.php')) { + /* use idna class: + * @author Matthias Sommerfeld <mso@phlylabs.de> + * @copyright 2004-2011 phlyLabs Berlin, http://phlylabs.de + * @version 0.8.0 2011-03-11 + */ + + if(!is_object($this->idn_converter) || $this->idn_converter_name != 'idna_convert.class') { + include_once(ISPC_CLASS_PATH.'/idn/idna_convert.class.php'); + $this->idn_converter = new idna_convert(array('idn_version' => 2008)); + $this->idn_converter_name = 'idna_convert.class'; + } + $domain = $this->idn_converter->decode($domain); + } + + if($user_part !== false) return $user_part . '@' . $domain; + else return $domain; + } } diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index 4b6b7c1..6128022 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -291,6 +291,11 @@ if(is_array($record) && count($record) > 0 && is_array($this->listDef['item'])) { foreach($this->listDef['item'] as $field){ $key = $field['field']; + //* Apply filter to record value. + if(isset($field['filters']) && is_array($field['filters'])) { + $app->uses('tform'); + $record[$key] = $app->tform->filterField($key, (isset($record[$key]))?$record[$key]:'', $field['filters'], 'SHOW'); + } if(isset($record[$key])) { switch ($field['datatype']){ case 'VARCHAR': diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php index 67ad855..40db6e0 100644 --- a/interface/lib/classes/remoting_lib.inc.php +++ b/interface/lib/classes/remoting_lib.inc.php @@ -418,18 +418,10 @@ $returnval = strtoupper($field_value); break; case 'IDNTOASCII': - if(function_exists('idn_to_ascii')) { - $returnval = idn_to_ascii($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_encode($field_value); break; case 'IDNTOUTF8': - if(function_exists('idn_to_utf8')) { - $returnval = idn_to_utf8($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_decode($field_value); break; default: $this->errorMessage .= "Unknown Filter: ".$filter['type']; diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index cfb04b4..b6cc343 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -629,7 +629,6 @@ if(isset($field['filters']) && is_array($field['filters'])) { $record[$key] = $this->filterField($key, (isset($record[$key]))?$record[$key]:'', $field['filters'], 'SAVE'); } - //* Validate record value if(isset($field['validators']) && is_array($field['validators'])) { $this->validateField($key, (isset($record[$key]))?$record[$key]:'', $field['validators']); @@ -738,24 +737,16 @@ if($filter['event'] == $filter_event) { switch ($filter['type']) { case 'TOLOWER': - $returnval = strtolower($field_value); + $returnval = strtolower($returnval); break; case 'TOUPPER': - $returnval = strtoupper($field_value); + $returnval = strtoupper($returnval); break; case 'IDNTOASCII': - if(function_exists('idn_to_ascii')) { - $returnval = idn_to_ascii($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_encode($returnval); break; case 'IDNTOUTF8': - if(function_exists('idn_to_utf8')) { - $returnval = idn_to_utf8($field_value); - } else { - $returnval = $field_value; - } + $returnval = $app->functions->idn_decode($returnval); break; default: $this->errorMessage .= "Unknown Filter: ".$filter['type']; @@ -763,8 +754,7 @@ } } } - - return $returnval; + return $returnval; } /** diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 2cf2170..b16b592 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -109,6 +109,13 @@ 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => 'server1.domain.tld', + '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' => 'NOTEMPTY', 'errmsg' => 'hostname_error_empty'), ), diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index 370e57f..7020ee2 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -212,6 +212,13 @@ ), 'admin_mail' => array ( 'datatype' => 'VARCHAR', + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'formtype' => 'TEXT', 'default' => '', 'value' => '', @@ -234,6 +241,13 @@ ), 'smtp_host' => array ( 'datatype' => 'VARCHAR', + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'formtype' => 'TEXT', 'default' => '', 'value' => '', diff --git a/interface/web/admin/list/server.list.php b/interface/web/admin/list/server.list.php index 2d98c1f..acca81a 100644 --- a/interface/web/admin/list/server.list.php +++ b/interface/web/admin/list/server.list.php @@ -46,6 +46,9 @@ $liste['item'][] = array( 'field' => 'server_name', 'datatype' => 'VARCHAR', + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => 'TEXT', 'op' => 'like', 'prefix' => '%', diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php index 20c46c2..4faaa6d 100644 --- a/interface/web/client/form/client.tform.php +++ b/interface/web/client/form/client.tform.php @@ -285,6 +285,13 @@ 'email' => 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') + ), 'default' => '', 'value' => '', 'separator' => '', diff --git a/interface/web/client/form/domain.tform.php b/interface/web/client/form/domain.tform.php index 2617fc2..40f9a90a 100644 --- a/interface/web/client/form/domain.tform.php +++ b/interface/web/client/form/domain.tform.php @@ -88,6 +88,13 @@ 'domain' => 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' => 'NOTEMPTY', 'errmsg'=> 'domain_error_empty'), 1 => array ( 'type' => 'UNIQUE', diff --git a/interface/web/client/form/reseller.tform.php b/interface/web/client/form/reseller.tform.php index f437b2e..1669e36 100644 --- a/interface/web/client/form/reseller.tform.php +++ b/interface/web/client/form/reseller.tform.php @@ -286,6 +286,13 @@ 'email' => 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') + ), 'default' => '', 'value' => '', 'separator' => '', diff --git a/interface/web/client/list/domain.list.php b/interface/web/client/list/domain.list.php index e9630e3..a7534a2 100644 --- a/interface/web/client/list/domain.list.php +++ b/interface/web/client/list/domain.list.php @@ -75,6 +75,9 @@ *****************************************************/ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "LIKE", 'prefix' => "%", diff --git a/interface/web/dns/form/dns_a.tform.php b/interface/web/dns/form/dns_a.tform.php index 50950c0..bbd0d01 100644 --- a/interface/web/dns/form/dns_a.tform.php +++ b/interface/web/dns/form/dns_a.tform.php @@ -78,6 +78,13 @@ 'name' => 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\.\-\*]{0,64}$/', 'errmsg'=> 'name_error_regex'), diff --git a/interface/web/dns/form/dns_alias.tform.php b/interface/web/dns/form/dns_alias.tform.php index c998f81..b358b72 100644 --- a/interface/web/dns/form/dns_alias.tform.php +++ b/interface/web/dns/form/dns_alias.tform.php @@ -78,6 +78,13 @@ 'name' => 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' => 'NOTEMPTY', 'errmsg'=> 'name_error_empty'), 1 => array ( 'type' => 'REGEX', @@ -100,6 +107,13 @@ 'data' => 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' => 'NOTEMPTY', 'errmsg'=> 'data_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_cname.tform.php b/interface/web/dns/form/dns_cname.tform.php index c9e9d9b..ccfef73 100644 --- a/interface/web/dns/form/dns_cname.tform.php +++ b/interface/web/dns/form/dns_cname.tform.php @@ -78,6 +78,13 @@ 'name' => 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\.\-\*]{0,255}$/', 'errmsg'=> 'name_error_regex'), @@ -98,6 +105,13 @@ 'data' => 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' => 'NOTEMPTY', 'errmsg'=> 'data_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_hinfo.tform.php b/interface/web/dns/form/dns_hinfo.tform.php index 556d573..70971cf 100644 --- a/interface/web/dns/form/dns_hinfo.tform.php +++ b/interface/web/dns/form/dns_hinfo.tform.php @@ -78,6 +78,13 @@ 'name' => 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' => 'NOTEMPTY', 'errmsg'=> 'name_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_mx.tform.php b/interface/web/dns/form/dns_mx.tform.php index df8ef72..a1f7b78 100644 --- a/interface/web/dns/form/dns_mx.tform.php +++ b/interface/web/dns/form/dns_mx.tform.php @@ -79,6 +79,13 @@ 'name' => 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\.\-\*]{0,255}$/', 'errmsg'=> 'name_error_regex'), @@ -99,6 +106,13 @@ 'data' => 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' => 'NOTEMPTY', 'errmsg'=> 'data_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_ns.tform.php b/interface/web/dns/form/dns_ns.tform.php index 2efa866..00a842f 100644 --- a/interface/web/dns/form/dns_ns.tform.php +++ b/interface/web/dns/form/dns_ns.tform.php @@ -78,6 +78,13 @@ 'name' => 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\.\-]{0,255}$/', 'errmsg'=> 'name_error_regex'), @@ -98,6 +105,13 @@ 'data' => 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' => 'NOTEMPTY', 'errmsg'=> 'data_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_ptr.tform.php b/interface/web/dns/form/dns_ptr.tform.php index 4b1a2d8..68ea83c 100644 --- a/interface/web/dns/form/dns_ptr.tform.php +++ b/interface/web/dns/form/dns_ptr.tform.php @@ -78,6 +78,13 @@ 'name' => 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\.\-]{1,256}$/', 'errmsg'=> 'name_error_regex'), @@ -98,6 +105,13 @@ 'data' => 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' => 'NOTEMPTY', 'errmsg'=> 'data_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_rp.tform.php b/interface/web/dns/form/dns_rp.tform.php index 35737a2..f6a6ef5 100644 --- a/interface/web/dns/form/dns_rp.tform.php +++ b/interface/web/dns/form/dns_rp.tform.php @@ -75,6 +75,13 @@ 'width' => '30', 'maxlength' => '255' ), + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'name' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/dns/form/dns_slave.tform.php b/interface/web/dns/form/dns_slave.tform.php index a1dea94..038f26b 100644 --- a/interface/web/dns/form/dns_slave.tform.php +++ b/interface/web/dns/form/dns_slave.tform.php @@ -82,6 +82,13 @@ 'origin' => 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' => 'NOTEMPTY', 'errmsg'=> 'origin_error_empty'), 1 => array ( 'type' => 'UNIQUE', @@ -99,6 +106,13 @@ 'ns' => 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\.\-]{1,255}$/', 'errmsg'=> 'ns_error_regex'), diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php index 175bb12..00c2aac 100644 --- a/interface/web/dns/form/dns_soa.tform.php +++ b/interface/web/dns/form/dns_soa.tform.php @@ -83,6 +83,13 @@ 'origin' => 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' => 'NOTEMPTY', 'errmsg'=> 'origin_error_empty'), 1 => array ( 'type' => 'UNIQUE', @@ -100,6 +107,13 @@ 'ns' => 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\.\-]{1,255}$/', 'errmsg'=> 'ns_error_regex'), @@ -113,6 +127,13 @@ 'mbox' => 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' => 'NOTEMPTY', 'errmsg'=> 'mbox_error_empty'), 1 => array ( 'type' => 'REGEX', diff --git a/interface/web/dns/form/dns_srv.tform.php b/interface/web/dns/form/dns_srv.tform.php index 25f3584..736bbc9 100644 --- a/interface/web/dns/form/dns_srv.tform.php +++ b/interface/web/dns/form/dns_srv.tform.php @@ -78,6 +78,13 @@ 'name' => 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\.\-]{0,255}$/', 'errmsg'=> 'name_error_regex'), diff --git a/interface/web/dns/form/dns_txt.tform.php b/interface/web/dns/form/dns_txt.tform.php index ad68d97..c59fa75 100644 --- a/interface/web/dns/form/dns_txt.tform.php +++ b/interface/web/dns/form/dns_txt.tform.php @@ -78,6 +78,13 @@ 'name' => 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\.\-]{0,255}$/', 'errmsg'=> 'name_error_regex'), diff --git a/interface/web/dns/list/dns_a.list.php b/interface/web/dns/list/dns_a.list.php index 7484195..75076d0 100644 --- a/interface/web/dns/list/dns_a.list.php +++ b/interface/web/dns/list/dns_a.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "zone", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/dns/list/dns_slave.list.php b/interface/web/dns/list/dns_slave.list.php index 1e63544..5276557 100644 --- a/interface/web/dns/list/dns_slave.list.php +++ b/interface/web/dns/list/dns_slave.list.php @@ -73,6 +73,9 @@ $liste["item"][] = array( 'field' => "origin", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -83,6 +86,9 @@ $liste["item"][] = array( 'field' => "ns", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/dns/list/dns_soa.list.php b/interface/web/dns/list/dns_soa.list.php index 89cc766..46ec9c9 100644 --- a/interface/web/dns/list/dns_soa.list.php +++ b/interface/web/dns/list/dns_soa.list.php @@ -73,6 +73,9 @@ $liste["item"][] = array( 'field' => "origin", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -83,6 +86,9 @@ $liste["item"][] = array( 'field' => "ns", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -93,6 +99,9 @@ $liste["item"][] = array( 'field' => "mbox", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/form/mail_alias.tform.php b/interface/web/mail/form/mail_alias.tform.php index 072f622..181cdc9 100644 --- a/interface/web/mail/form/mail_alias.tform.php +++ b/interface/web/mail/form/mail_alias.tform.php @@ -74,6 +74,13 @@ 'source' => 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' => 'ISEMAIL', 'errmsg'=> 'email_error_isemail'), ), @@ -86,6 +93,13 @@ 'destination' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'default' => '', 'datasource' => array ( 'type' => 'SQL', 'querystring' => 'SELECT email FROM mail_user WHERE {AUTHSQL} ORDER BY email', diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php index 754209f..29ed73f 100644 --- a/interface/web/mail/form/mail_aliasdomain.tform.php +++ b/interface/web/mail/form/mail_aliasdomain.tform.php @@ -74,6 +74,13 @@ 'source' => 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' => 'NOTEMPTY', 'errmsg'=> 'source_error_empty'), 1 => array ( 'type' => 'UNIQUE', @@ -91,6 +98,13 @@ 'destination' => 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') + ), 'default' => '', 'value' => '', 'width' => '30', diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php index 9396b81..506f934 100644 --- a/interface/web/mail/form/mail_domain.tform.php +++ b/interface/web/mail/form/mail_domain.tform.php @@ -77,9 +77,13 @@ 'domain' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', - 'filters' => array ( 0 => array ( 'type' => 'TOLOWER', - 'event'=> 'SAVE'), - ), + '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' => 'NOTEMPTY', 'errmsg'=> 'domain_error_empty'), 1 => array ( 'type' => 'UNIQUE', diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php index b308ed6..ea8fb56 100644 --- a/interface/web/mail/form/mail_domain_catchall.tform.php +++ b/interface/web/mail/form/mail_domain_catchall.tform.php @@ -74,6 +74,13 @@ 'source' => 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' => 'NOTEMPTY', 'errmsg'=> 'domain_error_empty'), 1 => array ( 'type' => 'UNIQUE', @@ -91,6 +98,13 @@ 'destination' => 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') + ), 'default' => '', /* 'datasource' => array ( 'type' => 'SQL', diff --git a/interface/web/mail/form/mail_forward.tform.php b/interface/web/mail/form/mail_forward.tform.php index b8f2575..cdfb785 100644 --- a/interface/web/mail/form/mail_forward.tform.php +++ b/interface/web/mail/form/mail_forward.tform.php @@ -74,6 +74,13 @@ 'source' => 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' => 'ISEMAIL', 'errmsg'=> 'email_error_isemail'), ), @@ -86,6 +93,13 @@ 'destination' => 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') + ), 'default' => '', 'value' => '', 'width' => '30', diff --git a/interface/web/mail/form/mail_get.tform.php b/interface/web/mail/form/mail_get.tform.php index 4086eb9..e23c4e1 100644 --- a/interface/web/mail/form/mail_get.tform.php +++ b/interface/web/mail/form/mail_get.tform.php @@ -84,6 +84,13 @@ 'source_server' => 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' => 'NOTEMPTY', 'errmsg'=> 'source_server_error_isempty'), 1 => array ( 'type' => 'REGEX', @@ -134,6 +141,13 @@ 'destination' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'default' => '', 'datasource' => array ( 'type' => 'SQL', 'querystring' => 'SELECT email FROM mail_user WHERE {AUTHSQL} ORDER BY email', diff --git a/interface/web/mail/form/mail_mailinglist.tform.php b/interface/web/mail/form/mail_mailinglist.tform.php index 93bd8c2..7ccf1f6 100644 --- a/interface/web/mail/form/mail_mailinglist.tform.php +++ b/interface/web/mail/form/mail_mailinglist.tform.php @@ -77,6 +77,13 @@ 'domain' => 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' => 'NOTEMPTY', 'errmsg'=> 'domain_error_empty'), 1 => array ( 'type' => 'REGEX', @@ -104,6 +111,13 @@ 'email' => 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' => 'ISEMAIL', 'errmsg'=> 'email_error_isemail'), ), diff --git a/interface/web/mail/form/mail_transport.tform.php b/interface/web/mail/form/mail_transport.tform.php index d7935a6..a7ae27d 100644 --- a/interface/web/mail/form/mail_transport.tform.php +++ b/interface/web/mail/form/mail_transport.tform.php @@ -77,6 +77,13 @@ 'domain' => 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') + ), 'default' => '', 'value' => '', 'width' => '30', diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php index 0dd7c8f..f01e96e 100644 --- a/interface/web/mail/form/mail_user.tform.php +++ b/interface/web/mail/form/mail_user.tform.php @@ -75,6 +75,13 @@ 'email' => 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' => 'ISEMAIL', 'errmsg'=> 'email_error_isemail'), 1 => array ( 'type' => 'UNIQUE', @@ -136,6 +143,13 @@ '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}$/i', 'errmsg'=> 'cc_error_isemail'), diff --git a/interface/web/mail/form/spamfilter_config.tform.php b/interface/web/mail/form/spamfilter_config.tform.php index 3f5d582..224cb60 100644 --- a/interface/web/mail/form/spamfilter_config.tform.php +++ b/interface/web/mail/form/spamfilter_config.tform.php @@ -95,6 +95,13 @@ 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => 'server1.domain.tld', + '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' => 'NOTEMPTY', 'errmsg'=> 'hostname_error_empty'), ), diff --git a/interface/web/mail/form/spamfilter_users.tform.php b/interface/web/mail/form/spamfilter_users.tform.php index b14fb78..980a64f 100644 --- a/interface/web/mail/form/spamfilter_users.tform.php +++ b/interface/web/mail/form/spamfilter_users.tform.php @@ -90,6 +90,13 @@ 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', + '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' => 'NOTEMPTY', 'errmsg'=> 'email_error_notempty'), ), diff --git a/interface/web/mail/form/spamfilter_whitelist.tform.php b/interface/web/mail/form/spamfilter_whitelist.tform.php index 4d476a7..73d53f8 100644 --- a/interface/web/mail/form/spamfilter_whitelist.tform.php +++ b/interface/web/mail/form/spamfilter_whitelist.tform.php @@ -90,6 +90,13 @@ 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', + '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' => 'NOTEMPTY', 'errmsg'=> 'email_error_notempty'), ), diff --git a/interface/web/mail/list/mail_alias.list.php b/interface/web/mail/list/mail_alias.list.php index 2b5e773..1016444 100644 --- a/interface/web/mail/list/mail_alias.list.php +++ b/interface/web/mail/list/mail_alias.list.php @@ -59,6 +59,9 @@ $liste["item"][] = array( 'field' => "source", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -68,6 +71,9 @@ $liste["item"][] = array( 'field' => "destination", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_aliasdomain.list.php b/interface/web/mail/list/mail_aliasdomain.list.php index aa11ded..f4385d8 100644 --- a/interface/web/mail/list/mail_aliasdomain.list.php +++ b/interface/web/mail/list/mail_aliasdomain.list.php @@ -59,6 +59,9 @@ $liste["item"][] = array( 'field' => "source", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -68,6 +71,9 @@ $liste["item"][] = array( 'field' => "destination", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_domain.list.php b/interface/web/mail/list/mail_domain.list.php index 310ec88..0012e1c 100644 --- a/interface/web/mail/list/mail_domain.list.php +++ b/interface/web/mail/list/mail_domain.list.php @@ -95,6 +95,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_domain_catchall.list.php b/interface/web/mail/list/mail_domain_catchall.list.php index 99b8c2c..07f7e9f 100644 --- a/interface/web/mail/list/mail_domain_catchall.list.php +++ b/interface/web/mail/list/mail_domain_catchall.list.php @@ -59,6 +59,9 @@ $liste["item"][] = array( 'field' => "source", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -68,6 +71,9 @@ $liste["item"][] = array( 'field' => "destination", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_forward.list.php b/interface/web/mail/list/mail_forward.list.php index 6f1e230..5aae2bb 100644 --- a/interface/web/mail/list/mail_forward.list.php +++ b/interface/web/mail/list/mail_forward.list.php @@ -59,6 +59,9 @@ $liste["item"][] = array( 'field' => "source", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", @@ -68,6 +71,9 @@ $liste["item"][] = array( 'field' => "destination", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_get.list.php b/interface/web/mail/list/mail_get.list.php index 7e532f4..bcce2c0 100644 --- a/interface/web/mail/list/mail_get.list.php +++ b/interface/web/mail/list/mail_get.list.php @@ -91,6 +91,9 @@ $liste["item"][] = array( 'field' => "destination", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_mailinglist.list.php b/interface/web/mail/list/mail_mailinglist.list.php index 27657d5..4bc3b06 100644 --- a/interface/web/mail/list/mail_mailinglist.list.php +++ b/interface/web/mail/list/mail_mailinglist.list.php @@ -57,6 +57,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_transport.list.php b/interface/web/mail/list/mail_transport.list.php index d882c6f..ccea270 100644 --- a/interface/web/mail/list/mail_transport.list.php +++ b/interface/web/mail/list/mail_transport.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_user.list.php b/interface/web/mail/list/mail_user.list.php index 8306001..7e78683 100644 --- a/interface/web/mail/list/mail_user.list.php +++ b/interface/web/mail/list/mail_user.list.php @@ -49,6 +49,9 @@ $liste["item"][] = array( 'field' => "email", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/mail_user_stats.list.php b/interface/web/mail/list/mail_user_stats.list.php index 8705def..aa14431 100644 --- a/interface/web/mail/list/mail_user_stats.list.php +++ b/interface/web/mail/list/mail_user_stats.list.php @@ -49,6 +49,9 @@ $liste["item"][] = array( 'field' => "email", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/list/user_quota_stats.list.php b/interface/web/mail/list/user_quota_stats.list.php index 0472afb..1123b93 100644 --- a/interface/web/mail/list/user_quota_stats.list.php +++ b/interface/web/mail/list/user_quota_stats.list.php @@ -47,6 +47,9 @@ $liste["item"][] = array( 'field' => "email", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php index ce5e7cc..7c1d7df 100644 --- a/interface/web/mail/mail_domain_edit.php +++ b/interface/web/mail/mail_domain_edit.php @@ -140,7 +140,7 @@ if ($domain['domain'] == $this->dataRecord["domain"]) { $domain_select .= " selected"; } - $domain_select .= ">" . $domain['domain'] . "</option>\r\n"; + $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n"; } } else { diff --git a/interface/web/mailuser/form/mail_user_cc.tform.php b/interface/web/mailuser/form/mail_user_cc.tform.php index c46bed1..222745d 100644 --- a/interface/web/mailuser/form/mail_user_cc.tform.php +++ b/interface/web/mailuser/form/mail_user_cc.tform.php @@ -61,6 +61,13 @@ '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.-]*\w+\.[a-z\-]{2,10}){0,1}$/i', 'errmsg'=> 'cc_error_isemail'), diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php index 342272e..d77d584 100644 --- a/interface/web/sites/form/web_aliasdomain.tform.php +++ b/interface/web/sites/form/web_aliasdomain.tform.php @@ -72,6 +72,13 @@ 'domain' => 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' => 'CUSTOM', 'class' => 'validate_domain', 'function' => 'alias_domain', diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index 673662f..6b1d7f7 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -119,14 +119,18 @@ 'domain' => 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' => 'CUSTOM', 'class' => 'validate_domain', 'function' => 'web_domain', 'errmsg'=> 'domain_error_regex'), ), - 'filters' => array ( 0 => array ( 'event' => 'SAVE', - 'type' => 'TOLOWER'), - ), 'default' => '', 'value' => '', 'width' => '30', diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php index d8d6c2c..633786a 100644 --- a/interface/web/sites/form/web_subdomain.tform.php +++ b/interface/web/sites/form/web_subdomain.tform.php @@ -72,6 +72,13 @@ 'domain' => 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' => 'CUSTOM', 'class' => 'validate_domain', 'function' => 'sub_domain', diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php index 3440eba..da017c4 100644 --- a/interface/web/sites/form/web_vhost_subdomain.tform.php +++ b/interface/web/sites/form/web_vhost_subdomain.tform.php @@ -111,6 +111,13 @@ 'domain' => 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' => 'CUSTOM', 'class' => 'validate_domain', 'function' => 'sub_domain', diff --git a/interface/web/sites/list/ftp_user.list.php b/interface/web/sites/list/ftp_user.list.php index 45f0a90..2c64a94 100644 --- a/interface/web/sites/list/ftp_user.list.php +++ b/interface/web/sites/list/ftp_user.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "parent_domain_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", diff --git a/interface/web/sites/list/shell_user.list.php b/interface/web/sites/list/shell_user.list.php index ac4de6e..2dd2b4e 100644 --- a/interface/web/sites/list/shell_user.list.php +++ b/interface/web/sites/list/shell_user.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "parent_domain_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", diff --git a/interface/web/sites/list/user_quota_stats.list.php b/interface/web/sites/list/user_quota_stats.list.php index b43fc98..c3999c2 100644 --- a/interface/web/sites/list/user_quota_stats.list.php +++ b/interface/web/sites/list/user_quota_stats.list.php @@ -49,6 +49,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/sites/list/web_aliasdomain.list.php b/interface/web/sites/list/web_aliasdomain.list.php index dcff7d1..a692156 100644 --- a/interface/web/sites/list/web_aliasdomain.list.php +++ b/interface/web/sites/list/web_aliasdomain.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "parent_domain_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", @@ -88,6 +91,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/sites/list/web_domain.list.php b/interface/web/sites/list/web_domain.list.php index e863309..8f98f6e 100644 --- a/interface/web/sites/list/web_domain.list.php +++ b/interface/web/sites/list/web_domain.list.php @@ -102,6 +102,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/sites/list/web_folder.list.php b/interface/web/sites/list/web_folder.list.php index b8b22a0..dfcb379 100644 --- a/interface/web/sites/list/web_folder.list.php +++ b/interface/web/sites/list/web_folder.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "parent_domain_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", diff --git a/interface/web/sites/list/web_folder_user.list.php b/interface/web/sites/list/web_folder_user.list.php index 5b8324a..f284366 100644 --- a/interface/web/sites/list/web_folder_user.list.php +++ b/interface/web/sites/list/web_folder_user.list.php @@ -62,6 +62,9 @@ $liste["item"][] = array( 'field' => "web_folder_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", diff --git a/interface/web/sites/list/web_sites_stats.list.php b/interface/web/sites/list/web_sites_stats.list.php index c6ffd3e..8539c7e 100644 --- a/interface/web/sites/list/web_sites_stats.list.php +++ b/interface/web/sites/list/web_sites_stats.list.php @@ -49,6 +49,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/sites/list/web_subdomain.list.php b/interface/web/sites/list/web_subdomain.list.php index 2664f44..637de0e 100644 --- a/interface/web/sites/list/web_subdomain.list.php +++ b/interface/web/sites/list/web_subdomain.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "parent_domain_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", @@ -88,6 +91,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/sites/list/web_vhost_subdomain.list.php b/interface/web/sites/list/web_vhost_subdomain.list.php index 7b7a8d7..192613c 100644 --- a/interface/web/sites/list/web_vhost_subdomain.list.php +++ b/interface/web/sites/list/web_vhost_subdomain.list.php @@ -74,6 +74,9 @@ $liste["item"][] = array( 'field' => "parent_domain_id", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "SELECT", 'op' => "=", 'prefix' => "", @@ -88,6 +91,9 @@ $liste["item"][] = array( 'field' => "domain", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php index 47fdf4c..6025fc9 100644 --- a/interface/web/sites/web_aliasdomain_edit.php +++ b/interface/web/sites/web_aliasdomain_edit.php @@ -99,7 +99,7 @@ if ($domain['domain'] == $this->dataRecord["domain"]) { $domain_select .= " selected"; } - $domain_select .= ">" . $domain['domain'] . "</option>\r\n"; + $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n"; } } else { diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index ca57df3..142c7d2 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -432,7 +432,7 @@ if ($domain['domain'] == $this->dataRecord["domain"]) { $domain_select .= " selected"; } - $domain_select .= ">" . $domain['domain'] . "</option>\r\n"; + $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n"; } } else { diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php index ad00794..577078b 100644 --- a/interface/web/sites/web_subdomain_edit.php +++ b/interface/web/sites/web_subdomain_edit.php @@ -97,7 +97,7 @@ $domain_select .= " selected"; $selected_domain = $domain['domain']; } - $domain_select .= ">" . $domain['domain'] . "</option>\r\n"; + $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n"; } } else { diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php index 62e351a..761be88 100644 --- a/interface/web/sites/web_vhost_subdomain_edit.php +++ b/interface/web/sites/web_vhost_subdomain_edit.php @@ -252,7 +252,7 @@ $domain_select .= " selected"; $selected_domain = $domain['domain']; } - $domain_select .= ">" . $domain['domain'] . "</option>\r\n"; + $domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n"; } } else { diff --git a/interface/web/vm/form/openvz_vm.tform.php b/interface/web/vm/form/openvz_vm.tform.php index 229d9df..efd9c84 100644 --- a/interface/web/vm/form/openvz_vm.tform.php +++ b/interface/web/vm/form/openvz_vm.tform.php @@ -117,6 +117,13 @@ 'hostname' => 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' => 'NOTEMPTY', 'errmsg'=> 'hostname_error_empty'), ), diff --git a/interface/web/vm/list/openvz_vm.list.php b/interface/web/vm/list/openvz_vm.list.php index 0d9c5e6..016165b 100644 --- a/interface/web/vm/list/openvz_vm.list.php +++ b/interface/web/vm/list/openvz_vm.list.php @@ -109,6 +109,9 @@ $liste["item"][] = array( 'field' => "hostname", 'datatype' => "VARCHAR", + 'filters' => array( 0 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8') + ), 'formtype' => "TEXT", 'op' => "like", 'prefix' => "%", -- Gitblit v1.9.1