тебе надо хранить дату какого-то действия. например авторизации или обновления страницы
а еще bonus level и если не прошел определенный срок, то level up. если прошел то сбрасывать на 0 например
иногда сталкиваюсь с магазинами на джумла. в основном на базе VirtueMart.
В основном беда с дублями страниц + они обычно тормозят все
не знаю с чем это связано, но верю что кто то может сделать хороший магазин на джумла.
Пока такого не встречал
(не являюсь битрикс разработчиком)
ну можно например в CUtil засунуть свой метод
/bitrix/modules/main/tools.php
но думаю это не законно и настоящие программисты меня сейчас будут ругать