Определяем браузер пользователя и подставляем его название в страницу типу $_SERVER['HTTP_USER_AGENT']

Главные вкладки

Аватар пользователя vkwebsite vkwebsite 3 декабря 2018 в 0:29

Нужно вывести одно поле в стандартных отчетах в Друпал 7

$_SERVER['HTTP_USER_AGENT']

Есть файлы в этом модуле тут \modules\statistics

statistics.admin.inc
statistics.info
statistics.install
statistics.js
statistics.module
statistics.pages.inc
statistics.php
statistics.test
statistics.tokens.inc

Что куда нужно прописать?

в файле statistics.install дописать

'наша строка' => array(
'type' => 'Наш тип',
'not null' => FALSE,
'description' => 'Описание',
и вывести сюда statistics.module

db_insert('accesslog')
->fields(array(
'title' => truncate_utf8(strip_tags(drupal_get_title()), 255),
'path' => truncate_utf8($_GET['q'], 255),
'url' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
'hostname' => ip_address(),
'uid' => $user->uid,
'sid' => session_id(),
'timer' => (int) timer_read('page'),
'timestamp' => REQUEST_TIME,
))
->execute();

Выводит ошибку

Комментарии

Аватар пользователя ivnish ivnish 3 декабря 2018 в 7:04
1

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

Нужно писать в свой кастомный модуль и использовать хуки модуля statistics

Аватар пользователя gun_dose gun_dose 3 декабря 2018 в 9:46

Простая инструкция.
1. Вернуть всё на место.
2. Создать свой модуль.
3. В файле "название_модуля.module" пишем

<?php
function название_модуля_init() {
  
watchdog('Мой странный отчёт'$_SERVER['HTTP_USER_AGENT']);
}
?>

4. Включаем модуль и любуемся сообщениями в журнале с пометкой "Мой странный отчёт". Также в журнале автоматически появится фильтр по этому критерию.

Аватар пользователя gun_dose gun_dose 3 декабря 2018 в 9:58
1

Тут налицо, что ТС не знает, что хочет, и зачем. Имхо, чтобы переизобрести гугл-аналитику, оптимально было бы поставить какой-нибудь ECK, создать тип сущности, накидать в него филдов, замутить свой модуль, который будет парсить строку юзер-агента, чтобы например отделить браузер от оси. Или версию браузера от названия браузера. По hook_init() создавать эти сущности и сохранять. А потом с помощью вьюс выводить всё это дерьмо, и даже возможно строить какую-то аналитику при помощи агрегации или группировки. Ну и конечно же, не забывать открывать сессии анонимам, чтобы вести статистику по пользователям, а не тупо по открытиям страниц.