[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Несколько вопросов про форум.
Ramzil_Nixon
Я так и не понял как делается вот такие индикаторы:

user posted image
user posted image

Как определять новые темы с последнего посещения и все такое, кто может как можно легко объяснить как это работает? Ну или где можно прочитать. Подробно написанное. Так скажем.

_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
exotica
в данном случае я склоняюсь к COOCKIE т.к. переодически вижу непрочитаными те темы которые я читал на прошлом пк 20 минут назад, а прочитав ничего не вижу

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Ramzil_Nixon
exotica, то есть надо создать для каждого раздела новый кук?
А не многовато ли будет?

_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
bposter
Тогда хранить в базе инфу, количество постов сверять с количеством просмотров пользователем , как то так

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
exotica
Цитата
Тогда хранить в базе инфу, количество постов сверять с количеством просмотров пользователем , как то так



не не это слишком сложно, должна быть простая привязка причем отдельная для каждого участника,.. я все таки считаю что это либо куки либо сессии.
т.к.
  • делать для каждой темы поле каждого пользователя - это идиотизм.
  • делать новое поле у вссех пользователей при создании темы - это полный пз..... .
НО, есть изумительная идея, родилась пока писал то что выше.
У каждой темы и скорее всего у каждого сообщения в теме есть свой персональный ИД . И если задуматься то под хранение всех прочитаных тем потребуется всего одно поле в котором будет хранится строка через определенный разделитель.

Но тут получается должен быть ряд функций которые работают с этой строкой, Но вот их так быстро как теорию я не могу придумать laugh.gif эх.. а жаль dry.gif мог бы уже работать дома на диване с такими мозгами dry.gif

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
FatCat
Цитата (Ramzil_Nixon @ 24.11.2013 - 11:29)
для каждого раздела новый кук?

Куки быстро переполнятся.


Цитата (bposter @ 24.11.2013 - 11:32)
хранить в базе инфу

База разрастается катастрофически.


На этом форуме в базе хранится время прошлой сессии; в куки пишутся просмотренные темы за время сессии.

_____________
Бесплатному сыру в дырки не заглядывают...
Ramzil_Nixon
Цитата (FatCat @ 24.11.2013 - 17:52)
На этом форуме в базе хранится время прошлой сессии; в куки пишутся просмотренные темы за время сессии.


Все равно толком не понял smile.gif

_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
FatCat
if ( $read = $std->my_getcookie('topicsread') )$this->read_array = unserialize(stripslashes($read));
- получаем список топиков, просмотренных за время текущей сессии.


$last_time = $this->read_array[ $topic['tid'] ] > $ibforums->input['last_visit'] ? $this->read_array[ $topic['tid'] ] : $ibforums->input['last_visit'];
- получаем время последнего прочтения топика.

Дальше просто: Если время последнего сообщения в топике больше времени последнего прочтения - иконка непрочитанной темы. Если меньше - иконка прочитанной (в коде - отсутствие дайса):
		if ($last_time  && ($topic['last_post'] > $last_time))
{
$this->new_posts++;
$topic['go_new_post'] = "<a href='{$this->base_url}showtopic={$topic['tid']}&view=getnewpost'><{NEW_POST}></a>";
}
else
{
$topic['go_new_post'] = "";
}


_____________
Бесплатному сыру в дырки не заглядывают...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.