Source for file class.browser.php
Documentation is available at class.browser.php
* Класс обработки статистики визитов
* @subpackage module_Counter
* Количество строк при выводе информации о визитах
* Выборка сводной статистики из базы
* @param int $id - идентификатор счетчика
* all - общее количество визитов
* today - количество визитов за текущий день
* yestd - количество визитов за вчерашний день
* prevm - количество визитов за предыдущий месяц
* prevy - количество визитов за предыдущий год
SELECT COUNT(*) AS visits
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
$id .
"'
SELECT COUNT(*) AS visits
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
$id .
"'
AND expire = " .
mktime(23,59,59) .
"
SELECT COUNT(*) AS visits
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
$id .
"'
AND expire = " .
(mktime(0,0,0)-
1) .
"
SELECT COUNT(*) AS visits
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
$id .
"'
SELECT COUNT(*) AS visits
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
$id .
"'
BETWEEN " .
mktime(0,0,0,1,1) .
"
$row['all'] =
$sql->fetchRow()->visits;
$row['today'] =
$sql->fetchRow()->visits;
$row['yesterday'] =
$sql->fetchRow()->visits;
$row['prevmonth'] =
$sql->fetchRow()->visits;
$row['prevyear'] =
$sql->fetchRow()->visits;
* Обработка тэга счетчика
* @param int $id - идентификатор счетчика
if (!empty($_SERVER['REMOTE_ADDR']))
$ip =
$_SERVER['REMOTE_ADDR'];
$ip =
$_SERVER['HTTP_CLIENT_IP'];
$exist =
$AVE_DB->Query("
FROM " .
PREFIX .
"_modul_counter_info
AND counter_id = '" .
$id.
"'
AND expire > '" .
time() .
"'
if (isset
($_SERVER['HTTP_REFERER']))
$referer =
iconv("UTF-8", "WINDOWS-1251", $referer);
include_once(BASE_DIR .
'/modules/counter/phpSniff.core.php');
include_once(BASE_DIR .
'/modules/counter/phpSniff.class.php');
$client =
new phpSniff('', $settings);
INTO " .
PREFIX .
"_modul_counter_info
counter_id = '" .
$id .
"',
client_os = '" .
$client->property('platform') .
' ' .
$client->property('os') .
"',
client_browser = '" .
$client->property('long_name') .
' ' .
$client->property('version') .
"',
visit = '" .
time() .
"',
expire = '" .
$expire .
"'
* Создание нового счетчика
INTO " .
PREFIX .
"_modul_counter
header('Location:index.php?do=modules&action=modedit&mod=counter&moduleaction=1&cp=' .
SESSION);
* Запись параметров счетчика
foreach($_POST['counter_name'] as $id =>
$counter_name)
UPDATE " .
PREFIX .
"_modul_counter
SET counter_name ='" .
$counter_name .
"'
foreach($_POST['del'] as $id =>
$del)
FROM " .
PREFIX .
"_modul_counter
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
$id .
"'
header('Location:index.php?do=modules&action=modedit&mod=counter&moduleaction=1&cp=' .
SESSION);
* Список счетчиков в админпанели
* @param string $tpl_dir - путь к папке с шаблонами модуля
* @param string $lang_file - путь к языковому файлу модуля
global $AVE_DB, $AVE_Template;
FROM " .
PREFIX .
"_modul_counter
while ($row =
$sql->FetchRow())
$row->all =
$stat['all'];
$row->today =
$stat['today'];
$row->yesterday =
$stat['yesterday'];
$row->prevmonth =
$stat['prevmonth'];
$row->prevyear =
$stat['prevyear'];
$AVE_Template->assign('items', $items);
$AVE_Template->config_load($lang_file, 'admin');
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir .
'admin_counter.tpl'));
* Подробная информация о визитах
* @param string $tpl_dir - путь к папке с шаблонами модуля
* @param string $lang_file - путь к языковому файлу модуля
global $AVE_DB, $AVE_Template;
$sort =
' ORDER BY visit DESC';
if (!empty($_REQUEST['sort']))
switch($_REQUEST['sort'])
$sort =
' ORDER BY visit DESC';
$sort_navi =
'&sort=visit_desc';
$sort =
' ORDER BY visit ASC';
$sort_navi =
'&sort=visit_asc';
$sort =
' ORDER BY client_ip DESC';
$sort_navi =
'&sort=ip_desc';
$sort =
' ORDER BY client_ip ASC';
$sort_navi =
'&sort=ip_asc';
$sort =
' ORDER BY client_referer DESC';
$sort_navi =
'&sort=referer_desc';
$sort =
' ORDER BY client_referer ASC';
$sort_navi =
'&sort=referer_asc';
$sort =
' ORDER BY client_os DESC';
$sort_navi =
'&sort=os_desc';
$sort =
' ORDER BY client_os ASC';
$sort_navi =
'&sort=os_asc';
$sort =
' ORDER BY client_browser DESC';
$sort_navi =
'&sort=browser_desc';
$sort =
' ORDER BY client_browser ASC';
$sort_navi =
'&sort=browser_asc';
SELECT SQL_CALC_FOUND_ROWS *
FROM " .
PREFIX .
"_modul_counter_info
WHERE counter_id = '" .
intval($_REQUEST['id']) .
"'
LIMIT " .
$start .
"," .
$this->_limit
while($row =
$sql->FetchRow())
$num =
$AVE_DB->Query("SELECT FOUND_ROWS()")->GetCell();
$page_nav =
" <a class=\"pnav\" href=\"index.php?do=modules&action=modedit&mod=counter&moduleaction=view_referer&cp=" .
SESSION
.
'&id=' .
intval($_REQUEST['id']) .
'&pop=1&page={s}' .
$sort_navi .
"\">{t}</a> ";
$AVE_Template->assign('page_nav', $page_nav);
$AVE_Template->assign('items', $items);
$AVE_Template->config_load($lang_file, 'admin');
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir .
'admin_entries.tpl'));
* Вывод статистики в публичной части
* @param string $tpl_dir - путь к папке с шаблонами модуля
* @param string $lang_file - путь к языковому файлу модуля
* @param int $id - идентификатор счетчика
if (! (empty($_SERVER['REMOTE_ADDR']) &&
empty($_SERVER['HTTP_CLIENT_IP'])) &&
! (isset
($_COOKIE['counter_' .
$id]) &&
$_COOKIE['counter_' .
$id] ==
'1'))
$AVE_Template->config_load($lang_file, 'user');
$AVE_Template->display($tpl_dir .
'show_stat-' .
$id .
'.tpl');
Documentation generated on Fri, 04 Jun 2010 18:01:15 +0400 by phpDocumentor 1.4.3