Spesta 2.12 a+b

Обновление (файл называется так же) системы стастистики «Spesta 2 a+b». С предыдщего апдейта изменилось следующее:

  • сортировка и подсчёт процентов о отчёте переделаны, теперь они работают более адекватно (сортируют и считают статистику целиком)
  • собственные настройки (например, пароль) можно вынести в файл config-personal.inc.php, формат такой же как в config.inc.php. Т. е. при заливке дистрибутива ваш пароль на админку перезаписан не будет
  • внутри отчётов, в фильтрах можно использовать расширенную грамматику, об этом ниже
    Кто не в курсе, что это за система, прочитайте у меня на сайте соответствующую статью.

Теперь о расширенной граматике. Включается она только тогда, когда в фильтре используется звёздочка («*»). «mozilla*» означает «начинается с mozilla» (регистр значения не играет), «mozilla*windows*» — строка содержит сначала «mozilla», потом «windows». Т. е. «*» — это «любые символы».

Если нужно совпадение и чувствительность к регистру, то можно искать так: «*MSIE*!» — найдёт только строки, где содержится «MSIE» именно в этом регистре.

Если нужно инвертирование поиска, то можно писать так: «!*MSIE*» — найдёт строки, в которых не содержится «MSIE» в любом регистре, «!*MSIE*!» — найдёт строки, где не содержится «MSIE» именно в этом регистре.

Комментарии 25

Евгений Степанищев (bolknote.ru) автор № 4
Комментарий для indeyets.livejournal.com:

Спасибо, гляну. Я просто не планировал заниматься этим настолько серьёзно.
alick (alick.ru) № 7
Комментарий для Евгения Степанищева:

Тогда что-то не так. Захожу, к примеру, в «Откуда идут», а там таблица совсем пустая.
Евгений Степанищев (bolknote.ru) автор № 8
Комментарий для alick.ru:

Странно. Посмотрю обязательно. В понедельник спишемся, посмотрим конкретные данные. У меня на проекте всё отображается.
hunter25.livejournal.com № 12
Комментарий для Евгения Степанищева:

Вылечил убиранием в 195 строке index.inc.php четвертого параметра:
return array_slice($a, $up, $down — $up);

Работает! ;-)
Евгений Степанищев (bolknote.ru) автор № 13
Комментарий для hunter25.livejournal.com:

Сегодня попробую вылечить. Фигня в том, что у меня все отчёты видно, я попробую на чужих данных.
Евгений Степанищев (bolknote.ru) автор № 14
Комментарий для hunter25.livejournal.com:

У вас какая версия PHP, кстати?
Евгений Степанищев (bolknote.ru) автор № 15
Комментарий для hunter25.livejournal.com:

Всё ясно, баг проявлялся (я перезалил архив) на 4-й версии PHP. Жаль, что в доке этот нюанс не описан, а PHP4 у меня нет — array_slice в PHP4, видимо, ведёт себя как-то не так с четвёртым параметром в array_slice.
Евгений Степанищев (bolknote.ru) автор № 17
Комментарий для hunter25.livejournal.com:

Понятно.

В следующей версии будет несколько правок специально под PHP4. Очень странно, что не перекодируется.

Что выдаёт следующий PHP-скрипт?

var_dump(preg_match('//u', rawurldecode('%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D0%BA')));
Евгений Степанищев (bolknote.ru) автор № 19
Комментарий для hunter25.livejournal.com:

Интересно, гм.

А остальные UTF-строки конвертятся?
hunter25.livejournal.com № 20
Комментарий для Евгения Степанищева:

Да. Можете проверить. Доступ (адрес-логин) к статистике в 11 посте был.
anthon.livejournal.com № 21
Мне очень не хватает показа в хитах ip посетителей, преобразованных в dns имена — я бы видел потенциальных клиентов, заходящих на сайт из корпоративных сетей. Это очень сложно сделать (я в php вполне себе newbie, и код спесты знаю плохо)?
anthon.livejournal.com № 22
P.S. Так же есть странная ситуация — в «откуда идут» — пусто, хотя переходы с поисковиков по ключевым словам засчитываются за хиты.
Евгений Степанищев (bolknote.ru) автор № 23
Комментарий для anthon.livejournal.com:

Тормозить будет сильно.

Да надо другую статистику делать, надоело это патчить.
anthon.livejournal.com № 24
Комментарий для Евгения Степанищева:

А если rdns запросы в фоновом режиме выполнять?
Евгений Степанищев (bolknote.ru) автор № 25
Комментарий для anthon.livejournal.com:

По крону что ли? Ну, я этого точно делать не буду :) Патчи приветствуются :)