myDC.ru

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

 

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

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


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

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




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 килобайт ) Кол-во скачиваний: 134

Демо: 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 килобайт ) Кол-во скачиваний: 89


Процедура установки:
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 > »   
Начать новую тему
Ответов
Enyby
сообщение 29.8.2011, 22:54
Сообщение #2


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

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




Дополнения:
1. Есть проблемы с автодетекцией кодировки хаба. Если у вас не будет хабов с кодировкой utf-8, то вы можете заменить 5 строку файла refresh.php следующими двумя (только для версии 0.01):

function detect_encoding($string) {
return 'Windows-1251';

2. Хаблист работает постоянно в режиме клиента и только в начале каждого часа, в течение первых 5 минут, он работает как пингер.

3. Хаблист заточен под пингование 1 раз в 5 минут. Если вы используете другой интервал, то графики на странице хаба, могут иметь удручающий вид. Можете попробовать их заменить на флеш-компоненты, это должно обеспечить лучший вид.
Go to the top of the page
+Quote Post
Ksan
сообщение 29.8.2011, 23:40
Сообщение #3


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Цитата
3. Хаблист заточен под пингование 1 раз в 5 минут.

Не удивлюсь, если такой пингер быстро забанят.
И нахожу, что пункт 3 противоречит пункту 2:
Цитата
2. Хаблист работает постоянно в режиме клиента и только в начале каждого часа, в течение первых 5 минут, он работает как пингер.

Либо опишите человеческим языком, чтоб не было непоняток.
Go to the top of the page
+Quote Post
VNoName
сообщение 30.8.2011, 7:44
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 43
Регистрация: 15.3.2009
Пользователь №: 2 605
Спасибо сказали: 11 раз




а зачем под 7 статических значений заводить целую таблицу(hl_status)?
чтоб запросы были посложнее?
Go to the top of the page
+Quote Post
Enyby
сообщение 30.8.2011, 8:28
Сообщение #5


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

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




Цитата(Ksan @ 29.8.2011, 23:40) *
Не удивлюсь, если такой пингер быстро забанят.
И нахожу, что пункт 3 противоречит пункту 2:
Либо опишите человеческим языком, чтоб не было непоняток.

Не забанят. Один раз в час он работает как пингер, т. е. отсылает BotINFO и получает HubINFO. Все остальное время он входит как обычный клиент DC сети на хаб, получает список пользователей и имя хаба. На основании списка пользователей он определяет текущий онлайн и общую шару.

Цитата(VOVKT @ 30.8.2011, 7:44) *
а зачем под 7 статических значений заводить целую таблицу(hl_status)?
чтоб запросы были посложнее?

На начальном этапе этих значений было 3. В процессе эволюции хаблиста их стало семь. Так что это совсем не константы. К примеру, можно добвить статус "Хаб не соответствует протоколу NMDC" или "Устаревшее серверное ПО". Это первый аспект. Второй аспект связан с тем, что на эту таблицу стоит внешний ключ из другой таблицы, что обеспечивает целостность и непротиворечивость данных в БД.
Go to the top of the page
+Quote Post
VNoName
сообщение 30.8.2011, 8:42
Сообщение #6


Участник
**

Группа: Пользователи
Сообщений: 43
Регистрация: 15.3.2009
Пользователь №: 2 605
Спасибо сказали: 11 раз




А это видимо не константы?
Цитата(Enyby @ 30.8.2011, 9:28) *
"Хаб не соответствует протоколу NMDC" или "Устаревшее серверное ПО"

такая структура подходит для MS Access.
вот еслиб их было 1000 понять еще можно было понять а так это просто массив из 7ми элементов в какомнить файле err.lng
Go to the top of the page
+Quote Post
Enyby
сообщение 30.8.2011, 8:45
Сообщение #7


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

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




Лично мне проще править БД, а не править файл констант + БД. Как по мне, так без разницы. МНе было удобнее сделать в БД.

Но, с другой стороны, если писать админку, то в моем случае статусы можно будет редактировать или переводить на другие языки рядовым пользователям, а в вашем случае только вебмастеру сайта.
Go to the top of the page
+Quote Post
VNoName
сообщение 30.8.2011, 8:52
Сообщение #8


Участник
**

Группа: Пользователи
Сообщений: 43
Регистрация: 15.3.2009
Пользователь №: 2 605
Спасибо сказали: 11 раз




Цитата(Enyby @ 30.8.2011, 9:45) *
если писать админку, то в моем случае статусы можно будет редактировать или переводить на другие языки рядовым пользователям, а в вашем случае только вебмастеру сайта.

http://php.net/manual/ru/
fopen...fwrite...fclose
сейчас несколько десятков добровольцев переводят документацию php так что чтобы отредактировать файл большого ума не надо

и кстати специально для простоты перевода кокраз и пишут .lng файлы
Go to the top of the page
+Quote Post
mariner
сообщение 30.8.2011, 9:08
Сообщение #9


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




А еще есть православный gettext, но вы о нем не слышали :3

Цитата
Лично мне проще править БД

Сразу видно человека, который не в курсе про yaml


Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 30.8.2011, 9:22
Сообщение #10


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

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




Я очень за вас рад. Каждый пишет так, как ему удобнее.

А за gettext спасибо. Возьму на заметку. Видел его применение в коде phpBB, но тогда не разбирался что, да почему. Пока, что повезло и не довелось делать мультиязычность.

PS И да, тут столько желающих переписать "правильно" этот хаблист... Вам нужно код на github и совместными усилиями вы приведете его из мрачного Средневековья в светлое Будущее!
Go to the top of the page
+Quote Post
VNoName
сообщение 30.8.2011, 9:36
Сообщение #11


Участник
**

Группа: Пользователи
Сообщений: 43
Регистрация: 15.3.2009
Пользователь №: 2 605
Спасибо сказали: 11 раз




Цитата(Enyby @ 30.8.2011, 10:22) *
Каждый пишет так, как ему удобнее.

это лишь минус языка)
и кстати cms пишут по правилам)
Go to the top of the page
+Quote Post
Enyby
сообщение 30.8.2011, 10:37
Сообщение #12


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

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




По поводу редактирования файлов:
Админ и вебмастер, обычно, разные люди. И админу спокойнее когда нельзя с сайта править исполняемые файлы. Конечно можно заводить файлы конфигураций или тот же YAML, но их можно читать на сайте, введя url к ним. Можно закрыть доступ к одной директории, но в случае nginx это нужно дергать админа, так как прав у вебмастера обычно нет. Ну и т. д. А с базой все проще.

Еще одна причина - целостность базы. Я могу подключится из С# к базе и организовать вывод. А если использовать сторонние файлы, то потребуется и их подключать, а это уже проблемы с доступом, если файлы находятся на другой машине (БД доступно по сети) и т. д.

Резюме:
Каждый выбирает технологии и те или иные типовые решения исходя из своего опыта и/или текущей ситуации.

Простой пример:
У меня на одном сервере нет root'а. Поэтому, чтобы управлять cron'ом, он реализован на php и работает через БД. И, если раньше, я бегал за админом, чтобы изменить конфиг cron'а, то теперь я сам себе хозяин.

Кстати. Мне вот тут пришла одна забавная идея. Код есть. Доступ открыт. Вот пусть VOVKT перепишет хаблист на lng файлы, а mariner на YAML. И каждый будет рад и счастлив. big_smile.gif

И вообще. Приглашаю всех желающих. Каждый исправляет то, что ему не нравится и получает хаблист своей мечты с блэк-джеком и шлюхами.

А по поводу себя - на тот момент я, конечно же, не знал ничего о YAML и lng. Но если бы я писал сейчас - написал бы точно так же. ;-)

PS Если есть какие-то конкрентые вопросы - обращайтесь. По поводу предложений, улучшений и со стебом - не по адресу.
Go to the top of the page
+Quote Post
VNoName
сообщение 30.8.2011, 13:15
Сообщение #13


Участник
**

Группа: Пользователи
Сообщений: 43
Регистрация: 15.3.2009
Пользователь №: 2 605
Спасибо сказали: 11 раз




я не стебался) и никак не хотел чтоб на это было похоже) просто увидел что у тебя стоит версия 0.01 а это или ты хочешь сам дорабатывать и т.п) или ктото будет дорабатывать) значит можно указывать на неточности и ошибки) типа:
Код
if(!isset($_GET['id'])) {
    not_found();
}
elseif(!(intval($_GET['id']) > 0)) {
    not_found();
}

ну и т.д
Go to the top of the page
+Quote Post
mariner
сообщение 30.8.2011, 13:34
Сообщение #14


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Цитата
mariner на YAML

Я лишь про инициализацию конфигов.
Go to the top of the page
+Quote Post
Enyby
сообщение 30.8.2011, 15:11
Сообщение #15


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

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




laughing.gif "Мопед не мой, я только объяву повесил"

Версию поставил такую, чтобы не было претензий. На деле это уже третья версия хаблиста.
Код
if(!isset($_GET['id'])) {
    not_found();
}
elseif(!(intval($_GET['id']) > 0)) {
    not_found();
}

Это от того что писалось не все и сразу, а допиливалось в течение длительного интервала времени.
Go to the top of the page
+Quote Post
ke(x)one
сообщение 1.9.2011, 22:11
Сообщение #16


Участник
**

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




у меня как то он не работает можете кинуть рабочий у кого есть?
Go to the top of the page
+Quote Post
Saymon21
сообщение 1.9.2011, 22:39
Сообщение #17


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Что значит не работает?
Go to the top of the page
+Quote Post
CrazyKiller
сообщение 2.9.2011, 0:35
Сообщение #18


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

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




Цитата(ke(x)one @ 1.9.2011, 23:11) *
у меня как то он не работает можете кинуть рабочий у кого есть?


Подробнее, что не работает, Логи последние предоставьте, тут нет гадалок, их уволили ! big_smile.gif
Go to the top of the page
+Quote Post
ke(x)one
сообщение 2.9.2011, 11:36
Сообщение #19


Участник
**

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




Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\hublist\index.php on line 75

Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\hublist\index.php on line 107


показывает что хаб добавлен а самого хаба не показывает ни одного
Go to the top of the page
+Quote Post
Enyby
сообщение 2.9.2011, 11:41
Сообщение #20


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

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




Раскомментируйте 43 строку index.php и полученный текст запроса выполните в базу руками. Там будет ошибка. Напишите ее сюда.
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsTiny Hublist
Программа для создания хаблистов
129 alex82 117 698 12.11.2024, 13:08 Посл. сообщение: CyberGhost404
No New Posts ВАЖНО: Topic has attachmentsХаблист RusHub
13 ShadoWx 25 306 7.10.2014, 8:08 Посл. сообщение: mod
No new Хаблист BCETI.com
25 alex82 33 568 6.3.2013, 12:44 Посл. сообщение: mod
No New Posts Опять про хаблист
5 dj_crazy_joker 8 105 6.2.2012, 0:02 Посл. сообщение: dj_crazy_joker
No New Posts От: Tiny Hublist
От темы с ID: 4811
1 Артём 5 941 27.12.2011, 15:28 Посл. сообщение: Mellon
No new votes Опрос: Topic has attachmentsНормальный хаблист
Стоит ли выкладывать в паблик нормальный опен соурс php хаблист?
30 Enyby 34 060 21.11.2011, 15:20 Посл. сообщение: Enyby
No New Posts От: Public PHP hublist by Enyby
От темы с ID: 4961
0 Saymon21 5 217 20.11.2011, 21:22 Посл. сообщение: Saymon21
No new Topic has attachmentsSmall DC HubList (Хаблист) Создай свой хаблист.
CMS для создания хаблиста.
62 Stribog 71 011 14.10.2011, 17:45 Посл. сообщение: KT315
No New Posts От: Public PHP hublist by Enyby
От темы с ID: 4961
1 Mellon 5 900 12.10.2011, 8:23 Посл. сообщение: Артём
No New Posts От: Tiny Hublist
От темы с ID: 4811
1 STIVAN 6 289 18.4.2011, 20:20 Посл. сообщение: Saymon21
No new Topic has attachmentsХаблист
42 Saymon21 50 484 14.4.2011, 22:05 Посл. сообщение: Stribog
No new От: Small DC HubList (Хаблист)
От темы с ID: 4709
43 Alexey 40 912 31.3.2011, 19:38 Посл. сообщение: EvilNico
No New Posts От: Хаблист
От темы с ID: 2706
1 Kingston 6 031 7.1.2011, 18:39 Посл. сообщение: Nickolya
No New Posts От: Хаблист
От темы с ID: 2706
0 absent 5 249 4.1.2011, 1:16 Посл. сообщение: absent
No New Posts lock2key для hublist'а
Код для работы с хаблистом.
4 Enyby 11 897 29.7.2010, 13:04 Посл. сообщение: Enyby

 



RSS Сейчас: 23.11.2024, 4:53