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

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

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

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

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

articlebot



Administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хак lastpost, в котором наконец то реализованы все нужные вещи, как то: разные иконки для новой темы, добавленого сообщения и голосования, ограничение вывода символов и переход сразу на последнюю страницу топика.
 
Читать

Всего записей: 366 | Зарегистр. 25-05-2001 | Отправлено: 22:38 28-02-2002
Antuan



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

Цитата:
Показывай код ikonboard.cgi в txt-формате

ikonboard.txt


----------
EuRuChess

Всего записей: 10667 | Зарегистр. 10-04-2001 | Отправлено: 01:29 18-12-2004
lynx



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

Цитата:
Добавил в файле ikonboard.cgi  
 
Цитата:
, $startnumber  
 
но цифру не показывает и ссылка не идёт на последнее сообщение...  
где-то пропустил этот самый  
 
 

 
А и не должно на последнее сообщение переходить, а только на последнюю страницу, если их больше, чеам одна  

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 01:49 18-12-2004
Antuan



moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот тут у человека получилось с Номером Поста:
http://forum.ru-board.com/topic.cgi?forum=21&topic=1337&start=40#15
 
Или это он о другом Хаке говорит (Хаке УРЛА сообщения)?

----------
EuRuChess

Всего записей: 10667 | Зарегистр. 10-04-2001 | Отправлено: 01:58 19-12-2004
lynx



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

Цитата:
Вот тут у человека получилось с Номером Поста:  
http://forum.ru-board.com/topic.cgi?forum=21&topic=1337&start=40#15  

 
Как раз у него НЕ получилось с номером поста
 
Мы не писали такой хак.
 
Добавлено
Antuan
 
Поставь себе вот этот хак:
 
Урл мессаги (линк на пост)
 
тогда я помогу тебе сделать линк на последний пост в ластпосте.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:25 19-12-2004
Antuan



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

Цитата:
Поставь себе вот этот хак:  
 
Урл мессаги (линк на пост)  
 
тогда я помогу тебе сделать линк на последний пост в ластпосте

давно поставлен.. ещё до ластпоста правда я, наверно, пошёл своим путём.. без Яваскриптов (несколько раз форум вдоль и поперёк перелопатил )
«Сообщение к модератору» правда не делал
 
Согласись - ластпост логичней делать c урлом на... ластпост, а не на ласпейдж


----------
EuRuChess

Всего записей: 10667 | Зарегистр. 10-04-2001 | Отправлено: 03:11 19-12-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Antuan
 
У тебя в ikonboard.cgi есть код:
 

Код:
 
 
     my @lastpost;
        my ($inforum, $threadnumber, $topictitle, $startnumber, $nm);  
        $filetoopen = "$ikondir" . "forum$forumid/lastpost.cgi";
         open(FILE,"$filetoopen");
         flock(FILE,2);
         @lastpost = <FILE>;
         close(FILE);
         
         foreach $lastpost (@lastpost) {  
chomp $lastpost;  
($inforum, $threadnumber, $topictitle, $startnumber,$nm) = split(/\|/,$lastpost);  
 
 

 
открой файл lastpost.cgi в папке любого форума и посмотри, что за переменная $nm, чему она равна? Я не знаю, откуда она берется, ибо всего кода то у меня нет. Может, она равна номеру поста?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 03:49 19-12-2004
trew

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

Цитата:
($inforum, $threadnumber, $topictitle, $startnumber,$nm)  
 прописывается в  lastpost.cgi эта $nm  правильно, это номер поста, но в целом она не работает, по этому хаку реально работает только переход на последнюю страницу , но не урл на сообщение...то есть где-то что-то потерянно изначально или вырезанно.
То есть такое: 20#30 в конце не прописывается.
 

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 15:56 19-12-2004
lynx



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

Цитата:
прописывается в  lastpost.cgi эта $nm  правильно

 
Если она правильно прописывается, значите ее можно правильно прочитать
 
Вот этот код:
 

Код:
 
 my @lastpost;
        my ($inforum, $threadnumber, $topictitle, $startnumber, $nm);  
        $filetoopen = "$ikondir" . "forum$forumid/lastpost.cgi";
         open(FILE,"$filetoopen");
         flock(FILE,2);
         @lastpost = <FILE>;
         close(FILE);
         
         foreach $lastpost (@lastpost) {  
chomp $lastpost;  
($inforum, $threadnumber, $topictitle, $startnumber, $nm) = split(/\|/,$lastpost);  
$lastpostname = substr($topictitle, 0, 30);  
}  
             
        if ($inforum eq "") {
        $lastpost = "";
        }
         
        # DimoN
        #elsif ($privateforum eq "yes") {
        #$lastpost = "";
        #}
         
        else {    
        $lastpost = qq~<img src="$imagesurl/images/lastpost.gif"> <a href="$threadprog?forum=$inforum&topic=$threadnumber&start=$startnumber">$lastpostname...</a>~;  
        }
 

 
Напишите (на примере Антуана) так:
 

Код:
 
 my @lastpost;
        my ($inforum, $threadnumber, $topictitle, $startnumber, $nm);  
        $filetoopen = "$ikondir" . "forum$forumid/lastpost.cgi";
         open(FILE,"$filetoopen");
         flock(FILE,2);
         @lastpost = <FILE>;
         close(FILE);
         
         foreach $lastpost (@lastpost) {  
chomp $lastpost;  
($inforum, $threadnumber, $topictitle, $startnumber, $nm) = split(/\|/,$lastpost);  
$lastpostname = substr($topictitle, 0, 30);  
}  
             
        if ($inforum eq "") {
        $lastpost = "";
        }
               
        else {    
        $lastpost = qq~<img src="$imagesurl/images/lastpost.gif"> <a href="$threadprog?forum=$inforum&topic=$threadnumber&start=$startnumber#$nm">$lastpostname...</a>~;  
        }

 
 
Теперь запоститите в теме, где больше одной страницы,  и бегите на главную смотреть ластпост.
 
Добавлено
Даже лучше так (хотя в данном случае роли не играет):
 

Код:
 
 my @lastpost;  
      my ($inforum, $threadnumber, $topictitle, $startnumber, $nm);    
      my  $filetoopen = "$ikondir" . "forum$forumid/lastpost.cgi";  
      &stripMETA($filetoopen);
         open(FILE,"$filetoopen");  
         flock(FILE,1);  
         @lastpost = <FILE>;  
         close(FILE);  
           
         foreach $lastpost (@lastpost) {    
chomp $lastpost;    
($inforum, $threadnumber, $topictitle, $startnumber, $nm) = split(/\|/,$lastpost);    
$lastpostname = substr($topictitle, 0, 30);    
}    
             
        if ($inforum eq "") {  
        $lastpost = "";  
        }  
                 
        else {      
        $lastpost = qq~<img src="$imagesurl/images/lastpost.gif"> <a href="$threadprog?forum=$inforum&topic=$threadnumber&start=$startnumber#$nm">$lastpostname...</a>~;    
        }  
 

 
 
Если не сработает, тогда так:
 
 
 

Код:
 
 my @lastpost;  
      my ($inforum, $threadnumber, $topictitle, $startnumber, $nm);    
      my  $filetoopen = "$ikondir" . "forum$forumid/lastpost.cgi";  
      &stripMETA($filetoopen);
         open(FILE,"$filetoopen");  
         flock(FILE,1);  
         @lastpost = <FILE>;  
         close(FILE);  
           
         foreach $lastpost (@lastpost) {    
chomp $lastpost;    
($inforum, $threadnumber, $topictitle, $startnumber, $nm) = split(/\|/,$lastpost);    
$lastpostname = substr($topictitle, 0, 30);    
$lp=$nm;
}    
             
        if ($inforum eq "") {  
        $lastpost = "";  
        }  
                 
        else {      
        $lastpost = qq~<img src="$imagesurl/images/lastpost.gif"> <a href="$threadprog?forum=$inforum&topic=$threadnumber&start=$startnumber#$lp">$lastpostname...</a>~;    
        }  
 

 
 
Наверное, из-за того, что переменные заданы, как локальные, они дальше своего цикла и не видны.
 
 
Последний вариант точно должен работать. При условии, конечно, что переменная $nm действительно корректо пишется

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 18:39 19-12-2004
Antuan



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

Цитата:
открой файл lastpost.cgi в папке любого форума и посмотри, что за переменная $nm, чему она равна?  

В файле laspost.cgi отображаются только 3 переменные, т.е. вместо

Цитата:
$startnumber, $nm

пустое место..

Цитата:
1|6|Просто Тест

 


----------
EuRuChess

Всего записей: 10667 | Зарегистр. 10-04-2001 | Отправлено: 20:35 19-12-2004
lynx



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

Цитата:
В файле laspost.cgi отображаются только 3 переменные, т.е. вместо  
 
Цитата:
$startnumber, $nm  
 
пустое место..  

 
Вот это уже сложнее.  
 
trew
 
А ты говорил, что у тебя корректно пишется?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 20:57 19-12-2004
trew

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

Код:
2|72|тема|10|2
Вот так у меня прописывает
Могу выложить нужные файлы, только скажите какие...

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 21:48 19-12-2004
Antuan



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

Цитата:
Вот так у меня прописывает  

делал по статье?
Устанавливал Хак УРЛ Сообщения (Урл Мессаги)? Есть ли Опрос?
 
После того как поменял -  

Цитата:
$lp=$nm;  

И установил Вручную на файл lastpost.cgi - 755
то Ссылка на ласт пост получилась... один раз и.. замёрзла... при добавлении Урл не менялся (цифры номера поста не увеличивались)  
Но... пропал Текст Ластпоста - остались только три  точки... (точки вместо текста)
 
 
Добавлено
Теперь и у меня показывает в файле ластпост.сги номера после названия... (переустановил по статье)
 
Глюк в другом..
при добавлении нового поста счётчик считает, что это - второй пост в этой теме, на самом деле призошла склейка постов (т.е. фактически это первый пост), но урл Ласпоста показывает уже: 0#2
и таких может набраться много, особенно при тестировании

----------
EuRuChess

Всего записей: 10667 | Зарегистр. 10-04-2001 | Отправлено: 22:31 19-12-2004
lynx



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

Цитата:
2|72|тема|10|2  
Вот так у меня прописывает  
Могу выложить нужные файлы, только скажите какие...  

 
Сделай поиск по всем файламм по слову lastpost.cgi и выложи те файлы, где встречается это слово. Хотя я вряд ли разберусь, что там намудрил Антуан. Разве что он сам разберется
 
Ну, а ты код то заменил? Стало тебя на последнее сообщение перебрасывать?
 
Antuan
 
Из того, что ты сказал, я ничего не поняла. Пройдись по всем форумам и удали файлы lastpost.cgi то есть начни все заново. И не меняй права файлам, которые создаются скриптом.
 
 
Цитата:
После того как поменял -  
 
Цитата:
$lp=$nm;  

 
Этот код никакого вреда принести не может, даже если не будет работать.
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:58 19-12-2004
trew

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

Цитата:
делал по статье?  
Устанавливал Хак УРЛ Сообщения (Урл Мессаги)? Есть ли Опрос?  
 
Делал по статье, а урл мессаги пока не ставил, еще не дошел. Опрос за не надобностью  не ставлю.
lynx

Цитата:
Ну, а ты код то заменил? Стало тебя на последнее сообщение перебрасывать?  
 
Нет, я не ставил...  Я могу объяснить  свое "почему".  
Вот Xnom правильно подметил, что особой информативности в этом нет. И действительно, всего 15 или 20 сообщений на странице. На нужную страницу направляет и так.
Например возьмем этот топик. Что можно понять из одного поста, который вырван из всего контекста обсуждения хака? Практически ничего, если только там нет готового решения - но обычно оно в шапке...
А если пользователю лень прокрутить страницу до конца, которая уже все равно загрузилась - то можно представить, что он  наворотит в форуме в дальнейшем...;)
Есть правда  недостаток - это хак "сообщить модератору".  
 
 
Добавлено
Antuan
 
Вот мои ikonboard и post. Там нет опроса , но ластпост проверить можно будет с твоей конфой.
 
 
Добавлено

Цитата:
lastpost.cgi - 755  
 У меня 777, как и в статье.

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 01:09 20-12-2004 | Исправлено: trew, 01:28 20-12-2004
lynx



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

Цитата:
Нет, я не ставил...  Я могу объяснить  свое "почему".  

 Ну, ты прикрути, там поправить то две строчки, скижи, пашет или нет, и прибей обратно.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 01:43 20-12-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx А, понял... сейчас  сделаю
 
Добавлено
Урла показывается правильно : cgi/ikonboard/topic.cgi?forum=1&topic=1&start=20#2, но  переход на страницу , но не на сообщение...
Значит все таки не корректно прописана.
Наверно надо еще одно поле заводить в темах и  нумеровать все сообщения ?

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 01:51 20-12-2004
lynx



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

Цитата:
Урла показывается правильно : cgi/ikonboard/topic.cgi?forum=1&topic=1&start=20#2, но  переход на страницу , но не на сообщение...  

 
Ну, конечно, у тебя второе сообщение, ты десятого хотя бы  дождись, тогда на него перейдет
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:21 20-12-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx  
Но якоря на  самом сообщении ведь нет? Тогда куда  ластпост приведет?

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 02:40 20-12-2004
Antuan



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

Цитата:
Antuan  
 
Вот мои ikonboard и post. Там нет опроса , но ластпост проверить можно будет с твоей конфой.  

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

Цитата:
20#2

там эта двойка проставлена на веки вечные... и не меняется... надо бы туда переменную втюхать...
 
 
 
 
Добавлено
это видно здесь:

Цитата:
$filetomake = "$ikondir" . "forum$inforum/lastpost.cgi";  
$numberofpages = ((int($threadposts / $maxthreads)) * $maxthreads);  
$filetomake = ($filetomake);  
open(FILE, ">$filetomake");  
flock(FILE, 2);  
print FILE "$inforum|$intopic|$topictitle|$numberofpages|2";  
close(FILE);  


----------
EuRuChess

Всего записей: 10667 | Зарегистр. 10-04-2001 | Отправлено: 02:44 20-12-2004
trew

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

Цитата:
$inforum|$intopic|$topictitle|$numberofpages|2";  
А это с каким-то хаком пришло, но вроде не мешает работе....

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 03:00 20-12-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Дополненный и исправленный хак последнего сообщения (lastpost).


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru