From e9d5c95afbb562c6e1e5677013906b220070295b Mon Sep 17 00:00:00 2001 From: Marius Cramer Date: Tue, 28 Jul 2015 11:29:38 +0200 Subject: [PATCH] =?UTF-8?q?-=20backported=20patches:=20=20=20=20=20-=20mak?= =?UTF-8?q?e=20sure=20umlautdomains=20can=20be=20found=20in=20lists.=20=20?= =?UTF-8?q?=20=20=20-=20sorting=20by=20database=20name=20did=20not=20work?= =?UTF-8?q?=20in=20database=20quota=20list.=20=20=20=20=20-=20IDN:=20use?= =?UTF-8?q?=20standard=20from=202008=20(which=20also=20works=20with=20"?= =?UTF-8?q?=C3=9F").?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interface/lib/classes/functions.inc.php | 4 ++-- interface/lib/classes/listform.inc.php | 14 ++++++++++++++ interface/web/client/client_edit.php | 2 +- interface/web/login/lib/module.conf.php | 1 + .../sites/templates/database_quota_stats_list.htm | 2 +- server/lib/classes/functions.inc.php | 4 ++-- 6 files changed, 21 insertions(+), 6 deletions(-) diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index 43eec67fc..e5f056082 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -301,7 +301,7 @@ class functions { if($encode == true) { if(function_exists('idn_to_ascii')) { - $domain = idn_to_ascii($domain); + $domain = idn_to_ascii($domain, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); } elseif(file_exists(ISPC_CLASS_PATH.'/idn/idna_convert.class.php')) { /* use idna class: * @author Matthias Sommerfeld @@ -318,7 +318,7 @@ class functions { } } else { if(function_exists('idn_to_utf8')) { - $domain = idn_to_utf8($domain); + $domain = idn_to_utf8($domain, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); } elseif(file_exists(ISPC_CLASS_PATH.'/idn/idna_convert.class.php')) { /* use idna class: * @author Matthias Sommerfeld diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index b1233a042..8f5bd86fc 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -197,6 +197,20 @@ class listform { $table = $i['table']; $searchval = $_SESSION['search'][$list_name][$search_prefix.$field]; + // IDN + if($searchval != ''){ + foreach($i['filters'] as $searchval_filter) { + if($searchval_filter['event'] == 'SHOW') { + switch ($searchval_filter['type']) { + case 'IDNTOUTF8': + $searchval = $app->functions->idn_encode($searchval); + //echo $searchval; + break; + } + } + } + } + // format user date format to MySQL date format 0000-00-00 if($i['datatype'] == 'DATE' && $this->lng('conf_format_dateshort') != 'Y-m-d'){ $dateformat = preg_replace("@[^Ymd]@", "", $this->lng('conf_format_dateshort')); diff --git a/interface/web/client/client_edit.php b/interface/web/client/client_edit.php index bbeb82223..7bc9ecd6e 100644 --- a/interface/web/client/client_edit.php +++ b/interface/web/client/client_edit.php @@ -249,7 +249,7 @@ class page_action extends tform_actions { $modules = $conf['interface_modules_enabled']; if(isset($this->dataRecord["limit_client"]) && $this->dataRecord["limit_client"] > 0) $modules .= ',client'; $startmodule = (stristr($modules, 'dashboard'))?'dashboard':'client'; - $usertheme = $this->dataRecord["usertheme"]; + $usertheme = (isset($this->dataRecord["usertheme"]) && $this->dataRecord["usertheme"] != ''? $this->dataRecord["usertheme"] : 'default'); $type = 'user'; $active = 1; $language = $this->dataRecord["language"]; diff --git a/interface/web/login/lib/module.conf.php b/interface/web/login/lib/module.conf.php index 0936235bb..19feac131 100644 --- a/interface/web/login/lib/module.conf.php +++ b/interface/web/login/lib/module.conf.php @@ -3,4 +3,5 @@ $module["name"] = "login"; $module["title"] = "top_menu_login"; $module["template"] = "module.tpl.htm"; $module["startpage"] = "login/index.php"; +$module["nav"] = array(); ?> diff --git a/interface/web/sites/templates/database_quota_stats_list.htm b/interface/web/sites/templates/database_quota_stats_list.htm index a41a19930..31a19ea5f 100644 --- a/interface/web/sites/templates/database_quota_stats_list.htm +++ b/interface/web/sites/templates/database_quota_stats_list.htm @@ -8,7 +8,7 @@ - + diff --git a/server/lib/classes/functions.inc.php b/server/lib/classes/functions.inc.php index 5632a5875..ec07a83cc 100644 --- a/server/lib/classes/functions.inc.php +++ b/server/lib/classes/functions.inc.php @@ -353,7 +353,7 @@ class functions { if($encode == true) { if(function_exists('idn_to_ascii')) { - $domain = idn_to_ascii($domain); + $domain = idn_to_ascii($domain, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); } elseif(file_exists(ISPC_CLASS_PATH.'/idn/idna_convert.class.php')) { /* use idna class: * @author Matthias Sommerfeld @@ -370,7 +370,7 @@ class functions { } } else { if(function_exists('idn_to_utf8')) { - $domain = idn_to_utf8($domain); + $domain = idn_to_utf8($domain, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); } elseif(file_exists(ISPC_CLASS_PATH.'/idn/idna_convert.class.php')) { /* use idna class: * @author Matthias Sommerfeld -- GitLab