diff --git a/upload/ajax/edit_user_profile.php b/upload/ajax/edit_user_profile.php index 955349688..580f6aeb1 100644 --- a/upload/ajax/edit_user_profile.php +++ b/upload/ajax/edit_user_profile.php @@ -63,11 +63,11 @@ switch ($field) if($b_day || $b_md || $b_year) { - if((bb_date(TIMENOW, 'Y') - $b_year) > $bb_cfg['birthday']['max_user_age']) + if((bb_date(TIMENOW, 'Y', '', false) - $b_year) > $bb_cfg['birthday']['max_user_age']) { $this->ajax_die(sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday']['max_user_age'])); } - else if((bb_date(TIMENOW, 'Y') - $b_year) < $bb_cfg['birthday']['min_user_age']) + else if((bb_date(TIMENOW, 'Y', '', false) - $b_year) < $bb_cfg['birthday']['min_user_age']) { $this->ajax_die(sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday']['min_user_age'])); } diff --git a/upload/config.php b/upload/config.php index b92f7ea57..418ff710b 100644 --- a/upload/config.php +++ b/upload/config.php @@ -57,8 +57,8 @@ $bb_cfg['css_ver'] = 1; // Increase number of revision after update $bb_cfg['tp_version'] = '2.1 Beta'; -$bb_cfg['tp_release_state'] = 'R216'; -$bb_cfg['tp_release_date'] = '16-08-2011'; +$bb_cfg['tp_release_state'] = 'R218'; +$bb_cfg['tp_release_date'] = '17-08-2011'; $bb_cfg['board_disabled_msg'] = 'форум временно отключен'; // 'forums temporarily disabled'; // show this msg if board has been disabled via ON/OFF trigger $bb_cfg['srv_overloaded_msg'] = "Извините, в данный момент сервер перегружен\nПопробуйте повторить запрос через несколько минут"; diff --git a/upload/includes/functions_validate.php b/upload/includes/functions_validate.php index 0ba97dab5..7af9ac095 100644 --- a/upload/includes/functions_validate.php +++ b/upload/includes/functions_validate.php @@ -15,13 +15,13 @@ function validate_username ($username, $check_ban_and_taken = true) // Length if (strlen($username) > USERNAME_MAX_LENGTH) { - return 'Слишком длинное имя пользователя'; + return $lang['USERNAME_TOO_LONG']; } // Allowed symbols if (!preg_match('#^['.$name_chars.']+$#iu', $username, $m)) { $invalid_chars = preg_replace('#['.$name_chars.']#iu', '', $username); - return "Имя $username содержит неподходящие символы: ". htmlCHR($invalid_chars) .''; + return "{$lang['USERNAME_INVALID']}: ". htmlCHR($invalid_chars) .""; } // HTML Entities if (preg_match_all('/&(#[0-9]+|[a-z]+);/iu', $username, $m)) @@ -30,7 +30,7 @@ function validate_username ($username, $check_ban_and_taken = true) { if (!preg_match('/^(&|<|>)$/iu', $ent)) { - return 'Это имя содержит неподходящие символы'; + return $lang['USERNAME_INVALID']; } } } @@ -43,7 +43,7 @@ function validate_username ($username, $check_ban_and_taken = true) { if ((!IS_GUEST && $row['username'] != $userdata['username']) || IS_GUEST) { - return 'Пользователь с таким именем уже существует'; + return $lang['USERNAME_TAKEN']; } } // Запрещено @@ -57,7 +57,7 @@ function validate_username ($username, $check_ban_and_taken = true) { if (preg_match("#^($banned_names_exp)$#iu", $username)) { - return 'Это имя было запрещено к использованию'; + return $lang['USERNAME_DISALLOWED']; } } } @@ -68,13 +68,15 @@ function validate_username ($username, $check_ban_and_taken = true) // Check to see if email address is banned or already present in the DB function validate_email ($email, $check_ban_and_taken = true) { + global $lang; + if (!$email || !preg_match('#^([_a-z\d])[a-z\d\.\-_]+@[a-z\d\-]+\.([a-z\d\-]+\.)*?[a-z]{2,4}$#i', $email)) { - return 'Этот адрес email неправилен'; + return $lang['EMAIL_INVALID']; } if (strlen($email) > USEREMAIL_MAX_LENGTH) { - return 'Слишком длинный email [максимум: '. USEREMAIL_MAX_LENGTH .' символов]'; + return $lang['EMAIL_TOO_LONG']; } if ($check_ban_and_taken) @@ -89,7 +91,7 @@ function validate_email ($email, $check_ban_and_taken = true) { if (preg_match("#^($banned_emails_exp)$#i", $email)) { - return 'Этот адрес email находится в чёрном списке'; + return sprintf($lang['EMAIL_BANNED'], $email); } } @@ -97,7 +99,7 @@ function validate_email ($email, $check_ban_and_taken = true) if (DB()->fetch_row("SELECT 1 FROM ". BB_USERS ." WHERE user_email = '$email_sql' LIMIT 1")) { - return 'Этот адрес e-mail уже занят другим пользователем'; + return $lang['EMAIL_TAKEN']; } } diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php index bcdafbe27..568afa244 100644 --- a/upload/language/lang_english/lang_main.php +++ b/upload/language/lang_english/lang_main.php @@ -640,11 +640,13 @@ $lang['CURRENT_PASSWORD_MISMATCH'] = 'The current password you supplied does not $lang['PASSWORD_LONG'] = 'Your password must be no more than 32 characters.'; $lang['TOO_MANY_REGISTERS'] = 'You have made too many registration attempts. Please try again later.'; $lang['USERNAME_TAKEN'] = 'Sorry, but this username has already been taken.'; -$lang['USERNAME_INVALID'] = 'Sorry, but this username contains an invalid character such as \'.'; +$lang['USERNAME_INVALID'] = 'Sorry, but this username contains an invalid character'; $lang['USERNAME_DISALLOWED'] = 'Sorry, but this username has been disallowed.'; +$lang['USERNAME_TOO_LONG'] = 'Your name is too long.'; $lang['EMAIL_TAKEN'] = 'Sorry, but that e-mail address is already registered to a user.'; $lang['EMAIL_BANNED'] = 'Sorry, but %s address has been banned.'; $lang['EMAIL_INVALID'] = 'Sorry, but this e-mail address is invalid.'; +$lang['EMAIL_TOO_LONG'] = 'Your email is too long.'; $lang['SIGNATURE_TOO_LONG'] = 'Your signature is too long.'; $lang['SIGNATURE_ERROR_HTML'] = 'The signature can contain only BBCode'; $lang['FIELDS_EMPTY'] = 'You must fill in the required fields.'; diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php index 791bcc011..fa9676185 100644 --- a/upload/language/lang_russian/lang_main.php +++ b/upload/language/lang_russian/lang_main.php @@ -646,11 +646,13 @@ $lang['CURRENT_PASSWORD_MISMATCH'] = 'Введённый вами пароль $lang['PASSWORD_LONG'] = 'Ваш пароль должен быть не длиннее 32 символов'; $lang['TOO_MANY_REGISTERS'] = 'Вы сделали слишком много попыток зарегистрироваться. Пожалуйста, повторите попытку позднее.'; $lang['USERNAME_TAKEN'] = 'Извините, пользователь с таким именем уже существует'; -$lang['USERNAME_INVALID'] = 'Извините, это имя содержит неподходящие символы, (например ")'; +$lang['USERNAME_INVALID'] = 'Извините, это имя содержит неподходящие символы'; $lang['USERNAME_DISALLOWED'] = 'Извините, это имя было запрещено к использованию'; +$lang['USERNAME_TOO_LONG'] = 'Слишком длинное имя'; $lang['EMAIL_TAKEN'] = 'Извините, этот адрес e-mail уже занят другим пользователем'; $lang['EMAIL_BANNED'] = 'Извините, адрес %s находится в чёрном списке'; $lang['EMAIL_INVALID'] = 'Извините, этот адрес e-mail неправилен'; +$lang['EMAIL_TOO_LONG'] = 'Слишком длинный email'; $lang['SIGNATURE_TOO_LONG'] = 'Слишком длинная подпись'; $lang['SIGNATURE_ERROR_HTML'] = 'Подпись может содержать только BBCode'; $lang['FIELDS_EMPTY'] = 'Вы должны заполнить обязательные поля'; diff --git a/upload/templates/default/viewtopic_attach.tpl b/upload/templates/default/viewtopic_attach.tpl index 9bf28f1bf..15e7f94c4 100644 --- a/upload/templates/default/viewtopic_attach.tpl +++ b/upload/templates/default/viewtopic_attach.tpl @@ -200,7 +200,7 @@ - +     @@ -335,7 +335,7 @@ - + @@ -362,51 +362,45 @@ function humn_size (size) { return size + ' ' + units[i]; } -tor_filelist_loaded = false; -$(function(){ - $('#tor-filelist-btn').click(function(){ - if (tor_filelist_loaded) { - $('#tor-fl-wrap').toggle(); - return false; - } - $('#tor-fl-wrap').show(); - - ajax.exec({action: 'view_torrent', attach_id: {postrow.attach.tor_reged.ATTACH_ID} }); - ajax.callback.view_torrent = function(data) { - $('#tor-filelist').html(data.html); - $('#tor-filelist > ul.tree-root').treeview({ - control: "#tor-fl-treecontrol" - }); - $('#tor-filelist li.collapsable').each(function(){ - var $li = $(this); - var dir_size = 0; - $('i', $li).each(function(){ dir_size += parseInt(this.innerHTML) }); - $('span.b:first', $li).append(' · ' + humn_size(dir_size) + ''); - }); - $('#tor-filelist i').each(function(){ - var size_bytes = this.innerHTML; - this.innerHTML = '('+ size_bytes +')'; - $(this).prepend(''+ humn_size(size_bytes) +' '); - }); - tor_filelist_loaded = true; - }; - $('#tor-fl-treecontrol a').click(function(){ this.blur(); }); +ajax.tor_filelist_loaded = false; +$('#tor-filelist-btn').click(function(){ + if (ajax.tor_filelist_loaded) { + $('#tor-fl-wrap').toggle(); return false; - }); + } + $('#tor-fl-wrap').show(); + + ajax.exec({action: 'view_torrent', attach_id: {postrow.attach.tor_reged.ATTACH_ID} }); + ajax.callback.view_torrent = function(data) { + $('#tor-filelist').html(data.html); + $('#tor-filelist > ul.tree-root').treeview({ + control: "#tor-fl-treecontrol" + }); + $('#tor-filelist li.collapsable').each(function(){ + var $li = $(this); + var dir_size = 0; + $('i', $li).each(function(){ dir_size += parseInt(this.innerHTML) }); + $('span.b:first', $li).append(' · ' + humn_size(dir_size) + ''); + }); + $('#tor-filelist i').each(function(){ + var size_bytes = this.innerHTML; + this.innerHTML = '('+ size_bytes +')'; + $(this).prepend(''+ humn_size(size_bytes) +' '); + }); + ajax.tor_filelist_loaded = true; + }; + $('#tor-fl-treecontrol a').click(function(){ this.blur(); }); + return false; }); -
+