info navigation

phpbb-belk.ru

темы, связанные с форумом phpbb 3.0.x



Новая тема  [ Сообщений: 6 ]  Просмотры: 3338

Автор Сообщение
Не в сети
(Андрей)  
Администратор
Аватара пользователя

Стаж: 8 лет 6 месяцев 28 дней
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


вывод информации о предупреждениях пользователю в его минипрофиль в теме

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

сейчас происходит тестирование самого хака. как будет появляться время - буду продолжать писать. (с временем сейчас напряги).

для информации выложу сканы получившегося творения:

Вложение:
Комментарий к файлу: 1 предупреждение
ban1.png
ban1.png [ 18.48 КБ | Просмотров: 3338 ] ban1.png



Вложение:
Комментарий к файлу: 2 предупреждения
ban2.png
ban2.png [ 18.73 КБ | Просмотров: 3338 ] ban2.png



Вложение:
Комментарий к файлу: объявление бана
ban3.png
ban3.png [ 15.83 КБ | Просмотров: 3338 ] ban3.png



В минипрофиль пользователя в теме выводится информация о вынесении ему предупреждений за какие-либо нарушения на форуме. считается, что даётся 2 китайских предупреждения, вслед за чем (при повторном нарушении) объявляется БАН и понижение в правах доступа.

Решил немного добавить информации: сейчас посмотрел на получившееся творение и подумал: профиль участника форума ведь всё-равно остаётся. в минипрофиле темы выводится вся информация, но, при переходе оттуда для просмотра профиля пользователя - ничего такого нет. в профиле выводится количество предупреждений (стандартно), но вот того, что теперь пользователь заБАНен - нет. решил исправить это несоответствие.
получилось так:

Вложение:
Комментарий к файлу: вывод БАНа в профиле
profil_ban.png
profil_ban.png [ 47.56 КБ | Просмотров: 3332 ] profil_ban.png



о предупреждениях
За какое-либо нарушение правил форума модератор (администратор) может вынести пользователю предупреждение. Предупреждение можно вынести через соответствующую кнопку в теме сообщения.
Список "правонарушений" и самих "нарушивших" имеется только в модераторском разделе и для общественности недоступен.
Предупреждений, похоже, можно выносить сколько угодно - я не нашёл где можно выставить ограничения.
Если предупреждению пользователю выдано - отменить его невозможно. Такой функции на форуме нет. Предупреждение будет автоматически снято через 90 дней (по стандартным настройкам форума).
Эта настройка находится Админка - Общие - Настройки конференции - Длительность предупреждений.
Эта настройка затрагивает всех пользователей.
Вроде всё.


Вся тема создана на основе информации с темы Мини МОД предупреждение.
Я только переработал данные оттуда под свои нужды.

Для работы этого хака необходимо создать в административном разделе новую группу:

заходим по адресу: Админка - Пользователи и Группы - Управление группами - Создать группу (назовём её Бан).
В настройках группы можете ставить сами, что вам нравится, главное в строке

Цвет группы:
Цвет имён пользователей — участников группы. Оставьте поле пустым для использования цвета по умолчанию.


необходимо прописать 000000, то есть чёрный цвет. (или не трогать, если он там уже стоит).

Добавлять "участников" в эту группу мы будем уже после 3 предупреждения. Эта поможет сменить цвет ника пользователя на чёрный и вывести надпись "вам объявлен БАН".

код вывода в шаблоне, который это и сделает:

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

<!-- IF postrow.POST_AUTHOR_COLOUR eq '#000000' -->информация<!-- ENDIF -->


а вот это условие позволяет выводить информацию, если пользователю объявлено предупреждение:

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

<!-- IF postrow.POSTER_WARNINGS eq '1' -->информация<!-- ENDIF -->


цифра 1 означает означает одно предупреждение. до БАНА вы можете сделать не два, как здесь, а больше, просто добавляя ещё один код (с 3 и так далее).

Вывод информации о предупреждениях и БАНе в минипрофиле (в отличии от оригинала) организован без вывода картинок.
Пока не могу написать код вывода для стандартных стилей - не протестировал, но у меня этот вывод организован так:

этот сайт
Вывод информации в минипрофиле пользователя в теме сообщения:

Открыть viewtopic_body.html

это вывод цветной рамки вокруг минипрофиля:

Найти

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

      <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->

         <td valign="top" class="profile"


Вставить после найденного

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

<!-- IF postrow.POST_AUTHOR_COLOUR eq '#000000' -->style="border:1px dotted #BB0000;position:relative;"<!-- ELSE --><!-- IF postrow.POSTER_WARNINGS eq '1' -->style="border:1px solid #FFA500;"<!-- ENDIF --><!-- IF postrow.POSTER_WARNINGS eq '2' -->style="border:1px solid #FF6347;"<!-- ENDIF --><!-- ENDIF -->


Чтобы получилось вот так:

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

      <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->

         <td valign="top" class="profile" <!-- IF postrow.POST_AUTHOR_COLOUR eq '#000000' -->style="border:1px dotted #BB0000;position:relative;"<!-- ELSE --><!-- IF postrow.POSTER_WARNINGS eq '1' -->style="border:1px solid #FFA500;"<!-- ENDIF --><!-- IF postrow.POSTER_WARNINGS eq '2' -->style="border:1px solid #FF6347;"<!-- ENDIF --><!-- ENDIF -->>



Вывод сообщения Вы заБАНены!:

Найти

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

<table cellspacing="4" align="center" width="220">
         <!-- IF postrow.RANK_TITLE -->


Вставить перед найденным

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

                                                         <!-- IF postrow.POST_AUTHOR_COLOUR eq '#000000' --><span style="background:#fff;padding:5px;color:#bb0000;font-size:20px;position:absolute;top:30px;left:30px;">Вы заБАНены!</span><!-- ENDIF -->


Как видите, здесь используется абсолютное позиционирование относительно блока минипрофиля, поэтому, думаю, со стилем на основе prosilver'a могут быть проблемы.

а вот этот код выводит надписи-предупреждения. вообще-то можно и надпись БАН добавить туда же, если не хотите накладывать её поверх аватара:

Найти

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

         <!-- IF postrow.POSTER_AVATAR -->
                                <tr>
                                        <td>{postrow.POSTER_AVATAR}</div></td>


Вставить перед найденным

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

                    <!-- IF postrow.POST_AUTHOR_COLOUR eq '#000000' -->
                               <tr>
                                        <td>&nbsp;</td>
                                </tr>
                    <!-- ELSE -->
                        <!-- IF postrow.POSTER_WARNINGS eq '1' -->
                                <tr>
                                        <td align="center"><span style="color:#FFA500;font-size:15px;">Вам вынесено<br> предупреждение!</span></td>
                                </tr>
                        <!-- ENDIF -->
                        <!-- IF postrow.POSTER_WARNINGS eq '2' -->
                                <tr>
                                        <td align="center"><span style="color:#FF6347;font-size:15px;">Вам вынесено второе<br> (последнее) предупреждение!</span></td>
                                </tr>

                        <!-- ENDIF -->
                    <!-- ENDIF -->


В строку

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

                                       <td>&nbsp;</td>


Вместо &nbsp; можете написать предупреждение о Бане. тогда оно будет выводиться там же, где и остальные надписи.


Вывод информации о БАНе в профиле пользователя:

Открыть memberlist_view.html

Найти

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

   <tr>
      <th width="40%"><h4>{L_USER_PRESENCE}</h4></td>
      <th width="60%" align="center"><h4>{L_USER_FORUM}</h4></td>
   </tr>
   <tr>
      <td class="row1" align="center">


Часть строки

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

      <td class="row1" align="center">


Заменить на

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

      <td class="row1" align="center" style="position:relative;">


После этого кода, перед кодом

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

         <table cellspacing="1" cellpadding="2" border="0">


Вставить сам вывод надписи:

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

<!-- IF USER_COLOR eq '#000000' --><span style="background:#fff;padding:5px;border:1px solid #bb0000;color:#bb0000;font-size:20px;position:absolute;top:100px;left:50px;">Пользователь заБАНен!</span><!-- ENDIF -->


Чтобы получилось

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

      <td class="row1" align="center" style="position:relative;">

<!-- IF USER_COLOR eq '#000000' --><span style="background:#fff;padding:5px;border:1px solid #bb0000;color:#bb0000;font-size:20px;position:absolute;top:100px;left:50px;">Пользователь заБАНен!</span><!-- ENDIF -->

         <table cellspacing="1" cellpadding="2" border="0">


Вот это: position:absolute;top:100px;left:50px; - позиционирование надписи относительно блока с аватаркой. измените данные под свой вывод.



Всё. почистите кэш и готово.


Как это работает: после первых двух предупреждений будут выводиться соответствующие надписи и рамки жёлтого и оранжевого цветов. это происходит автоматически. но вот после объявления последнего (3) предупреждения необходимо пойти в администраторский раздел во вновь созданную группу (Бан) и добавить туда нового "жителя", прописав при добавлении, что это у него теперь группа по умолчанию.

После этого ник пользователя станет чёрным и появится надпись БАН!.

Написал вроде много и кажется мудрёным, но, на самом деле, всё довольно просто.
Сам код я попытался написать опять "как конструктор", чтобы каждый смог переделать его "под себя". всё оформление (css) прописано прямо в шаблоне.

И ещё: вся эта "красивость" - чисто информационная и никакими "репрессиями" нарушителю не грозит. после "объявления БАНа" вам надо самим либо понизить пользователя в правах, либо внести его в "Чёрный список форума" вообще закрыв ему доступ. его профиль с висящей на нём надписью БАН покажет остальным пользователям что произошло и почему он не отвечает.

Если ещё чего смогу "приделать" к данной теме для расширения возможностей - напишу.



в процессе написания... :o (тестирование на стандартных стилях и прописка информации в теме).


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
предупреждения,бан,минипрофиль,информация,phpbb3.0,phpbb 3.0
Не в сети
(Дмитрий)  
2017-06-25 
Аватара пользователя

Стаж: 7 лет 3 месяца 5 дней
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Отличная тема, Андрей!!!
1. По поводу автоматического попадания в группу забаненные:
http://admins.bestforums.org/viewtopic. ... rt=10#p560
я так и не понял, хотя такая возможность якобы есть:
Цитата:
В настройках группы Забаненные, которую Вы создаете сами, нужно в условиях автогруппировки поставить Минимум предупреждений "3"! И тогда все, кто получит 3 предупреждения сразу автоматически переместится в группу Забаненные!

2. Можно как нибудь вывести счетчик, на котором были бы видны цифры с обратным отчетом, когда снимется предупреждение?


Не в сети
(Андрей)  
2017-06-25 
Администратор
Аватара пользователя

Стаж: 8 лет 6 месяцев 28 дней
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Dmitry писал(а):

В настройках группы Забаненные, которую Вы создаете сами, нужно в условиях автогруппировки поставить Минимум предупреждений "3"! И тогда все, кто получит 3 предупреждения сразу автоматически переместится в группу Забаненные!


я это тоже читал, но самой такой возможности не нашёл.

Dmitry писал(а):

Можно как нибудь вывести счетчик, на котором были бы видны цифры с обратным отчетом, когда снимется предупреждение?


не знаю. это стопроцентно скрипт должен быть... поищите в сети - может что и есть. я не встречал. как такую штуковину самому сделать - я тоже не знаю.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2017-07-17 
Аватара пользователя

Стаж: 7 лет 3 месяца 5 дней
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Обнаружился недочет который ставит под сомнение всю идею данного мода.
Дело в том, что на любом форуме phpbb3 есть счетчик с количеством дней, после которых предупреждения снимаются, что логично. А раз снимаются предупреждения, то и графический бан тоже :(
Неразумно обнулять счетчик. У пользователя таким образом на всю жизнь останется эта метка, что не есть гуд.
Как то можно модифицировать? :?
Например, если ты получил 3 предупреждения и бан, то не смотря на снятие предупреждений автоматических, красный бан остается навсегда и не снимается. :dwarf:


Не в сети
(Андрей)  
2017-07-17 
Администратор
Аватара пользователя

Стаж: 8 лет 6 месяцев 28 дней
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


думаю, что вряд ли. Бан (или последнее наказание) появляется в профиле только потому, что вы прописываете данного пользователя в группе Бан. данная группа никаким местом с системой предупреждений не связана и пока вы вручную пользователя с этой группы не уберёте - картинка будет висеть. а предупреждения, само собой, снимутся спустя определённое время.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
Аватара пользователя

Стаж: 7 лет 3 месяца 5 дней
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Действительно, логично! Спасибо за разъяснения, вопрос отпал ;)


Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 6 ] 

Кто сейчас на сайте:

Всего посетителей: 0, из них зарегистрированных: 0, скрытых: 0 и гостей: 0 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (122) здесь было 19 дек 2023, 12:10

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 0

Часовой пояс: UTC + 2 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Вы не можете защищать свои темы паролем

Найти:
Перейти:  




cron

Текущее время: 19 апр 2024, 23:48

Создано на основе phpBB® Forum Software © phpBB Group
Яндекс.Метрика

Полная версия Мобильный вид