[FINAL] Warnings Mod

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 19 лет 1 месяц

Сообщение go »

Палыч писал(а):А к чему это украшательство?
например,была создана тема,которая дублирует иную тему.Дается предупреждение ,а в ней сыль-здесь уже есть такая тема,и переносится в открытую корзину,где все желающие могут посмотреть за что было выдано предупреждение....все можно делать и руками) просто такая вот идейка...была)
Браток
phpBB 1.4.1
Сообщения: 47
Стаж: 18 лет 10 месяцев

Сообщение Браток »

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

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

NCom писал(а):а нельзя ли как нибудь все таки завязать моды? Что бы штрафовался 3 раза а потом банился (но не удалялся) и разбанить можно было (и что бы видно было в профиле)
Пробуйте. Только учтите: я не Xpert (он меня убьёт за безграмотность) :oops:

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

# 
#-----[ 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 ]------------------------------------------ 
# 
Добавлено спустя 2 минуты 39 секунд:

Только вам нужно перед этим зарегистрировать нового пользователя с именем Detector Bots и вставить его ID в указанное место в вышеизложенном коде. Или вы можете указать '2' - по умолчанию это ID учетной записи ADMIN форумов phpBB (вы можете уточнить это в таблице ****_users вашей базы данных)
Последний раз редактировалось Палыч 11.07.2007 20:43, всего редактировалось 7 раз.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

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

$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
Палыч писал(а):28.06.2007 1:00  
Ещё одно подтверждение, что ночью лучше спать :mrgreen:

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

Добавлено спустя 1 минуту 31 секунду:
Xpert писал(а):Не хватает отсылки письма
Письмо отсылает Detector Bots, с этим всё ОК.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
narkoz cool
phpBB 1.2.0
Сообщения: 16
Стаж: 17 лет 10 месяцев
Откуда: Mo$cow

Сообщение narkoz cool »

у меня вот проблемка

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

#-----[ FIND ]------------------------------------------
#
?>

#

этого кода почему то нету вот здесь в файле "includes/constants.php"

Добавлено спустя 1 минуту 18 секунд:

да и еще вот это надо было просто ввести в sql???

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

#-----[ SQL ]------------------------------------------
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

narkoz cool
Вы что в конце файла не увидели нужный код?
А по поводу второго читайте тему "Как устанавливать моды" или статью с аналогичным названием на сайте.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
narkoz cool
phpBB 1.2.0
Сообщения: 16
Стаж: 17 лет 10 месяцев
Откуда: Mo$cow

Сообщение narkoz cool »

хм.... что-то я не очень догоняю с этими модами =))
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Вот окончание кода для Detector Bots

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

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); 
}
Позже возможно оформлю в addon.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

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

Xpert писал(а):Вот окончание кода для Detector Bots
Внёс исправление в пост.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Браток
phpBB 1.4.1
Сообщения: 47
Стаж: 18 лет 10 месяцев

Сообщение Браток »

Подскажите где я ошибся при установке пожалуйста, экран выдачи предупреждения выглядит так:
http://b0.imgsrc.ru/b/bratok/4123698SKk.jpg
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Языковые файлы?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Браток
phpBB 1.4.1
Сообщения: 47
Стаж: 18 лет 10 месяцев

Сообщение Браток »

Проверил, вроде норм. Ещё я не могу найти эллементов управления модом нигде

Добавлено спустя 6 минут 54 секунды:

Xpert, нашёл! Действительно из-за языковых файлов и потому, что в правиле установке для русского текста определено такое место:

#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php

а в папке для установки русский язык lang_russian

Добавлено спустя 21 минуту 2 секунды:

Два вопроса ещё, прошу ответить по возможности:
1.
В панели управления - Конфигурация - строчка
Максимальное количество предупреждений
Количество предупреждений для автоматического бана
и значения в квадратике справа от неё..
А вот ниже неё элемент управления этим же модом? У меня там текст не отображается и я не знаю, его назначение.

2. Xpert, можно ли аддоном или по другому этому моду дать возможность за лимит предупреждений выдавать не бан, а Рид онли? У меня на форуме все друзья и нет надобности банить тем более информацию необходимо доносить до каждого в обязательном порядке.
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 19 лет 1 месяц

Сообщение go »

Браток писал(а):У меня на форуме все друзья
тогда по-дружески скиньтесь и приобретите платную версию этого мода...где подобная опция установлена--ЛС того же Xpert-прямой путь к обретению желаемой цели)
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

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

Внёс исправления для более корректного содержания кода аддона для совмещения с МОДом Detector Bots
http://www.phpbbguru.net/community/view ... 668#145668
Добавлена языковая переменная и использование ранее определенных констант.

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

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