Запреты и предупреждения

Запреты и предупреждения v1.3.3

Exile

Администратор
Еще один вопрос, как в это условие:
PHP:
<!-- IF WARNINGS --><img src="{SITE_URL}styles/images/flag_red.gif"> <a href="{SITE_URL}warnings.php?u={PROFILE_USER_ID}">[История нарушений]</a><!-- ELSE --><img src="{SITE_URL}styles/images/flag_green.gif"><!-- ENDIF -->

добавить еще одно изображение, что бы при выдаче "предупреждения" (в моем случае это:
9 => 'Предупреждение', ), флаг был желтого цвета?
Добавить вывод WARNING_ID, ну и с ним в шаблоне делать сравнение на ELSEIF.
 

Fantom 13

Пользователь
Exile вот судя из сказанного выше...
PHP:
function warning($type, $data = array())
{
    global $lang, $bb_cfg, $userdata;

    if(!isset($userdata['user_warnings'])) $userdata = $data;

    if(!empty($userdata['user_warnings']) && $bb_cfg['warning']['enabled'])
    {
        $warning = DB()->fetch_row("SELECT w.*, u.username, u.user_rank, u.user_level
            FROM ". BB_WARNINGS ." w, ". BB_USERS ." u
            WHERE w.user_id = ". $userdata['user_id'] ."
                AND u.user_id = w.poster_id
                AND w.warning = $type
                AND w.auth IN(1,3)
            ORDER BY w.id DESC");
        if ($warning)
        {
            if ($warning['time_end'] > TIMENOW || $warning['auth'] == 3)
            {
                if ($warning['user_level'] == ADMIN)
                {
                    $level = 'Администратор ';
                }
                elseif($warning['user_level'] == MOD)
                {
                    $level = 'Модератор ';
                }

                $time = ($warning['auth'] == 3) ? $bb_cfg['warning']['auth'][3] : delta_time($warning['time_end']);

                if (defined('IN_AJAX'))
                {
                    $warn_text = 'Вам запрещено '. $bb_cfg['warning']['type'][$warning['warning']];
                    $warn_text .= "\nДо окончания блокировки осталось - $time";
                }
                else
                {
                    $warn_text = $level . profile_url(array('username' => $warning['username'], 'user_id' => $warning['poster_id'], 'user_rank' => $warning['user_rank']));
                    $warn_text .= ' запретил вам '. $bb_cfg['warning']['type'][$warning['warning']].', подробнее <a class="gen" href="warnings.php?warnings&u='. $warning['user_id'] .'">тут</a><br />';
                    $warn_text .= '<b>по причине</b>: '. $warning['reason'] .'<br />';
                    $warn_text .= 'До окончания блокировки осталось - <b>'. $time .'</b>.';
                }

                return isset($userdata['bb_exit']) ? bb_exit($warn_text) : bb_die($warn_text);
            }
            else
            {
                DB()->query("UPDATE ". BB_WARNINGS ." SET auth = 0 WHERE id = ". $warning['id']);
                DB()->query("UPDATE ". BB_USERS ." u SET u.user_warnings = (SELECT COUNT(w.id) FROM ". BB_WARNINGS ." w WHERE w.user_id = ". $userdata['user_id'] ." AND w.auth IN(1,3) OR w.time_end > ". TIMENOW .") WHERE u.user_id = ". $userdata['user_id']);
               cache_rm_user_sessions ($userdata['user_id']);
            }
        }
    }
}
 

_WolK_

Пользователь
Когда даю бан бессрочный,тот кого забанил бан получает,но на /warnings.php пишет что истек,как бы это профиксить?Кто с таким сталкивался?!
 

JDVU

Пользователь
потому что читать надо
Код:
        //Только супер админ может банить юзверя
        if($warning == DELETED)
        {
            if(!IS_SUPER_ADMIN)    $this->ajax_die($lang['ONLY_FOR_SUPER_ADMIN']);
 

sergey67

Пользователь
Подскажите пожалуйста на версии 2.2.3 что делать с этим
Код:
-- session.php
- найти
            if (DB()->fetch_row($sql))
            {
                header('Location: https://torrentpier.com/banned/');
            }

- заменить на
            if (DB()->fetch_row($sql))
            {
                $this->set_session_cookies(GUEST_UID);
                bb_exit('Вы забанены');
            }
            $this->data['bb_exit'] = true;
            warning(DELETED, $this->data);
            if(!empty($this->data['user_warnings']))
            {
                if($this->data['user_warnings'] >= 3) bb_exit('Вы забанены'); //Общее число активных запретов
            }
Нашел эту функцию в другом месте /src/Legacy/Common/User.php, но там код другой
 
Сверху