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

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

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

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



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

Хак добавляем в поиск возможность поиска по IP адресам

работает для админов и модераторов

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

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


Всего сообщений: 2
Рейтинг пользователя: 0





Дата регистрации на форуме:
5 окт. 2005
Версия форума: IkonBoard 2.1.9. Release 4 Post Final

Правим:

Файл search2.cgi

после строки 52:
---------
&getmember($inmembername);

добавляем:

&moderator;

---------

после строки 59:
---------
elsif ($action eq "search_msg") { &search_msg(); }

добавляем

elsif ($action eq "search_ip") { &search_ip(); }
---------

строка 169-170:
        </tr>

        </table>


заменяем:
</tr>~;

if (($membercode eq "ad") && ($inmembmod eq "yes")) {

$output.=qq~<tr>

<form action="$thisprog" method=POST name="form3">

<td bgcolor=$miscbacktwo valign=middle width=30%><font face="$font" color=$fontcolormisc size=1><b>Маска IP для поиска:</b></font></td>

<td bgcolor=$miscbacktwo valign=middle><input type=text size=20 maxlength=15 name="ipad"></td>

</tr><tr>

<td bgcolor=$miscbacktwo valign=middle><font face="$font" color=$fontcolormisc size=1><b>На форуме:</b></td>

<td bgcolor=$miscbacktwo valign=middle><font face="$font" color=$fontcolormisc size=1>$forumselect

</tr><tr>

<td bgcolor=$miscbacktwo valign=middle><font face="$font" color=$fontcolormisc size=1><b>Выводить только одно сообщение для темы:</b></td>

<td bgcolor=$miscbacktwo valign=middle><font face="$font" color=$fontcolormisc size=1><input type=radio name=onlyonce3 value="yes" checked> Да   <input type=radio name=onlyonce3 value="no"> Нет</td>

</tr><tr>

<td bgcolor=$miscbacktwo valign=middle><font face="$font" color=$fontcolormisc size=1><b>Время отправки сообщения:</b><br>(дд.мм.гггг)</td>

<td bgcolor=$miscbacktwo valign=middle><font face="$font" color=$fontcolormisc size=1>от  

<input type=text size=2 maxlength=2 name=startday value=01>.<input type=text size=2 name=startmonth value=01>.<input type=text size=4 maxlength=4 name=startyear value=1970>   до  

<input type=text size=2 maxlength=2 name=endday value=$day>.<input type=text size=2 name=endmonth value=$month>.<input type=text size=4 maxlength=4 name=endyear value=$year></td>

</tr><tr>

<td bgcolor=$miscbackone valign=middle colspan=2 align=center>

<font face="$font" color=$fontcolormisc size=1>

<input type=hidden name=action value="search_ip">

<input type=submit name=submit value="Начать поиск по IP отправителя"></td>

</form>

</tr>

~;

}

$output.=qq~</table>




далее:
в строках:
251, 256, 313, 398
должны идти:
              $results.="$forumid|$topicid|$topictitle|$topicdescription|$startedby|$startedpostdate|$lastposter|$lastpostdate|0|||\n";

изменяете:
              $results.="$forumid|$topicid|$topictitle|$topicdescription|$startedby|$startedpostdate|$lastposter|$lastpostdate|0||||\n";

строку 286, 428 правите:
              $results.="$forumid|$topicid|$topictitle|$topicdescription|$startedby|$startedpostdate|$lastposter|$lastpostdate|$postnumber|$post|$membername|$postdate\n";

на:

               $results.="$forumid|$topicid|$topictitle|$topicdescription|$startedby|$startedpostdate|$lastposter|$lastpostdate|$postnumber|$post|$membername|$postipaddress|$postdate\n";



Перед строкой 447 вставляете :


sub search_ip {

$startmonth--;

$startyear = $startyear-1900;

$startdate = timelocal(0,0,0,$startday,$startmonth,$startyear);



$endmonth--;

$endyear = $endyear-1900;

$enddate = timelocal(59,59,23,$endday,$endmonth,$endyear);



if (!$ipad) { $ipad = "*.*.*.*"; }

($test1,$test2,$test3,$test4)=split(/\./,$ipad);



print header(-charset=>$forumcharset);

&title;

$output .= qq~

<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>

<tr>

<td width=30% rowspan=2> </td>

<td align=left valign=top><font face="$font" color=$fontcolormisc size=$dfontsize2>

<font face="$font" color=$fontcolormisc size=$dfontsize2>  <img src="$imagesurl/images/closedfold.gif" border=0><a href="$forumsummaryprog">  $boardname</a><br>

  <img src="$imagesurl/images/bar.gif" border=0><img src="$imagesurl/images/openfold.gif" border=0>  Поиск на форуме</td>

</tr>

</tr>

</table>

<br>

~;

$resnumber=time;

while (-e "$ikondir"."search/$resnumber") { $resnumber++; }

open(RESULT,">$ikondir"."search/$resnumber");

$relocurl=$thisprog."?action=showresult&resnumber=$resnumber&where=$where&start=0";

$output .= qq~

<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>

<tr>

<td>

<table cellpadding=6 cellspacing=1 border=0 width=100%>

<tr>

<td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc size=$dfontsize2><b>Пожалуйста подождите. Идет поиск.</b></font></td></tr>

<tr>

<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><br>

<br>Если ваш броузер не перейдет автоматически на страницу с результатами поиска, <a href=$relocurl>нажмите сюда</a>.<br>

<br>

</tr>

</td>

</table>

</td></tr></table>

<meta http-equiv="refresh" content="2; url=$relocurl">

~;

foreach $curforum (@forumlist) {

($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic, $pollstate) = split(/\|/,$curforum);

if ($forumid ne $forum && $forum ne "all") { next; }

if ($privateforum eq "yes" && $allowedentry{$forumid} ne "yes") { next; }

if ($privateforum eq "noguest" && $inmembername eq "Guest") { next; }

opendir(DIR,"$ikondir"."forum$forumid");

@files=readdir(DIR);

closedir(DIR);

@files=grep(/.thd/,@files);

@files=grep(s/.thd//,@files);

foreach $curtopic (@files) {

open(FILE,"<$ikondir"."forum$forumid/$curtopic.thd");

@messages=<FILE>;

close(FILE);

$postnumber=0;

$found=0;

foreach $curmsg (@messages) {

($membername, $topictitle, $postipaddress, $showemoticons, $showsignature, $postdate, $post) = split(/\|/,$curmsg);

if ($startdate <= $postdate && $enddate >= $postdate) {

chomp($post);

($ip1,$ip2,$ip3,$ip4)=split(/\./,$postipaddress);

if (($test1 eq "*" || $test1 eq $ip1) && ($test2 eq "*" || $test2 eq $ip2) && ($test3 eq "*" || $test3 eq $ip3) && ($test4 eq "*" || $test4 eq $ip4)) {

open(FILE,"<$ikondir"."forum$forumid/$curtopic.pl");

$buffer = <FILE>;

chomp($buffer);

close(FILE);

($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastposter, $lastpostdate, $sticky) = split(/\|/,$buffer);

$results.="$forumid|$topicid|$topictitle|$topicdescription|$startedby|$startedpostdate|$lastposter|$lastpostdate|$postnumber|$post|$membername|$postipaddress|$postdate\n";

$found=1;

}

$postnumber++;

if ($found && $onlyonce3 eq "yes") { last; }

}

}

}

}

print RESULT ($results);

close(RESULT);

&output(

-Title => "$boardname - Поиск на форуме",

-ToPrint => $output,

-Version => $versionnumber

);

}



в строке 552-553:


foreach $entry (@entries[$startarray..$endarray]) {

   ($forumid,$topicid,$topictitle,$topicdescription,$startedby,$startedpostdate,$lastposter,$lastpostdate,$postnumber,$post,$membername,$postdate)=split(/\|/,$entry);



исправляете:


&moderator;

foreach $entry (@entries[$startarray..$endarray]) {

($forumid,$topicid,$topictitle,$topicdescription,$startedby,$startedpostdate,$lastposter,$lastpostdate,$postnumber,$post,$membername,$ipad,$postdate)=split(/\|/,$entry);



и в конце, строка 611-612:


         <font face="$font" color=$fontcolormisc size=1><a href="$profileprog?action=show&member=$profilename3"><b>$membername</b></a></font><br>

         <font face="$font" color=$fontcolormisc size=1>$postdatemsg</font>



изменяете:


<font face="$font" color=$fontcolormisc size=1><a href="$profileprog?action=show&member=$profilename3"><b>$membername</b></a><br>~;

if ($membercode eq "ad" || $inmembmod eq "yes") {$output.= qq~IP: $ipad~;}

$output.= qq~<br>$postdatemsg</font>



сохраняете файл и пробуете, должно работать.
Поиск будет доступен только Модераторам и Администраторам форума.
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак добавляем в поиск возможность поиска по IP адресам
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0701. Количество выполненных запросов: 19, время выполнения запросов 0.0108