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

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


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

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

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

искал в модах не нашел, может плохо искал- ткните носом плиз :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

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

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

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

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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