myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Webstats, API2 | Веб-статистика для хаба

Рейтинг 5 V
PomanoB
сообщение 14.7.2009, 17:15
Сообщение #1


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




Название скрипта: WebStats
Версия скрипта: 0.3
Версия API: API 2
Автор: PomanoB
Описание скрипта:
Скрипт предназначен для вывода некоторой информации о хабе на сайт.
Основные функции:
- Вывод общей статистики хаба
- Гибко настраиваемый юзербар с поддержкой анимации: можно выбрать фон, шрифт, анимацию, размер, цвет, текст и координаты надписи/двух надписей
Пример юзербара можно посмотреть у меня в подписи
- RSS с информацией о текущей шаре хаба и количества пользователей
- Список хабов
- Построение диаграммы распределения пользователей по объему шары
- Построение графика распределения пользователей по клиентам
- Топ пользователей по шаре и времени онлайн
- Информация о всех пользователях с удобным поиском
- Поиск по нику, IP, профилю и клиенту
- Индивидуальная расширенная информация о каждом пользователе
- Система шаблонов позволят легко настраивать внешний вид
Файл block.php в папке inc предназначен для вывода информации в центральный блок сайта на главной странице

Пользователям lighttpd нужно подключить lighttpd-hub.conf
Пользователям Apache нужно найти в конфиге AllowOverride и написать там AllowOverride All

Необходимо запускать файл inc/cli.php с нужной периодичностью для обновления информации о хабах
RSS доступно по адресу hubstats/hub<номер_хаба>.xml

Пример работы скрипта можно посмотреть здесь - пример центрального блока
Пример главной страницы статистики - здесь

Небольшое обновление - быстрая сортировка по клику на соответвующей надписи в заголовке таблицы списка пользователей

V 0.1.2.1
- Исправлена ошибка поиска при множестве находимых элементов
- Более удобный поиск по профилю

V 0.2.0
- Переход на XSLT-преобразования
- Отделение графиков от информации о хабе
- Новый дизайн
- Поддержка ланг-файлов
- Новый формат таблицы пользователей
- Изменение поиска
- Устранение багов

v 0.2.0.1
- Оптимизация
- Исправление багов

v 0.2.0.2
- Исправлена ошибка с русскими ссылками

v 0.3
- Переработан юзербар и добавлена возможность анимации юзербара
- Добавлен список хабов
- RSS
- отбор пользователей по онлайн


Прикрепленные файлы
Прикрепленный файл  hubstats.zip ( 4.27 мегабайт ) Кол-во скачиваний: 1140
 
Go to the top of the page
+Quote Post
22 страниц V   1 2 3 > »   
Начать новую тему
Ответов
fixx
сообщение 14.7.2009, 19:07
Сообщение #2


МЕДВЕД =)
****

Группа: Пользователи
Сообщений: 187
Регистрация: 6.8.2008
Пользователь №: 332
Спасибо сказали: 4 раза




Видел работу скрипта на майдиси.
Понравилось. И вот поиск, опять же...
Однако скрипт, стоит на домене *.ru, а значит и график распределения шары неплохо бы по-русски написать.
Если англоязычные пользователи хотят юзать скрипт, то можно выложить им по-агглицки.
Я вот на 25% эстонец (может многие поняли уже: есть небольшие тормоза), могу помочь перевести на эстонский. big_smile.gif
Ну а вдруг понадобится кому.. ;)
ЗЫ
Пока опасаюсь перейти со Statpx на hubstats из-за некой доли консерватизма и лени, но попробую воткнуть параллельно.
Go to the top of the page
+Quote Post
PomanoB
сообщение 14.7.2009, 19:55
Сообщение #3


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




Вот график шары со значками как тут - http://hub.mydc.ru/inc/graph/share.php
Файл надо положить в папку inc/graph/
Многонациональный график)
Прикрепленный файл  share.zip ( 922 байт ) Кол-во скачиваний: 151


Спасибо сказали:
Go to the top of the page
+Quote Post
AnSan
сообщение 14.7.2009, 21:02
Сообщение #4


Начинающий
*

Группа: Пользователи
Сообщений: 12
Регистрация: 18.3.2009
Пользователь №: 2 636
Спасибо сказали: 0 раз




Всем привет. У меня почемуто непоказует изображения userbar'а и распределение пользователей по клиентам !
Вчем может быть проблема ?
Go to the top of the page
+Quote Post
PomanoB
сообщение 14.7.2009, 21:41
Сообщение #5


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




А распределение по шаре показывает?
Щелкни правой кнопкой мыши по значку отсутствия картинки, выбери "Копировать URL картинки" или что-то подобное, вставь в строку браузера и посмотри что он напишет

Насчет юзербара:
Если веб-сервер - апач, то в его конфиге должно стоять AllowOverride All для директории со статистикой
Если веб-сервер - lighttpd, то в его конфиг надо проинклудить файл lighttpd-hub.conf


Спасибо сказали:
Go to the top of the page
+Quote Post
AnSan
сообщение 14.7.2009, 22:22
Сообщение #6


Начинающий
*

Группа: Пользователи
Сообщений: 12
Регистрация: 18.3.2009
Пользователь №: 2 636
Спасибо сказали: 0 раз




У мення VertrigoServ там есть апач, в папке конфиг есть такой файл httpd.conf я там все поменял на AllowOverride All результата нету (
Go to the top of the page
+Quote Post
PomanoB
сообщение 15.7.2009, 9:24
Сообщение #7


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




А ты сервер после этого перезапустил?


Спасибо сказали:
Go to the top of the page
+Quote Post
AnSan
сообщение 15.7.2009, 18:19
Сообщение #8


Начинающий
*

Группа: Пользователи
Сообщений: 12
Регистрация: 18.3.2009
Пользователь №: 2 636
Спасибо сказали: 0 раз




Цитата(PomanoB @ 15.7.2009, 9:24) *
А ты сервер после этого перезапустил?


Да перезапустил
Go to the top of the page
+Quote Post
fixx
сообщение 16.7.2009, 11:55
Сообщение #9


МЕДВЕД =)
****

Группа: Пользователи
Сообщений: 187
Регистрация: 6.8.2008
Пользователь №: 332
Спасибо сказали: 4 раза




Предлагаю сломать пару копий в такой "религиозной битве":
Для примера взял "чего попроще" из выложенного в архиве:

Код
<?php
include "config.php";
include "function.inc.php";
    mysql_connect($HostDB,$UserDB,$PassDB) or die('Error connect to db');
    mysql_select_db($NameDB) or die(mysql_error());
    $query = 'SELECT uptime, max_user, user, ops, max_share, share FROM '.$PrefixTable.'hub LIMIT 1';
    $res = mysql_query($query) or die(mysql_error());
    $number = mysql_num_rows($res);
    $row=mysql_fetch_array($res);
    if ($number)
        echo '
<table><tr><td>Uptime</td><td>Макс. польз.</td><td>Польз.</td><td>Операт.</td><td>Макс. шара.</td><td>Текущ. шара.</td></tr>
<tr>
<td>'.GetNormalTime($row['uptime']).'</td>
<td>'.$row['max_user'].'</td>
<td>'.$row['user'].'</td>
<td>'.$row['ops'].'</td>
<td>'.GetNormalShare($row['max_share']).'</td>
<td>'.GetNormalShare($row['share']).'</td></tr></table>';
?>

Однако, первое, что мне вталдычили при изучении PHP это НЕзлоупотреблять инклюдами, когда можно использовать require:
Цитата
PHP преобразует сценарий во внутреннее представление, анализируя строки сценария по очереди, пока не доходит до конструкции include. Дойдя до include, PHP прекращает транслировать сценарий и переключается на указанный в include файл. Таким образом из-за подобного поведения транслятора, быстродействие сценария снижается, особенно при большом колличестве включаемых с помощью include файлов. С require таких проблем нет, поскольку файлы с помощью require включаются до выполнения сценария, то есть на момент трансляции файл уже включен в сценарий.

Таким образом, целесообразнее использовать конструкцию require там, где не требуется динамическое включение файлов в сценарий, а конструкцию include использовать только с целью динамического включения файлов в код PHP скрипта.

Как видим, оптимальнее будет подключать конфиги с помощью require.
Вот какой я вумный big_smile.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 16.7.2009, 12:20
Сообщение #10


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Сами по себе include и require отличаются способом реакции на отсутствие включаемого файла. Если файла нет, то include генерирует предупреждение, но работа основного скрипта продолжается, require, при отсутствии включаемого файла, останавливает работу скрипта.

А ещё есть: include_once и require_once, которые подключают файл 1 раз.
big_smile.gif
Go to the top of the page
+Quote Post
fixx
сообщение 16.7.2009, 13:28
Сообщение #11


МЕДВЕД =)
****

Группа: Пользователи
Сообщений: 187
Регистрация: 6.8.2008
Пользователь №: 332
Спасибо сказали: 4 раза




Прикрепленный файл  block.rar ( 628 байт ) Кол-во скачиваний: 59

Вот block.php с вертикальной таблицей.
В оригинале таблица горизонтальная и неудобно - длинные имена полей не помещаются, да и в боковой блок сайта невлезает.
Переделал.
Да простит меня alex82 - я со StatPX содрал.
А что.. че велик-то изобретать? big_smile.gif
===============================
Ну а по поводу всего остального... Помогите исправить эти Варнинги:

Цитата
Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for '4.0/DST' instead in C:\AppServ\www\hubstats\inc\users.php on line 27

Что это значит, я знаю. А вот как исправить.. Это где-то на сервере исправляется.
Вобщем-то все сторонние PHP мне такое выдают.
Что сам напишу - все нормально. big_smile.gif
Go to the top of the page
+Quote Post
alex82
сообщение 16.7.2009, 18:07
Сообщение #12


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Несколько замечаний по поводу скрипта.

1) При создании БД и таблиц лучше всегда явно указывать кодировку
Код
DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci

При соединении с БД также желательно указывать кодировку
Код
conn:execute("SET NAMES cp1251")


2) Перед каждым запросом необходимо проверять наличие соединения с MySQL. При его отсутствии - восстанавливать. Иначе при потере соединения прийдется перезапускать скрипт.

3) При запуске скрипта нужно проверять онлайн всех юзеров из базы - иначе могут появиться фантомы.

4) php вперемешку с html смотрится не очень красиво. Да и подгонять такой скрипт под дизайн сайта - удовольствие ниже среднего.

Цитата(fixx @ 16.7.2009, 13:28) *
Что это значит, я знаю. А вот как исправить..

Попробуй @date() вместо date()


Спасибо сказали:
Go to the top of the page
+Quote Post
fixx
сообщение 16.7.2009, 21:23
Сообщение #13


МЕДВЕД =)
****

Группа: Пользователи
Сообщений: 187
Регистрация: 6.8.2008
Пользователь №: 332
Спасибо сказали: 4 раза




Цитата
Попробуй @date() вместо date()

Трудно, однако! Их там сотни, и не все выглядят, как date().
Это где-то на сервере в конфигах настраивается, может и в пхп.ини... но незнаю, где именно.
alex82, представь, если движок форума придется из-за этой хрени править?
Ну ни к чему это big_smile.gif
И еще по п. 4
Подогнать под дизайн сайта у меня получилось оч легко.
Только хидер на главной (индекс.пхп) из моего ксс грузится долго что-то (сами картинки), на всех других страницах - "как папку открыл"
Непонял зачем в хидере инклюдить конфиг.пхп - стёр нафик.
Go to the top of the page
+Quote Post
Otshelnik-Fm
сообщение 19.7.2009, 23:18
Сообщение #14


Я коварный Санта Клаус
******

Группа: Пользователи
Сообщений: 523
Регистрация: 4.11.2008
Из: Саратов
Пользователь №: 985
Спасибо сказали: 54 раза




Что за ошибка:

Цитата
[00:10] Синтаксис ...\! - Интернет\PtokaX 0.4.1.1\scripts\stats.lua:71: LuaSQL: Error executing query. MySQL: Field 'version' doesn't have a default value
[00:10] Скрипт запущен.
[00:12] Синтаксис ...\! - Интернет\PtokaX 0.4.1.1\scripts\stats.lua:100: LuaSQL: Error executing query. MySQL: Field 'disconnect_time' doesn't have a default value

Go to the top of the page
+Quote Post
PomanoB
сообщение 20.7.2009, 18:55
Сообщение #15


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




AnSan, возможно у тебя php без GD, попробуй переустановить php и при этом ищи в установщике пункты типа php-gd и отметь их галочкой если есть

fixx,
Setuper прав, между require и include почти нет разницы, разница только в обработке ошибки.
Без проинклуденного конфига у тебя ничего(ну почти ничего, в блоке свой инклуд) не будет работать
Замени date( на @date(

Otshelnik-Fm,
Попробуй удалить таблицу ws_hub и создать её заново с прежней структурой

alex82,
Фантомы будут недолго, это нестрашно, а в будущих версиях html смешан с php небудет

PS Тем временем вышло небольшое обновление big_smile.gif
Go to the top of the page
+Quote Post
*FoxMalder*
сообщение 21.7.2009, 14:38
Сообщение #16


мяу =^.^=
******

Группа: Пользователи
Сообщений: 414
Регистрация: 20.5.2008
Пользователь №: 6
Спасибо сказали: 14 раз




немножко кривовато
Прикрепленный файл  3.JPG ( 9.33 килобайт ) Кол-во скачиваний: 1265

и не хочет в юзербар.пхп показывать юзербар (в самих настройках)
Go to the top of the page
+Quote Post
PomanoB
сообщение 21.7.2009, 20:52
Сообщение #17


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




Не рассчитывал что будет так много клиентов(
Замени этот файл в папке inc/graph
Прикрепленный файл  client.zip ( 669 байт ) Кол-во скачиваний: 58


Щелкни правой кнопкой мыши по значку отсутствия картинки, выбери Копировать URL картинки. перейди по этой ссылке и посмотри что будет
Go to the top of the page
+Quote Post
*FoxMalder*
сообщение 21.7.2009, 21:42
Сообщение #18


мяу =^.^=
******

Группа: Пользователи
Сообщений: 414
Регистрация: 20.5.2008
Пользователь №: 6
Спасибо сказали: 14 раз




Not Found

по поводу клиентов.. кривоватость не исправилась.. только добавились новые клиенты и их кол-во
Go to the top of the page
+Quote Post
PomanoB
сообщение 22.7.2009, 9:09
Сообщение #19


AmxModx Scripter
*****

Группа: Пользователи
Сообщений: 302
Регистрация: 2.12.2008
Из: Королев
Пользователь №: 1 283
Спасибо сказали: 127 раз




Проверь, в конфиге апача должно стоять AllowOverride All для директории со статистикой

В следующей версии график будет автоматически подстраиваться под количество клиентов
Go to the top of the page
+Quote Post
Hammer
сообщение 26.7.2009, 1:50
Сообщение #20


Участник
**

Группа: Пользователи
Сообщений: 33
Регистрация: 12.5.2009
Из: Волгоград
Пользователь №: 3 312
Спасибо сказали: 0 раз




Notice: Undefined index: action in T:\home\localhost\hubstats\index.php on line 17 Это на top server.
Go to the top of the page
+Quote Post

22 страниц V   1 2 3 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsWebstats
Веб-статистика для хаба
33 Saymon21 33 369 12.3.2017, 15:29 Посл. сообщение: 000000
No New Posts От: Webstats
От темы с ID: 2193
0 Win32 4 527 10.11.2009, 6:28 Посл. сообщение: Win32
No New Posts От: Webstats
От темы с ID: 2193
0 mariner 4 729 26.7.2009, 10:44 Посл. сообщение: mariner

 



RSS Сейчас: 19.3.2024, 10:01