diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2016-04-06 06:29:18 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2016-04-06 06:29:18 +0300 |
commit | 3eb0cf055146c0b77b592cf9ef4bf2eb2e2f1ca3 (patch) | |
tree | 99817781db0a0626fa4d14f96697f6e04e66f983 /libs | |
parent | 1854f5c456a76af807431d52bcb19ad207ba658e (diff) | |
parent | 0f38083969261b95a00c59f1f5596d35365506cd (diff) |
Merge branch 'master' into 3.0-m03
Conflicts:
core/Version.php
core/WidgetsList.php
plugins/CustomDimensions
plugins/Goals/templates/getGoalReportView.twig
plugins/Goals/templates/getOverviewView.twig
tests/UI/expected-ui-screenshots
Diffstat (limited to 'libs')
-rw-r--r-- | libs/Zend/Validate/Hostname.php | 142 |
1 files changed, 130 insertions, 12 deletions
diff --git a/libs/Zend/Validate/Hostname.php b/libs/Zend/Validate/Hostname.php index cd5db5abcb..49e72dd1aa 100644 --- a/libs/Zend/Validate/Hostname.php +++ b/libs/Zend/Validate/Hostname.php @@ -57,6 +57,7 @@ class Zend_Validate_Hostname extends Zend_Validate_Abstract const LOCAL_NAME_NOT_ALLOWED = 'hostnameLocalNameNotAllowed'; const UNDECIPHERABLE_TLD = 'hostnameUndecipherableTld'; const UNKNOWN_TLD = 'hostnameUnknownTld'; + const VALID_UNICODE_DOMAIN = '/^[\p{L}\p{M}]{1,63}$/iu'; /** * @var array @@ -201,16 +202,7 @@ class Zend_Validate_Hostname extends Zend_Validate_Abstract 'villas', 'vin', 'vip', 'virgin', 'vision', 'vista', 'vistaprint', 'viva', 'vlaanderen', 'vn', 'vodka', 'vote', 'voting', 'voto', 'voyage', 'vu', 'wales', 'walter', 'wang', 'wanggou', 'watch', 'watches', 'webcam', 'weber', 'website', 'wed', 'wedding', 'weir', 'wf', 'whoswho', 'wien', 'wiki', 'williamhill', 'win', 'windows', 'wine', - 'wme', 'work', 'works', 'world', 'ws', 'wtc', 'wtf', 'xbox', 'xerox', 'xin', 'कॉम', '佛山', '慈善', '集团', - '在线', '한국', '点看', 'คอม', 'ভারত', '八卦', 'موقع', '公益', '公司', '移动', '我爱你', 'москва', 'қаз', 'онлайн', - 'сайт', 'срб', 'бел', 'קום', '时尚', '淡马锡', 'орг', 'नेट', '삼성', 'சிங்கப்பூர்', '商标', '商店', '商城', 'дети', - 'мкд', 'ポイント', '新闻', '工行', 'كوم', '中文网', '中信', '中国', '中國', '娱乐', '谷歌', 'భారత్', 'ලංකා', 'ભારત', - 'भारत', '网店', 'संगठन', '餐厅', '网络', 'ком', 'укр', '香港', '诺基亚', '飞利浦', '台湾', '台灣', '手表', '手机', - 'мон', 'الجزائر', 'عمان', 'ارامكو', 'ایران', 'امارات', 'بازار', 'الاردن', 'موبايلي', 'بھارت', 'المغرب', - 'السعودية', 'سودان', 'همراه', 'عراق', 'مليسيا', '닷컴', '政府', 'شبكة', 'بيتك', 'გე', '机构', '组织机构', - '健康', 'ไทย', 'سورية', 'рус', 'рф', '珠宝', 'تونس', '大拿', 'みんな', 'グーグル', 'ελ', '世界', 'ਭਾਰਤ', '网址', - '닷넷', 'コム', '游戏', 'vermögensberater', 'vermögensberatung', '企业', '信息', 'مصر', 'قطر', '广东', 'இலங்கை', - 'இந்தியா', 'հայ', '新加坡', 'فلسطين', '政务', 'xperia', 'xxx', 'xyz', 'yachts', 'yamaxun', 'yandex', 'ye', + 'wme', 'work', 'works', 'world', 'ws', 'wtc', 'wtf', 'xbox', 'xerox', 'xin', 'xperia', 'xxx', 'xyz', 'yachts', 'yamaxun', 'yandex', 'ye', 'yodobashi', 'yoga', 'yokohama', 'youtube', 'yt', 'za', 'zara', 'zero', 'zip', 'zm', 'zone', 'zuerich', 'zw' ); @@ -371,9 +363,135 @@ class Zend_Validate_Hostname extends Zend_Validate_Abstract 'ایران' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'), '中国' => 'Hostname/Cn.php', '公司' => 'Hostname/Cn.php', - '网络' => 'Hostname/Cn.php' + '网络' => 'Hostname/Cn.php', + 'कॉम' => array(1 => self::VALID_UNICODE_DOMAIN), + 'セール' => array(1 => self::VALID_UNICODE_DOMAIN), + '佛山' => array(1 => self::VALID_UNICODE_DOMAIN), + '慈善' => array(1 => self::VALID_UNICODE_DOMAIN), + '集团' => array(1 => self::VALID_UNICODE_DOMAIN), + '在线' => array(1 => self::VALID_UNICODE_DOMAIN), + '한국' => array(1 => self::VALID_UNICODE_DOMAIN), + '点看' => array(1 => self::VALID_UNICODE_DOMAIN), + 'คอม' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ভারত' => array(1 => self::VALID_UNICODE_DOMAIN), + '八卦' => array(1 => self::VALID_UNICODE_DOMAIN), + 'موقع' => array(1 => self::VALID_UNICODE_DOMAIN), + '公益' => array(1 => self::VALID_UNICODE_DOMAIN), + '公司' => array(1 => self::VALID_UNICODE_DOMAIN), + '移动' => array(1 => self::VALID_UNICODE_DOMAIN), + '我爱你' => array(1 => self::VALID_UNICODE_DOMAIN), + 'москва' => array(1 => self::VALID_UNICODE_DOMAIN), + 'қаз' => array(1 => self::VALID_UNICODE_DOMAIN), + 'онлайн' => array(1 => self::VALID_UNICODE_DOMAIN), + 'сайт' => array(1 => self::VALID_UNICODE_DOMAIN), + '联通' => array(1 => self::VALID_UNICODE_DOMAIN), + 'срб' => array(1 => self::VALID_UNICODE_DOMAIN), + 'бел' => array(1 => self::VALID_UNICODE_DOMAIN), + 'קום' => array(1 => self::VALID_UNICODE_DOMAIN), + '时尚' => array(1 => self::VALID_UNICODE_DOMAIN), + '淡马锡' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ファッション' => array(1 => self::VALID_UNICODE_DOMAIN), + 'орг' => array(1 => self::VALID_UNICODE_DOMAIN), + 'नेट' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ストア' => array(1 => self::VALID_UNICODE_DOMAIN), + '삼성' => array(1 => self::VALID_UNICODE_DOMAIN), + 'சிங்கப்பூர்' => array(1 => self::VALID_UNICODE_DOMAIN), + '商标' => array(1 => self::VALID_UNICODE_DOMAIN), + '商店' => array(1 => self::VALID_UNICODE_DOMAIN), + '商城' => array(1 => self::VALID_UNICODE_DOMAIN), + 'дети' => array(1 => self::VALID_UNICODE_DOMAIN), + 'мкд' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ею' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ポイント' => array(1 => self::VALID_UNICODE_DOMAIN), + '新闻' => array(1 => self::VALID_UNICODE_DOMAIN), + '工行' => array(1 => self::VALID_UNICODE_DOMAIN), + 'كوم' => array(1 => self::VALID_UNICODE_DOMAIN), + '中文网' => array(1 => self::VALID_UNICODE_DOMAIN), + '中信' => array(1 => self::VALID_UNICODE_DOMAIN), + '中国' => array(1 => self::VALID_UNICODE_DOMAIN), + '中國' => array(1 => self::VALID_UNICODE_DOMAIN), + '娱乐' => array(1 => self::VALID_UNICODE_DOMAIN), + '谷歌' => array(1 => self::VALID_UNICODE_DOMAIN), + 'భారత్' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ලංකා' => array(1 => self::VALID_UNICODE_DOMAIN), + '购物' => array(1 => self::VALID_UNICODE_DOMAIN), + 'クラウド' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ભારત' => array(1 => self::VALID_UNICODE_DOMAIN), + 'भारत' => array(1 => self::VALID_UNICODE_DOMAIN), + '网店' => array(1 => self::VALID_UNICODE_DOMAIN), + 'संगठन' => array(1 => self::VALID_UNICODE_DOMAIN), + '餐厅' => array(1 => self::VALID_UNICODE_DOMAIN), + '网络' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ком' => array(1 => self::VALID_UNICODE_DOMAIN), + 'укр' => array(1 => self::VALID_UNICODE_DOMAIN), + '香港' => array(1 => self::VALID_UNICODE_DOMAIN), + '诺基亚' => array(1 => self::VALID_UNICODE_DOMAIN), + '食品' => array(1 => self::VALID_UNICODE_DOMAIN), + '飞利浦' => array(1 => self::VALID_UNICODE_DOMAIN), + '台湾' => array(1 => self::VALID_UNICODE_DOMAIN), + '台灣' => array(1 => self::VALID_UNICODE_DOMAIN), + '手表' => array(1 => self::VALID_UNICODE_DOMAIN), + '手机' => array(1 => self::VALID_UNICODE_DOMAIN), + 'мон' => array(1 => self::VALID_UNICODE_DOMAIN), + 'الجزائر' => array(1 => self::VALID_UNICODE_DOMAIN), + 'عمان' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ارامكو' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ایران' => array(1 => self::VALID_UNICODE_DOMAIN), + 'امارات' => array(1 => self::VALID_UNICODE_DOMAIN), + 'بازار' => array(1 => self::VALID_UNICODE_DOMAIN), + 'الاردن' => array(1 => self::VALID_UNICODE_DOMAIN), + 'موبايلي' => array(1 => self::VALID_UNICODE_DOMAIN), + 'بھارت' => array(1 => self::VALID_UNICODE_DOMAIN), + 'المغرب' => array(1 => self::VALID_UNICODE_DOMAIN), + 'السعودية' => array(1 => self::VALID_UNICODE_DOMAIN), + 'سودان' => array(1 => self::VALID_UNICODE_DOMAIN), + 'همراه' => array(1 => self::VALID_UNICODE_DOMAIN), + 'عراق' => array(1 => self::VALID_UNICODE_DOMAIN), + 'مليسيا' => array(1 => self::VALID_UNICODE_DOMAIN), + '澳門' => array(1 => self::VALID_UNICODE_DOMAIN), + '닷컴' => array(1 => self::VALID_UNICODE_DOMAIN), + '政府' => array(1 => self::VALID_UNICODE_DOMAIN), + 'شبكة' => array(1 => self::VALID_UNICODE_DOMAIN), + 'بيتك' => array(1 => self::VALID_UNICODE_DOMAIN), + 'გე' => array(1 => self::VALID_UNICODE_DOMAIN), + '机构' => array(1 => self::VALID_UNICODE_DOMAIN), + '组织机构' => array(1 => self::VALID_UNICODE_DOMAIN), + '健康' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ไทย' => array(1 => self::VALID_UNICODE_DOMAIN), + 'سورية' => array(1 => self::VALID_UNICODE_DOMAIN), + 'рус' => array(1 => self::VALID_UNICODE_DOMAIN), + 'рф' => array(1 => self::VALID_UNICODE_DOMAIN), + '珠宝' => array(1 => self::VALID_UNICODE_DOMAIN), + 'تونس' => array(1 => self::VALID_UNICODE_DOMAIN), + '大拿' => array(1 => self::VALID_UNICODE_DOMAIN), + 'みんな' => array(1 => self::VALID_UNICODE_DOMAIN), + 'グーグル' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ελ' => array(1 => self::VALID_UNICODE_DOMAIN), + '世界' => array(1 => self::VALID_UNICODE_DOMAIN), + '書籍' => array(1 => self::VALID_UNICODE_DOMAIN), + 'ਭਾਰਤ' => array(1 => self::VALID_UNICODE_DOMAIN), + '网址' => array(1 => self::VALID_UNICODE_DOMAIN), + '닷넷' => array(1 => self::VALID_UNICODE_DOMAIN), + 'コム' => array(1 => self::VALID_UNICODE_DOMAIN), + '游戏' => array(1 => self::VALID_UNICODE_DOMAIN), + 'VERMöGENSBERATER' => array(1 => self::VALID_UNICODE_DOMAIN), + 'VERMöGENSBERATUNG' => array(1 => self::VALID_UNICODE_DOMAIN), + '企业' => array(1 => self::VALID_UNICODE_DOMAIN), + '信息' => array(1 => self::VALID_UNICODE_DOMAIN), + '嘉里大酒店' => array(1 => self::VALID_UNICODE_DOMAIN), + 'مصر' => array(1 => self::VALID_UNICODE_DOMAIN), + 'قطر' => array(1 => self::VALID_UNICODE_DOMAIN), + '广东' => array(1 => self::VALID_UNICODE_DOMAIN), + 'இலங்கை' => array(1 => self::VALID_UNICODE_DOMAIN), + 'இந்தியா' => array(1 => self::VALID_UNICODE_DOMAIN), + 'հայ' => array(1 => self::VALID_UNICODE_DOMAIN), + '新加坡' => array(1 => self::VALID_UNICODE_DOMAIN), + 'فلسطين' => array(1 => self::VALID_UNICODE_DOMAIN), + '政务' => array(1 => self::VALID_UNICODE_DOMAIN), + '家電' => array(1 => self::VALID_UNICODE_DOMAIN), ); + protected $_idnLength = array( 'BIZ' => array(5 => 17, 11 => 15, 12 => 20), 'CN' => array(1 => 20), @@ -744,7 +862,7 @@ class Zend_Validate_Hostname extends Zend_Validate_Abstract // Check for URI Syntax (RFC3986) if ($this->_options['allow'] & self::ALLOW_URI) { - if (preg_match("/^([a-zA-Z0-9-._~!$&\'()*+,;=]|%[[:xdigit:]]{2}){1,254}$/i", $value)) { + if (preg_match("/^([a-zA-Z0-9-._~!$&'()*+,;=]|%[[:xdigit:]]{2}){1,254}$/i", $value)) { return true; } else { $this->_error(self::INVALID_URI); |