HTML;
diff --git a/upload/includes/functions.php b/upload/includes/functions.php
index 590bebd33..b16877746 100644
--- a/upload/includes/functions.php
+++ b/upload/includes/functions.php
@@ -768,7 +768,6 @@ class html_common
function _array2html_rec ($array, $ul, $li)
{
- @natsort($array);
foreach ($array as $k => $v)
{
if (is_array($v))
diff --git a/upload/includes/functions_post.php b/upload/includes/functions_post.php
index c34cb0fdc..ceef42d4c 100644
--- a/upload/includes/functions_post.php
+++ b/upload/includes/functions_post.php
@@ -106,7 +106,7 @@ function prepare_post(&$mode, &$post_data, &$error_msg, &$username, &$subject, &
//
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, $update_post_time)
{
- global $userdata, $post_info, $is_auth, $bb_cfg, $lang, $datastore;
+ global $userdata, $post_info, $is_auth, $bb_cfg, $lang, $datastore, $to_draft;
$current_time = TIMENOW;
@@ -160,9 +160,43 @@ function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_
$topic_dl_type = (isset($_POST['topic_dl_type']) && ($post_info['allow_reg_tracker'] || $is_auth['auth_mod'])) ? TOPIC_DL_TYPE_DL : TOPIC_DL_TYPE_NORMAL;
- $is_draft = (empty($_POST['to_draft'])) ? 0 : 1;
+ if (($mode == 'editpost' && $post_data['first_post']) && !$to_draft && $to_draft != $post_data['is_draft'])
+ {
+ $sql_update = "
+ UPDATE
+ ". BB_POSTS ." p,
+ ". BB_TOPICS ." t
+ SET
+ p.post_time = ". TIMENOW .",
+ t.topic_title = '$post_subject',
+ t.topic_type = $topic_type,
+ t.topic_dl_type = $topic_dl_type " . ((@$post_data['edit_vote'] || !empty($poll_title)) ? ",
+ t.topic_vote = " . $topic_vote : "") . ",
+ t.is_draft = $to_draft,
+ t.topic_last_post_time = ". TIMENOW .",
+ t.topic_time = ". TIMENOW ."
+ WHERE
+ t.topic_id = $topic_id
+ AND t.topic_first_post_id = p.post_id
+ ";
+ }
+ else
+ {
+ $sql_update = "
+ UPDATE
+ " . BB_TOPICS . "
+ SET
+ topic_title = '$post_subject',
+ topic_type = $topic_type,
+ topic_dl_type = $topic_dl_type " . ((@$post_data['edit_vote'] || !empty($poll_title)) ? ",
+ topic_vote = " . $topic_vote : "") . ",
+ is_draft = $to_draft
+ WHERE
+ topic_id = $topic_id
+ ";
+ }
- $sql = ($mode != "editpost") ? "INSERT INTO " . BB_TOPICS . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_dl_type, topic_vote, is_draft) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_dl_type, $topic_vote, $is_draft)" : "UPDATE " . BB_TOPICS . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_dl_type = $topic_dl_type " . ((@$post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . ", is_draft = {$is_draft}" . " WHERE topic_id = $topic_id";
+ $sql = ($mode != "editpost") ? "INSERT INTO " . BB_TOPICS . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_dl_type, topic_vote, is_draft) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_dl_type, $topic_vote, $to_draft)" : $sql_update;
if (!DB()->sql_query($sql))
{
diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php
index 9e0ad8268..06631c7be 100644
--- a/upload/language/lang_english/lang_main.php
+++ b/upload/language/lang_english/lang_main.php
@@ -280,6 +280,7 @@ $lang['CODE_COPIED'] = 'Code copied to clipboard';
$lang['CODE_COPY'] = 'copy to clipboard';
$lang['SPOILER_HEAD'] = 'hidden text';
$lang['SPOILER_CLOSE'] = 'turn';
+$lang['PLAY_ON_CURPAGE'] = 'Start playing on the current page';
$lang['EDITED_TIME_TOTAL'] = 'Last edited by %s on %s; edited %d time in total'; // Last edited by me on 12 Oct 2001; edited 1 time in total
$lang['EDITED_TIMES_TOTAL'] = 'Last edited by %s on %s; edited %d times in total'; // Last edited by me on 12 Oct 2001; edited 2 times in total
@@ -1423,6 +1424,7 @@ $lang['OTHERS'] = 'others';
$lang['ALL'] = 'all';
$lang['POST_LINK'] = 'Post link';
+$lang['GOTO_QUOTED_POST'] = 'Go to the quoted post';
$lang['LAST_VISITED'] = 'Last Visited';
$lang['LAST_ACTIVITY'] = 'Last activity';
$lang['NEVER'] = 'Never';
diff --git a/upload/language/lang_russian/lang_admin.php b/upload/language/lang_russian/lang_admin.php
index d543551cf..c9208761e 100644
--- a/upload/language/lang_russian/lang_admin.php
+++ b/upload/language/lang_russian/lang_admin.php
@@ -108,7 +108,7 @@ $lang['LOOK_UP_FORUM'] = 'Выбрать форум';
$lang['GROUP_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для каждой группы пользователей. Не забывайте при изменении прав доступа для групп, что права доступа для отдельных пользователей могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.';
$lang['USER_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для отдельных пользователей. Не забывайте при изменении прав пользователя, что права доступа для группы могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.';
-$lang['FORUM_AUTH_EXPLAIN'] = 'Здесь вы можете регулировать доступ к каждому форуму. У вас будет обычный и продвинутый режим для этого, продвинутый даёт больше возможностей для контроля. Помните, что изменение прав доступа к форуму повлияет на то, какие пользователи смогут совершать в нём различные действия';
+$lang['FORUM_AUTH_EXPLAIN'] = 'Здесь вы можете регулировать доступ к каждому форуму. У вас будет обычный и продвинутый режим для этого, продвинутый даёт больше возможностей для контроля. Помните, что изменение прав доступа к форуму повлияет на то, какие пользователи смогут совершать в нём различные действия.';
$lang['SIMPLE_MODE'] = 'Простой режим';
$lang['ADVANCED_MODE'] = 'Продвинутый режим';
@@ -552,25 +552,25 @@ $lang['LOGIN_RESET_TIME_EXPLAIN'] = 'Время, через которое по
//
$lang['PERMISSIONS_LIST'] = 'Список прав доступа';
$lang['AUTH_CONTROL_CATEGORY'] = 'Права доступа к категориям';
-$lang['FORUM_AUTH_LIST_EXPLAIN'] = 'Этот модуль дает возможность установить права доступа для каждого форума. Вы можете изменить эти права, простым или расширеным способом, нажав на название форума. Помните, что при изменении прав доступа повлияет на пользователей, выполнять различные операции в них.';
-$lang['CAT_AUTH_LIST_EXPLAIN'] = 'This provides a summary of the authorisation levels of each forum within this category. You can edit the permissions of individual forums, using either a simple or advanced method by clicking on the forum name. Alternatively, you can set the permissions for all the forums in this category by using the drop-down menus at the bottom of the page. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.';
+$lang['FORUM_AUTH_LIST_EXPLAIN'] = 'Здесь вы можете установить права доступа для каждого форума. Вы можете изменить права с помощью простого или продвинутого режима, нажав на название форума. Помните, что изменение уровня прав доступа к форумам повлияет на то, какие пользователи смогут выполнять в них различные действия.';
+$lang['CAT_AUTH_LIST_EXPLAIN'] = 'Здесь вы можете установить права доступа для каждого форума в этой категории. Вы можете изменить права отдельных форумов с помощью простого или продвинутого режима, нажав на название форума. Кроме того, вы можете установить общие права для всех форумов в этой категории с помощью выпадающего меню в нижней части страницы. Помните, что изменение уровня прав доступа к форумам повлияет на то, какие пользователи смогут выполнять в них различные действия.';
$lang['FORUM_AUTH_LIST_EXPLAIN_ALL'] = 'Все пользователи';
$lang['FORUM_AUTH_LIST_EXPLAIN_REG'] = 'Все зарегистрированые пользователи';
$lang['FORUM_AUTH_LIST_EXPLAIN_PRIVATE'] = 'Только пользователи со спец правами';
$lang['FORUM_AUTH_LIST_EXPLAIN_MOD'] = 'Только модераторы этого форума';
$lang['FORUM_AUTH_LIST_EXPLAIN_ADMIN'] = 'Только администраторы';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VIEW'] = '%s может просматривать этот форум';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_READ'] = '%s может просматривать сообщения в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POST'] = '%s может создавать сообщения в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_REPLY'] = '%s может отвечать на сообщения в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_EDIT'] = '%s может редактировать сообщения в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DELETE'] = '%s может удалять сообщения в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_STICKY'] = '%s может прикреплять темы в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ANNOUNCE'] = '%s может размещать объявления в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VOTE'] = '%s может голосовать в опросах этого форума';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POLLCREATE'] = '%s может создавать опросы в этом форуме';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ATTACHMENTS'] = '%s может прикреплять вложения';
-$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DOWNLOAD'] = '%s может скачивать вложения';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VIEW'] = '%s могут просматривать этот форум';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_READ'] = '%s могут просматривать сообщения в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POST'] = '%s могут создавать сообщения в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_REPLY'] = '%s могут отвечать на сообщения в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_EDIT'] = '%s могут редактировать сообщения в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DELETE'] = '%s могут удалять сообщения в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_STICKY'] = '%s могут прикреплять темы в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ANNOUNCE'] = '%s могут размещать объявления в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VOTE'] = '%s могут голосовать в опросах этого форума';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POLLCREATE'] = '%s могут создавать опросы в этом форуме';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ATTACHMENTS'] = '%s могут прикреплять вложения';
+$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DOWNLOAD'] = '%s могут скачивать вложения';
//
// Misc
diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php
index 2ebe862b8..42da1fb7e 100644
--- a/upload/language/lang_russian/lang_main.php
+++ b/upload/language/lang_russian/lang_main.php
@@ -278,6 +278,7 @@ $lang['CODE_COPIED'] = 'Код скопирован в буфер обмена';
$lang['CODE_COPY'] = 'скопировать в буфер обмена';
$lang['SPOILER_HEAD'] = 'Скрытый текст';
$lang['SPOILER_CLOSE'] = 'Свернуть';
+$lang['PLAY_ON_CURPAGE'] = 'Начать проигрывание на текущей странице';
$lang['EDITED_TIME_TOTAL'] = 'Последний раз редактировалось: %s (%s), всего редактировалось %d раз'; // Last edited by me on 12 Oct 2001, edited 1 time in total
@@ -1425,6 +1426,7 @@ $lang['OTHERS'] = 'другие';
$lang['ALL'] = 'все';
$lang['POST_LINK'] = 'Линк на это сообщение';
+$lang['GOTO_QUOTED_POST'] = 'Перейти к цитируемому сообщению';
$lang['LAST_VISITED'] = 'Последний визит';
$lang['LAST_ACTIVITY'] = 'Последняя активность';
$lang['NEVER'] = 'Никогда';
diff --git a/upload/posting.php b/upload/posting.php
index 9e5fedde3..a372c9c29 100644
--- a/upload/posting.php
+++ b/upload/posting.php
@@ -317,11 +317,19 @@ if ($mode == 'newtopic' && $topic_tpl && $post_info['topic_tpl_id'])
require(INC_DIR .'topic_templates.php');
}
-// Notify
+// Notify and draft
+$post_data['is_draft'] = $post_info['is_draft'];
if ($submit || $refresh)
{
$notify_user = (int) !empty($_POST['notify']);
- $to_draft = ($post_data['first_post']) ? (int) !empty($_POST['to_draft']) : 0;
+ if ($bb_cfg['status_of_draft'] && $post_data['first_post'])
+ {
+ $to_draft = (int) !empty($_POST['to_draft']);
+ }
+ else
+ {
+ $to_draft = ($mode == 'editpost') ? $post_info['is_draft'] : 0;
+ }
}
else
{
@@ -865,7 +873,7 @@ if ($mode == 'newtopic' || $post_data['first_post'])
$template->assign_var('POSTING_SUBJECT');
}
-if ($mode == 'newtopic' || ($post_data['first_post'] && ($post_info['topic_replies'] == 0 || $post_info['is_draft'])) && $bb_cfg['status_of_draft'])
+if (($mode == 'newtopic' || $post_data['first_post'] && ($post_info['topic_replies'] == 0 || $post_info['is_draft'])) && $bb_cfg['status_of_draft'])
{
$template->assign_var('DRAFT_CHK');
}
diff --git a/upload/search.php b/upload/search.php
index 6443e4dee..76157cc69 100644
--- a/upload/search.php
+++ b/upload/search.php
@@ -497,7 +497,7 @@ if ($post_mode)
if ($prev_days) $SQL['WHERE'][] = "$tbl.$time_field > ". $time_opt[$time_val]['sql'];
if ($my_posts) $SQL['WHERE'][] = "p.poster_id = $poster_id_val";
if ($my_topics) $SQL['WHERE'][] = "t.topic_poster = $poster_id_val";
- if ($poster_id_val != $user_id && !IS_ADMIN && $bb_cfg['status_of_draft']) $SQL['WHERE'][] = "t.is_draft = 0";
+ if ($poster_id_val != $user_id && !IS_ADMIN) $SQL['WHERE'][] = "t.is_draft = 0";
if ($text_match_sql)
{
@@ -685,7 +685,7 @@ else
}
}
if ($my_topics) $SQL['WHERE'][] = "t.topic_poster = $poster_id_val";
- if ($poster_id_val != $user_id && !IS_ADMIN && $bb_cfg['status_of_draft']) $SQL['WHERE'][] = "t.is_draft = 0";
+ if ($poster_id_val != $user_id && !IS_ADMIN) $SQL['WHERE'][] = "t.is_draft = 0";
if ($text_match_sql)
{
diff --git a/upload/templates/admin/admin_forum_prune.tpl b/upload/templates/admin/admin_forum_prune.tpl
index 9a4d5383a..a0a34d55a 100644
--- a/upload/templates/admin/admin_forum_prune.tpl
+++ b/upload/templates/admin/admin_forum_prune.tpl
@@ -1,9 +1,7 @@