Счетчик новых сообщений в favicon.ico

Started by druid on 2012-03-12 18:51 — 27 replies, 8004 views

#1
Наткнулся сегодня на статью на хабре -
Ну и решил такое же сделать на трекере, т.к. часто трекер всегда открыт в одной из вкладок браузера.

Итак, вот как это сделать:
-------
Достаем из архива файл
tinycon.min.js и кладем его в misc\js\
------
В ajax.php:
***
после
'index_data'        => array('guest'),
добавляем
'check_new_posts'         => array('user'),
***
В самом конце перед последней "}" добавляем
function check_new_posts()
    {
        global $userdata;
 
        $result = DB()->fetch_row("SELECT COUNT(*) AS kol FROM ". BB_POSTS ." WHERE post_time>".$userdata['user_session_time']);
        $this->response['count'] = $result['kol'];
    }
---------
В templates/default/page_header.tpl:
***
после
<script type="text/javascript" src="{#BB_ROOT}misc/js/main.js?v={$bb_cfg['js_ver']}"></script>
добавляем
<script type="text/javascript" src="{#BB_ROOT}misc/js/tinycon.min.js?v={$bb_cfg['js_ver']}"></script>
***
после
<!-- IF USE_TABLESORTER -->
$(document).ready(function(){
 $('.tablesorter').tablesorter(); //{debug: true}
});
<!-- ENDIF -->
добавляем
<!-- IF not IS_GUEST -->
ajax.check_new_posts = function() {
    ajax.exec({
        action       : 'check_new_posts',
    });
};
ajax.callback.check_new_posts = function(data){
    if (data.count>0) 
        Tinycon.setBubble(data.count);
}
setInterval("ajax.check_new_posts()",10*60*1000); //где 10 - интервал проверки новых сообщений в минутах, можете ставить любой удобный вам период
<!-- ENDIF -->

Вот пример работы скрипта:

так же демо доступно по адресу: http://tommoor.github.com/tinycon/

PS. Скрипт позволяет настраивать различные параметры отображения, к примеру можно добавить после "setInterval("ajax.check_new_posts()",10*60*1000);" следующий код:
Tinycon.setOptions({
    width: 7,
    height: 9,
    font: '10px arial',
    colour: '#ffffff',
    background: '#549A2F',
    fallback: true 
});
#2
Аля контактик, спасибо, добра тебе 🙂
#3
Вот тут - http://habrahabr.ru/post/140229/ - ещё один вариант библиотеки
#4
чет не работает😡
#5
Varius, у себя ставил и работало.
#6
чет не работает😡
ага,та же трабла
#7
'index_data' => array('guest'),
нет такого параметра в ajax.php (R300)
#8
всё работает
#9
rouble, обновись ...
#10
Спасибо, а подскажите конкретно какие сообщения выводятся в favicon ? У меня нет ни одного личного сообщения, а на счетчике уже их 15 🙂
Я так понимаю, отслеживает все оставленные комменты на сайте.