COTONTI.CMSWORKS.RU
Сборка фриланс-биржи на cotonti
10 (3)
0

Onlinestatus



Разработчик:
Дата публикации:
15.06.2016
Версия:
1.0.1
Фреймворк:
Cotonti Siena

Плагин отображает статус авторизованного пользователя в зависимости от его активности на сайте. Если пользователь не производит никаких действий на сайте, либо вкладка с сайтом в браузере скрыта, то у пользователя будет выводиться статус "Отошел". Как только пользователь откроет владку, либо начнет двигать мышкой при открытом сайте, статус сразу же изменится в значение "На сайте". Если же пользователь закрыл вкладку, то ему автоматически присваивается статус "Оффлайн".

 

Инструкция по установке:

  1. Распакуйте исходники в папку plugins вашего сайта.
  2. Зайдите в панель администратора и установите данный плагин.
  3. В настройках плагина укажите Timeout в секундах. По истечении этого времени пользователь получает статус "Отошел". По-умолчанию установлено значение 300 секунд (то есть 5 минут).
  4. Откройте шаблон header.tpl в вашей теме и добавьте до тэга </head> следующий код:
    <!-- IF {PHP.usr.id} -->
    <script type="text/javascript">
    
        ifvisible.setIdleDuration({PHP.cfg.plugin.onlinestatus.timeout});
    
        ifvisible.idle(function(){
            $.ajax({
    			url : 'index.php?r=onlinestatus&a=away',
    			method: 'get',
    	    	cache : false
    		});
        });
    
        ifvisible.wakeup(function(){
            $.ajax({
    			url : 'index.php?r=onlinestatus&a=online',
    			method: 'get',
    	    	cache : false
    		});
        });
    
        window.onbeforeunload = function(e) {
            $.ajax({
    			url : 'index.php?r=onlinestatus&a=offline',
    			method: 'get',
    	    	cache : false
    		});
    	};
    
    	<!-- IF {PHP.usr.profile.user_onlinestatus} == 'offline' -->
    	$(function(){
            $.ajax({
    			url : 'index.php?r=onlinestatus&a=online',
    			method: 'get',
    	    	cache : false
    		});
    	});
    	<!-- ENDIF -->
    
    </script>
    <!-- ENDIF -->

     

  5. На странице пользователя (шаблон users.details.tpl) добавьте соответствующие тэги: Если нужно вывести статус где-нибудь в других местах, где выводится информация о пользователе, то добавляйте тэг в следующем формате: {XXXXX_ONLINESTATUS_LOCATION}, в зависимости от формата тэгов в нужном месте сайта. Например для списка пользователей (шаблон users.tpl) тэг статуса будет выглядеть так: {USERS_ROW_ONLINESTATUS_LOCATION}

Пример вывода статуса на странице пользователя (users.details.tpl) со стилями:

<!-- IF {PHP.usr.id} != {USERS_DETAILS_ID} -->
<!-- IF {USERS_DETAILS_ONLINESTATUS} == 'away' -->
<span class='label label-warning'>отошел</span>
<!-- ENDIF -->
<!-- IF {USERS_DETAILS_ONLINESTATUS} == 'online' -->
<span class='label label-success'>на сайте</span>
<!-- ENDIF -->
<!-- IF {USERS_DETAILS_ONLINESTATUS} == 'offline' -->
<span class='label label-default'>оффлайн</span>
<!-- ENDIF -->
<!-- ELSE -->
<span class='label label-success'>на сайте</span>
<!-- ENDIF -->

Пример вывода статуса в списке пользователей (users.tpl) со стилями:

<!-- IF {PHP.usr.id} != {USERS_ROW_ID} -->
<!-- IF {USERS_ROW_ONLINESTATUS} == 'away' -->
<span class='label label-warning'>отошел</span>
<!-- ENDIF -->
<!-- IF {USERS_ROW_ONLINESTATUS} == 'online' -->
<span class='label label-success'>на сайте</span>
<!-- ENDIF -->
<!-- IF {USERS_ROW_ONLINESTATUS} == 'offline' -->
<span class='label label-default'>оффлайн</span>
<!-- ENDIF -->
<!-- ELSE -->
<span class='label label-success'>на сайте</span>
<!-- ENDIF -->

Скачать

Размер: 8.30 Кб
Скачали:
398 раз
Другие разработки автора
Regstat

Статистика регистраций для админки

Uproducts

Другие товары продавца

Qiwi

Плагин для приема оплаты через платежную систему QIWI.

PayMarketBold

Плагин платного выделения товара

Orderform

Форма заказа по почте

Marketorders

Плагин для оплаты товаров/услуг




Рекомендуем также посмотреть
Uprojects

Другие проекты заказчика

Modified Loginza Freelance

Модифицированный плагин Loginza

CommentsFolio

Комментарии для портфолио

GitHub Check

Cледить за обновлениями для установленных расширений

PayMarketBold

Плагин платного выделения товара

Freelance Ukrainian lang

Украинская локализация для FL

Платежный модуль

Модуль Payments позволяет развернуть на сайте полноценную систему оплаты.

Addition filter

Фильтр для модуля USERS поиск по екстраполям

Uproducts

Другие товары продавца