Установка статуса "прочтен" для топика

В общем-то это не совсем баг, скорее нечто ускользнувшее от разработчиков.

Если топик маленький или у него нет ката, то человек читает его целиком в ленте. Соответсвенно, по-хорошему, надо бы отмечать в базе, что топик прочитан. Но это, конечно, ведет к увеличению базы, т.к. вообще не факт, что человек его реально прочитал и он его заинтересовал. Единственный случай, когда статус такого топика надо менять на «прочитанный» возникает тогда, когда пользователь добавляет его в избранное прямо из ленты. Это нужно для того, чтобы установить статус прочтения (точнее НЕ прочтения) для комментариев внутри топика. Для этого нужно сделать вот такой хак:

Читать дальше →

Показать пользователю читал ли он топик (решено для 0.4, не работает в 0.3)

Хочу показать пользователю читал ли он топик. В LS для этого все есть — поле в базе и функция GetTopicRead в Topic.Mapper, однако когда я вставляю в topic.tpl {$oTopic->getTopicRead()} то выскакивает ошибка «Не найден класс модуля — getTopicRead» Понимаю что надо что-то дописать в экшн, но не понимаю что. Помогите советом.

Update: проверено — в 0.4 {$oTopic->getDateRead()} работает, в 0.3.1 выдает ошибку:
Fatal error: Uncaught exception 'Exception' with message 'Не найден класс модуля — getDateRead' in P:\home\test2.ru\www\classes\engine\Engine.class.php:95 Stack trace: #0 P:\home\test2.ru\www\classes\engine\Engine.class.php(183): Engine->LoadModule('getDateRead', true) #1 P:\home\test2.ru\www\classes\engine\Entity.class.php(61): Engine->_CallModule('getDateRead', Array) #2 [internal function]: Entity->__call('getDateRead', Array) #3 P:\home\test2.ru\www\templates\compiled\%%27^27A^27A2FB40%%topic.tpl.php(128): TopicEntity_Topic->getDateRead(1) #4 P:\home\test2.ru\www\classes\lib\external\Smarty-2.6.19\libs\Smarty.class.php(1868): include('P:\home\test2.r...') #5 P:\home\test2.ru\www\templates\compiled\%%DE^DE2^DE2B923A%%topic.tpl.php(17): Smarty->_smarty_include(Array) #6 P:\home\test2.ru\www\classes\lib\external\Smarty-2.6.19\libs\Smarty.class.php(1255): include('P:\home\test2.r...') #7 P:\home\test2.ru\www\classes\lib\external\Smarty-2.6.19\libs\Smarty.class.php(1105): Smarty->fetch('actions/ActionB… in P:\home\test2.ru\www\classes\engine\Engine.class.php on line 95