[ABD] Double Post Protection

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

[ABD] Double Post Protection

Сообщение Xpert »

Код: Выделить всё

############################################################## 
## MOD Title: 		Double Post Protection
## MOD Authors: 	Xpert < xpert@phpbbguru.net > http://www.phpbbguru.net 
## MOD Description: 	Protects your forum against double-posting of messages,
##			when user clicks submit twice confirm window is shown. 
## MOD Version: 	1.0.0 
## 
## Installation Level: 	Easy 
## Installation Time: 	5 Minutes 
## Files To Edit (3): 	posting.php
##			language/lang_english/lang_main.php
##			templates/subSilver/posting_body.tpl
############################################################## 
## For Security Purposes, Please Check: http://www.phpbbguru.net/mods/ for the 
## latest version of this MOD. 
############################################################## 
## Author Notes: 
##
##	Use '\n' (backslash + n) for new line at $lang['Message_already_sent']
## 
############################################################## 
## MOD History: 
## 
##   2004-05-10 - Version 1.0.0 
##      - Initial Release 
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

# 
#-----[ OPEN ]------------------------------------------ 
# 
posting.php 
# 
#-----[ FIND ]------------------------------------------ 
# 
	'L_EMPTY_MESSAGE' => $lang['Empty_message'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
	'L_MESSAGE_ALREADY_SENT' => $lang['Message_already_sent'],
#  
#-----[ OPEN ]------------------------------------------ 
# 
language/lang_english/lang_main.php
# 
#-----[ FIND ]------------------------------------------ 
# 
//
// That's all, Folks!

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
// Double Post Protection
$lang['Message_already_sent'] = 'This message was already sent.\nDo you want to resent it now?'; 

# 
#-----[ OPEN ]------------------------------------------ 
# 
templates/subSilver/posting_body.tpl
# 
#-----[ FIND ]------------------------------------------ 
# 
		//formObj.preview.disabled = true;
		//formObj.submit.disabled = true;
		return true;
  
# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
		//formObj.preview.disabled = true;
		//formObj.submit.disabled = true;
		if (window.submitted)
		{
			return confirm('{L_MESSAGE_ALREADY_SENT}');
		}
		else
		{
			window.submitted = true;
			return true;
		}
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM


Написал вот защиту от двойных и более сабмитов. К сожалению, проверить код в боевых условиях не удается - интернет не тормозит. Как только будет ясно, что код работоспособен, выйдет мод, а также версия Quick Reply с интеграцией этого мода. Ждем результатов ваших тестов.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

Xpert
Проверил, ерунда получается ....
В некотором случае не работает ...

Например:
Нажимаю "Отправить", еще раз "Отправить" (выходит сообщение 'This message was ...)

Если подождать пока появится результат отправки, то все ОК, двойной пост не постится.

Но если сразу после появления сообщения 'This message was...., еще раз нажать "Отправить", то получается двойной пост.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
Хм, а какой браузер? Я протестировал под 6-м explorer и под Оперой 7.23 и не смог воспроизвести твою ситуацию:
Но если сразу после появления сообщения 'This message was...., еще раз нажать "Отправить", то получается двойной пост.
Т.е. у тебя появился box с запросом, хочешь ли ты переправить пост еще раз и ты нажимаешь кнопку "Отправить" вместо того, чтобы дать ответ кнопками ОК и Отмена?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

у тебя появился box с запросом, хочешь ли ты переправить пост еще раз и ты нажимаешь кнопку "Отправить" вместо того, чтобы дать ответ кнопками ОК и Отмена?
Я нажимаю "Отмена". и сразу после этого, еще раз(или несколько), "Отправить" ...
Сколько раз я успел нажать "Отправить", столько и будет сообщений ...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
Проблема ясна, будем разбираться.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

По моему, такой вариант защиты не совсем удачный.
Почему-бы просто не "выключать" кнопку "Отправить" так, как это делается во многих движках?

И странно, почему не срабатывает защита от флуда ....
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Jovani
Отключить-то можно, думаешь возможность повторной отсылки сообщения не нужна? Про защиту от флуда в общем-то тоже странно, хотя наверное пост все-таки успевает по времени проскочить - вот и появляются дубли.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 21 год 1 месяц
Откуда: СССР
Благодарил (а): 4 раза
Поблагодарили: 94 раза

Сообщение Mr. Anderson »

Xpert
Повторная отправка - вещь интересная, но... не уверен, что нужная...
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

думаешь возможность повторной отсылки сообщения не нужна
Я пытался представить, в каких случаях ЭТО может понадобиться, и не смог ....
Думаю, что повторная отправка не нужна.

Вернуться в «Бета-версии модов для phpBB 2.0.x»