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

Минимальная длина сообщения и пустые сообщения

Идеи для расширения функциональности phpBB 2.0.x
Grey2k
phpBB 1.2.0
Сообщения: 11
Стаж: 17 лет 6 месяцев
Откуда: Питер

Минимальная длина сообщения и пустые сообщения

Сообщение Grey2k »

Описание проблемы:
Проблемы в следующем - нужно поставить ограничение на минимальную длину сообщения, например 16 символов. а то есть флудеры "+1" и т.д
при этом нужно не допустить появления пустых (теговых) сообщений
Подскажите чем лучше всего воспользоваться
Версия phpBB*: 2.0.21
Используемые моды: simply delete users, post is sending, hide text
Ссылка на конференцию: http://forum.xfilez.ru
Использовался ли поиск для решения проблемы: конечно
Если да, то какие запросы вы использовали: минимальная длина сообщений , пустые сообщения

вообще стараюсь вашу конференцию подробно курить , прежде чем вопросы задавать )
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

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

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Поставил этот мод:
Поручик писал(а):Minimum and Maximum Post Message Length
Но возникла проблема: выключить минимальную длину сообщения в одном из форумов - флейме.
Не подскажите как?
Уже везде искал...
Сам придумать решения не могу, т.к. мало что смыслю в пхп,
могу только что-то изменить по инструкции.
Может кто с этим уже сталкивался?
В опциях, которые добавил мод не нашел.
Последний раз редактировалось Андрей 117 17.12.2007 4:58, всего редактировалось 1 раз.
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Прошло 5 дней, 5 часов и 14 мин. ...

Скажите хоть, что невозможно или не знаете, или что я плохо искал...
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

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

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Большое спаибо, хотя я и не знаю как это сделать.
Спрошу у друзей, мож помогут.
Если получится, - напишу тут как сделать.

Так.
Все пока спят.
Вот кусок мода, можете написать что добавить?


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

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_post.php

# 
#-----[ FIND ]------------------------------------------ 
#
// Check message
	if (!empty($message))
	{

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// Check message
// $mode == 'editpost' added for Min-Maxlength Mod
	if (!empty($message) || $mode == 'editpost')
	{ 
  $message = trim($message);
  if ( (strlen ($message) > $board_config['message_maxlength']) && ($board_config['message_maxlength'] > 0) )
        {
            $message_too_long = sprintf($lang['Message_Maxlength_error'], $board_config['message_maxlength']);
            $error_msg .= (!empty($error_msg)) ? '<br />' . $message_too_long : $message_too_long;
        }
  if ( (strlen ($message) < $board_config['message_minlength']) && ($board_config['message_minlength'] > 0) )
        {
            $message_too_short = sprintf($lang['Message_Minlength_error'], $board_config['message_minlength']);
            $error_msg .= (!empty($error_msg)) ? '<br />' . $message_too_short : $message_too_short;
        }

#
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Попробуйте, так:

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

 if (( (strlen ($message) < $board_config['message_minlength']) && ($board_config['message_minlength'] > 0) ) && $post_data['forum_id']<>'номер_ID_форума_флейм')
:?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Пробовал вставить кусок вашего кода вначале...
Не получилось...
Потом заметил похожую строку внутри модовского кода, - заменил

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

if ( (strlen ($message) < $board_config['message_minlength']) && ($board_config['message_minlength'] > 0) ) 
на

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

if (( (strlen ($message) < $board_config['message_minlength']) && ($board_config['message_minlength'] > 0) ) && $post_data['forum_id']<>'номер_ID_форума_флейм')
Тоже ничего.

Точнее перестало работать цитирование и выделение цветами текста.
Вот
Может подскажите куда вставить?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Андрей 117 писал(а):Пробовал вставить кусок вашего кода вначале...

Не получилось...
Думал сами сообразите
Андрей 117 писал(а): заменил
Надеюсь и
Андрей 117 писал(а):'номер_ID_форума_флейм'
тоже, на соответствующее значение..?
Андрей 117 писал(а):Точнее перестало работать цитирование и выделение цветами текста.
Ну это тут не при делах...
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Естественно заменил 'номер_ID_форума_флейм' :)

Тут друг отредактировал ваш вариант к такому:

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

if (( (strlen ($message) < $board_config['message_minlength']) && ($board_config['message_minlength'] > 0)  && $post_data['forum_id']<>'номер_ID_форума_флейм'))
Тоже не работает.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Щас Поручик придёт, разберётся 8)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Вот блин!
Нужно иногда думать самому, - посмотрел на код исходный и увидел, что дополнительные условия нужно добавлять в скобках!
Попробовал, - и получилось!

Вот это

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

if ( (strlen ($message) > $board_config['message_maxlength']) && ($board_config['message_maxlength'] > 0) ) 
нужно заменить на это:
if ( (strlen ($message) > $board_config['message_maxlength']) && ($board_config['message_maxlength'] > 0) && ($post_data['forum_id']<>'номер_ID_форума_флейм'))
Т. е. вставить выделенное жирным условие.

Но возник еще один вопрос:
если форумов несколько, в которых нужно выключить ограничение, то есть какое-то спец. условие, или можно только добавлять анологичные условия, но с другими 'номер_ID_форума_флейм'?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

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

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Андрей 117
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 8 месяцев

Сообщение Андрей 117 »

Мило, теперь ограничение вообще не работает)))
Проверил в других форумах - пишет, что ваше сообщение добавлено!
Вот ...
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

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

$forum_id_array = array('f_id_1', 'f_id_2', 'f_id_3');
if (!in_array($post_data['forum_id'], $forum_id_array)) 
{
          значит, что-то делаем
}
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

Вернуться в «Запросы модов для phpBB 2.0.x»