например,была создана тема,которая дублирует иную тему.Дается предупреждение ,а в ней сыль-здесь уже есть такая тема,и переносится в открытую корзину,где все желающие могут посмотреть за что было выдано предупреждение....все можно делать и руками) просто такая вот идейка...была)Палыч писал(а):А к чему это украшательство?
[FINAL] Warnings Mod
-
- phpBB 2.0.1
- Сообщения: 261
- Стаж: 19 лет 1 месяц
-
- phpBB 1.4.1
- Сообщения: 47
- Стаж: 18 лет 10 месяцев
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
Пробуйте. Только учтите: я не Xpert (он меня убьёт за безграмотность)NCom писал(а):а нельзя ли как нибудь все таки завязать моды? Что бы штрафовался 3 раза а потом банился (но не удалялся) и разбанить можно было (и что бы видно было в профиле)

Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php
#
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['Spam'] = 'Spam attempt';
#
#-----[ OPEN ]------------------------------------------
#
language/lang_russian/lang_main.php
#
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['Spam'] = 'Попытка спама';
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
if ($userdata['user_id'] == ANONYMOUS)
#
#-----[ BEFORE, ADD ]------------------------------------------
#
if ($userdata['user_level'] == MOD && $userdata['session_logged_in']) {$link_count=0;} // Модератор может постить всё
#
#-----[ FIND ]------------------------------------------
#
if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'SQL Quering error', '', __LINE__, __FILE__, $sql); }
#
#-----[ AFTER, ADD ]------------------------------------------
#
//==Begin ADDON Detector Bots&Warnings Mod==
$current_time = time();
$warning_expires = $current_time + '864000'; //Предупреждение на 10 дней, хотите меньше - уменьшить плюсуемое значение
$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_WARNING . "', '$post_id', '".$userdata['user_id']."', 'здесь_указать_число=ID_пользователя_Detector Bots', '$current_time', '$warning_expires')";
$db->sql_query($sql, BEGIN_TRANSACTION) or message_die(GENERAL_ERROR, 'Could not insert warning information', '', __LINE__, __FILE__, $sql);
$warning_id = $db->sql_nextid();
$bbcode_uid = '';
$warning_text = $lang['Spam'];
$sql = "INSERT INTO " . WARNINGS_TEXT_TABLE . " (warning_id, bbcode_uid, warning_text) VALUES('$warning_id', '$bbcode_uid', '$warning_text')";
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not insert warning information', '', __LINE__, __FILE__, $sql);
if ( $userdata['user_warnings'] + 1 >= $board_config['warnings_per_ban'] )
{
$sql = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id = " . $userdata['user_id'];
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update session information', '', __LINE__, __FILE__, $sql);
// Примечание: Закомментированные строки ниже - только корректного тестирования на локальной версии форумов
// $sql = "DELETE FROM " . SESSIONS_KEYS_TABLE . " WHERE user_id = " . $userdata['user_id'];
// $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update session information', '', __LINE__, __FILE__, $sql);
}
//==End ADDON Detector Bots&Warnings Mod==
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
Только вам нужно перед этим зарегистрировать нового пользователя с именем Detector Bots и вставить его ID в указанное место в вышеизложенном коде. Или вы можете указать '2' - по умолчанию это ID учетной записи ADMIN форумов phpBB (вы можете уточнить это в таблице ****_users вашей базы данных)
Последний раз редактировалось Палыч 11.07.2007 20:43, всего редактировалось 7 раз.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Код: Выделить всё
$warning_text = 'span';

Палыч
Не хватает отсылки письма и еще аналога этого кода (иначе пользователь не будет забанен)
Код: Выделить всё
if ( ( $warning_type == WARNING_TYPE_WARNING && ($row['user_warnings'] + 1) == $board_config['warnings_per_ban'] ) || ( $warning_type == WARNING_TYPE_BAN ) )
{
$sql = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id = " . $user_id;
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update session information', '', __LINE__, __FILE__, $sql);
}
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
Xpert
По-поводу кода я, действительно, сначала пробовал с ним и бан успешно проходил. Хрен знает, с какого перепугу я решил, что он не нужен...
Добавлено спустя 1 минуту 31 секунду:
Ещё одно подтверждение, что ночью лучше спатьПалыч писал(а):28.06.2007 1:00

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

Добавлено спустя 1 минуту 31 секунду:
Письмо отсылает Detector Bots, с этим всё ОК.Xpert писал(а):Не хватает отсылки письма
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
- phpBB 1.2.0
- Сообщения: 16
- Стаж: 17 лет 10 месяцев
- Откуда: Mo$cow
у меня вот проблемка
этого кода почему то нету вот здесь в файле "includes/constants.php"
Добавлено спустя 1 минуту 18 секунд:
да и еще вот это надо было просто ввести в sql???
Код: Выделить всё
#-----[ FIND ]------------------------------------------
#
?>
#
этого кода почему то нету вот здесь в файле "includes/constants.php"
Добавлено спустя 1 минуту 18 секунд:
да и еще вот это надо было просто ввести в sql???
Код: Выделить всё
#-----[ SQL ]------------------------------------------
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
narkoz cool
Вы что в конце файла не увидели нужный код?
А по поводу второго читайте тему "Как устанавливать моды" или статью с аналогичным названием на сайте.
Вы что в конце файла не увидели нужный код?
А по поводу второго читайте тему "Как устанавливать моды" или статью с аналогичным названием на сайте.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 1.2.0
- Сообщения: 16
- Стаж: 17 лет 10 месяцев
- Откуда: Mo$cow
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Вот окончание кода для Detector Bots
Позже возможно оформлю в addon.
Код: Выделить всё
if ( $userdata['user_warnings'] + 1 >= $board_config['warnings_per_ban'] )
{
$sql = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id = " . $userdata['user_id'];
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update session information', '', __LINE__, __FILE__, $sql);
}
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 1.4.1
- Сообщения: 47
- Стаж: 18 лет 10 месяцев
Подскажите где я ошибся при установке пожалуйста, экран выдачи предупреждения выглядит так:
http://b0.imgsrc.ru/b/bratok/4123698SKk.jpg
http://b0.imgsrc.ru/b/bratok/4123698SKk.jpg
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.4.1
- Сообщения: 47
- Стаж: 18 лет 10 месяцев
Проверил, вроде норм. Ещё я не могу найти эллементов управления модом нигде
Добавлено спустя 6 минут 54 секунды:
Xpert, нашёл! Действительно из-за языковых файлов и потому, что в правиле установке для русского текста определено такое место:
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php
а в папке для установки русский язык lang_russian
Добавлено спустя 21 минуту 2 секунды:
Два вопроса ещё, прошу ответить по возможности:
1.
В панели управления - Конфигурация - строчка
Максимальное количество предупреждений
Количество предупреждений для автоматического бана и значения в квадратике справа от неё..
А вот ниже неё элемент управления этим же модом? У меня там текст не отображается и я не знаю, его назначение.
2. Xpert, можно ли аддоном или по другому этому моду дать возможность за лимит предупреждений выдавать не бан, а Рид онли? У меня на форуме все друзья и нет надобности банить тем более информацию необходимо доносить до каждого в обязательном порядке.
Добавлено спустя 6 минут 54 секунды:
Xpert, нашёл! Действительно из-за языковых файлов и потому, что в правиле установке для русского текста определено такое место:
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php
а в папке для установки русский язык lang_russian
Добавлено спустя 21 минуту 2 секунды:
Два вопроса ещё, прошу ответить по возможности:
1.
В панели управления - Конфигурация - строчка
Максимальное количество предупреждений
Количество предупреждений для автоматического бана и значения в квадратике справа от неё..
А вот ниже неё элемент управления этим же модом? У меня там текст не отображается и я не знаю, его назначение.
2. Xpert, можно ли аддоном или по другому этому моду дать возможность за лимит предупреждений выдавать не бан, а Рид онли? У меня на форуме все друзья и нет надобности банить тем более информацию необходимо доносить до каждого в обязательном порядке.
-
- phpBB 2.0.1
- Сообщения: 261
- Стаж: 19 лет 1 месяц
-
- Former team member
- Сообщения: 9683
- Стаж: 18 лет 11 месяцев
- Откуда: Питер
- Благодарил (а): 1 раз
- Поблагодарили: 27 раз
Внёс исправления для более корректного содержания кода аддона для совмещения с МОДом Detector Bots
http://www.phpbbguru.net/community/view ... 668#145668
Добавлена языковая переменная и использование ранее определенных констант.
Протестировано на локальной версии.
http://www.phpbbguru.net/community/view ... 668#145668
Добавлена языковая переменная и использование ранее определенных констант.
Протестировано на локальной версии.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.