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;
});
-