Этот код выводит сводную статистику посещаемости сайта (по часам, дням недели и месяцам) за полный предыдущий месяц, используя класс CTraffic и метод GetSumList.
Код |
---|
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("statistic")) {
$lastMonthStart = date("Y-m-01", strtotime("-1 month"));
$lastMonthEnd = date("Y-m-t", strtotime("-1 month"));
$filter = [
"DATE1" => $lastMonthStart,
"DATE2" => $lastMonthEnd,
];
$monthlySummary = CTraffic::GetSumList($filter);
// Получаем ЕДИНСТВЕННУЮ строку данных
$data = $monthlySummary->Fetch();
if ($data) {
echo ":f09f938a: Статистика за прошлый месяц:\n\n";
echo "⏰ По часам:\n";
for ($h = 0; $h <= 23; $h++) {
$field = "HOUR_HIT_" . $h;
echo " " . str_pad($h, 2, "0", STR_PAD_LEFT) . ":00 — " . intval($data[$field]) . " хитов\n";
}
echo "\n:f09f9385: По дням недели:\n";
$days = ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"];
for ($d = 0; $d <= 6; $d++) {
$field = "WEEKDAY_HIT_" . $d;
echo " " . $days[$d] . " — " . intval($data[$field]) . " хитов\n";
}
echo "\n:f09f9386: По месяцам (в пределах периода):\n";
for ($m = 1; $m <= 12; $m++) {
$field = "MONTH_HIT_" . $m;
if (!empty($data[$field])) {
echo " " . date("F", mktime(0, 0, 0, $m, 1)) . " — " . intval($data[$field]) . " хитов\n";
}
}
} else {
echo "Нет данных за указанный период.\n";
}
}
?> |