Исправление двойного поста при отправке сообщения git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@201 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
nanosimbiot 2011-08-09 16:33:06 +00:00
commit 2d2b31b635
7 changed files with 197 additions and 34 deletions

View file

@ -57,8 +57,8 @@ $bb_cfg['css_ver'] = 1;
// Increase number of revision after update
$bb_cfg['tp_version'] = '2.0 Stable';
$bb_cfg['tp_release_state'] = 'R200';
$bb_cfg['tp_release_date'] = '8-08-2011';
$bb_cfg['tp_release_state'] = 'R201';
$bb_cfg['tp_release_date'] = '9-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Попробуйте повторить запрос через несколько минут";

File diff suppressed because one or more lines are too long

View file

@ -556,7 +556,7 @@ switch ($mode)
//mpd end
else
{
$sql = "SELECT u.username, p.*, pt.post_text, pt.post_subject, p.post_username
$sql = "SELECT u.username, p.*, pt.post_text, p.post_username
FROM " . BB_POSTS . " p, " . BB_USERS . " u, " . BB_POSTS_TEXT . " pt
WHERE p.topic_id = $topic_id
AND p.poster_id = u.user_id
@ -590,7 +590,6 @@ switch ($mode)
$post_date = bb_date($postrow[$i]['post_time']);
$message = $postrow[$i]['post_text'];
$post_subject = ( isset($postrow[$i]['post_subject']) ) ? $postrow[$i]['post_subject'] : $topic_title;
//
// If the board has HTML off but the post has HTML
@ -604,7 +603,6 @@ switch ($mode)
'ROW_CLASS' => $row_class,
'POSTER_NAME' => wbr($poster),
'POST_DATE' => $post_date,
'POST_SUBJECT' => $post_subject,
'MESSAGE' => $message,
'CHECKBOX' => (defined('BEGIN_CHECKBOX')) ? TRUE : FALSE,

View file

@ -56,7 +56,7 @@
<!-- IF POSTING_TOPIC_ID --><em>&raquo;</em> <a class="normal" href="{TOPIC_URL}{POSTING_TOPIC_ID}">{POSTING_TOPIC_TITLE}</a><!-- ENDIF -->
</p>
<form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this);" {S_FORM_ENCTYPE}>
<form action="{S_POST_ACTION}" method="post" name="post" onsubmit="if(checkForm(this)){ dis_submit_btn(); }else{ return false; }" {S_FORM_ENCTYPE}>
{S_HIDDEN_FORM_FIELDS}
{ADD_ATTACH_HIDDEN_FIELDS}
{POSTED_ATTACHMENTS_HIDDEN_FIELDS}

View file

@ -141,16 +141,44 @@ ajax.callback.posts = function(data){
</table>
</div>
<div class="mrg_4 tCenter">
<div class="pad_4">{CAPTCHA_HTML}</div>
<input title="Alt+Enter" type="submit" name="preview" value="{L_PREVIEW}" />
<input onclick="submitted = true;" title="Ctrl+Enter" type="submit" name="post" class="bold" value="{L_SUBMIT}" />
<input type="button" value="{L_AJAX_PREVIEW}" onclick="ajax.exec({ action: 'posts', type: 'view_message', message: $('textarea#message').val()});">
<div class="mrg_8 tCenter">
<div id="post-buttons-block" style="display: none;">
<div class="pad_4">{CAPTCHA_HTML}</div>
<input type="submit" name="preview" value="{L_PREVIEW}" id="post-preview-btn" onclick="$('#post-submit').remove();">&nbsp;&nbsp;
<input onclick="submitted = true;" title="Ctrl+Enter" type="submit" name="post" class="bold" value="{L_SUBMIT}" id="post-submit-btn">&nbsp;&nbsp;
<input type="button" value="{L_AJAX_PREVIEW}" onclick="ajax.exec({ action: 'posts', type: 'view_message', message: $('textarea#message').val()});">
</div>
<div id="post-js-warn">Для отправки сообщений необходимo включить JavaScript</div>
</div>
<script type="text/javascript">
var submitted = false;
function dis_submit_btn ()
{
$('#post-submit-btn').attr('disabled', 1);
//debounce('post-submit-btn', 3000);
}
function debounce (el_id, time_ms)
{
var $el = $('#'+el_id);
if ( $el.attr('disabled') == false ) {
$el.attr('disabled', 1);
setTimeout(function(){ $el.attr('disabled', 0); }, time_ms);
}
}
$(document).ready(function(){
$('#post-submit-btn').click(function(event){
$('#post-submit-btn').after('<input id="post-submit" type="hidden" name="post" value="1" />');
});
$('#post-js-warn').hide();
$('#post-buttons-block').show();
$('#post-submit-btn').attr('disabled', 0);
});
// Called before form submitting.
var submitted = false;
function checkForm(form) {
var formErrors = false;
if (form.message.value.length < 2) {

View file

@ -66,7 +66,7 @@
<!-- IF QUICK_REPLY -->
<div class="spacer_6"></div>
<form action="{S_PRIVMSGS_ACTION}" method="post" name="post" onsubmit="return checkForm(this);">
<form action="{S_PRIVMSGS_ACTION}" method="post" name="post" onsubmit="if(checkForm(this)){ dis_submit_btn(); }else{ return false; }">
{S_HIDDEN_FIELDS}
<table class="topic" cellpadding="0" cellspacing="0">

View file

@ -359,7 +359,7 @@ function set_hid_chbox (id)
</table><!--/pagination-->
<!-- IF QUICK_REPLY -->
<form action="{QR_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this);">
<form action="{QR_POST_ACTION}" method="post" name="post" onsubmit="if(checkForm(this)){ dis_submit_btn(); }else{ return false; }">
<input type="hidden" name="mode" value="reply" />
<input type="hidden" name="t" value="{QR_TOPIC_ID}" />