[FINAL] Warnings Mod

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
LOSTовчанин
phpBB 1.2.0
Сообщения: 10
Зарегистрирован: 05.07.2007 13:28
Откуда: Oceanic-815

Re: [FINAL] Warnings Mod

Сообщение LOSTовчанин » 13.11.2008 15:37

crash писал(а):перепроверьте установку
Прежде чем здесь написать полностью все перепроверил:
-откатил БД, повторил SQL-запросы из инструкции по установке МОДа;
-установил "бэкапные" файлы (которые были до установки МОДа) и повторил все инструкции в них заново.

Результат - таже ошибка. DEBUG MODE (режим отладки) при попытке выдать Пользователю предупреждение.

Далее, из совокупности вышесказанного и тчательной проверке соблюдения инструкций по установке МОДа, а также его источника (Первый Пост данной темы) я пришел к выводу, что данная ошибка не является следствием неправильной установкой Warnings Mod.

Стал перелопачивать документацию по SQL-запросам и это, действительно, помогло.
Автоинкрементируемое поле определяется посредством конструкции IDENTITY (1, 1). При этом первый параметр свойства IDENTITY (1) определяет, с какого значения начнется отсчет, а второй - какой шаг будет использоваться для приращения значения. Таким образом, в нашем примере первая вставленная запись будет иметь в столбце code значение 1, вторая - 2 и т.д.

Поскольку в поле code значение формируется автоматически, оператор

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

INSERT INTO Printer_Inc VALUES (15, 3111, 'y', 'laser', 2599);
приведет к ошибке, даже если в таблице нет строки со значением в поле code, равным 15. Поэтому для вставки строки в таблицу просто не будем указывать это поле точно так же, как и в случае использования значения по умолчанию, т.е.

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

INSERT INTO Printer_Inc (model, color, type, price) 
    VALUES (3111, 'y', 'laser', 2599);
По аналогии с вышеприведенным примером отредактировал файл warnings.php, следующим образом:

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

$sql = "INSERT INTO " . WARNINGS_TABLE . " (warning_id, warning_type, warning_post_id, warning_user_id, warning_poster_id, warning_posted, warning_expires) VALUES('', '$warning_type', '$post_id', '$user_id', '" . $userdata['user_id'] . "', '$current_time', '$warning_expires')";
заменил на

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

$sql = "INSERT INTO " . WARNINGS_TABLE . " (warning_type, warning_post_id, warning_user_id, warning_poster_id, warning_posted, warning_expires) VALUES('$warning_type', '$post_id', '$user_id', '" . $userdata['user_id'] . "', '$current_time', '$warning_expires')";
После этого начал тестировать МОД. Все - ошибка не возникает. Мод работает корректно. Т.е. причина крылась в синтаксически неверном SQL-запросе.
Ведь поле warning_id автоинкрементируемое.


P.S. также в архиве мода, который представлен для скачивания в 1-м посту, в файле warning_warnings.tpl

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

Subject: Вы получили предупреждение на {SITENAME}
Charset: windows-1251

Здравствуйте, {USERNAME} 

Вы получили предупреждение на {SITENAME}. 

Предупреждение получено за это сообщение: 
{POST_URL} 

Причина выдачи предупреждение:
{WARNING_REASON}

Предупреждение истекает:
{WARNING_EXPIRES}

Сейчас у вас {WARNINGS} предупреждений, если вы получите {TOTAL_WARN} предупреждений ваш аккаунт будет заблокирован. 

В случае если у вас есть вопросы, вы можете связаться с пользователем {WARNER}, который выдал данное предупреждение. 

{EMAIL_SIG}  
нужно исправить на
Subject: Вы получили предупреждение на {SITENAME}
Charset: windows-1251

Здравствуйте, {USERNAME}

Вы получили предупреждение на {SITENAME}.

Предупреждение получено за это сообщение:
{POST_URL}

Причина выдачи предупреждение:
{WARNING_REASON}

Предупреждение истекает:
{WARNING_EXPIRES}

{WARNINGS_INFORMATION}

В случае если у вас есть вопросы, вы можете связаться с пользователем {WARNER}, который выдал данное предупреждение.

{EMAIL_SIG}
иначе уведомления о предупреждениях на e-mail работают некорректно.
всё - не случайно.

Jovani
phpBB 2.0.5
Сообщения: 476
Зарегистрирован: 28.04.2004 2:56

Re: [FINAL] Warnings Mod

Сообщение Jovani » 18.11.2008 20:30

Вообще-то с модом в том виде, как он выложен, нужно быть осторожным - есть некоторые "косяки".

Я себе ставил, фиксил многое, но всё-равно, как-то не срослось. То, предупреждения не синхронны, то бан кому-нибудь незаслуженно, то ещё что-нибудь. Кстати, как сейчас помню - если в таблице users, user_banned =1, а в таблице warnings, нет бана, то приходится "ручками" исправлять. А такое, там частенько ....
Всегда есть решение ...

Miracle
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 04.01.2007 5:29

Re: [FINAL] Warnings Mod

Сообщение Miracle » 07.12.2008 22:09

Аналогично, с модом надо постоянно быть на чеку и следить за его работой, не говоря уже о том что бы править в бд.

forall
phpBB 1.4.4
Сообщения: 130
Зарегистрирован: 20.04.2007 21:46

Re: [FINAL] Warnings Mod

Сообщение forall » 08.01.2009 23:13

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

Warning: str_repeat() [function.str-repeat]: Second argument has to be greater than or equal to 0. in viewtopic.php on line 1006
С минусовым количеством предупреждения так и не придумали как бороться? Кроме как в пхпмайадмин править минусик?

forall
phpBB 1.4.4
Сообщения: 130
Зарегистрирован: 20.04.2007 21:46

Re: [FINAL] Warnings Mod

Сообщение forall » 17.01.2009 15:51

Нашел опечатку в моде:
$lang['Warning_cannot_remove_expired'] = 'Вы не можете снять истекщее предупреждение';

forall
phpBB 1.4.4
Сообщения: 130
Зарегистрирован: 20.04.2007 21:46

Re: [FINAL] Warnings Mod

Сообщение forall » 16.04.2009 8:23

Ситуация такая:
Мод "предупреждения". И мод "удаления пользователя с постами с темами и т.п." : Admin delete user with all postings v.1.0.5
Зарегался новый юзер. Написал плохое сообщение - я его сразу в бан. Потом подумал...и удалил вообще.
Проходит время. Регается новый юзер.
И у него в профиле мой выданный пред и естессно, новый юзер забанен.

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза

Re: [FINAL] Warnings Mod

Сообщение Поручик » 16.04.2009 9:07

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

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

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Re: [FINAL] Warnings Mod

Сообщение Палыч » 16.04.2009 19:04

Следует добавить, наверное, что только в случае, если был удалён пользователь с самым большим (последним) ID
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

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