Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[ABD] Double Post Protection

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 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
Стаж: 19 лет 11 месяцев

Сообщение Jovani »

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

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

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

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

Сообщение Xpert »

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

Сообщение Jovani »

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

Сообщение Xpert »

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

Сообщение Jovani »

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

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

Сообщение Xpert »

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

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

Xpert
Повторная отправка - вещь интересная, но... не уверен, что нужная...
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 19 лет 11 месяцев

Сообщение Jovani »

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

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