Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 2 октября 2003 18:03
Склейка сообщений. Хак. — Категория Ikonboard 2.x Автор: AlexanderIpp (От 22:34 19-07-2003) Откройте post.cgi Найдите:
<br>if ($badwords) { <br>@pairs = split(/\&/,$badwords); <br>foreach (@pairs) { <br>($bad, $good) = split(/=/,$_); <br>$inpost =~ s/$bad/$good/ig; <br>$intopictitle =~ s/$bad/$good/ig; <br>$intopicdescription =~ s/$bad/$good/ig; <br>} <br>} <br>my $file = "$ikondir" . "forum$inforum/$intopic.pl"; <br>open (ENT, $file); <br>#flock ENT, 1; <br>$in = <ENT>; <br>close (ENT); <br>($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastposter, $lastpostdate, $sticky) = split(/\|/,$in); <br>if ($threadstate eq "closed" or $threadstate eq 'moved') { &error("отправке сообщения&Эта тема закрыта, новые ответы не принимаются."); } Ниже добавьте:
<br>####склейка сообщений от AlexanderIpp <br>#кол-во минут <br>my $gl_num = 600; <br>my $gl_time = time+($timezone*3600); <br>my ($gl_membername, undef, $gl_postipaddress, undef, undef, $gl_postdate, undef) = split(/\|/, $allmessages[$#allmessages]); <br>if ($gl_membername eq $inmembername && ($gl_time-$gl_postdate <= $gl_num*60) && (-e "members/$gl_membername.cgi" || $gl_postipaddress eq $ENV{REMOTE_ADDR})) { <br> my @tmp_last_mess = split(/\|/, $allmessages[$#allmessages]); <br> chomp $tmp_last_mess[6]; <br> $tmp_last_mess[6] .= qq~<p>[b]Добавление от ~.dateformat($currenttime+($timezone*3600)).qq~:[/b]<p>$inpost~; <br> $allmessages[$#allmessages] = join ("|", @tmp_last_mess); <br> my $filetomake = stripMETA("forum$inforum/$intopic.thd"); <br> my $processed_data = undef; <br> foreach (@allmessages) { <br> chomp; <br> $processed_data .= "$_\n"; <br> } <br> open(FILE, ">$filetomake"); <br> #flock(FILE, 2); <br> print FILE $processed_data; <br> close(FILE); <br> undef $processed_data; <br> } else {<br> Затем найдите:
&whosonline("$inmembername| отправил сообщение в тему <a href=\"$threadprog?forum=$inforum&topic=$intopic\"><b>$topictitle</b></a> на форуме <a href=\"$forumsprog?forum=$inforum\"><b>$forumname</b></a>|none") if ($privateforum ne "yes"); И добавьте после этого:
<br>} Здесь
my $gl_num = 20; задаёт кол-во минут, по прошествии которого сообщения не будут склеены. По-умолчанию - 20 минут.
Не знаю почему на сайте FAF Team он отображается не так как нужно!
И еще: то что в коде выделено жирным нужно заключить в [ b ] [ / b ]
|