[RC] Disable empty messages

Здесь авторы могут постить бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

[RC] Disable empty messages

Сообщение quazi 12.02.2007 21:21

запрет ввода пустых сообщений
не самая критичная проблема форумов, но она существует



пользователь может зафлудить форум вводя много раз пустые теги (можно даже в поле сообщения просто ввести пустые строки)

открыть
Код: Выделить всё
includes/bbcode.php

найти
Код: Выделить всё
function bbencode_first_pass($text, $uid)
{


заменить
Код: Выделить всё
//
// +Disable empty messages
if ( PHP_VERSION >= '5.1.0' )
{
        function preg_replace_rec($pattern, $replacement, $subject)
        {
                $count = 0;
                do {
                        $subject = preg_replace($pattern, $replacement, $subject, -1, $count);
                } while ( $count );
                return $subject;
        }
} else {
        function preg_replace_rec($pattern, $replacement, $subject)
        {
                $count = 0;
                do {
                        $result = preg_replace($pattern, $replacement, $subject);
                        $count = strcmp($result, $subject);
                        $subject = $result;
                } while ( $count );
                return $subject;
        }
}

function bbencode_first_pass($text, $uid)
{
$text = preg_replace_rec(
        array(
                '/(\r?\n\r?){3,}/',
                '/\[(b|i|u|quote|code|img|url)\]\s*\[\/\1\]/',
                '/\[(quote|img|url|list|color|size|youtube)[^\]]*\]\s*\[\/\1\]/',
        ),
        array(
                '\1',
                '',
                '',
        ),
        $text);
// -Disable empty messages
//


открыть
Код: Выделить всё
includes/functions_post.php

найти
Код: Выделить всё
                $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
        }

заменить на
Код: Выделить всё
                $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
//
// +Disable empty messages
if ( empty($message) )
{
        $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message'];
}
// -Disable empty messages
//
        }

открыть
Код: Выделить всё
privmsg.php

найти
Код: Выделить всё
                                $privmsg_message = prepare_message($HTTP_POST_VARS['message'], $html_on, $bbcode_on, $smilies_on, $bbcode_uid);

после добавить
Код: Выделить всё
//
// +Disable empty messages
if ( empty($privmsg_message) )
{
        $error = true;
        $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message'];
}
// -Disable empty messages
//
quazi
phpBB 2.0.8
 
Сообщения: 313
Зарегистрирован: 15.03.2005 19:49


Сообщение TUMS 13.02.2007 17:21

а оформить в виде мода?
Аватара пользователя
TUMS
phpBB 2.0.7
 
Сообщения: 280
Зарегистрирован: 16.10.2005 3:39
Откуда: Msk, RU

Сообщение Поручик 13.02.2007 17:39

Наверное сложно, учитывая небольшой стаж пребывания на форуме у quazi
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB2 | FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/
Аватара пользователя
Поручик
Его Благородие
Его Благородие
 
Сообщения: 3698
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)

Сообщение quazi 13.02.2007 17:57

Поручик
пошутил ? :)
quazi
phpBB 2.0.8
 
Сообщения: 313
Зарегистрирован: 15.03.2005 19:49

Сообщение TUMS 13.02.2007 18:41

В каждой шутке есть доля шутки, это да...
Аватара пользователя
TUMS
phpBB 2.0.7
 
Сообщения: 280
Зарегистрирован: 16.10.2005 3:39
Откуда: Msk, RU

Сообщение quazi 13.02.2007 18:53

TUMS
Что, по словесному описанию, написанному на государственном языке России уже сложно поставить мод?

Можешь еще через профиль посмотреть на список моих тем. Из всех начатых мной, только одна содержит вопрос к сообществу. И то он уже затерялся в ворохе мусора.
quazi
phpBB 2.0.8
 
Сообщения: 313
Зарегистрирован: 15.03.2005 19:49

Сообщение Поручик 13.02.2007 19:00

А ты изимодом его попробуй поставь. У меня не получилось
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB2 | FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/
Аватара пользователя
Поручик
Его Благородие
Его Благородие
 
Сообщения: 3698
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)

Сообщение quazi 13.02.2007 19:14

не ставится - так не ставится
я проверил исправляемые файлы в дистре последней версии форума - все на месте. если ручками ставить - все должно быть нормально
quazi
phpBB 2.0.8
 
Сообщения: 313
Зарегистрирован: 15.03.2005 19:49

Сообщение rxu 13.02.2007 19:29

Mod Studio rules :)
Код: Выделить всё
##############################################################
## MOD Title: Disable empty messages
## MOD Author: quazi < n/a > (quazi) n/a
## MOD Description:
## MOD Version: 0.0.1
##
## Installation Level: Easy
## Installation Time: 4 minutes
## Files To Edit: includes/bbcode.php
## includes/functions_post.php
## privmsg.php
## Included Files:
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
## Generator: Phpbb.ModTeam.Tools
##############################################################
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/
##############################################################
## Author Notes: Locks an empty messages posting.
##############################################################
## MOD History:
##
## 2007-02-13 - Version 0.0.1
##      -Initial release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php
#
#-----[ FIND ]------------------------------------------
#
function bbencode_first_pass($text, $uid)
{
#
#-----[ REPLACE WITH ]------------------------------------------
#
//
// +Disable empty messages
if ( PHP_VERSION >= '5.1.0' )
{
        function preg_replace_rec($pattern, $replacement, $subject)
        {
                $count = 0;
                do {
                        $subject = preg_replace($pattern, $replacement, $subject, -1, $count);
                } while ( $count );
                return $subject;
        }
} else {
        function preg_replace_rec($pattern, $replacement, $subject)
        {
                $count = 0;
                do {
                        $result = preg_replace($pattern, $replacement, $subject);
                        $count = strcmp($result, $subject);
                        $subject = $result;
                } while ( $count );
                return $subject;
        }
}

function bbencode_first_pass($text, $uid)
{
$text = preg_replace_rec(
        array(
                '/(\r?\n\r?){3,}/',
                '/\[(b|i|u|quote|code|img|url)\]\s*\[\/\1\]/',
                '/\[(quote|img|url|list|color|size|youtube)[^\]]*\]\s*\[\/\1\]/',
        ),
        array(
                '\1',
                '',
                '',
        ),
        $text);
// -Disable empty messages
//
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
                $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
        }
#
#-----[ REPLACE WITH ]------------------------------------------
#
                $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
//
// +Disable empty messages
if ( empty($message) )
{
        $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message'];
}
// -Disable empty messages
//
        }
#
#-----[ OPEN ]------------------------------------------
#
privmsg.php
#
#-----[ FIND ]------------------------------------------
#
                                $privmsg_message = prepare_message($HTTP_POST_VARS['message'], $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//
// +Disable empty messages
if ( empty($privmsg_message) )
{
        $error = true;
        $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message'];
}
// -Disable empty messages
//
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4505
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Сообщение TUMS 13.02.2007 22:44

quazi писал(а):Что, по словесному описанию, написанному на государственном языке России уже сложно поставить мод?


Сложно, особенно учитывая тот факт что интернациональный язык - английский.

Добавлено спустя 35 секунд:

и вообще - читаем правила оформления модов
Аватара пользователя
TUMS
phpBB 2.0.7
 
Сообщения: 280
Зарегистрирован: 16.10.2005 3:39
Откуда: Msk, RU

Сообщение Romy 13.02.2007 23:43

а что получит пользователь на выходе? Ну я имею ввиду какое-нибудь предупреждение, мол нехорошо флудить тегами и т.д. ... ?
Аватара пользователя
Romy
phpBB 2.0.10
 
Сообщения: 420
Зарегистрирован: 07.05.2005 22:18
Откуда: tallinn.ee

Сообщение TUMS 14.02.2007 1:52

На выходе он получит ошибку, мол "Пустое сообщение".
Аватара пользователя
TUMS
phpBB 2.0.7
 
Сообщения: 280
Зарегистрирован: 16.10.2005 3:39
Откуда: Msk, RU

Сообщение Поручик 14.02.2007 7:30

Мод полезный, так как вопрос о пустых тегах уже поднимался и не раз.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB2 | FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/
Аватара пользователя
Поручик
Его Благородие
Его Благородие
 
Сообщения: 3698
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)

Сообщение Xpert 14.02.2007 21:31

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

P.S. Или боятся :)
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение TUMS 14.02.2007 22:55

Ткните пальцем где я указываю что писать, и можете закидать камнями.
Аватара пользователя
TUMS
phpBB 2.0.7
 
Сообщения: 280
Зарегистрирован: 16.10.2005 3:39
Откуда: Msk, RU

След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0