![]() |
Показаны 13 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Отслеживание прочтенных сообщений (http://netadmin.ws/forum/showthread.php?threadid=9949)
Отслеживание прочтенных сообщений
Кто нибудь объяснит на вскидку как реализован механизм отслеживания прочтеных/непрочтеных сообщений/топиков/форумов в наиболее распространенных движках форумов? Какой лучше использовать?
__________________
FAQ OFF
Я бы использовал встроенный механизм сессий. Хранил бы массив прочтенных сообщений, брал бы критерий определения непрочитанных сообщений (например со времени последнего визита), и дополнял бы массив прочитанными сообщениями, а потом использовал бы функцию in_array.
__________________
Всегда есть решение.
polo нда, только если со времени последней закрытой сесии...
Я почему вопросом-то задался, представь какой объем информации получиться (признак [не]прочтенного сообщения) если умножить количество идентификаторов сообщений на количество пользователей.. Наверное проще будет сделать визуализацию признака по форумам сессиями с записью в профиль, а внутри использовать стиль CSS для тега <a ...></> подсовывая каждый раз новый идентификатор для генерации непосещенной ссылки.
Как думаешь, разумно?
__________________
FAQ OFF
SCHIZO, если честно, то не совсем понял.
__________________
Всегда есть решение.
polo
браузер сам в состоянии определить какае ссылки не посещались...
__________________
FAQ OFF
Ð_то не решение имхо.
__________________
Всегда есть решение.
--------------
браузер сам в состоянии определить какае ссылки не посещались...
--------------
Допустим есть топик в который ты уже читал, браузер "запомнит" это, спустя некоторое время в этот топик запостили несколько сообщений, браузер точно также будет считать этот топик прочтеным...
__________________
http://faq.pp.ru/read_mee/
ну скажем тут можно схитрить и добавлять к ссылке кол-во сообщений в топике: http://site/script.php?5=5. Но например допустим что сессия не хранится в куках а передается по ссылкам, то тогда уж точно то что показывает браузер не сгодится. После очистки истории посещения опять же ссылки примут прежний вид. Нужна иная реализация. Для реализации одной сессии взяв в учет время последнего визита много ресурсов не нужно.
__________________
Всегда есть решение.
Может, каким-то образом сделать отдельную таблицу с данными о чтении-прочтении. А потом уж передавать зашедшему на сайт (под именем и паролем) идентификатор его сессии и вместе с ним - массив прочтенных.
Ð_то будет работать и дома, и в интернет-кафе, где браузер точно не знает, какие читали, а какие - нет.
===========
добавлять к ссылке кол-во сообщений в топике: http://site/script.php?5=5
===========
Тоже вариант...
===========
идентификатор его сессии и вместе с ним - массив прочтенных.
===========
объем данных на большом форуме может разрастись до огромных размеров
__________________
http://faq.pp.ru/read_mee/
quote:
Первоначальное сообщение от SCHIZO
polo нда, только если со времени последней закрытой сесии...
Я почему вопросом-то задался, представь какой объем информации получиться (признак [не]прочтенного сообщения) если умножить количество идентификаторов сообщений на количество пользователей.. Как думаешь, разумно?
__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru
доперло... можно все сделать гораздо проще =)
В большинстве случаев в куках хранится время последнего обращения в веб-приложению, когда браузер в очередной раз делает запрос к нему и посылает куки с timestamp веб-приложению оно смотрит этот штамп времени и все форумы/топики/сообщения позднее этого штампа помечает при выводе как непрочтенные.
Если сильно не усложнять посетителям форумов только это и надо знать - "чего новенького появилось". Можно хранить в куках два штампа времени: 1. текущий 2. предудущей сессии
__________________
FAQ OFF
ну то что я имел ввиду, так все форумы устроены, а потом создать массив с новыми сообщениями и по мере их прочтения уменьшать этот массив.
__________________
Всегда есть решение.
| Формат времени GMT. Текущее время 05:23. | Показаны 13 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.