Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Temp Ban и микро аддон к нему.

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 1 месяц

Temp Ban и микро аддон к нему.

Сообщение go »

## MOD Title: Temp Ban
## MOD Author: szquirrel < squirrel@digitalsquirrel.com > (Andy McConnell) http://www.digitalsquirrel.com/
## MOD Author: eviL3 < evil@phpbbmodders.org > (Igor Wiedler) http://phpbbmodders.org
## MOD Description: This MOD adds the option of temporary user, ip, and email bans.
## MOD Version: 1.1.3
===========
Описание мода: Забанивает юзеров по нику,по айи,по мылу.
Закачать мод можно тут
Ветку на офсайте не нашел.
мод упраляется из админ панели....плюс это или минус -рашать вам.Один плюс-совместим с модом
## MOD Title: Warnings Mod
## MOD Author: Xpert < xpert@phpbbguru.net > http://www.phpbbguru.net
## MOD Description: Warnings system for phpBB
## MOD Version: 1.0.5
====
Мод утсанавливается легко,только одно исправление сделалано мною.
По инструкции:

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

#
#-----[ OPEN ]------------------------------------------ 
#
includes/sessions.php
#
#-----[ FIND ]------------------------------------------ 
#
if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )

#
#-----[ FIND ]------------------------------------------ 
#
}

#
#-----[ AFTER, ADD ]------------------------------------------ 
#
			$ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
            if ( $ban_info['ban_until'] > 0 )
			{
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until);
            }
Этот кусок если делать по инструкции,то мод работает но не корректно.Если указано более 0 (то есть установлено время когда симается бан) то он не информирует пользователя,а по идеи -должен)))
сделал по своему,заработало

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

#
#-----[ OPEN ]------------------------------------------ 
#
includes/sessions.php
#
#-----[ FIND ]------------------------------------------ 
#
if ( $ban_info = $db->sql_fetchrow($result) )
	{
		if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
		{
			message_die(CRITICAL_MESSAGE, 'You_been_banned');
		}
	}

#
#-----[ REPLACE WITH ]------------------------------------------
#

if ( $ban_info = $db->sql_fetchrow($result) )
	{
                $ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
		if (( $ban_info['ban_until'] == 0 )&&( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] ))
		{
			message_die(CRITICAL_MESSAGE, 'You_been_banned');
		}else{
                            if ( $ban_info['ban_until'] > 0 )
			{
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until);
            }
          }
	}

		
При таком раскладе мод работате корректно
Последний раз редактировалось go 20.05.2007 22:15, всего редактировалось 1 раз.
Изображение
Это лох-неское чудовище потеряло свое озеро и бегает, пока его кто-нибудь не пристрелит.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 18 лет

Сообщение Lektor »

go
Хм... мод точно совместим с Ворнингс Модом от Xpert`a?
Ато у меня такая фишка что ворнинг мод не может забанить (т.е. банит но бюзер спокойно заходит ) я грешил как раз там Темп Бан, правда у меня еще стоит Ризон Бан, тоже от евила:
+ Ban Reasons - http://www.phpbb.com/community/viewtopi ... 5&t=406052
+ Temp Ban - http://www.phpbb.com/community/viewtopi ... 5&t=431660
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 1 месяц

Сообщение go »

у меня тоже не банил мод "Ворнингс Модом от Xpert`a" ,пока не догадался посомтретьв код)
вот вам мой файл sessions.php
там и для темпа и для варнирнг мода попробуйте)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось go 20.05.2007 23:49, всего редактировалось 1 раз.
Изображение
Это лох-неское чудовище потеряло свое озеро и бегает, пока его кто-нибудь не пристрелит.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 18 лет

Сообщение Lektor »

go
Отлично, взял ваш кусок из сешн и все теперь запахало! Пасибо.

Только вот Бан Ризн чего то не хочет выводить причину, вот кусок:

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

if ( $ban_info = $db->sql_fetchrow($result) )
	{
		if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
		{
                      $ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
            if ( $ban_info['ban_until'] > 0 )
			{
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until);
            }elseif ( $ban_info['ban_until'] = 0 )
                        {
			message_die(CRITICAL_MESSAGE, 'You_been_banned');
		}
         }
          
	}
      $ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
            if ( $ban_info['ban_until'] > 0 )
			{
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until);
            }

я его меня на:

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

if ( $ban_info = $db->sql_fetchrow($result) )
	{
		if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
		{
                      $ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
            if ( $ban_info['ban_until'] > 0 )
			{
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until);
            }elseif ( $ban_info['ban_until'] = 0 )
                        {
						if (isset ($ban_info['ban_reason']) AND ($ban_info['ban_reason'] != '') AND ($ban_info['ban_userid']))
      {
				message_die(CRITICAL_MESSAGE, $ban_info['ban_reason']);
			}
			else
			{
				message_die(CRITICAL_MESSAGE, 'You_been_banned');
			}
		}
         }
          
	}
      $ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
            if ( $ban_info['ban_until'] > 0 )
			{
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until);
            }
А он все равно не пишет причину бана ..

А еще былоб интересно (но это уже наверно к Експерту как к автору) чтоб в случае бана через ворнингс мод, юзеру при заходе тоже писалась причина.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

go
Не совсем понимаю причем тут мой мод, он вполне нормально банит пользователя по нику и я этот факт уже отмечал в теме.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 1 месяц

Сообщение go »

Xpert
go писал(а):Один плюс-совместим с модом
## MOD Title: Warnings Mod
## MOD Author: Xpert
я тоже это отметил сразу.
Lektor посетовал,
Lektor писал(а):Хм... мод точно совместим с Ворнингс Модом от Xpert`a?
на что мною было отвечено положительно и предоставил файл в котором показана совместимость обеих модов)

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

Lektor
честно сказать решенм мод не ставил) но лично думаю,что можно попробывать так?

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

if ( $ban_info = $db->sql_fetchrow($result) ) 
   { 
      if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] ) 
      { 
                      $ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] ); 
            if ( $ban_info['ban_until'] > 0 ) 
         { 
                message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until); 
            }elseif ( $ban_info['ban_until'] = 0 ) 
                        { 
                          message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . '<br /><br />' . $lang['Expires_msg_banned'] . $ban_until); 
            } 
                  if (isset ($ban_info['ban_reason']) AND ($ban_info['ban_reason'] != '') AND ($ban_info['ban_userid'])) 
              { 
            message_die(CRITICAL_MESSAGE, $ban_info['ban_reason']); 
         } 
         else 
         { 
            message_die(CRITICAL_MESSAGE, 'You_been_banned'); 
         } 
      } 
          
   }
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 18 лет

Сообщение Lektor »

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

А вообще страно что у меня Ворнингс МОд не работал, а щас заработал, может когда Темп Бан ставил чуть не так прикрутил его и он мешал .. Т.к. щас я заменил пару кусков и пашет все отлично.
fskon
phpBB 2.0.2
Сообщения: 333
Стаж: 17 лет 11 месяцев
Откуда: msk.reg.ru

Сообщение fskon »

А для чего столько банных модов в одном флаконе? :D
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 18 лет

Сообщение Lektor »

Сделал так и попроще код и работает как надо, только текст в языковые перемнные оформлю и все..:

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

	if ( $ban_info = $db->sql_fetchrow($result) )
	{
		if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
		{
			$ban_until = create_date( $lang['Expires_format_banned'], $ban_info['ban_until'], $board_config['board_timezone'] );
		        if ( $ban_info['ban_until'] > 0 )
				{
                	message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . (($ban_info['ban_reason'] != '') ?  '<br /><br>Причина бана: ' . $ban_info['ban_reason'] : '') . '<br><br>' . $lang['Expires_msg_banned'] . $ban_until);
				}
                	message_die(CRITICAL_MESSAGE, $lang['You_been_banned'] . (($ban_info['ban_reason'] != '') ?  '<br /><br>Причина бана: ' . $ban_info['ban_reason'] : '') . $lang['Expires_msg_banned'] . 'никогда');
		}
          
	}
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 1 месяц

Сообщение go »

как показало время и протестированный форум приведенный мною выше код не совсем корректно функционировал.Исправлен первый пост на функционирующий код....
В предыдущем коде не осущствлялась прверка на 0 ( $ban_info['ban_until'] == 0 ) по этой прицине машиной игнорировалося внесеие в список бана в равенством 0,то есть изначался мною преследовалась цель,корректность кода при постановке во временной промежуток,однако те кто не был поставлен в временной промежуток,но находился в бан-листе оказались не удел.....вначале мною подумалось,что восстание на форуме началось :lol: все из бан листа повылазили оказалось - кривые руки..первый пост крректно срабатывает и в случае если поставлен 0 и в случае.если указан времеой интервал.

Вернуться в «Поддержка модов для phpBB 2.0.x»