Создание хука для онлайн пользователей
К примеру есть запрос на обновление даты последнего посещения пользователем сайта, как этот запрос сделать хуком?
UPDATE cms_users SET date_log = now() WHERE id = '3';
Нужен чтоб пользователь с id=3 был на сайте каждый час, вот и хочется сделать хуком а ума только на запрос хватило
Нужно чтобы он каждый час светился в списке онлай-юзеров на сайте или нужно, чтобы при просмотре его профиля было написано, что он был час назад?Нужен чтоб пользователь с id=3 был на сайте каждый час
Нужно чтобы он каждый час светился в списке онлай-юзеров на сайте или нужно, чтобы при просмотре его профиля было написано, что он был час назад?Нужен чтоб пользователь с id=3 был на сайте каждый час
нужно сделать хук))
чтоб онлайн светился там другую таблицу надо дергать, а мне просто чтоб было написано что был час назад, да опять же, дело не в этом, мне надо сделать хук, для выполнения команды к БД… не лезть же постоянно в phpMyAdmin
а чтоб был онлайн и был сейчас будет так-
UPDATE cms_users SET date_log = now() WHERE id = '3';
UPDATE cms_sessions_online SET date_created = now() WHERE user_id = '3';
Хорошо.нужно сделать хук))
Сделайте хук \system\controllers\users\hooks\cron_online.php
<?php class onUsersCronOnline extends cmsAction { public function run(){ } }
В настройках, в планировщике создайте новое задание:
В функции run добавляйте какие угодно действия с базой.
эх блин)) пол дела сделано, благодарю! Но самое вот важное как это правильно пишется, вот что и хотелось бы узнать… ладно, пойду читать умные книжки, или может кто ткнет как и что))
Можно тупо писать в базу нужные строки:Но самое вот важное как это правильно пишется
<?php class onUsersCronOnline extends cmsAction { public function run(){ $model = new cmsModel(); 'session_id' => 1111111111111, 'user_id' => 3 ); 'date_created' => null ); $model->insertOrUpdate('sessions_online', $insert_data, $update_data); $model->db->query("UPDATE cms_users SET date_log = now() WHERE id = 3"); } }