> Главная > Продукты и услуги > Купить > Компания
English / Русский

Документация

Руководство пользователя CNStats 4.2

© "CN-Software" Ltd. 2002-2010
support@cn-software.com
www.cn-software.com
Назад | Оглавление  | Вперед

Описание принципов работы счетчиков

Счетчики для сбора статистики

Счетчик для сайтов написанных на PHP состоит из двух основных частей. Первая часть запускается прямо из PHP скрипта следующим вызовом:

<?php
include “/path/to/cnstats/cnt.php”
?>

По умолчанию, этот код сохраняет основную информацию об обращении в базу данных CNStats и выводит на страницу сайта JavaScript код, который в свою очередь вызывает вторую часть счетчика. Вторая часть счетчика «для сайтов написанных на PHP» вызывается как изображение, через HTML тег <img src=”/cnstats/cnt-combined.php”>. Вторая часть счетчика работает с Cookies, определяя и сохраняя в базу данных следующую информацию:

Важно понимать, что вывод первой части кода счетчика не должен быть заглушен движком сайта, так как в противном случае вторая часть кода счетчика просто не будет вызвана и данное обращение будет отнесено к роботам.

Если код счетчика не получается вставить в то место, где можно осуществить вывод, то можно воспользоваться опцией $STATS_CONF["codegeneration"] для того чтобы разнести две части кода счетчика в разные места движка сайта.

Счетчик для сайтов написанных НЕ на PHP работает немного проще. Счетчик представляет из себя JavaScript код, который посредством изображения-адаптера cnt-gif1x1.php вызывает основной счетчик cnt.php. Адаптер определяет дополнительную информацию из QUERY_STRING и передает ее основному счетчику. Вот список данных которые обрабатывает и передает адаптер:

Данный код не учитывает обращения от роботов, так как вызывается посредством загрузки изображения через JavaScript код. С одной стороны это недостаток, с другой стороны – преимущество, ведь таким образом можно снизить нагрузку на сервер статистики и уменьшить размер базы данных. Иногда роботы могут делать очень большое количество обращений.

Оба типа счетчиков в результате работы отображают невидимое изображение размером 1x1 пиксель. Если вы хотите отображать картинку-счетчик, то вам необходимо использовать счетчики для отображения статистики.

Счетчики для отображения статистики.

Формально счетчики для отображения статистики счетчиками не являются, так как не собирают статистику, а только отображают картинки со значениями посещаемости. В CNStats есть два таких счетчика:

cnt-show.php – по умолчанию отображает изображение 88x31, на котором, сверху вниз, указано количество обращений всего, количество обращений сегодня, количество хостов сегодня;

cnt-rss.php – количество обращений к RSS каналам. Это код помимо отображения статистики еще и раз в сутки выполняет построение отчета RSS каналы - Подписчики. Если вы устанавливаете этот код на сайт, то Вам не нужно достраивать этот отчет вручную.

Если установить на сайт только код отображения, то статистика собираться не будет. Если вы хотите отображать счетчик, то необходимо установить как код для отображения счетчика, так и код для сбора статистики.

CNStats API

При вызове счетчика можно передать дополнительную информацию для более корректного построения статистики.

Флаг RSS канала - $GLOBALS["CNSTATSRSS"]

Флаг RSS канала используется в случае, если вызов кода счетчика производиться из RSS канала. Если флаг установлен в «yes», то данное обращение будет полностью отсутствовать во всех отчетах кроме блока отчетов "RSS каналы". Пример:

<?php
ob_start();
 
// Установка флага RSS канала
$GLOBALS["CNSTATSRSS"]="yes";
 
// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
 
//  Удаление JavaScript кода, который сгенерировал счетчик cnt.php. Это код может нарушить целостность RSS файла.
ob_end_clean();
?>

Флаг страницы 404 - $GLOBALS["CNSTATS404"]

Флаг страницы 404 используется в случае, если вызов кода счетчика производиться из страницы 404. Если флаг установлен в «yes», то данное обращение будет полностью отсутствовать во всех отчетах кроме отчетов Страницы – Популярные страницы 404 и Рефереры – Ссылки на страницы 404. Пример:

<?php
// Установка флага страницы 404
$GLOBALS["CNSTATS404"]="yes";
 
// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
?>

При использовании «кода счетчика для сайтов написанных НЕ на PHP» флаг страницы 404 можно передать через переменную «is404» в строке QUERY_STRING.

Название страницы - $GLOBALS[“CNSTATS_TITLE”]

Если движок сайта хранит название в переменной PHP то это название можно передать счетчику CNStats напрямую. В таком случае, название страницы будет добавлено к основной статистике, даже если вторая часть кода счетчика (JavaScript + изображение) отработает некорректно. Если вторая часть кода счетчика отработает корректно, то название страницы будет заменено на определенное через JavaScript.

Начиная с версии 4.2, название страницы должно быть передано в кодировке UTF-8.

Пример:

<?php
 
// Установка названия страницы
$CNSTATS_TITLE=”Название страницы”;

// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
?>

При использовании «кода счетчика для сайтов написанных НЕ на PHP» название страницы определяется автоматически.

Пользовательские поля

Начиная с версии 4.2, появилась возможность сохранения в базе данных дополнительной пользовательской информации и впоследствии использования ее при построении статистических отчетов. Это может быть такая информация как логин или идентификатор зарегистрированного пользователя, флаг авторизованности пользователя и т.п.

Можно использовать до трех дополнительных полей.

Для того чтобы активизировать дополнительные поля, необходимо включить их и задать названия полей в разделе Конфигурация – Общие настройки  – Пользовательские поля. После этого поля станут доступны для построения фильтров.

Для добавления информации в эти поля используются опции $STATS_CONF["userfield1"], $STATS_CONF["userfield2"] и $STATS_CONF["userfield3"]. В эти поля можно сохранять любую информацию, которую вы хотите добавить в базу данных. Текстовые данные должны передаваться в кодировке UTF-8.

Пример:

<?php
 
// Определение логина пользователя и сохранение его в первом пользовательском поле
$STATS_CONF["userfield1"]=poral.userGetLogin();
 
// Вычисление флага авторизованности
$STATS_CONF["userfield2"]=empty($STATS_CONF["userfield1"])?”no”:”yes”;
 
// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
?>

При использовании «кода счетчика для сайтов написанных НЕ на PHP» данные поля можно передать через переменные QUERY_STRING – uf1, uf2 и uf3.

Пример:

<!-- CNStats begin -->
<script type="text/javascript">
cnsd=document;cnst=escape(cnsd.title);
cnst=cnst.replace(/\+/g,'%2B');cnsa=navigator.appName;
cnsn=(cnsa.substring(0,2)=='Mi')?0:1;cnss=screen;cnspx=(cnsn==0)?cnss.colorDepth:cnss.pixelDepth;
document.write('<img src="http://mysite.com/nv/cnt-gif1x1.php?uf1=<?php print urlencode(iconv("windows-1251","utf-8",$NUSER["username"]));?>&amp;uf2=<?php print $NUSER["auth"]?1:0;?>&amp;e='+cnss.width+'.'+cnss.height+'&amp;d='+cnspx+'&amp;r='+escape(cnsd.referrer)+'&amp;p='+escape(cnsd.location)+'&amp;t='+cnst+'" width="1" height="1" border="0">');
</script><noscript><img src="http://novgorod.ru/nv/cnt-gif1x1.php?468&amp;uf1=<?php print urlencode(iconv("windows-1251","utf-8",$NUSER["username"]));?>&amp;uf2=<?php print $NUSER["auth"]?1:0;?>&amp;c=0" width="1" height="1" border="0" alt="" /></noscript>
<!-- CNStats end -->


Назад | Оглавление  | Вперед