Страница 39 из 39

Re: [FINAL] Warnings Mod

Добавлено: 13.11.2008 15:37
LOSTовчанин
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 работают некорректно.

Re: [FINAL] Warnings Mod

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

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

Re: [FINAL] Warnings Mod

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

Re: [FINAL] Warnings Mod

Добавлено: 08.01.2009 23:13
forall

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

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

Re: [FINAL] Warnings Mod

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

Re: [FINAL] Warnings Mod

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

Re: [FINAL] Warnings Mod

Добавлено: 16.04.2009 9:07
Поручик
Это не ошибка данного мода.
Это происходит потому что, мод Admin delete user with all postings, как и другие подобные, не знает о существовании таблицы phpbb_warnings и phpbb_warnings_text и, соответственно, не удаляет оттуда записи при удалении юзера. А когда регается новый, он получает в наследство освободившийся id и все предупреждения и баны.

Re: [FINAL] Warnings Mod

Добавлено: 16.04.2009 19:04
Палыч
Следует добавить, наверное, что только в случае, если был удалён пользователь с самым большим (последним) ID