myDC.ru

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

 

> Public PHP hublist (Хаблист) by Enyby, Публичный открытый хаблист на PHP

Рейтинг 5 V
Enyby
сообщение 29.8.2011, 10:45
Сообщение #21


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Public PHP hublist by Enyby


Версия: 0.03
Платформа: Any
Автор: Enyby

Описание:
Данный хаблист свободно распостраняем и изменяем в любых разумных пределах. Наличие ссылки на разработчика не обязательно, поддержки и дальнейшего развития хаблиста от разработчика не будет.
Админки нет, все изменения через базу данных. Есть экспорт в bat, xml и поддержка прямого импорта в DC клиенты. Есть простой сервер для авторегистрации хабов.
Пингует как пингер и как клиент.
Корректная работа со всеми хабами не гарантируется.

v0.03
ftp://inethub.olvi.net.ua/pub/Soft/Server...blist_v0.03.rar
Прикрепленный файл  Enyby_hublist_v0.03.rar ( 17.91 килобайт ) Кол-во скачиваний: 128

Демо: http://inethub.olvi.net.ua/hl_test/

Изменения:
+ добавлены всплывающие подсказки
* исправлена работа пингера в PHP < 5.3
* исправлен вывод меню


v0.01
ftp://inethub.olvi.net.ua/pub/Soft/Server...yby-hublist.rar
Прикрепленный файл  Enyby_hublist.rar ( 16.36 килобайт ) Кол-во скачиваний: 87


Процедура установки:
1. Распаковать архив в папку веб сервера.
2. Указать в config.php парметры для подключения к БД.
3. Импортировать в БД скрипт db.sql.
4. Поставить на крон запуск refresh.php.

По желанию можно поставить на крон dchub.php для импорта списка хабов на свой хаб. Этот скрипт будет обновлять hubs.lua, который можно подключать в скрипты хаба.
Также, можно настроить запуск server.php, тогда в хаблисте будет доступна авторегистрация хабов. Выглядит это так - в настройках хаба, указывается адрес вашего хаблиста и хаб сам сообщает хаблисту свое состояние через равные интервалы времени.

Если вас интересует встраивание хаблиста в ваш сайт, вам потребуется изменить код header.php, отключив вывод общего оформления страницы или же использовать iframe, встраивая страницу без изменений.

Предполагаемые проблемы и ограничения:
1. Если хаб не соответствует протоколу NMDC возможны проблемы с его пингованием.
2. Большинство нераспостраненных хабов (включая RusHub) могут иметь неправильное определение серверного софта.
3. Для работы с большим числом хабов, потребуется переписывать модуль пингования на работу с пулом подключений, так как, в данный момент, модуль открывает соединения ко всем хабам одновременно, что может повлечь проблемы, при достаточном большом числе хабов.
4. Часть функционала, навроде хинтов по наведению, доступно в коде, но не доступно на сайте, так как не подключены скрипты для вывода этих хинтов.
5. Возможны проблемы при работе с хабами на кириллических доменах.
6. Скрипт не тестировался на линуксе - возможно будут какие-то проблемы.

Посмотреть в реале, что из себя представляет хаблист можно по адресам:
Прародитель данного хаблиста - может иметь функционал отсутствующей в данном релизе
Кастомизированный вариант - этот хаблист со своими дополнениями и улучшениями
Почти дефолтный вариант - этот хаблист без улучшений и каких было редактирований.
Кастомизированный вариант - этот хаблист со своими дополнениями и улучшениями
Кастомизированный вариант - этот хаблист со своими дополнениями и улучшениями
Go to the top of the page
+Quote Post
7 страниц V  < 1 2 3 4 > »   
Начать новую тему
Ответов
ke(x)one
сообщение 2.9.2011, 11:42
Сообщение #22


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 16.2.2011
Пользователь №: 8 797
Спасибо сказали: 1 раз




эт как? я особо так не мыслю по хаблистам
Go to the top of the page
+Quote Post
Enyby
сообщение 2.9.2011, 11:45
Сообщение #23


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Это убрать два слеша в начале 43 строке. Зайти снова на страницу хаблиста. В начале появится текст вида:
SELECT hub.id, hub.name, hub.description, hub.host, hub.port, state.users, state.share AS share, online, date.value AS date,
avg_users*rel AS avg_users, avg_share*rel AS avg_share, status.name AS status,
max_users, max_share, hint
FROM hl_hub AS hub LEFT JOIN hl_state AS state ON hub.id = state.id_hub AND hub.id_last_date = state.id_date
LEFT JOIN hl_date AS date ON hub.id_last_date = date.id
INNER JOIN hl_status AS status ON status.id = hub.id_status
LEFT JOIN (
SELECT id_hub, COUNT(users)/2016 AS rel
FROM hl_state AS state INNER JOIN hl_date AS date ON state.id_date = date.id
WHERE date.value BETWEEN NOW() - INTERVAL 1 WEEK AND NOW()
GROUP BY state.id_hub
) AS st ON st.id_hub = hub.id
WHERE block = 0
ORDER BY

Этот текст нужно скопировать и выполнить как запрос в phpMyAdmin. Там будет текст ошибки, который гнужно сюда скопировать.


Скорее всего вы что-то напутали с базой данных.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 2.11.2011, 19:14
Сообщение #24


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




у меня тупой вопрос, а под windows работает этот hublist?
в качестве cron я пробвал MoodleCron-Setup.exe
Go to the top of the page
+Quote Post
CrazyKiller
сообщение 2.11.2011, 22:29
Сообщение #25


Продвинутый участник
****

Группа: Пользователи
Сообщений: 189
Регистрация: 20.4.2009
Пользователь №: 3 121
Спасибо сказали: 10 раз




Цитата(Гарик БатьковиЪ @ 2.11.2011, 20:14) *
у меня тупой вопрос, а под windows работает этот hublist?
в качестве cron я пробвал MoodleCron-Setup.exe


Планировщик Заданий вас спасет big_smile.gif
Go to the top of the page
+Quote Post
Enyby
сообщение 3.11.2011, 0:01
Сообщение #26


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Цитата(Гарик БатьковиЪ @ 2.11.2011, 19:14) *
у меня тупой вопрос, а под windows работает этот hublist?

Работает под любой операционной системой с вебсервером, php и любым планировщиком.
Цитата(Гарик БатьковиЪ @ 2.11.2011, 19:14) *
в качестве cron я пробвал MoodleCron-Setup.exe

Как уже было сказано, можно использовать "планировщик задач". Хотя это не принципиально, хоть nnCron.

Сервер http://inethub.olvi.net.ua/dc/ работает на Windows и использует планировщик задач как замену Cron'а.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 3.11.2011, 1:51
Сообщение #27


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




может я что-то сделал не правильно, но у меня добовлять, добовляется в базу MySQL, но статискика хабов не собирается unhappy.gif
а если через любой браузер я открываю файл refresh.php , идёт постоянно ошибка
Notice: Undefined offset: 0 in D:\***\***\hublist\dc.php on line 179
Причина редактирования: Не надо так писать сообщения! Читать сложно!
Go to the top of the page
+Quote Post
Артём
сообщение 3.11.2011, 8:30
Сообщение #28


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 605
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 765 раз




Цитата(Гарик БатьковиЪ @ 3.11.2011, 1:51) *
может я что-то сделал не правильно...

ты прав, ты сделал лишней центровку текста!
Go to the top of the page
+Quote Post
Enyby
сообщение 3.11.2011, 10:52
Сообщение #29


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Цитата(Гарик БатьковиЪ @ 3.11.2011, 1:51) *
может я что-то сделал не правильно, но у меня добовлять, добовляется в базу MySQL, но статискика хабов не собирается unhappy.gif
а если через любой браузер я открываю файл refresh.php , идёт постоянно ошибка
Notice: Undefined offset: 0 in D:\***\***\hublist\dc.php on line 179
Содержимое таблицы с хабами в студию. У вас какие-то проблемы с функцией чтения сокетов хабов. Советую так же проверить наличие в php расширения для работы с сокетами.

Еще можете написать в 177 строчке файла dc.php вместо:
Код
function read(&$sockets, &$read, &$hubs, $debug = false) {
написать:
Код
function read(&$sockets, &$read, &$hubs, $debug = false) { var_dump($sockets, $read, $hubs, $debug);
А потом прислать сюда вывод с вызова refresh.php


Спасибо сказали:
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 3.11.2011, 12:57
Сообщение #30


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




ну сначала я меня это была проблема, с сокетами в строке 54 потом я разшарил в php и стала другая, выше показанна...

заменил

Код
function read(&$sockets, &$read, &$hubs, $debug = false) {

на
Код
function read(&$sockets, &$read, &$hubs, $debug = false) { var_dump($sockets, $read, $hubs, $debug);



теперь при открытии refresh.php в браузере, хрень какая-то, ну вот сами взглянте refresh.php
Go to the top of the page
+Quote Post
Enyby
сообщение 3.11.2011, 20:38
Сообщение #31


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Цитата(Гарик БатьковиЪ @ 3.11.2011, 12:57) *
теперь при открытии refresh.php в браузере, хрень какая-то, ну вот сами взглянте refresh.php
Это не хрень. Это называется отладка. Можешь убирать изменения, я понял в чем проблема.

У тебя почему-то работа с ассоциативным массивом сокетов дает на выходе обычные перечисляемые массивы. Видно в этом PHP реализация такая. Можешь переставить на 5.3 или же в файле dc.php добавить одну строку в трех местах, отмеченных звездочкой
Код
<...>

function write(&$sockets, &$write, &$hubs, $debug = false){
    foreach($write as $key => $socket) {
*
        $hub = $hubs[$key];

<...>

function read(&$sockets, &$read, &$hubs, $debug = false) {
    foreach($read as $key => $socket) {
*
        $hub = $hubs[$key];

<...>

function error(&$sockets, &$error, &$hubs, $debug = false) {
    foreach($error as $key => $socket) {
*
        $hub = $hubs[$key];

<...>
строка вот эта:
Код
$key = array_search($socket, $sockets);
Должно решить все проблемы.

Какие люди "благодарные" пошли... Ну да ладно, это их проблемы.

С сервачком что-то там. То ли на графиках заткнулся, либо совпадение произошло, как я туда полез и графики посмотрел.

А так, товарищи мои сетевые, у кого баг подобный выше описанному, юзаем данный патчик (см. выше). Он таки рабочий, хотя изначально существовал в голове.
Со временем я начальный файлик в теме обновлю, чтобы на эти грабли поменьше наступали.

PS Нет. Таки дело в картинках. Стоит туда зайти, как сервер ложится.


Спасибо сказали:
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 3.11.2011, 21:17
Сообщение #32


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




Enyby, спасибо большое! заработало!
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 15.11.2011, 20:46
Сообщение #33


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




привет, Enyby у меня возникла новая проблема, при открытии статистики хаба вырубается апаче...
Go to the top of the page
+Quote Post
Enyby
сообщение 15.11.2011, 20:49
Сообщение #34


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Хе-хе. Она не возникла. Она и была. Я про нее писал уже:
Цитата
С сервачком что-то там. То ли на графиках заткнулся, либо совпадение произошло, как я туда полез и графики посмотрел.

Цитата
PS Нет. Таки дело в картинках. Стоит туда зайти, как сервер ложится.

Смотри логи, что там нарисовано.
Также поробуй Apache взять поновее или собери его не VC6, а VC9.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 15.11.2011, 21:44
Сообщение #35


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




Enyby, я заметил, что происходит только тогда, когда идёт более одного запроса
Go to the top of the page
+Quote Post
Enyby
сообщение 15.11.2011, 21:46
Сообщение #36


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Это как-то связано с генерацией картинкок. Может расширение GD не подключено? В любом случае, совет про обновление Апача по прежнему в силе.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 15.11.2011, 21:49
Сообщение #37


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




Enyby, ты сейчас про php_gd2.dll ?
Go to the top of the page
+Quote Post
Enyby
сообщение 15.11.2011, 21:51
Сообщение #38


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Именно. Я вообще у тебя ни одного графика не видел. Только я пытался их открыть, сразу сервер становился ежиком и уходил в туман.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 15.11.2011, 21:53
Сообщение #39


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




Enyby, было разшаренно.. а какие ещё библиотеки использует этот скрипт?
Go to the top of the page
+Quote Post
Enyby
сообщение 15.11.2011, 21:59
Сообщение #40


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 238 раз




Больше ничего не должен. Займись отладкой. После каждой строчки поочередно, начиная с последней, добавляй в конце:
Код
die('i am here');

Если сервер глохнет, то переставляй вставку на строчку выше и пробуй снова. Когда увидишь ответ "i am here", то ошибка будет в следующей строке скрипта.


Спасибо сказали:
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 16.11.2011, 21:13
Сообщение #41


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.6.2010
Пользователь №: 7 003
Спасибо сказали: 0 раз




Enyby, привет. у меня стоял apache_2.0.59-win32-x86-no_ssl.msi я его заменил на apache_2.2.14-win32-x86-no_ssl.msi но по прежнему не работает.. what.gif http://32net.org/hublist/
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsTiny Hublist
Программа для создания хаблистов
128 alex82 57 678 10.12.2014, 8:32 Посл. сообщение: Nickel89
No New Posts ВАЖНО: Topic has attachmentsХаблист RusHub
13 ShadoWx 8 778 7.10.2014, 8:08 Посл. сообщение: mod
No new Хаблист BCETI.com
25 alex82 16 796 6.3.2013, 12:44 Посл. сообщение: mod
No New Posts Опять про хаблист
5 dj_crazy_joker 3 484 6.2.2012, 0:02 Посл. сообщение: dj_crazy_joker
No New Posts От: Tiny Hublist
От темы с ID: 4811
1 Артём 2 456 27.12.2011, 15:28 Посл. сообщение: Mellon
No new votes Опрос: Topic has attachmentsНормальный хаблист
Стоит ли выкладывать в паблик нормальный опен соурс php хаблист?
30 Enyby 15 912 21.11.2011, 15:20 Посл. сообщение: Enyby
No New Posts От: Public PHP hublist by Enyby
От темы с ID: 4961
0 Saymon21 2 457 20.11.2011, 21:22 Посл. сообщение: Saymon21
No new Topic has attachmentsSmall DC HubList (Хаблист) Создай свой хаблист.
CMS для создания хаблиста.
62 Stribog 36 175 14.10.2011, 17:45 Посл. сообщение: KT315
No New Posts От: Public PHP hublist by Enyby
От темы с ID: 4961
1 Mellon 2 503 12.10.2011, 8:23 Посл. сообщение: Артём
No New Posts От: Tiny Hublist
От темы с ID: 4811
1 STIVAN 2 888 18.4.2011, 20:20 Посл. сообщение: Saymon21
No new Topic has attachmentsХаблист
42 Saymon21 29 069 14.4.2011, 22:05 Посл. сообщение: Stribog
No new От: Small DC HubList (Хаблист)
От темы с ID: 4709
43 Alexey 19 058 31.3.2011, 19:38 Посл. сообщение: EvilNico
No New Posts От: Хаблист
От темы с ID: 2706
1 Kingston 3 018 7.1.2011, 18:39 Посл. сообщение: Nickolya
No New Posts От: Хаблист
От темы с ID: 2706
0 absent 2 662 4.1.2011, 1:16 Посл. сообщение: absent
No New Posts lock2key для hublist'а
Код для работы с хаблистом.
4 Enyby 5 849 29.7.2010, 13:04 Посл. сообщение: Enyby

 



RSS Сейчас: 24.5.2018, 12:54