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

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

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

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

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

LANP

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Так вот я у себя на http://forum.heat.ru реализовал такую фишку что topic.cgi смотрит когда залогининый юзыр был в этой комнате
т.е. берет - "Последний раз Вы здесь были:: 19 Мая, 2004 - 13:48" и в зависимости от этого времени при выведение месаг выводит в заголовке
"Удаление | Правка | Профиль | E-mail | Сообщение | Цитата"
в самом конце слово "New", т.е. если сообщение в темы запостилось позже того времени когда юзер был в комнате то,
заголовок сообщения выглядить вот так -"Удаление | Правка | Профиль | E-mail | Сообщение | Цитата | New"
т.е. глазами не надо смотреть от какого числа месага, а ищишь только красное слово new около месаги и читаешь тольки эти месаги... удобно между прочим...
но готового решения у меня нет поправили мне в скриптах, а где даже не знаю может кто реализовывал уже такое с готовым решением? поделитесь...
 
2. Основная проблема с forum.cgi это когда заходишь в какую-нибудь комнату и там допустим 15 тем содержат новые месаги... ты читаешь только 2 темы, а потом тебе срочно надо или перезагрузиться или случайно закрыл окно с форум... ну короче понятно...
при при заходе через пару минут все те месаги в 13 оставшихся тем уже помечаються как прочтеные... сразу материшь на все что есть... а если это не 15 тем, а больше... сразу материшь вообще всех на свете... и начинаешь вспоминать а когда ты здесь и что прочел, а что нет
Так вот может кто реализовал в готовом решение чтоб куки работали не с forum.cgi а глубже topic.cgi т.е. при заходе в комнату месаги не помечаються как прочитанные, а помечаються когда зашел в саму тему... правда тогда надо будет править 1 фичу, которую я описал выше, чтоб она брала время не относительно захода в комнату, а относительно захода в тему...проблематично, т.е. ее переписывать надо... и взаимосвязывать со 2 фичой... но я даже вообще такое не реализовал, даже не знаю как подступиться, слаб еще в программирование...
 
3. Потом у меня еще реализована такая фича в заголовках как удаление:
"Удаление | Правка | Профиль | E-mail | Сообщение | Цитата"
т.е. при нажатие на эту клавишу удаляеться именно этам месага, т.е. не надо лезть в ее правку и потом ставить галочку "удалить" и нажимать "ок"
т.е. вместе 3 нажатий кнопки мышки и одной перезагрузки страницы, мы получаем 1 нажатие мышки, т.е. экономим время и трафик и количество клацкание по мыше, следовательно износ при посещение форума модератора или админа в 3 раза уменьшаеться
Минус не удаляеться первая месага, так как она привязана к теме и при ее удаление нужно снести тему а не месагу... иначе как-то не логично получаеться пропадание первой месаги в темы и по глупости забыли сделать что у первой месаги появлялось слово "удаление темы" вместо просто "удаление"
 
P.S. к чему я это писал: все реализование фичи, а это 1 и 3 из выше описаных, реализовавал раньше помогаюший программер, сейчас увы нету его... и мне приходиться все делать самому и на других форумах, и в програминге на perl я не силен и где он там направил сложно найти... а так может кто уже у себя реализовывал и может поделиться
 
P.P.S. фичи эти очень удобные и хотелось бы их внедрить в стандартный пофиксиный 2.1.9 комплект... или возможно я не прав конечно сколько людей - столько мнений

Всего записей: 2 | Зарегистр. 18-02-2004 | Отправлено: 12:38 02-06-2004 | Исправлено: LANP, 12:43 02-06-2004
Gram



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Открываем topic.cgi и после этого кода
Код:
$postdate = $postdate + ($timedifferencevalue*3600) + ($timezone*3600);

Пишем
Код:
if ($postdate > $forumlastvisit && $inmembername ne "Guest") {$newdisplay = qq~| <font color=red>New</font>~;}

Затем вот это
Код:
$editgraphic $partition $profilegraphic $homepagegraphic $emailgraphic $privatemessagegraphic $aolgraphic $icqgraphic $partition $replygraphic

Заменяем на
Код:
$editgraphic $partition $profilegraphic $homepagegraphic $emailgraphic $privatemessagegraphic $aolgraphic $icqgraphic $partition $replygraphic $newdisplay


----------
Intellect Board | Miranda Gram Pack

Всего записей: 388 | Зарегистр. 22-01-2004 | Отправлено: 00:27 06-06-2004
LANP

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gram хе-хе твое решение даже правильнее вот как у меня было реализовано:
 
#topic.cgi
|        $postdate = $postdate + ($timedifferencevalue*3600) + ($timezone*3600);
+        $pd = $postdate;
|        $postdate = &dateformat("$postdate");
 
#...
 
|        if (($icqnumber) && ($icqnumber =~ /[0-9]/)) {
|            if ($text_menu ne "yes"){    
|              $icqgraphic = qq~<a href="javascript:openScript('$miscprog?action=icq&UIN=$icqnumber',450,300)"><img src="http://wwp.icq.com/scripts/online.dll?icq=$icqnumber&img=5" border=0><img src="$imagesurl/images/$icq" border=0></a>~;  }
|           else {
|            $icqgraphic = qq~ | <a href="javascript:openScript('$miscprog?action=icq&UIN=$icqnumber',450,300)">ICQ</a>~; }
|         }
|         else { undef $icqgraphic; }
|
+        if ($pd gt $forumlastvisit){
+            $newgraphic = "| <font color = red>New</font>";
+        }else{
+            undef $newgraphic;
+        }
|        if ($membercode eq "ad") {
|            $posterfontcolor = "$adminnamecolor";
|            if ($team){
|            $membername = "$membername <img src=\"$imagesurl/images/$team\" border=0>";}
 
#...
 
|                <td bgcolor="$postbackcolor" valign=top width=80% height=100%><font face="$font" color=$postfontcolor size=$dfontsize1>
-                    $delgraphic $editgraphic $partition $profilegraphic $homepagegraphic $emailgraphic $privatemessagegraphic $aolgraphic $icqgraphic $partition $replygraphic
+                    $delgraphic $editgraphic $partition $profilegraphic $homepagegraphic $emailgraphic $privatemessagegraphic $aolgraphic $icqgraphic $partition $replygraphic $newgraphic
|                    </font><hr size=1 width=100% color=$tablebordercolor>
|                    <font face="$font" color=$postfontcolor size=$dfontsize2>
|                    $post
|                </td>
 
 
 
Добавлено
Gram т.е. я так понял, еще гостю эта фишка не выводиться

Всего записей: 2 | Зарегистр. 18-02-2004 | Отправлено: 11:28 08-06-2004
Gram



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

Цитата:
Gram т.е. я так понял, еще гостю эта фишка не выводиться

Ну да. Еще можно не показывать new для собственных сообщений: нужно в условии поставить "$membername ne $inmembername", но у меня это как то странно работает... В условии переменная $membername (автор текущего сообщения) принимает значение автора предыдущего сообщения... Вне этого условия (вне блока if) все нормально... Чушь какая то...  
 

Код:
if ($postdate>$forumlastvisit && $inmembername ne "Guest" && $membername ne $inmembername)

Вот где то тут бага.

----------
Intellect Board | Miranda Gram Pack

Всего записей: 388 | Зарегистр. 22-01-2004 | Отправлено: 15:39 11-06-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Gram А разве кавычки здесь не нужны?

Цитата:
if (($postdate>$forumlastvisit) && ($inmembername ne "Guest") && ($membername ne $inmembername))  


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



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

Цитата:
А разве кавычки здесь не нужны?

Какие кавычки? Скобки чтоли? Нет... можно и без них.


----------
Intellect Board | Miranda Gram Pack

Всего записей: 388 | Зарегистр. 22-01-2004 | Отправлено: 23:18 11-06-2004
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Некоторые мысли по поводу topic.cgi и forum.cgi


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru