Ru-Board.club
← Вернуться в раздел «Ikonboard v.2»

» Дополненный и исправленный хак последнего сообщения (lastpost).

Автор: Antuan
Дата сообщения: 18.12.2004 00:29
lynx

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

ikonboard.txt
Автор: lynx
Дата сообщения: 18.12.2004 00:49
Antuan

Цитата:
Добавил в файле ikonboard.cgi

Цитата:
, $startnumber

но цифру не показывает и ссылка не идёт на последнее сообщение...
где-то пропустил этот самый



А и не должно на последнее сообщение переходить, а только на последнюю страницу, если их больше, чеам одна
Автор: Antuan
Дата сообщения: 19.12.2004 00:58
Вот тут у человека получилось с Номером Поста:
http://forum.ru-board.com/topic.cgi?forum=21&topic=1337&start=40#15

Или это он о другом Хаке говорит (Хаке УРЛА сообщения)?
Автор: lynx
Дата сообщения: 19.12.2004 01:25
Antuan

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


Как раз у него НЕ получилось с номером поста

Мы не писали такой хак.

Добавлено
Antuan

Поставь себе вот этот хак:

Урл мессаги (линк на пост)

тогда я помогу тебе сделать линк на последний пост в ластпосте.
Автор: Antuan
Дата сообщения: 19.12.2004 02:11
lynx

Цитата:
Поставь себе вот этот хак:

Урл мессаги (линк на пост)

тогда я помогу тебе сделать линк на последний пост в ластпосте

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

Согласись - ластпост логичней делать c урлом на... ластпост, а не на ласпейдж
Автор: lynx
Дата сообщения: 19.12.2004 02:49
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);

Автор: trew
Дата сообщения: 19.12.2004 14:56
lynx

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

Автор: lynx
Дата сообщения: 19.12.2004 17:39
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>~;
}
Автор: Antuan
Дата сообщения: 19.12.2004 19:35
lynx

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

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

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

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

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


Автор: lynx
Дата сообщения: 19.12.2004 19:57
Antuan

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

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

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


Вот это уже сложнее.

trew

А ты говорил, что у тебя корректно пишется?
Автор: trew
Дата сообщения: 19.12.2004 20:48
lynx

Код: 2|72|тема|10|2
Автор: Antuan
Дата сообщения: 19.12.2004 21:31
trew

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

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

После того как поменял -

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

И установил Вручную на файл lastpost.cgi - 755
то Ссылка на ласт пост получилась... один раз и.. замёрзла... при добавлении Урл не менялся (цифры номера поста не увеличивались)
Но... пропал Текст Ластпоста - остались только три точки... (точки вместо текста)


Добавлено
Теперь и у меня показывает в файле ластпост.сги номера после названия... (переустановил по статье)

Глюк в другом..
при добавлении нового поста счётчик считает, что это - второй пост в этой теме, на самом деле призошла склейка постов (т.е. фактически это первый пост), но урл Ласпоста показывает уже: 0#2
и таких может набраться много, особенно при тестировании
Автор: lynx
Дата сообщения: 19.12.2004 22:58
trew

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


Сделай поиск по всем файламм по слову lastpost.cgi и выложи те файлы, где встречается это слово. Хотя я вряд ли разберусь, что там намудрил Антуан. Разве что он сам разберется

Ну, а ты код то заменил? Стало тебя на последнее сообщение перебрасывать?

Antuan

Из того, что ты сказал, я ничего не поняла. Пройдись по всем форумам и удали файлы lastpost.cgi то есть начни все заново. И не меняй права файлам, которые создаются скриптом.


Цитата:
После того как поменял -

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


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

Автор: trew
Дата сообщения: 20.12.2004 00:09
Antuan

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

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


Добавлено
Antuan

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


Добавлено

Цитата:
lastpost.cgi - 755
У меня 777, как и в статье.
Автор: lynx
Дата сообщения: 20.12.2004 00:43
trew

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

Ну, ты прикрути, там поправить то две строчки, скижи, пашет или нет, и прибей обратно.
Автор: trew
Дата сообщения: 20.12.2004 00:51
lynx А, понял... сейчас сделаю

Добавлено
Урла показывается правильно : cgi/ikonboard/topic.cgi?forum=1&topic=1&start=20#2, но переход на страницу , но не на сообщение...
Значит все таки не корректно прописана.
Наверно надо еще одно поле заводить в темах и нумеровать все сообщения ?
Автор: lynx
Дата сообщения: 20.12.2004 01:21
trew

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


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

Автор: trew
Дата сообщения: 20.12.2004 01:40
lynx
Но якоря на самом сообщении ведь нет? Тогда куда ластпост приведет?
Автор: Antuan
Дата сообщения: 20.12.2004 01:44
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);
Автор: trew
Дата сообщения: 20.12.2004 02:00
Antuan Не за что!


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

Цитата:
lynx
Но якоря на самом сообщении ведь нет? Тогда куда ластпост приведет?


А, ну да, хак с якорями поставить то надо


Цитата:
print FILE "$inforum|$intopic|$topictitle|$numberofpages|2";



Не-не, там не 2 должно быть, а переменная, обозначающая номер поста.



В общем так. Я себе прикрутила эту фишку, все пашет, но у меня все не так, вам не поможет.
Могу прикрутить на дефолтную конфу, но через несколько дней. Хотите? Но там не будет тех фишек, что вы себе уже понаставили.
Автор: trew
Дата сообщения: 20.12.2004 02:08
Скорее всего, без хака "урл мессаги(линк на пост)" работать не будет. Вот ключика и не хватает...


Добавлено
lynx Спасибо! Конечно, лучше на дефолтную... И людям уже легче будет в дальнейшем.
Автор: gtp
Дата сообщения: 22.12.2004 13:45
появилась следующая мысль: lastpost имеет смысл использовать не только на главной странице форума, но и в "новых сообщениях". я в перле совершенно начинающий, но по общему принципу сделал так:

в файл newposts.cgi

после строк:

Код:
# Otherwise, lets print the results

foreach (@founditems) {

($categoryplace, $categoryname, $forumid, $topicid, $forumname, $topictitle, $lastposter, $lastpostdate) = split (/\|/,$_);
Автор: trew
Дата сообщения: 22.12.2004 15:13
gtp

Цитата:
нужно это для вывода разных картинок
Точно , спасибо!

Тогда вообще ластпост не прописывается ?
Автор: gtp
Дата сообщения: 22.12.2004 15:26
незачто, приятно помочь.


Цитата:
Тогда вообще ластпост не прописывается ?

именно! прописывается только страница, т.е. 0, 10, 20 и т.д. т.е. даже не страница, а номер поста, с которого начинается текущая страница, на сколько я понимаю.

Добавлено
кстати, так же имеет смысл впихнуть lastpost в подписку/отписку на топик

All
большая просьба, помогите lastpost подружить с удалением сообщения и удалением/перемещением топиков

заранее спасибо!

Страницы: 123

Предыдущая тема: Хак запрета регистрации двух юзеров с одним мылом (email)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.