Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Хак. Информация о последнем посте

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

YourAdmin



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет.
Вот решил написать хак, вроде получилось.
Кое-где видел подобное, возможно на Ру-Борде он уже был выложен.
Но я его здесь не видел.
 
Итак, нам нужно будет редактировать 2 файла: post.cgi и ikonboard.cgi
Открываем post.cgi
 
Ищем  
 

Код:
 
############### sub addnewthread #############
 
sub addnewthread { # start routine
 

 
Где-то через 100 строк находим
 

Код:
 
        # Update stats for member, and board
 

 
Добавляем после этой строки

Код:
 
        ## Последнее сообщение для ikonboard.cgi ##
 
        if ($privateforum ne "yes") {
         
        $filetomake = "$ikondir" . "lastpost.cgi";  
$filetomake = ($filetomake);  
open(FILE, ">$filetomake");  
print FILE "$inforum|$newthreadnumber|$intopictitle|$inpost";  
close(FILE);
        }
        ###########################################
         

 
Если у вас установлено голосование, то находим

Код:
 
############### sub addnewpoll #############
 
sub addnewpoll { # start routine
 

 
Опять же через 100 строк находим

Код:
 
  # Update stats for member, and board      
 

 
Добавляем ниже

Код:
 
        ## Последнее сообщение для ikonboard.cgi ##
 
        if ($privateforum ne "yes") {
       
      $filetomake = "$ikondir" . "lastpost.cgi";  
$filetomake = ($filetomake);  
open(FILE, ">$filetomake");  
print FILE "$inforum|$newthreadnumber|$intopictitle|$inpost";  
close(FILE);
        }
        ###########################################
         
 

 
Так, с новыми темами и голосованиями мы проблему решили.  
Теперь займемся ответами. Находим

Код:
 
##### add the replyto the file.
 
sub addreply { # start routine
 

Через много строк ниже находим
 

Код:
 
        $threadposts = @allmessages;
         
        open(FILE, ">$file");
        flock(FILE, 2);
        print FILE "$intopic|$topictitle|$topicdescription|$threadstate|$threadposts|$threadviews|$startedby|$startedpostdate|$inmembername|$currenttime";
        close(FILE);
 
 

 
ПЕРЕД этим кодом добавляем

Код:
 
        ## Последнее сообщение для ikonboard.cgi ##
 
        if ($privateforum ne "yes") {
         
        $filetomake = "$ikondir" . "lastpost.cgi";  
$filetomake = ($filetomake);  
open(FILE, ">$filetomake");  
print FILE "$inforum|$intopic|$topictitle|$inpost";  
close(FILE);
        }
        ###########################################
 

 
Сохраняем post.cgi и можно его закрывать.
Теперь открываем наш любимый ikonboard.cgi
Ищем

Код:
 
$output .= qq~    
 <!-- Cgi-bot Begin Board logo and navigation -->
 

 
ПЕРЕД этим кодом добавляем  

Код:
 
#####################################  
######  Последний пост
###      
#  
    $filetoopen = "$ikondir" . "lastpost.cgi";
    open(FILE,"$filetoopen");
    @lastpost = <FILE>;
    close(FILE);
 
         
    foreach $lastpost (@lastpost) {
    chomp $lastpost;
        ($forumnumb, $threadnumb, $topictit, $postmessage) = split(/\|/,$lastpost);    
 }
 
 $postmessage =~ s/\[b\]/<b>/isg;
 $postmessage =~ s/\[\/b\]/<\/b>/isg;
 $postmessage =~ s/\[i\]/<i>/isg;
 $postmessage =~ s/\[\/i\]/<\/i>/isg;
 $postmessage =~ s/\[u\]/<u>/isg;
 $postmessage =~ s/\[\/u\]/<\/u>/isg;
 $postmessage =~ s/\[font=\s*(.*?)\s*\]\s*(.*?)\s*\[\/font\]/<font face=\"$1\">$2<\/font>/isg;
 $postmessage =~ s/\[color=(\S+?)\]/<font color=\"$1\">/isg;
 $postmessage =~ s/\[\/color\]/<\/font>/isg;
 
 if (length($postmessage) > 50) {
 $postmessage = substr($postmessage, 0, 47);
 $postmessage .= '...';         }
 $postmessage = "\"$postmessage\<\/b><\/u><\/i><\/font><font face=\"$font\" color=$fontcolormisc size=$dfontsize1>&nbsp;\"";
 
 
 ## Если нужны все смайлики, разкомментируй строку ##
 #$postmessage =  &doemoticons("$postmessage");      
 ####################################################
 
 $postmessage =~ s/\:\)/<img src=\"$imagesurl\/emoticons\/smile.gif\" border=\"0\">/g;
 $postmessage =~ s/\;\)/<img src=\"$imagesurl\/emoticons\/wink.gif\" border=\"0\">/g;
 $postmessage =~ s/\:\(/<img src=\"$imagesurl\/emoticons\/sad.gif\" border=\"0\">/g;
 $postmessage =~ s/\:o/<img src=\"$imagesurl\/emoticons\/shocked.gif\" border=\"0\">/g;
 $postmessage =~ s/<br>/&nbsp;/g;
 $postmessage =~ s/<p>/&nbsp;&nbsp;/g;
     
 
#
###      
######  Последний пост
#####################################  
 

 
Далее опять возвращаемся ниже, смотрим

Код:
 
    $output .= qq~
    <!-- Cgi-bot Begin Board logo and navigation -->
    <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
        <tr>
         <td valign=bottom align=right><font face="$font" color=$fontcolormisc size=$dfontsize2>
                $ibtxt{'0001'} $cleanlastregistered<br>
                $ibtxt{'0002'} <b>$totalmembers</b> $ibtxt{'0003'} <b>$totalposts</b> $ibtxt{'0004'} <b>$totalthreads</b> $ibtxt{'0024'}
            </td>
        </tr>
 

 
Меняем этот код на  

Код:
 
 #------- HTML
 
    $output .= qq~
    <!-- Cgi-bot Begin Board logo and navigation -->
    <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
        <tr>
<td align="left" valign="bottom">
<font face="$font" color=$fontcolormisc size=$dfontsize2>&nbsp;&nbsp;&nbsp;Последнее сообщение:<br>
&nbsp;&nbsp;&nbsp;<a href="$threadprog?forum=$forumnumb&topic=$threadnumb&allpagesview=yes">$topictit</a><br>
&nbsp;&nbsp;&nbsp;$postmessage
</td>
       <td valign=bottom align=right><font face="$font" color=$fontcolormisc size=$dfontsize2>
                $ibtxt{'0001'} $cleanlastregistered<br>
                $ibtxt{'0002'} <b>$totalmembers</b> $ibtxt{'0003'} <b>$totalposts</b> $ibtxt{'0004'} <b>$totalthreads</b> $ibtxt{'0024'}
            </td>
        </tr>
    </table>
 
   
 
C ikonboard.cgi мы разобрались.
Сохраняем его и можно закрыть.
 
Итак, хак установлен. Тестируйте и заценивайте.
Создайте новую тему и загляните в ваш ikonboard.cgi
Говорите здесь недочеты, если такие имеются.
Это только первая версия этого хака (надеюсь что последяя, и что мне писать больше ничего не придеться )  
А пока я расскажу пор плюсы этого хака:
 
- отображаются смайлики
- отображаются и другие смайлики, если раскомментировать строку
#$postmessage =  &doemoticons("$postmessage");
- отображается тип шрифта
- отображается цвет шрифта
- отображается наклонный, выделенный и подчеркнутый текст
- переносы строки не отбражаются
 
Спасибо за внимание. Жду комментариев в эту тему.
Thanks.  
 

Всего записей: 156 | Зарегистр. 08-12-2001 | Отправлено: 15:50 19-06-2002 | Исправлено: YourAdmin, 17:02 19-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
эээ.. это что? ластпост что ли??

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 16:02 19-06-2002
YourAdmin



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нет. Он отображается вверху, где у тебя там кол-во мемберов, постов, тем. Ну наподобее ластплста, только там описывается САМЫЙ последний пост

Всего записей: 156 | Зарегистр. 08-12-2001 | Отправлено: 16:57 19-06-2002
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
может ты бы линк на свой форум в пример дал бы ? а то я не представляю никак.

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 17:05 19-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YourAdmin
а на кой оно надо?? ластпост удобнее...

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 17:09 19-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YourAdmin
1. Укорачивать сообщение сабстром нужно ДО обработки кодов. Иначе хтмл в кодах слетит и вся старница съедет.
2. Обрубки необработарнных кодов нужно резать при этом так:
$postmessage =~ s/\[b\]//g;
Ну а вообще штука имхо бесполезная...

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 18:09 19-06-2002
YourAdmin



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp, спасибо за замечания.
 
Grey2002, Ausw, вот URL где можно посмотреть
 
Если одно не получиться - пробуйте другое.
http://flf.customers.ru/cgi-bin/ikonboard/ikonboard.cgi
http://flf.pp.ru/cgi-bin/ikonboard/ikonboard.cgi

Всего записей: 156 | Зарегистр. 08-12-2001 | Отправлено: 20:43 19-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YourAdmin
посмотрел, имхо такая вещь не нужна...

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 13:27 20-06-2002
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
да нет, почему же, интересная вещь

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 15:53 20-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ausw

Цитата:
почему же, интересная вещь  

ага , но в принципе бесполезная

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 05:20 21-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YourAdmin
Не пашут линки. Ни тот, ни другой.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 08:17 21-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp
хз, у меня пашет ...

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 09:56 21-06-2002
YourAdmin



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp, все пашет!
Может у тебя глюк какой?

Всего записей: 156 | Зарегистр. 08-12-2001 | Отправлено: 14:29 21-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YourAdmin
Сейчас пашет...

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 19:46 21-06-2002
YourAdmin



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp, ну и как тебе мой хак?

Всего записей: 156 | Зарегистр. 08-12-2001 | Отправлено: 20:04 21-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YourAdmin
Большой пользы не вижу...
Хотя просто как фенечка - неплохо.
При нормальной песещаемости.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 12:07 22-06-2002
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Хак. Информация о последнем посте


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru