Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак - Игнор-лист
RSS

Хак - Игнор-лист

Сообщения юзверя из игнор-листа не выводятся на форум

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
#########################################################
#                                                       #
# Ignore User Hack                                      #
# Author: Steve  Scrimpshire <admin@omarserenity.com>   #
#                                                       #
# Translate & Modified                                  #
# for Russian Ikonboard 4 Release Post Final            #        
# by: JESUS <jesus@tut.by>                              #
#                                                       #
#########################################################
Юзвери могут добавить 5 других участников в Игнор-Лист,
посты этих пользователей не будут видны.
Нельзя игнорить модеров и админов.
Игнор лист хранится в отдельном файле, именуемом
"theirmembername.dat" в директории "members".
Когда юзверь удаляется, файл Игнор-листа удаляется тоже.
#########################################################
#                                                       #
#           НЕ ЗАБУДЬТЕ СДЕЛАТЬ КОПИИ!!!                #
#                                                       #
#########################################################

Итак, .[B]profile.cgi.[/B]

Находим:
<br>############################## start profile modification<p>sub modify {<p>    $helpurl = &helpfiles("Profile");<br>    $helpurl = qq~$helpurl<img src="$imagesurl/images/help_b.gif" border=0></a>~;<p>&getmember("$inmembername");<br>

Сразу после этого добавляем:

<br>################### Игнор-Лист   <p>        $ignoremember = "$inmembername";<br>        $ignoremember =~ s/ /\_/;<br>        $filetoopen = "$ikondir" . "members/$ignoremember.dat";<br>            if (-e $filetoopen) {<br>               open(FILE,"$filetoopen");<br>               $filedata = <FILE>;<br>               close(FILE);<br>               chomp($filedata);<br>               ($ignore1, $ignore2, $ignore3, $ignore4, $ignore5) = split(/\|/,$filedata);<br>               }<br>

Далее находим:

<br><td bgcolor=$miscbackone><input type=text size=20 name="newicqnumber" value="$icqnumber"></td><br>

И после этого вставляем:

<br></tr><tr><br><td bgcolor=$miscbackone><font face="$font" color=$fontcolormisc size=$dfontsize1><b>Игнор-лист</b> (до пяти ников):<br>Вы можете ввести ники участников, чьи посты не желаете видеть.<br><i>Примечание: Вы не можете игнорировать посты Администраторов и Модераторов!</i></td><br><td bgcolor=$miscbackone><input type=text size=20 name="newignore1" value="$ignore1"><br><br><input type=text size=20 name="newignore2" value="$ignore2"><br>    <br><input type=text size=20 name="newignore3" value="$ignore3"><br>    <br><input type=text size=20 name="newignore4" value="$ignore4"><br>    <br><input type=text size=20 name="newignore5" value="$ignore5"></td><br>

Потом, в процедуре [B]sub savemodify[/B] находим:

<br>$inuseravatar           = $query -> param('useravatar');<br>

и вставляем после этого следующее:

<br>        $newignore1             = $query -> param('newignore1');<br>        $newignore2             = $query -> param('newignore2');<br>        $newignore3             = $query -> param('newignore3');<br>        $newignore4             = $query -> param('newignore4');<br>        $newignore5             = $query -> param('newignore5');<br>

Находим после этого:

<br>        $filetomake = "$ikondir" . "members/$memberfiletitle.cgi";<br>open(FILE, ">$filetomake");<br>flock(FILE, 2);<br>print FILE "$inmembername|$newpassword|$membertitle|$membercode|$numberofposts|$newemailaddress|$newshowemail|$ipaddress|$newhomepage|$newaolname|$newicqnumber|$newlocation|$newinterests|$joineddate|$lastpostdate|$newsignature|$newtimedifference|$privateforums|$inuseravatar|$misc1|$misc2|$misc3|$newcustomavatar";<br>        close(FILE);<p>

и добавляем код:

<br>$ignorefiletitle = $inmembername;<br>                $ignorefiletitle =~ s/ /\_/isg;<br>                $filetomake = "$ikondir" . "members/$ignorefiletitle.dat";<br>        open(FILE, ">$filetomake");<br>        flock(FILE, 2);<br>        print FILE "$newignore1|$newignore2|$newignore3|$newignore4|$newignore5";<br>        close(FILE);<br>

Сохраняем и закрываем файл profile.cgi

-------------------------------------

В файле [B]topic.cgi[/B] находим:

<br>$post =~ s/\(Отредактировано(.+?)\)/\<font size=$dfontsize1>\(Отредактировано$1\)\<\/font\>/isg;<br>

После чего добавляем:

<br>   $showthispost = "yes"; <br>   $filetoopen = "$ikondir" . "members/$inmembername.dat";<br>            if (-e $filetoopen) {<br>               open(FILE,"$filetoopen");<br>               $ignoredata = <FILE>;<br>               close(FILE);<br>               chomp($ignoredata);               <br>               }<br>    if ($ignoredata =~ /$membername/g){<br>       $showthispost = "no";<br>       }<br> <br>    if ($showthispost eq "yes"){<p>

Затем немного ниже находим:

<br><tr><td class="bottomline" ><br><hr size=1 width=100% color=$tablebordercolor><br><font face=$font color=$postfontcolor size=$dfontsize1>Всего сообщений: <b>$numberofposts</b> | Присоединился: <b>$joineddate</b> | Отправлено: <b>$postdate</b> | <a href="$viewipprog?forum=$inforum&topic=$intopic&postno=$editpostnumber">IP</a><br></td></tr></table><br></td></tr><br>~;<br>

Добавляем после:

<br>}<br>if ($showthispost eq "no"){<br>    $output .= qq~<br><tr><td bgcolor="$postbackcolor"><table width=100% cellpadding=4 cellspacing=0 bgcolor="$postbackcolor"><br><tr><td bgcolor="$postbackcolor" valign=top width=20%  rowspan=2><br><font face="$font" color=$postfontcolor size=$dfontsize2>(Сообщение не показывается потому, что участник <a href="$boardurl/profile.cgi?action=show&member=$membername" target="_blank">$membername</a> у Вас в игноре. Чтобы прочитать это сообщение, удалите участника из Игнор-Листа в своем <a href="$profileprog" target="_blank">Профиле</a>.)</font></td></tr><br></table></td></tr><br>    ~;<br>    }<br>

Сохраняем и закрываем topic.cgi

-------------------------------------

В файле [B]setmembers.cgi[/B] в процедуре [B]sub deletemember[/B] находим:

<br>        print qq~<br><tr><td bgcolor=#EEEEEE valign=middle align=center colspan=2><br><font face=verdana color=#333333 size=3><b>Участник удален из базы данных форума</b></td></tr><br>         ~;<br>

И перед этим вставляем:

<br>$filetocheck = "$ikondir"."members/$inmember.dat";<br>        if (-e $filetocheck){<br>           $filetotrash = "$ikondir"."members/$inmember.dat";<br>           unlink "$filetotrash";<br>           print qq~<br><tr><td bgcolor=#EEEEEE valign=middle align=center colspan=2><br><font face=verdana color=#333333 size=3><b>Игнор-лист участника $inmember удален из базы данных форума</b></td></tr><br>           ~;<br>            } <br>

[B]Все....[/B]
Пришлось правда немного покулупацца в коде.... ибо хак в оригинале был немного под другую версию....
однако, фича довольно удобная.... Хотя и не знаю насколько нужная.... народ уже юзает у меня на форуме, судя по появившимся в папке  участников файлам....


<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак - Игнор-лист
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0210. Количество выполненных запросов: 18, время выполнения запросов 0.0051