diff options
author | rxu <rxu@mail.ru> | 2014-09-13 12:35:44 +0800 |
---|---|---|
committer | rxu <rxu@mail.ru> | 2014-09-18 08:19:08 +0800 |
commit | dc65058c20f5828dd33c6811c2f65bb14375a12e (patch) | |
tree | bf83174834f5f1dcf918cafac5fe529542f9e5b0 /phpBB/phpbb/profilefields | |
parent | c1d0528d80327b9dcda62edf9ce05a5ce84eb472 (diff) | |
download | forums-dc65058c20f5828dd33c6811c2f65bb14375a12e.tar forums-dc65058c20f5828dd33c6811c2f65bb14375a12e.tar.gz forums-dc65058c20f5828dd33c6811c2f65bb14375a12e.tar.bz2 forums-dc65058c20f5828dd33c6811c2f65bb14375a12e.tar.xz forums-dc65058c20f5828dd33c6811c2f65bb14375a12e.zip |
[ticket/13055] Add string profile fields validation options to support unicode
PHPBB3-13055
Diffstat (limited to 'phpBB/phpbb/profilefields')
-rw-r--r-- | phpBB/phpbb/profilefields/type/type_string_common.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/phpBB/phpbb/profilefields/type/type_string_common.php b/phpBB/phpbb/profilefields/type/type_string_common.php index 0eaf7e527d..ff33a7b49c 100644 --- a/phpBB/phpbb/profilefields/type/type_string_common.php +++ b/phpBB/phpbb/profilefields/type/type_string_common.php @@ -21,8 +21,13 @@ abstract class type_string_common extends type_base 'ALPHA_ONLY' => '[\w]+', 'ALPHA_UNDERSCORE' => '[\w_]+', 'ALPHA_DOTS' => '[\w.]+', - 'ALPHA_SPACERS' => '[\w_\+\. \-\[\]]+', + 'ALPHA_SPACERS' => '[\w\x20_+\-\[\]]+', 'ALPHA_PUNCTUATION' => '[a-zA-Z][\w\.,\-_]+', + 'LETTER_NUM_ONLY' => '[\p{Lu}\p{Ll}0-9]+', + 'LETTER_NUM_UNDERSCORE' => '[\p{Lu}\p{Ll}0-9_]+', + 'LETTER_NUM_DOTS' => '[\p{Lu}\p{Ll}0-9.]+', + 'LETTER_NUM_SPACERS' => '[\p{Lu}\p{Ll}0-9\x20_+\-\[\]]+', + 'LETTER_NUM_PUNCTUATION' => '[\p{Lu}\p{Ll}][\p{Lu}\p{Ll}0-9.,\-_]+', ); /** @@ -79,7 +84,7 @@ abstract class type_string_common extends type_base if (!empty($field_data['field_validation']) && $field_data['field_validation'] != '.*') { $field_validate = ($field_type != 'text') ? $field_value : bbcode_nl2br($field_value); - if (!preg_match('#^' . str_replace('\\\\', '\\', $field_data['field_validation']) . '$#i', $field_validate)) + if (!preg_match('#^' . str_replace('\\\\', '\\', $field_data['field_validation']) . '$#iu', $field_validate)) { $validation = array_search($field_data['field_validation'], $this->validation_options); if ($validation) |