Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Скрипты для RusHub'а _ Webstats

Автор: Saymon 28.8.2010, 0:04

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

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

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


Пример работы http://mydc.ru/r/?http://www.test-rus.hub21.ru/hubstats/

PSS. PomanoB, пусть пока хотябы это будет. big_smile.gif

 webstats.7z ( 3.31 мегабайт ) : 52
 

Автор: philoum 18.12.2010, 9:28

hi
i have this error :

Fatal error: Class 'XSLTProcessor' not found in K:\P2P\Rushub2010\scripts\www\hubstats\index.php on line 66

can u help me please ?
thanks u
Greetings

Автор: mariner 18.12.2010, 10:16

You are missing one php module php5-xsl.

Автор: philoum 18.12.2010, 10:32

Цитата(mariner @ 18.12.2010, 11:16) *
You are missing one php module php5-xsl.



Oh! thanks u
and so where i can find it and where to put it please ?
greetings

Автор: PomanoB 18.12.2010, 11:13

If you have Windows, run the install php and select it from the list of modules and mark it for installation.

If you have Ubuntu:
sudo apt-get install php5-xsl

Автор: philoum 18.12.2010, 11:47

Цитата(PomanoB @ 18.12.2010, 12:13) *
If you have Windows, run the install php and select it from the list of modules and mark it for installation.

If you have Ubuntu:
sudo apt-get install php5-xsl


Oh thanks, im under w2k 2003 but i now active on php xlx
thnaks u very much and nice week-end
greetings

Автор: Angel_D 23.8.2011, 10:38

кто-нибудь это на RusHub 2.3.6 юзает? оно у него работает?
а то что-то и скрипт вылетает (видимо в попытке автообновления) выдавая в лог

Цитата
[Tue Aug 23 10:24:52 2011] .../Program Files/RusHub/scripts/webstats.lua:140: warning: function 'GetConfig' was deprecated. Use 'Config[sName]' instead
[Tue Aug 23 10:24:52 2011] table index is nil
[Tue Aug 23 10:33:24 2011] .../Program Files/RusHub/scripts/webstats.lua:140: warning: function 'GetConfig' was deprecated. Use 'Config[sName]' instead
[Tue Aug 23 10:33:24 2011] table index is nil

да и WEB страницу не показывает...
Цитата
Удаленный сервер или файл не найден

(другое по указанному адресу отображается без проблем. .htaccess пробовал убрать)

Автор: CrazyKiller 23.8.2011, 11:45

Цитата(Angel_D @ 23.8.2011, 11:38) *
кто-нибудь это на RusHub 2.3.6 юзает? оно у него работает?
а то что-то и скрипт вылетает (видимо в попытке автообновления) выдавая в лог

да и WEB страницу не показывает...

(другое по указанному адресу отображается без проблем. .htaccess пробовал убрать)


читайте изменение в РусХабе, изменились обращение команд.

Автор: Angel_D 23.8.2011, 22:07

Цитата
читайте изменение в РусХабе, изменились обращение команд.

в принципе что-то такое и предполагал, вот и решил обратить внимание автора скрипта - лучше его то я точно не справлюсь.
паразитивная логика, но оно ж ведь так. big_smile.gif

...ну и опять таки - проблемы с кодировками под виндой.
если не сложно - хотелось бы вариант для cp1251.

Автор: PomanoB 24.8.2011, 5:33

После 34 строчки, assert(conn:execute("SET sql_mode=''")), добавь:
assert(conn:execute("SET NAMES cp1251"))

Автор: Angel_D 24.8.2011, 9:06

Цитата
После 34 строчки, assert(conn:execute("SET sql_mode=''")), добавь:
assert(conn:execute("SET NAMES cp1251"))

спасибо. с БД вопрос решился, но видимо в шаблоне еще что-то...
в index.php и block.php всё, где было написано UTF-8 на CP-1251, но русские символы от этого менее кракозябистыми не стали.

ну и опять таки - проблема отваливания скрипта актуальна...

Автор: PomanoB 24.8.2011, 16:56

Не понял, в вебе теперь те же кракозябры, но в cp1251? Дай ссылку на веб

Автор: Angel_D 24.8.2011, 17:35

http://mydc.ru/r/?http://dc.4local.ru/webstat/index.php?action=users&page=3

а с вылетанием скрипта (апдейтом его под новою версию) какие перспективы? surrender.gif

а... еще... почему-то показывает "операторами" тех, кто ну точно не операторы (проверил по базе логинов)

Автор: Saymon21 24.8.2011, 20:19

Цитата
а... еще... почему-то показывает "операторами" тех, кто ну точно не операторы (проверил по базе логинов)

в webstats.lua
Код
tProfDescr = {
    [0] = "HubOwner",
    [1] = "Master",
    [2] = "Moderator",
    [3] = "Operator",
    [4] = "VIP-User",
    [5] = "User",
    [-1] = "Guest",
    }

Настрой профили под себя..

Обновил скрипт webstats.lua
add: assert(conn:execute("SET NAMES cp1251"))
fix: webstats.lua:140: warning: function 'GetConfig' was deprecated. Use 'Config[sName]' instead
fix: обновил функцию экранирования.

Автор: PomanoB 24.8.2011, 21:19

Очисти базу данных, такого быть не должно

Автор: Angel_D 25.8.2011, 8:50

Цитата
Настрой профили под себя..

затупииил... сорри beat_brick.gif

Цитата
Обновил скрипт webstats.lua

спасибо, скрипт не вылетает.

немного вопросов по работе скрипта...
у пользователя был один IP, потом IP сменился - я по поиску по логину увижу только его последний IP, поиску по IP - в базе будет только его последний IP?

Цитата
Очисти базу данных, такого быть не должно

попробовал. не помогло.
обновил плагин (файлы шаблона тоже на всякий случай с нового архива взял) - тоже кракозябы.
база cp1251 и в неё вроде как всё корректно записано (русские логины/описания я там видел). на на странице - http://mydc.ru/r/?http://dc.4local.ru/webstat/index.php?action=users&new

С кодировками заметил еще такую странность...
Берём пользователя Х - http://mydc.ru/r/?http://dc.4local.ru/webstat/index.php?action=user&nick=%D0%A0%D0%B0%D0%B4%D0%BE%D0%BD%D0%B5%D0%B6
Красота ника, как мы видим, неописуема. Берется она с таблицы ws_users которая в кодировке cp1251_general_ci и данные в эту таблицу пишет скрипт (естественно).
НО поле "профиль" отобразилось вполне себе корректно (таблица ws_profiles той же кодировки), хотя эти данные в базу тоже пишет скрипт...

Автор: PomanoB 25.8.2011, 9:04

Хм, а попробуй тогда удалить строчку 45 ($row['nick'] = iconv('CP1251','UTF-8', $row['nick']);) в inc/user.php.

Автор: CrazyKiller 25.8.2011, 11:14

Кто поможет ?
Ubuntu Server 11.04.
пакет php5-xsl ставил, не помогло.

Код
PHP Fatal error:  Class 'XSLTProcessor' not found in /www/dc.triolan.in.ua/st/index.php on line 66

Код
Строка в index.php     $proc = new XSLTProcessor();



Разобрался, оказывается просто нужна добавить воды, ( Перегрузить Сервер для Применение модуля ( Пакета ) )

У меня тоже проблема с кодировкой !

Ставлю utf8_general_ci, база мускула понимает отлично, кракозябл нет в базе, а вот сам сайт уже показывает вопросы на Русские слова, как решить ?

Автор: PomanoB 25.8.2011, 11:56

Angel_D, еще остались кракозябры:
1. Удали строку 46 ($row['description'] = iconv('CP1251','UTF-8', $row['description']);) в файле inc/user.php
2. Удали строку 141 ($row['description'] = iconv('CP1251','UTF-8', $row['description']);) в файле inc/users.php (Это другой файл, не тот же что и предыдущий!)
3. Удали строку 20 ($row['topic'] = iconv('CP1251','UTF-8',$row['topic']);) в файле inc/stat.php
4. Строку 30 там же измени: $user -> appendChild($contentXML -> createElement('nick', iconv('CP1251','UTF-8',htmlspecialchars($row['nick'])))); => $user -> appendChild($contentXML -> createElement('nick',htmlspecialchars($row['nick'])));
5. Измени там же строку 42: $user -> appendChild($contentXML -> createElement('nick', iconv('CP1251','UTF-8',htmlspecialchars($row['nick'])))); => $user -> appendChild($contentXML -> createElement('nick',htmlspecialchars($row['nick'])));


CrazyKiller, а поле Профиль на сайте при щелчке по пользователю как, русские буквы или вопросы ?

Автор: Saymon21 25.8.2011, 12:02

[offtopic] PomanoB, ты ведь хотел как-то новую версию webstats пилить... Что там как? [/offtopic]

Автор: PomanoB 25.8.2011, 12:09

Новая версия была почти готова, в принципе её можно использовать, но я решил её полностью переделать так что новая версия+ будет нескоро. Если хочешь, могу скинуть ту версию в личку

Автор: Angel_D 25.8.2011, 12:29

спасибо, всё работает. big_smile.gif (сорри, вопросы отписал, а потом увидел что уже и ответы есть big_smile.gif )

Автор: CrazyKiller 25.8.2011, 13:21

PomanoB

Поле Профиль весь в вопросиках !
Поле Профиль в Базе Мускул нормально отображает, на русском !

Автор: Angel_D 25.8.2011, 14:38

продолжаю баловство со скриптом...
вопрос по "обновлению статистики избранных хабов".
имеем хаб с требованием минимальной шарой в 320 гиг - с него скрипт cli.php не может обновить статистику. судя по экспериментам, именно из-за требования в 320 гиг и не получается.
я так полагаю, скрипт коннектится на хаб эмитируя шАру. полагаю есть вариант в скрипте эту цифру увеличить (скажите только где), либо есть вариант пустить плагин от имени зарегистрированного пользователя (скажите только где их прописать).

с юзербарами то ли не разобрался, то ли они не работают (404 ошибку выдает), толи я опять туплю не понимаю где.

Кстати, было бы просто великолепно, если бы в шаблоне была закладка для графиков генерируемых http://mydc.ru/topic3768.html.

Автор: Saymon21 25.8.2011, 14:43

Цитата
полагаю есть вариант в скрипте эту цифру увеличить (скажите только где)

по всей видимости в ~/www/hubstats/inc/client.class.php
Код
private $User = array('nick' => 'HubList', 'pass' => 'mygoodpass', 'share' => '293892774133',
                          'description' => 'Bot for hublist', 'client' => 'gl++', 'client_version' => '5.90',
                          'mode' => 'A', 'hubs' => '2/4/0', 'slots' => '10',
                          'email' => 'bot@bot.bot');

Автор: Angel_D 25.8.2011, 15:07

так же есть предложение в "избранных хабах" кнопку "Добавить хаб" сделать опциональной.
ну вот, к примеру, хочется сделать статистику по своему хабу, ну есть желание мониторить еще несколько хабов, но мониторить другие хабы и генерить им юзербары желания нет - ну не хочется в помойку превращать, хочется чтобы действительно ИЗБРАННЫЕ хабы были - себе то и через pma хаб добавишь...

...и еще одну штуку накопал big_smile.gif
"Тип хаба" - как ни странно, скрипт под RusHub преспокойно определяет PtokaX и не определяет RusHub big_smile.gif

Цитата
по всей видимости в ~/www/hubstats/inc/client.class.php

спасибо. действительно оно.

Автор: Saymon21 25.8.2011, 15:30

Цитата
"Тип хаба" - как ни странно, скрипт под RusHub преспокойно определяет PtokaX и не определяет RusHub

Ничего странного. Эта версия пингера не поддерживает русхабы, во время перевода вебчасть и пингер не затрагивались, затрагивался только скрипт, который устанавливается на хаб - webstats.lua

Автор: Angel_D 25.8.2011, 15:41

Цитата
Ничего странного. Эта версия пингера не поддерживает русхабы

да это я понимаю, это я так... просто что б имели ввиду. big_smile.gif

так что там с юзербарами? я просто ни со своего хоста сгенеренный юзербар не увидел, ни с предложенной тестовой ссылки - возникло желание уточнить. big_smile.gif

Автор: PomanoB 25.8.2011, 18:41

CrazyKiller, попробуй проделать то что писал Angel_D, начиная с http://mydc.ru/topic3834.html?view=findpost&p=40005

Чтобы убрать кнопку добавления хаба, удали в templates/hubs.xsl строки с 103 по 154 включительно
Насчет юзербара - у тебя IIS, вроде там было какое-то средство импорта правил реврита из .htaccess

Автор: Angel_D 25.8.2011, 21:57

Цитата
Насчет юзербара - у тебя IIS, вроде там было какое-то средство импорта правил реврита из .htaccess

попробовал проконсультироваться у на эту тему показав о чем речь... ответили следующее... (может вам поможет при дальнейшей работе над скриптом)

Цитата
у нас реврайти поддерживаются


Цитата
"Не нато передвать чистый текст, закодируйте строку base64_encode и потом ее раскодируйте base64_decode"


Цитата
реврайт с таким кол-вом аргументов это убить себя

Автор: PomanoB 25.8.2011, 22:22

Аргумент там только один

Скажи что бы сделали
RewriteRule ^hub([0-9]+).xml$ inc/rss.php?hub=$1 (необязательно, это для rss)
RewriteRule ^hub_(.*)_userbar.(gif|png)$ inc/img.php?ub=$1

Автор: Angel_D 26.8.2011, 23:40

Цитата
Скажи что бы сделали
RewriteRule ^hub([0-9]+).xml$ inc/rss.php?hub=$1 (необязательно, это для rss)
RewriteRule ^hub_(.*)_userbar.(gif|png)$ inc/img.php?ub=$1

сделали - не помогло.
для универсальности всетаки рекомендуют кодировать строку. big_smile.gif

Цитата
сделали - не помогло.

что-то еще подшаманили без меня по вашему совету и помогло big_smile.gif
но все равно матерясь кричат что "кодировать надо" big_smile.gif

Автор: PomanoB 27.8.2011, 10:06

Ну да, надо было закодировать, но и так пашет big_smile.gif

Автор: 0 12.3.2017, 15:29

Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\site.ru\inc\config.php:1) in C:\OpenServer\domains\site.ru\index.php on line 6

Что за ошибка и как исправить?