Размещен: /Counter/Counter.class.php
Описание
Класс модуля "Статистика посещаемости сайта"
$new_session = false
boolean AddEditInitialData()
void AdminMainPage()
string AlignTextSpace()
mixed build_counter()
bool CheckBot()
string code_ip()
string decode_ip()
void DelStatInfomationForSite()
int GetAllSession()
mixed GetBotsInfo()
void getBrowserName()
mixed GetCounterInform()
mixed GetDayInformation()
resource GetInitialData()
mixed GetIpInformation()
mixed GetNewUsersInform()
void getOsName()
mixed GetSearchSystemInform()
array GetSecondaryStat()
array GetStatArray()
array GetStatDataArray()
mixed GetUseCJ()
void InsertRecord()
int InsertSession()
int IpIsNew()
string IsSearchSystem()
boolean isset_id()
boolean MailReport()
Метод ShowCounterCode()
AddEditInitialData( int $type, int $site_id, int $sessions, int $hosts, int $hits, int $new_users, int $bots );
Описание
Добавление/редактирование начальных данных для счетчика
Принимаемые параметры
$type
тип действия 0 - вставка, 1 - обновление
$site_id
идентификатор сайта
$sessions
начальное значение сессий
$hosts
начальное значение хостов
$hits
начальное значение новых пользователей
$new_users
начальное значение ботов
$bots
начальное значение типа дейтсвия (0-вставка, 1-редактирование)
Возвращает
true при удачной вставке/обновлении, false в случае ошибки
<?php $counter = new counter(); $type = 1; $site_id = 1; $sessions = 555; $hosts = 555; $hits = 555; $new_users = 555; $bots = 555; $result = $counter->AddEditInitialData($type, $site_id, $sessions, $hosts, $hits, $new_users, $bots); if ($result) { echo "Вставка/обновление выполнена успешно"; } else { echo "Ошибка вставки/обновления"; } ?>
[ Наверх ]
AdminMainPage( );
Описание
Функция обратного вызова для отображения блока на основной странице центра администрирования.
[ Наверх ]
AlignTextSpace( int $count_all, strlen $text );
Описание
Выравнивание текста по центру с помощью пробелов
Принимаемые параметры
$count_all
общее количество символов
$text
текст
Возвращает
строка с выровненным текстом
<?php $counter = new counter(); $count_all = 31; $text = 'Тестовый текст для выравнивания'; $result = $counter->AlignTextSpace($count_all,$text); // Распечатаем результат echo $result; ?>
[ Наверх ]
build_counter( int $site_id, int $js_version, int $screen, int $remote_addr, string $current_page, string $refer, int $px, string $user_agent, string $cookie, string $java, int $counter, [int $update_counter = 1] );
Описание
Отображение счетчика
Принимаемые параметры
$site_id
идентификатор сайта
$js_version
js версия пользователя
$screen
параметры экрана пользователя
$remote_addr
ip адрес пользователя
$current_page
посещенная страница
$refer
ссылающаяся страница
$px
глубина цвета пользователя
$user_agent
user agent пользователя
$cookie
флаг поддержки кукисов
$java
флаг поддержки java
$counter
номер счетчика для определения изображения
$update_counter
- флаг обновления данных счетчика (1-обновлять (по умолчанию), 0-просто построить счетчик)
Возвращает
ложь в случае ошибки, в случае успешного построения счетчика и вставки/обновления данных метод ничего не возвращает
<?php $counter = new counter(); $site_id = 1; $js_version = ''; $screen = ''; $remote_addr = ''; $current_page = ''; $refer = ''; $px = ''; $user_agent = ''; $cookie = ''; $java = ''; $counter_num = 1; $update_counter = 0; $result = $counter->build_counter($site_id, $js_version, $screen, $remote_addr, $current_page,$refer, $px, $user_agent, $cookie, $java, $counter_num, $update_counter); // Распечатаем результат echo $result; ?>
[ Наверх ]
CheckBot( string $agent );
Описание
Проверка user-agent на принадлежность к ботам
Принимаемые параметры
$agent
user-agent
Возвращает
true, если это бот, false в противном случае
[ Наверх ]
code_ip( string $ip );
Описание
Преобразование IP в HEX
Принимаемые параметры
$ip
ip-адрес
Возвращает
ip-адрес, преобразованный в 16-ое значение для записи в базу
[ Наверх ]
decode_ip( srting $ip );
Описание
Декодирование IP из HEX
Принимаемые параметры
$ip
ip-адрес в 16-ричном формате
Возвращает
ip-адрес в обычном формате для вывода
[ Наверх ]
DelStatInfomationForSite( int $site_id );
Описание
Удаление статистической информации для сайта
Принимаемые параметры
$site_id
идентификатор сайта
<?php $counter = new counter(); $site_id = CURRENT_SITE; $counter->DelStatInfomationForSite($site_id); if ($result) { echo "Удаление выполнено успешно"; } else { echo "Ошибка удаления"; } ?>
[ Наверх ]
GetAllSession( int $site_id );
Описание
Определение числа сессий для сайта за весь период подсчета статистики. Метод использует кэш "COUNTER_SITE_SESSION"
Принимаемые параметры
$site_id
идентификатор сайта
Возвращает
число сессий для сайта
<?php $counter = new counter(); $site_id = CURRENT_SITE; $result = $counter->GetAllSession($site_id); // Распечатаем результат echo $result; ?>
[ Наверх ]
GetBotsInfo( string $date_from, string $date_to, int $site_id );
Описание
Получение данных о ботах и посещенных ими страницах
Принимаемые параметры
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
Возвращает
информация о ботах в случае удачной выборки, false - при возникновении ошибки
<?php $counter = new counter(); $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $row = $counter->GetBotsInfo($date_from, $date_to, $site_id); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
getBrowserName( $user_agent );
Принимаемые параметры
$user_agent
[ Наверх ]
GetCounterInform( int $site_id, [string $date = ''], [string $mark = "="] );
Описание
Получение информации о данных счетчика за определенную дату
Принимаемые параметры
$site_id
идентификатор сайта
$date
дата (не обязательный параметр, по умолчанию = '')
$mark
знак сравнения с датой (по умолчанию - "=")
<?php $counter = new counter(); $site_id = CURRENT_SITE; $row = $counter->GetCounterInform ($site_id); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
Возвращает
массив с данными в случае успешного выполнения, иначе - false
[ Наверх ]
GetDayInformation( string $date, int $site_id );
Описание
Получение данных посещаемости за определенный день. Метод использует кэш "COUNTER_DAY_INFORMATION"
Принимаемые параметры
$date
дата в формате ГГГГ-ММ-ДД
$site_id
идентификатор сайта
Возвращает
array с данными или false, если данные отсутствуют
<?php $counter = new counter(); $date = date('Y-m-d'); $site_id = CURRENT_SITE; $row = $counter->GetDayInformation($date, $site_id); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
GetInitialData( int $site_id );
Описание
Получение начальных данных для счетчика
Принимаемые параметры
$site_id
идентификатор сайта
Возвращает
информация о начальных данных, false - если запись не выбрана
<?php $counter = new counter(); $site_id = 1; $resource = $counter->GetInitialData($site_id); if ($resource) { $row = mysql_fetch_assoc($resource); // Распечатаем результат print_r($row); } ?>
[ Наверх ]
GetIpInformation( string $ip_adr, string $date_from, string $date_to, int $site_id );
Описание
Выборка информации для IP-адреса
Принимаемые параметры
$ip_adr
ip адрес
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
Возвращает
массив с данными по ip адресу или false
<?php $counter = new counter(); $ip_adr = $_SERVER['REMOTE_ADDR']; $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $row = $counter->GetIpInformation($ip_adr, $date_from, $date_to, $site_id); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
GetNewUsersInform( string $date_from, string $date_to, int $site_id );
Описание
Получение информации о новых пользователях сайта
Принимаемые параметры
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
Возвращает
массив с данными о новых пользователях или false
<?php $counter = new counter(); $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $row = $counter->GetNewUsersInform($date_from, $date_to, $site_id); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
getOsName( $user_agent );
Принимаемые параметры
$user_agent
[ Наверх ]
GetSearchSystemInform( string $date_from, string $date_to, int $site_id, [int $limit = ''], [array $filter_param = array()] );
Описание
Получение информации о поисковых системах
Принимаемые параметры
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
$limit
ограничение количества выбираемых записей (не обязательный параметр)
$filter_param
массив со значениями параметров фильтра
Возвращает
массив с данными о поисковых системах в случае успешного выполнения илиfalse при возникновении ошибок
<?php $counter = new counter(); $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $row = $counter->GetSearchSystemInform($date_from, $date_to, $site_id, $limit, $filter_param); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
GetSecondaryStat( int $type, string $date_from, string $date_to, int $site_id, [string $limit = ''], [array $filter_param = array()] );
Описание
Получение статистической информации из таблицы сессий
Принимаемые параметры
$type
вид информации
0 - Операционные системы
1 - Браузеры
2 - Разрешение монитора
3 - Глубина цвета
4 - Версии JS
5 - User agents
6 - User agents ботов
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
$limit
ограничение количества страниц ($limit - не обязательный параметр)
$filter_param
массив со значениями параметров фильтра
Возвращает
информация с данными статистики
<?php $counter = new counter(); $type = 1; $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $row = $counter->GetSecondaryStat($type, $date_from, $date_to, $site_id); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
GetStatArray( int $type, string $date_from, string $date_to, int $site_id, [string $limit = ''], [array $filter_param = array()] );
Описание
Получение статистической информации из основной таблицы
Принимаемые параметры
$type
вид информации
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
$limit
ограничения количества страниц
$filter_param
массив со значениями параметров фильтра
Возвращает
данные статистики
<?php $counter = new counter(); $type = 1; $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $limit = ''; $row = $counter->GetStatArray($type, $date_from, $date_to, $site_id, $limit='', $filter_param); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
GetStatDataArray( string $date_from, string $date_to, int $site_id, [array $filter_param = array()] );
Описание
Получение статистических данных за переданный промежуток времени
Принимаемые параметры
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор сайта
$filter_param
массив со значениями параметров фильтра
Возвращает
ассоциативный массив с данными
<?php $counter = new counter(); $site_id = CURRENT_SITE; $date_to = date('Y-m-d H:i:s'); $row = $counter->GetStatDataArray($date_from, $date_to, $site_id, $filter_param); // Распечатаем результат if ($row) { print_r ($row); } else { echo "Данные за указанный период не найдены"; } ?>
[ Наверх ]
GetUseCJ( int $type, string $date_from, string $date_to, int $site_id );
Описание
Получение данных о использовании кукисов и Java
Принимаемые параметры
$type
тип отбираемой информации
$date_from
дата начала выборки данных
$date_to
дата окончания выборки данных
$site_id
идентификатор данных
Возвращает
ассоциативный массив с данными об использовании кукисов и Java при успешной выборке, иначе - false
[ Наверх ]
InsertRecord( int $session_id, int $site_id, string $refer, string_type $page, string $cookie, string $java, string $search_system, string $search_query, int_type $user_number, int_type $user_is_new, string $ip_adr, string $hostname );
Описание
Добавление записи в основную таблицу статистики
Принимаемые параметры
$session_id
идентификатор сессии
$site_id
идентификатор сайта
$refer
ссылающаяся страница
$page
страница
$cookie
флаг поддержки кукисов
$java
флаг поддержки java
$search_system
флаг поисковой системы
$search_query
поисковая фраза
$user_number
номер пользователя
$user_is_new
флаг новый пользователь или нет
$ip_adr
преобразованный ip
$hostname
имя хоста
<?php $counter = new counter(); $session_id = ''; $site_id = 1; $refer = ''; $page = ''; $cookie = ''; $java = ''; $search_system = ''; $search_query = ''; $user_number = 1; $user_is_new = 1; $ip_adr = '192.168.0.1'; $hostname = ''; $result = $counter->InsertRecord($session_id, $site_id, $refer, $page, $cookie, $java, $search_system, $search_query, $user_number, $user_is_new, $ip_adr, $hostname); // Распечатаем результат echo $result; ?>
[ Наверх ]
InsertSession( int $site_id, int $color_depth, string $display_name, string $js_version, string $ip_adr, string $user_agent, int $is_bot );
Описание
Вставка записи о сессии
Принимаемые параметры
$site_id
идентификатор сайта
$color_depth
глубина цвета
$display_name
параметры экрана
$js_version
версия js
$ip_adr
преобразованный ip
$user_agent
user agent
$is_bot
флаг - бот/не бот
Возвращает
идетнификатор вставленной записи, либо идентификатор уже имеющейся записи о текущей сессии
<?php $counter = new counter(); $site_id = 1; $color_depth = 32; $display_name = '1024x768'; $js_version = '1.3'; $ip_adr = '192.168.0.1'; $user_agent = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'; $is_bot = 0; $newid = $counter->InsertSession($site_id, $color_depth, $display_name, $js_version, $ip_adr,$user_agent, $is_bot); // Распечатаем результат echo $newid; ?>
[ Наверх ]
IpIsNew( string $ip_adr, string $date_t, int $site_id );
Описание
Определение наличия записи за сегодняшний день для переданного IP адреса для переданного сайта
Принимаемые параметры
$ip_adr
упакованный IP-адрес
$date_t
дата
$site_id
идентификатор сайта
Возвращает
1 - новый, 0 - не новый
[ Наверх ]
IsSearchSystem( string $str );
Описание
Определение запроса из поисковой системы. Метод работает с поисковыми системами:
Принимаемые параметры
$str
адрес ссылающейся страницы
Возвращает
поисковый запрос
<?php $counter = new counter(); $str = 'http://yandex.ru/yandsearch?clid=13999&yasoft=barff&text=cms'; $search_query = $counter->IsSearchSystem($str); // Распечатаем результат var_dump($search_query); ?>
[ Наверх ]
isset_id( int $site_id );
Описание
Проверка наличия id сайта
Принимаемые параметры
$site_id
идентификатор сайта
Возвращает
true при наличии сайта, false - если данного сайта не существует
[ Наверх ]
MailReport( int $site_id, string $date );
Описание
Отправка письма с отчетом администратору сайта
Принимаемые параметры
$site_id
идентификатор сайта
$date
дата отчета
Возвращает
false в случае ошибки, в случае успеной отправки метод не возвращет никаких значений
<?php $counter = new counter(); $site_id = 1; $date = date('Y-m-d H:i:s'); $counter->MailReport($site_id, $date); ?>
[ Наверх ]
ShowCounterCode( int $counter_type, string $alias_name, array $gCounterProperties, [string $get_update_counter = ''] );
Описание
Отображение кода счетчика
Принимаемые параметры
$counter_type
тип выводимого счетчика (файл счетчика должен быть расположен в директории /counter/ и представлять собой изображение с именем {НОМЕР}.gif)
$alias_name
наименование домена сайта, например www.site.ru
$gCounterProperties
глобальный массив, содержащий свойства счетчика
$get_update_counter
переменная с информацией о необходимости обновления счетчика, не обязательный параметр, по умолчанию равен пустоте
Возвращает
не возвращает никаких значений.
Пример использования:
<?php $counter = new counter(); $counter->ShowCounterCode(0,"www.site.ru",$GLOBALS['gCounterProperties'],"&update_counter=0"); ?>
[ Наверх ]
false [Строка 29]booleanОписание
Флаг добавления новой сессии при обновлении данных счетчика