Admin/moderator bans

sharfik

Пользователь
Причем другие стабильные моды вечно с какими-то ошибками ставятся, а этот - как ни странно уже два раза поставила на двух трекерах - без ошибок и работает. Чему я довольная вдвойне :).. Теперь бы хотелось, чтобы модераторы могли не только банить, но и запрещать на комментарии, на отправку ЛС, и на чат Лога - все раздельно :)
 
G

Gemini_13

Гость
sharfik, тю... а не проще было сразу к Логу обратится?) там что захочется душе, то и запрещать можно)
 

Николай Ефремов

Пользователь
Мод действительно отлично работает и без ошибок. Еще бы информацию о бане в профиль вывести и индикатор бана в viewtopic, или лычку вешать что забанен автоматом на время действия бана.
бан из профиля?
Да, есть такое, работает стабильно )
 

diden05

Пользователь
Николай Ефремов, просто я у себя делал и бан в профиле и вывод в профиле что юзер забанен, надо будет выковырять да выложить.
 

sharfik

Пользователь
ТАки да! Надо ка тебе выковырять да выкласть сюда ;) ... вернее сделай пожалуйста патч небольшой!!! чтобы в профиле отображалось, что юзер забанен , кем и за что!
 

Hopper Around

Пользователь
не могу понять тут код либо кривой либо на 600 ревизию не подходит

$sql = "
SELECT b.ban_ip, b.ban_time_exp, b.ban_theme, b.ban_by, u2.username AS modername
FROM ". BB_BANLIST ." b
LEFT JOIN ". BB_USERS ." u2 ON (u2.user_id = b.ban_by)
WHERE $where_sql LIMIT 1";
$result = '';
$result = DB()->fetch_row($sql);
if ( $result != FALSE)
{
$t_exp = '';
if ($result['ban_time_exp'] != 0)
{
$t_exp = "до: " . date("H:i d-m-Y", $result['ban_time_exp']);
}
else $t_exp = 'перманентно';
message_die(GENERAL_MESSAGE, "Вы забанены на трекере " . $result['modername'] . ", срок ". $t_exp . ", причина: " . $result['ban_theme']);
bb_exit('~');
}

Взята из текст. документа , заменяю ошибка ,вставлю назад старый норм работает
 

Lynx

Пользователь
PHP:
// Initial ban check against user_id or IP address
    if ($is_user)
    {
      preg_match('#(..)(..)(..)(..)#', USER_IP, $ip);
      $where_sql  = "ban_ip IN('". USER_IP ."', '$ip[1]$ip[2]$ip[3]ff', '$ip[1]$ip[2]ffff', '$ip[1]ffffff')";
      $where_sql .= ($login) ? " OR ban_userid = $user_id" : '';
      $sql = "SELECT ban_id, b.ban_ip, b.ban_time_exp, b.ban_theme, b.ban_by, u2.username AS modername
                    FROM ". BB_BANLIST ." b
          LEFT JOIN ". BB_USERS ." u2 ON (u2.user_id = b.ban_by)
                    WHERE $where_sql LIMIT 1";
      if (DB()->fetch_row($sql))
      {
      $result = DB()->fetch_row($sql);
      if ( $result != FALSE)
      {
        $t_exp = '';
        if ($result['ban_time_exp'] != 0)
          {
            $t_exp = "до: " . date("H:i d-m-Y", $result['ban_time_exp']);
          }
        else $t_exp = 'перманентно';
        bb_die("Вы забанены на трекере. Забанил " . $result['modername'] . ". Срок: ". $t_exp . ", причина: " . $result['ban_theme']);
      }
      }
    }

Скоро выложу адаптированный мод для ALFA 5.
 

Hopper Around

Пользователь
PHP:
// Initial ban check against user_id or IP address
    if ($is_user)
    {
      preg_match('#(..)(..)(..)(..)#', USER_IP, $ip);
      $where_sql  = "ban_ip IN('". USER_IP ."', '$ip[1]$ip[2]$ip[3]ff', '$ip[1]$ip[2]ffff', '$ip[1]ffffff')";
      $where_sql .= ($login) ? " OR ban_userid = $user_id" : '';
      $sql = "SELECT ban_id, b.ban_ip, b.ban_time_exp, b.ban_theme, b.ban_by, u2.username AS modername
                    FROM ". BB_BANLIST ." b
          LEFT JOIN ". BB_USERS ." u2 ON (u2.user_id = b.ban_by)
                    WHERE $where_sql LIMIT 1";
      if (DB()->fetch_row($sql))
      {
      $result = DB()->fetch_row($sql);
      if ( $result != FALSE)
      {
        $t_exp = '';
        if ($result['ban_time_exp'] != 0)
          {
            $t_exp = "до: " . date("H:i d-m-Y", $result['ban_time_exp']);
          }
        else $t_exp = 'перманентно';
        bb_die("Вы забанены на трекере. Забанил " . $result['modername'] . ". Срок: ". $t_exp . ", причина: " . $result['ban_theme']);
      }
      }
    }

Скоро выложу адаптированный мод для ALFA 5.
как скоро будет?
 
Сверху