Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2016-04-06 06:29:18 +0300
committerThomas Steur <thomas.steur@gmail.com>2016-04-06 06:29:18 +0300
commit3eb0cf055146c0b77b592cf9ef4bf2eb2e2f1ca3 (patch)
tree99817781db0a0626fa4d14f96697f6e04e66f983 /libs
parent1854f5c456a76af807431d52bcb19ad207ba658e (diff)
parent0f38083969261b95a00c59f1f5596d35365506cd (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.php142
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);