Как снять предупреждение с пользователя?

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Miladyad
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Как снять предупреждение с пользователя?

Сообщение Miladyad »

Если я администратор форума, как я могу снять предупреждение с пользователя, выданное ему модератором? Возможно ли это?
Либо обнулить предупреждения с данного пользователя.

В модер. и админ. разделах не нашла такую функцию, только удаление заметок и снятие бана.
Решение этой проблемы на данному форуме пока не смогла найти. Если кто-то подскажет, буду благодарна.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Как снять предупреждение с пользователя?

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

Никак. Само снимется по истечении срока. Срок устанавливается один на всех - Админка - Общее - Настройки конференции
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Miladyad
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Re: Как снять предупреждение с пользователя?

Сообщение Miladyad »

Ясно, спасибо.
А если предупреждение было случайно, можно ли его удалить через SQL базу форума?
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Как снять предупреждение с пользователя?

Сообщение FladeX »

Miladyad
через базу можно сделать любые операции с форумом :)
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Как снять предупреждение с пользователя?

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

Удалить вы можете и через админку.
Если вы хотите обнулить счётчик предупреждений у юзера, то

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

UPDATE phpbb_users SET user_warnings = 0, user_last_warning = '' WHERE user_id = 'ID_юзера';
префикс (phpbb_) поставить ваш.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Miladyad
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Re: Как снять предупреждение с пользователя?

Сообщение Miladyad »

Подскажите, пожалуйста, как удалить предупреждение в админке.
В базе я так поняла это таблица phpbb3_warnings, где по IP можно догадаться кому было сделано предупреждение и удалить эту строку.
Если вы хотите обнулить счётчик предупреждений у юзера, то
Спасибо, запишу себе.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Как снять предупреждение с пользователя?

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

Miladyad писал(а): как удалить предупреждение в админке.
Отметить и удалить (администрирование юзера - заметки)
Miladyad писал(а): и удалить эту строку.
не стоит. Она связана с логом действий модераторов. Всё-таки, история... 8-)
Miladyad писал(а): где по IP можно догадаться кому было сделано предупреждение
Интересно.. где вы там IP нашли... :?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Kastaneda
Former team member
Сообщения: 702
Стаж: 21 год 11 месяцев
Поблагодарили: 4 раза

Re: Как снять предупреждение с пользователя?

Сообщение Kastaneda »

Для корректного удаления предупреждения выполните следующие действия
  • Создайте файл php, назовите его remove_warning.php, и поместите в него следующий код:

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

    <?php
    
    // @copyright (c) 2005 KTUK Group
    // @license http://opensource.org/licenses/gpl-license.php GNU Public License
    
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
    
    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup('');
    
    //some essentail variables being set
    $username = request_var('username', '');
    $count = request_var('count', 0);
    $submit = request_var('submit', '');
    $done = false;
    //define some variables
    $row_user = '';
    $warning = '';
    $warning_new = '';
    
    //are you an Admin, if not throw an error ;)
    if(!$auth->acl_get('a_'))
    {
        trigger_error('Only Administrators can remove a warning.');
    }
    
    //Has the form been submitted? If not display form.
    if(!$submit)
    {
        print "<form action=\"".$_SERVER['SCRIPT_NAME']."\" method=\"post\" />
        Username: <input type=\"text\" name=\"username\" />
        Count: <input type=\"text\" name=\"count\" maxlength=\"2\" size=\"2\" />
        <input type=\"submit\" value=\"submit\" name=\"submit\" />
        </form>";
    }
    
    //fetch user info
    $sql = "SELECT * FROM " . USERS_TABLE . "
    WHERE username = '$username'";
    $result = $db->sql_query($sql);
    $row_user = $db->sql_fetchrow($result);
    $db->sql_freeresult($result);
    
    //assign warning count so we can change it in the loop
    $warning_count = $row_user['user_warnings'];
    
    for($i=1;$i<=$count;$i++)
    {
        //does the user exist?
        if (isset($row_user['user_id']))
        {
            //fetch warning info
            $sql = "SELECT * FROM " . WARNINGS_TABLE . "
            WHERE user_id = ".$row_user['user_id']."
            ORDER BY warning_time DESC LIMIT 1";
            $result = $db->sql_query($sql);
            $warning = $db->sql_fetchrow($result);
            $db->sql_freeresult($result);
        }
    
        //is there a warning to remove?
        if (isset($warning['warning_id']))
        {
            //result printing
            $result = '';
    
            //remove warning log
            $sql = "DELETE FROM " . LOG_TABLE . "
            WHERE log_id = ".$warning['log_id'];
            $db->sql_query($sql);
    
            print $result = ($db->sql_query($sql)) ? "Warning log removed.<br />" : '';
    
            //remove last warning
            $sql = "DELETE FROM " . WARNINGS_TABLE . "
            WHERE warning_id = ".$warning['warning_id'];
            $db->sql_query($sql);
    
            //success
            print $result = ($db->sql_query($sql)) ? "Last warning removed.<br />" : '';
    
            //lets reduce the warning count for the user
            $warning_count = ($warning_count - 1);
    
            $sql = "UPDATE " . USERS_TABLE ."
            SET user_warnings = ".$warning_count."
            WHERE user_id = ".$row_user['user_id'];
            $db->sql_query($sql);
    
            //success
            print $result = ($db->sql_query($sql)) ? "User warning count reduced.<br />" : '';
    
            //Now we need the new last warning time to be able to update the user table last warning time
            $sql = "SELECT warning_time FROM " . WARNINGS_TABLE . "
            WHERE user_id = ".$row_user['user_id']."
            ORDER BY warning_time DESC LIMIT 1";
            $result = $db->sql_query($sql);
            $warning_new = $db->sql_fetchrow($result);
            $db->sql_freeresult($result);
    
            $warning_new['warning_time'] = ($warning_new['warning_time']) ? $warning_new['warning_time'] : 0;
    
            //lets update that last warning time
            $sql = "UPDATE " . USERS_TABLE . "
            SET user_last_warning = ".$warning_new['warning_time']."
            WHERE user_id = ".$row_user['user_id'];
            $db->sql_query($sql);
    
            //success
            print $result = ($db->sql_query($sql)) ? "Users last warning time updated if there are previous warnings.<br /><br />" : '';
    
            //add admin log about removal
            add_log('admin', 'Removed user warning', $user_row['username']);
    
            //yay complete success
            $done = true;
        }
    }
    
    if($submit)
    {
        //suppose we better let them know the warning has been removed
        mail($row_user['user_email'], 'Warning Removal', 'A Moderator on www.site.ru has removed a board warning or warnings which they believe were issued incorrectly or by mistake.');
        //did it work?
        print $done = ($done) ? "Finsihed and warning or warnings removed." : "Finsihed and no actions carried out.";
        //get form ready for another submit
        unset($submit);
        print "<br /><a href=\"./remove_warning.php\">BACK</a>";
    }
    
    ?>
  • Сохраните файл, убедившись, что нет пробелов, табуляторов, и других символов в пределах тегов <?php и ?>.
  • Поместите файл в папку с установленным phpBB3, и запустите его с помощью вашего браузера.
  • Введите имя пользователя, у которого вы хотите удалить предупреждение, также введите количество предупреждений для удаления, и нажмите кнопку «Submit»
  • Вам понадобится отредактировать сообщение, отправляемое по электронной почте в качестве уведомления. Найдите и изменить следующую строку в файле:

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

    mail($row_user['user_email'], 'Warning Removal', 'A Moderator on www.site.ru has removed a board warning or warnings which they believe were issued incorrectly or by mistake.'); 
Данный сценарий удалит предупреждение, уменьшит счётчик предупреждений пользователя, и удалит заметку о пользователе. Но он не удалит запись в журнале модератора о выданном предупреждении, поэтому вы сможете видеть, кто выдал неправильное предупреждение.

http://www.ktuk.net/phpBB3/viewtopic.php?t=3950
Аватара пользователя
Master of Tragedy
phpBB 1.4.2
Сообщения: 68
Стаж: 19 лет 1 месяц
Откуда: Санкт-Петербург

Re: Как снять предупреждение с пользователя?

Сообщение Master of Tragedy »

Kastaneda
Интересно. Может, это лучше в виде мода реализовать? :)
Ce grand malheur de ne pouvoir etre seul...
DEpp
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Re: Как снять предупреждение с пользователя?

Сообщение DEpp »

Kastaneda
Спасибо работает.
Я бы закончил код так

print "<br /><a href=\"./index.php\">Назад на главную форума</a>";
print "<br /><a href=\"./remove_warning.php\">Назад</a>";
nazar
phpBB 1.4.2
Сообщения: 73
Стаж: 19 лет
Откуда: org.ua

Re: Как снять предупреждение с пользователя?

Сообщение nazar »

есть еще
## MOD Title: GP ACP delete Warnings
## MOD Author: Ghetto_Man gpscripts@gmail.com
## MOD Description: Allows the Admin to delete users warnigs VIA the ACP.
## MOD Version: 1.0.0.A
Аватара пользователя
qd_maroder
phpBB 1.2.0
Сообщения: 18
Стаж: 17 лет 10 месяцев
Откуда: Петрозаводск

Re: Как снять предупреждение с пользователя?

Сообщение qd_maroder »

Ни один из приведенных способов не сработал. Способ Kastaneda: все вроде выполняется, но количество предупреждений остается неизменным.
nazar писал(а):GP ACP delete Warnings
не могу найти опции в админ панели и настройках пользователя. Только редактирование через правку в базе помогло, если еще какие-нибудь варианты решения проблемы?
Версия форума 3.0.4
Установленные моды: быстрый ответ, список последних тем(glance)
зы: запись в журнале о предупреждении уже была удалена до установки перечисленных выше модов.
Изображение
Изображение
Kastaneda
Former team member
Сообщения: 702
Стаж: 21 год 11 месяцев
Поблагодарили: 4 раза

Re: Как снять предупреждение с пользователя?

Сообщение Kastaneda »

В приведённом выше варианте была недоделка, не позволяющая работать с именами, содержащими русские символы. Найдите в коде:

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

$username = request_var('username', '');
И замените на:

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

$username = request_var('username', '',true);
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Как снять предупреждение с пользователя?

Сообщение nissin »

Эта версия мода у меня нормально работала.
Источник откуда брал найти не могу, phpbb.com не работает.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Shadow
phpBB 2.0.0
Сообщения: 211
Стаж: 20 лет 10 месяцев
Откуда: Новосибирск

Re: Как снять предупреждение с пользователя?

Сообщение Shadow »

nissin писал(а):Эта версия мода у меня нормально работала.
Источник откуда брал найти не могу, phpbb.com не работает.
Спасибо, работает как часики!

Вернуться в «Поддержка phpBB 3.0.х»