Иванка,
То, что написал Тариама, кажется вполне обоснованным. Тем не менее, если вам нужна функция для отображения статуса пользователя другим пользователям, имхо вам придется работать с заданиями cron и оболочками для тортов.
Вам потребуется:
- предложение Тариама с отметками времени
- Торт shell + cron, выполняемый каждым зарегистрированным пользователем. Как только СЕЙЧАС - lastActionTimeStamp> maxIdleTime, выйдите из системы и сохраните отметку времени.
Добавление второго пункта имеет то преимущество, что другие пользователи не видят вышедшего из системы как присутствующего / активного, как это может быть в случае, если вы будете придерживаться только одного.
В зависимости от размера вашей пользовательской базы вы можете установить интервал проверки.
Другой подход может заключаться в реализации какого-либо таймера на стороне клиента (JS / AJAX), запускающего выход из системы, который может быть ненадежным по своей природе, но его еще проще реализовать.
Мои 2 цента.