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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

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

fbender



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Установка хака поднятой темы

 
 
Текст хака, который вы видите ниже, упакован и положен сюда.
 
Отдельно в txt-файле выложены подпрограммы sticktopic  и unsticktopic
 
 
 
Посмотреть  весь хак в этом топике

Всего записей: 101 | Зарегистр. 04-07-2001 | Отправлено: 09:16 24-09-2001 | Исправлено: Net_man, 16:51 30-04-2005
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 

Цитата:
После удаления поста картинка поднятой темы остаётся, но теперь сразу после этой темы добавляется как бы ещё одна абсолютно пустая тема, т.е. нет ни названия, ни даты, ничего  

 

Цитата:
Я обратил внимание, что глюк распространяется ещё и на не поднятые темы - в колонке обновлений остаётся инфа о уже удалённом пользователе(если он был последним)...  

 
Где-то у тебя образуется в postings.cgi (полагаю, там) лишний перевод строки \n
при записи в файл.
Понимаешь, о каких строках кода примерно я говорю?
Что-то вроде:
 

Код:
 
   print FILE "$intopic|$intopictitle|$intopicdescription|$threadstate|$threadposts|$threadviews|$startedby|$startedpostdate|$lastposter|$lastpostdate|$sticky";
 

 
Возьми свой postings.cgi и дефолтный (что в архиве), не обращая внимание на переменную $sticky сделай сравнение двух этих файлов на предмет наличия в твоем коде лишнего перевода стоки. Сравнивай программно, а не руками, то есть, я, например, сравниваю файлы Винкоммандером.
 
Если не  получится - мыль на мыло (только на мыло, ни откуда забирать не буду), но кошачьи в отпуске и скоро опять свалят из города

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:50 20-07-2003
Gluchik



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Еще маленькое дополнение. lynx, в твоем посте я не нашел строк про переменую $stickoption, точнее про текст $ibtxt{'6035'} и $ibtxt{'6036'}
Позволю себе небольшое дополнение :
 
В файл IconRussain.lib (если конфа русифицирована или аналогичный файл для вашего языка) перед кодом:
 
 

Код:
#########################
# End of language file  #
#########################

 
Добавить
 

Код:
$ibtxt{'6035'} = "Отпустить топик";
$ibtxt{'6036'} = "Поднять топик";
 

Всего записей: 13 | Зарегистр. 08-01-2003 | Отправлено: 14:20 06-08-2003
lynx



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

Цитата:
Еще маленькое дополнение.

 
Спасибо, исправлено, добавлено в первый пост, апдейтено в архиве, юзайте

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:49 07-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Я проверил файлы posting.cgi на предмет лишнего перевода строки, отличий между дефолтным и моим я не нашёл Я только так и не понял Xnom правильные коррективы внёс вот здесь
http://forum.ru-board.com/topic.cgi?forum=21&topic=0727&start=80#19
или нет?
А то в твоём "чистовом варианте"
http://forum.ru-board.com/topic.cgi?forum=21&topic=0727&start=100#1
этих изменений нет
Какие мои дальнейшие действия?

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 12:31 07-08-2003 | Исправлено: Raw Rider, 12:35 07-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 

Цитата:
Я проверил файлы posting.cgi на предмет лишнего перевода строки, отличий между дефолтным и моим я не нашёл

 
Насколько я поняла, проблема в картинках? Так?
 

Цитата:
Я только так и не понял Xnom правильные коррективы внёс вот здесь  
http://forum.ru-board.com/topic.cgi?forum=21&topic=0727&start=80#19  
или нет?  

 
Конечно правильные.
 

Цитата:
А то в твоём "чистовом варианте"  
http://forum.ru-board.com/topic.cgi?forum=21&topic=0727&start=100#1  
этих изменений нет

 
Да? Я ставила на чистую конфу и тестила, все пашет. Потому менять не буду.
 
 

Цитата:
Какие мои дальнейшие действия?  

 
Делаешь бекап постингз.цги, вносишь изменения Хнома и тестишь.
 
Если не помогает, расписываешь очень понятно для тупых кошачьих проблему, как она проявляется и когда и присылаешь мне на мыло линк на твой форум + postings.cgi, post.cgi? forum.cgi  и ikon.lib.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 17:02 07-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Я уже писал о том, что внёс исправления Xnom'a, и что после этого тема перестала отвязываться, и картинки у поднятой темы тоже остаются в порядке...Просто после удаления поста в поднятой теме, когда выходишь в список тем(forums.cgi), под ней появляется как бы ещё одна совершенно пустая(без названия, автора, даты и т.д.) тема, и пока кто-нибудь не запостит в эту поднятую тему - "пустышная" тема так и висит...Проблема только в этом...
Не знаю понятно ли я объяснил?!
Наверно в sub deletepost лишний перевод строки, но где С дефолтным postings.cgi различий не нашёл

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 23:10 07-08-2003 | Исправлено: Raw Rider, 23:13 07-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 
Ну так присылай, раз сам не справился, как иначе то.
Пришли два варианта - с изменениями Хнома и без. И еще лучше вообще дефолтный тоже.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:16 07-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 

Цитата:
Наверно в sub deletepost лишний перевод строки, но где  С дефолтным postings.cgi различий не нашёл  

 
Нет там ничего лишнего, по непонятной мне причине ты второй, у которого вылезает подобный глюк из-за мнимого перевода строки. В данном случае - второго перевода строки, который не нужен. Мнимого, потому что явного указания  на него в коде не видно.
 
Вот, что сделала (ты просил рассказать).
Взяла Хмонов файл postings.cgi и в подпрограмме удаления постов sub deletepost принудительно убрала перевод строки у переменной $sticky, то есть добавила то, что красным:
 

Код:
 
        ($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastposter, $lastpostdate, $sticky) = split(/\|/,$linetokeep);
         
        $threadposts = $totalposts - 1;
         
       foreach $newline (@alltopics) { #start foreach @threads
        chomp($newline);
            ($tempno, $trash) = split(/\|/,$newline);
            if ($intopic eq $tempno) {
           chomp($sticky);
            $processed_data .= "$topicid|$topictitle|$topicdescription|$threadstate|$threadposts|$threadviews|$startedby|$startedpostdate|$postermembername2|$postdate2|$sticky\n";
            }
        else { $processed_data .= "$newline\n"; }
        }
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 18:49 11-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Спасибо тебе, киска, за разъяснение и поддержку... Ты выручила меня(а может быть и не только) в очередной раз, ещё раз благодарю...

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 07:43 12-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Заметил я всё-таки косяк - после удаления поста в не поднятой теме на главной стр. в колонке обновлений(lastpost) появляется ссылка на эту же тему, где было произведено удаление, а дата и автор с самой верхней поднятой темы Причём как с chomp($sticky); так и без неё, пробывал по-всякому...
Как думаешь, что не так?

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 12:33 16-08-2003 | Исправлено: Raw Rider, 18:16 16-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 

Цитата:
 после удаления поста в не поднятой теме на главной стр. в колонке обновлений(lastpost) появляется ссылка на эту же тему, где было произведено удаление,

 
То есть удаление поста считается за ластпост? Правильно поняла?
 

Цитата:
 а дата и автор с самой верхней поднятой темы

 
Короче, объясни понормальней, я не поняла ничего.
 
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 18:16 17-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Когда в НЕ поднятой теме делаешь удаление поста(любого последнего или нет, без разницы), то на Главной стр. в колонке Обновления(где показываются дата самого последнего поста из всех, ссылка на него и его автор) вместо даты последнего поста темы, в которой производилось удаление, появляется уже совсем другая дата, дата с другой, поднятой темы(!), ссылка остаётся на ту же тему, где производилось удаление, а автор тоже с той же другой, поднятой темы(с той же, что и дата посл. поста)...Не знаю стало ли более понятно?!
Предположим есть две темы:
1.Глюк Дата: 19 Авг., 2003 Время: 11:13 Ссылка: Глюк... Автор:Вася    
2.Help Дата: 22 Авг., 2003 Время: 22:22 Ссылка: Help... Автор:Петя
 
Первая поднятая, вторая нет...
И на Главной стр. такая инфа:
2.Help Дата: 22 Авг., 2003 Время: 22:22 Ссылка: Help... Автор:Петя

Вот, и теперь мы берём и удаляем пост в середине темы 2.Help...
И вот, что получаем на Главной стр....
2.Help Дата: 19 Авг., 2003 Время: 11:13 Ссылка: Help... Автор:Вася

Может так понятней?!

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 13:26 20-08-2003 | Исправлено: Raw Rider, 13:34 20-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 
Дай код
postings.cgi  
sub deletepost
 
 
 
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 03:42 22-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Пожалуйста:

Цитата:
sub deletepost {
 
    $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
    open(FILE, "$filetoopen");
    @allthreads = <FILE>;
    close(FILE);
     
    $posttodelete = $inpostno;
    $posttodelete--;
    $postcountcheck = 0;
    $totalposts = @allthreads;
     
 
    &getmember("$inmembername");
    &moderator;
 
    $cleartoedit = "no";
     
    if ($membername eq "$ibtxt{'0043'}") { &error("Редактирование сообщения&Гостю запрещено редактировать сообщения"); }
    if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartoedit = "yes"; }
    if (($inmembmod eq "yes") && ($inpassword eq $password)) { $cleartoedit = "yes"; }
    unless ($cleartoedit eq "yes") { $cleartoedit = "no"; }
     
        if ($cleartoedit eq "no" && $checked eq "yes") { &error("$ibtxt{'1529'}&$ibtxt{'0504'}"); }    
        if ($cleartoedit eq "yes") {
             
            if ($posttodelete == 0) { &error("$ibtxt{'1530'}&$ibtxt{'1531'}"); }
             
            ### First off, lets delete the post in the thread.
             
            foreach $postline (@allthreads) {
            chomp $postline;
                unless ($postcountcheck eq $posttodelete) { $processed_data .= "$postline\n"; }
                $postcountcheck++;
                }
            $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
            open(FILE, ">$filetoopen");
              flock(FILE, 2);
            print FILE $processed_data;
            close(FILE);
            undef $processed_data;
 
         
        $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
        open(FILE, "$filetoopen");
        @allthreads = <FILE>;
        close(FILE);
     
         
        $totalposts = @allthreads;
        $posttograb = $totalposts;
        $posttograb--;
             
        ($postermembername2, $topictitle2, $postipaddress2, $showemoticons2, $showsignature2 ,$postdate2, $post2) = split(/\|/, @allthreads[$posttograb]);
 
         
        ### Now we have to adjust the post counts.
             
        $filetoopen = "$ikondir" . "forum$inforum/list.cgi";
        open(FILE, $filetoopen);
          flock FILE, 1;
        @alltopics = <FILE>;
        close(FILE);
         
        $count = "0";
        foreach $line (@alltopics) { #start foreach @threads
            ($tempno, $trash) = split(/\|/, $line);
            if ($intopic eq $tempno) {
                $linetokeep = $line;
                $keepcounter = $count;
            }
        $count++;
        } # end foreach
             
        ($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastposter, $lastpostdate, $sticky) = split(/\|/,$linetokeep);
         
        $threadposts = $totalposts - 1;
         
       foreach $newline (@alltopics) { #start foreach @threads
        chomp($newline);
            ($tempno, $trash) = split(/\|/,$newline);
            if ($intopic eq $tempno) {
            chomp($sticky);
            $processed_data .= "$topicid|$topictitle|$topicdescription|$threadstate|$threadposts|$threadviews|$startedby|$startedpostdate|$postermembername2|$postdate2|$sticky\n";
            }
        else { $processed_data .= "$newline\n"; }
        }
        if (($processed_data eq "") || ($processed_data !~ m!\|!)) { &error("Missing Data&Data as corrupted on the server. Please go back and try again"); }
        $filetomake = "$ikondir" . "forum$inforum/list.cgi";
        open(FILE, ">$filetomake");
          flock(FILE, 2);
        print FILE $processed_data;
        close(FILE);
        undef $processed_data;
         
         
         
        ### Get the new last forum poster, and post date.
         
        $filetoopen = "$ikondir" . "forum$inforum/list.cgi";
        open(FILE, "$filetoopen");
          flock FILE, 1;
        @alltopics = <FILE>;
        close(FILE);
         
        $linetokeep = @alltopics[0];
        chomp $linetokeep;
         
        ($trash, $trash, $trash, $trash, $trash, $trash, $trash, $trash, $lastforumposter, $lastforumpostdate) = split(/\|/,$linetokeep);
        chomp $forumlastposter;
        chomp $forumlastpostdate;
         
        ### Adjust the variables in the Forums Summary Page.
         
        $filetoopen = "$ikondir" . "data/allforums.cgi";
        open(FILE, "$filetoopen");
          flock FILE, 1;
        @allforums = <FILE>;
        close(FILE);
         
foreach $forum (@allforums) { #start foreach @forums
        chomp($forum);
            ($tempno, $trash) = split(/\|/,$forum);
                if ($inforum eq $tempno) {
                    ($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic) = split(/\|/,$forum);
                    $posts--;
                    $processed_data .= "$forumid|$category|$categoryplace|$forumname|$forumdescription|$forummoderator|$htmlstate|$idmbcodestate|$privateforum|$startnewthreads|$lastforumposter|$lastforumpostdate|$threads|$posts|$forumgraphic\n";
                }
            else { $processed_data .= "$forum\n"; }
        }
        if (($processed_data eq "") || ($processed_data !~ m!\|!)) { &error("Missing Data&Data as corrupted on the server. Please go back and try again"); }
        $filetomake = "$ikondir" . "data/allforums.cgi";
        open(FILE, ">$filetomake");
          flock(FILE, 2);
        print FILE $processed_data;
        close(FILE);
        undef $processed_data;
 
         
        require "$ikondir" . "data/boardstats.cgi";
         
        $filetomake = "$ikondir" . "data/boardstats.cgi";
        $totalposts--;
         
        open(FILE, ">$filetomake");
          flock(FILE, 2);
        print FILE "\$lastregisteredmember = \"$lastregisteredmember\"\;\n";
        print FILE "\$totalmembers = \"$totalmembers\"\;\n";
        print FILE "\$totalthreads = \"$totalthreads\"\;\n";
        print FILE "\$totalposts = \"$totalposts\"\;\n";
        print FILE "\n1\;";
        close (FILE);
             
            &mischeader("$ibtxt{'1512'}");
            my $nfp = ((int(($postno-1) / $maxthreads))* $maxthreads);  
$relocurl = "$threadprog?forum=$inforum&topic=$intopic&start=$nfp";
             
             
            $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=2><b>$ibtxt{'1541'}</b></font></td></tr>
            <tr>
            <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=1>
            $ibtxt{'1004'}:
            <ul>
            <li><a href="$threadprog?forum=$inforum&topic=$intopic">$ibtxt{'1532'}</a>
            <li><a href="$forumsprog?forum=$inforum">$ibtxt{'0509'}</a>
            <li><a href="$forumsummaryprog">$ibtxt{'0323'}</a>
            </ul>
            </tr>
            </td>
            </table></td></tr></table>
            <meta http-equiv="refresh" content="3; url=$relocurl">
            ~;
 
            } # end if clear to edit
             
            else { &error("$ibtxt{'1530'}&$ibtxt{'1533'}"); }
 
 
 
} # end subdelete

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 11:57 23-08-2003 | Исправлено: Raw Rider, 12:01 23-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 
Гм.... Ничего подозрительного я там не увидела.
 
Ну, попробуй вместо:
 
 

Код:
 
        $count++;  
        } # end foreach  
 
        ($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastposter, $lastpostdate, $sticky) = split(/\|/,$linetokeep);  
 
 

 
Написать:
 

Код:
 
        $count++;  
        } # end foreach  
 
 ($topicid,$topictitle, $topicdescription, $threadstate, $threadposts, $threadviews, $startedby,$startedpostdate, $lastposter, $lastpostdate) = split(/\|/,$linetokeep);
 
 


Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 19:45 24-08-2003 | Исправлено: lynx, 19:47 24-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Но если так сделать, то получится что изменения Xnom'a http://forum.ru-board.com/topic.cgi?forum=21&topic=0727&start=80#19 мы выкинем И тогда опять начнётся эпопея с картинками

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 20:18 24-08-2003 | Исправлено: Raw Rider, 20:24 24-08-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raw Rider
 
Ты сначала сделай, а потом размышлять будешь.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:24 25-08-2003
Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx, сделал...С обновлением на Главной всё нормально, "пустая тема" тоже не появляется, но теперь поднятые темы снова стали отвязываться

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 18:03 07-09-2003 | Исправлено: Raw Rider, 18:05 07-09-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хорошо. Давай пойдем по другому пути. Кроме стики-темы, какие хаки у тебя еще установлены? Потому что мне проще будет поставить этот хак тебе на нулевую конфу, чем искать, где же ошибка.
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 20:49 08-09-2003
animago



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
прошу помощи  
просидел над этой проблемой чесов 6 голова раскалывается  4 раза пробовал поставить хак  
 и всё время 1 и также байда  
 
создаю топик пишу в нём   подымаю его  
вроде всё ок но тут такая шняга  заходит гуест постит  в поднятом топике  и буквально через несколько минут  постит свой  топик  и слитает поднятый топик, подскажите пути решения направите на путь истинный

Всего записей: 143 | Зарегистр. 27-11-2002 | Отправлено: 00:14 07-11-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум 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