Прежде чем здесь написать полностью все перепроверил: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);
Код: Выделить всё
$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')";
Ведь поле 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}
иначе уведомления о предупреждениях на e-mail работают некорректно.Subject: Вы получили предупреждение на {SITENAME}
Charset: windows-1251
Здравствуйте, {USERNAME}
Вы получили предупреждение на {SITENAME}.
Предупреждение получено за это сообщение:
{POST_URL}
Причина выдачи предупреждение:
{WARNING_REASON}
Предупреждение истекает:
{WARNING_EXPIRES}
{WARNINGS_INFORMATION}
В случае если у вас есть вопросы, вы можете связаться с пользователем {WARNER}, который выдал данное предупреждение.
{EMAIL_SIG}