Перейти к контенту

система банов, система предупреждений


Рекомендуемые сообщения

на этом форуме заметил системку показывающюю в постах забаненных юзверей кто за что поставил бан и на сколько...

то есть большой восклицательный знак на красном фоне и описание..

искал в модах не нашел, может плохо искал- ткните носом плиз :D

 

либо направьте мысли куда копать и как делать

хочу такую систему под вер 2.0 сделать..

Ссылка на комментарий
Поделиться на других сайтах

Song

воскл. знак - это модераторские теги

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

 

в принципе уже есть идеи как это организовать- будем делать:D

Ссылка на комментарий
Поделиться на других сайтах

вообщем первые сочинения есть

вот они по порядку..

1. берем файл sources\sql\mysql_queries.php

ищем в нем функцию

    function topics_get_posts( $a )

внутри нее есть строчка 96

   	m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,

меняем ее на

   	m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, m.temp_ban, m.restrict_post, m.mod_posts,

то есть мы выбираем из базы ibf_members еще три дополнительных поля в которых хранятся данные о банах разного вида

далее чуть ниже находим функцию

    function topics_get_posts_with_join( $a )

и там делаем точно такую же замену..

ЗЫ. доп инфо: первый запрос идет когда у вас нет дополнительных полей в профайле, второй соответсвенно когда они есть

 

2. дальше ищем файл sources\topics.php

внутри него находим функцию

 function parse_row( $row = array() )

ищем внутри строчку

 	$row['post'] = $this->parser->post_db_parse( $row['post'] );

 

после вставляем

//#################################################
//WARN MESSAGE FROM POOH
//#################################################  
  $warm_mess='';
  if (trim($row['mod_posts'])!='0' && trim($row['mod_posts'])!='') 
  {
  	$time_live=array();
  	$time_live=explode(':',$row['mod_posts']); 
  	$warm_mess .="<b>Preview of all new posts: </b>".$std->get_date($time_live[1],'')." <br />";
  }
  if (trim($row['restrict_post'])!='0' && trim($row['restrict_post'])!='') 
  {
  	$time_live=array();
  	$time_live=explode(':',$row['restrict_post']); 
  	$warm_mess .="<b>Disable this members posting: </b>".$std->get_date($time_live[1],'')." <br />";
  }
  if (trim($row['temp_ban'])!='0' && trim($row['temp_ban'])!='') 
  {
  	$time_live=array();
  	$time_live=explode(':',$row['temp_ban']); 
  	$warm_mess .="<b>Suspend member's account: </b>".$std->get_date($time_live[1],'')."";
  }
  if ($warm_mess!='')
  {
  	$warm_mess=$this->html->show_warn($warm_mess);
  }
  $row['post'] .= $warm_mess;
//#################################################
//END WARN MESSAGE FROM POOH
//#################################################  

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

естествено надписи

Preview of all new posts:

Disable this members posting:

Suspend member's account:

заменить на русские аналоги;)

 

3. далее идем в редактироване скинов и там выбираем Edit Root Skin Stylesheet (CSS Advanced Mode)

и вставляем в самом начале или в самом конце - разницы нет

.warnintopictext
{
background-color: #FF0000;
font-family: "Courier New", Courier, mono;
font-size: 68px;
font-weight: bold;
color: #FFFFFF;
}

.warnintopictd1
{
background-color: #FF0000;
}

 

4. дальше идем опять в редактирование скинов и выбираем раздел Topic View

Нажимаем на кнопку "Add Template Bit"

и там вставляем

New Template Bit Name: show_warn

New Template Bit Incoming Data Variables:

$msg=''

и в большое поле

<table width="400" border="0" align="center" cellpadding="2" cellspacing="0">
  <tr><td><img src='{ipb.vars['img_url']}/spacer.gif' alt='' width='1' height='60' />
</td>
    <td width="30"  align="center" valign="middle" class="warnintopictd1"> 
<img src='{ipb.vars['img_url']}/spacer.gif' alt='' width='30' height='1' />
     <div class="warnintopictext"> ! </div></td>
    <td width='100%'>$msg</td>
  </tr>
</table>

Сохраняем...

и... идем ставим кому нибудь бан и ищем глюки:)

 

код конечно пока сырой, НО рабочий- проверял

замеченные недоработки:

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

2. странности с рисование восклицательного знака.. ну это уже дизайнерские изыски...

 

вообщем пробуйте- ругайте- пишите отзывы:)

 

пример вывода

http://hitv.ru/prog/warn_test.jpg

Ссылка на комментарий
Поделиться на других сайтах

Все отлично работает, но было бы удобней если бы вместо

<table width="400" border="0" align="center" cellpadding="2" cellspacing="0">

было бы

<table width="400" border="0" align="left" cellpadding="2" cellspacing="0">

А то как-то немного не привычно смотрится... :D

2. странности с рисование восклицательного знака.. ну это уже дизайнерские изыски...

:) Ну лично я не считаю кривой восклицательный знак дизайнерской изыской :D

И все же, сначала пробовал изменить размер шрифта, потом сам шрифт, всякие размеры таблиц и т.п. - не фига... Или воскл. знак ровный - но на полэкрана (при увеличении высоты сообщения) или ровный - но размер шрифта уменьшается до 20-30 пикс ;)

Я думаю, что если не найдем проблему в шрифтах, то ее можно решить путем замены воскл. знака ! на соотв. картинку...

Ахтунг!

Пока писал пост, обнаружил глюк - пропажа мода Топик Хинтс! :) То есть становится как обычно: вместо начала поста - "Тема создана..." и все... :)

У меня еще мысля - имхо, нада сделать, чтобы все моды можно было включать/отключать в АЦ... Типа сделать вкладку "Моды" и типа ставить галочку на нужных модах... ;) Такое в принципе возможно сделать?

ЗЫ - спрашиваю, иба у меня практики ИПБ-строителя только один месяц... :)

Ссылка на комментарий
Поделиться на других сайтах

shuks

А то как-то немного не привычно смотрится...

да я сам потом поигрался.. и сделал в итоге

<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0">
  <tr><td><img src='{ipb.vars['img_url']}/spacer.gif' alt='' width='1' height='60' />
</td>
    <td width="30"  align="center" valign="middle" class="warnintopictd1"> 
<img src='{ipb.vars['img_url']}/spacer.gif' alt='' width='30' height='1' /><br />
     <div class="warnintopictext"> ! </div></td>
    <td width='100%' align='left' valign='middle'>$msg</td>
  </tr>
</table>

 

У меня еще мысля - имхо, нада сделать, чтобы все моды можно было включать/отключать в АЦ...

можно конечно, просто код немного усложнится..

Ссылка на комментарий
Поделиться на других сайтах

Типа сделать вкладку "Моды" и типа ставить галочку на нужных модах...  Такое в принципе возможно сделать?

ЗЫ - спрашиваю, иба у меня практики ИПБ-строителя только один месяц... 

Это сложно - соде же меняем прямо в файлах. Что ж делать, писать пути к файлам с прописанным и непрописанным модом??? Нереально, я думаю

Ссылка на комментарий
Поделиться на других сайтах

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

если хак не нужен его просто удалить и все..

Ссылка на комментарий
Поделиться на других сайтах

winnie Ну енто да, только нада ведь и код такой написать, чтоб без глюков в отображении был... а там, имхо, чуток непорядок с таблицами и масштабировании :D
Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

winnie

;) Все гениальное просто... :)

ЗЫ - так хоцца сказать:

Я думаю, что если не найдем проблему в шрифтах, то ее можно решить путем замены воскл. знака ! на соотв. картинку...

Добавлено в [mergetime]1097855247[/mergetime]

:D

Ссылка на комментарий
Поделиться на других сайтах

А еще хочется, чтобы когда в системе ретингставилась галочка на перманентную блокировку (или же премодерацию, etc), то рядом с красной заметкой охотника ;), писалось бы не

Отключение постинга до: --, а Отключение постинга до: бессрочно, например, и еще волнует когда стоит этот хак и к нему вдобавок модераторские теги, получается если сначала [mod] юзаешь, написав в нем за что предупреждение и тд и отключение постинга на 3 дня например, ставишь в центре рейтинга галку отрубить на 3 дня, а в посте получаеца 2 картинки тоесть 1 -тег модера, а 2я -уже система банов.

Кстати еще полезно было бы сделать так, чтобы эта фуфля во всех постах отключенного юзака не болталась, начинает раздражать :D

Ссылка на комментарий
Поделиться на других сайтах

winnie

Этот мод полностью работоспособный ?

Если есть в нем какието недочеты можешь потправить выложить все в кучку ?

Этот мод работает как тут ?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.