|
Здравствуйте, гость ( Вход | Регистрация )
|
![]()
Сообщение
#1
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Public PHP hublist by Enyby Версия: 0.03 Платформа: Any Автор: Enyby Описание: Данный хаблист свободно распостраняем и изменяем в любых разумных пределах. Наличие ссылки на разработчика не обязательно, поддержки и дальнейшего развития хаблиста от разработчика не будет. Админки нет, все изменения через базу данных. Есть экспорт в bat, xml и поддержка прямого импорта в DC клиенты. Есть простой сервер для авторегистрации хабов. Пингует как пингер и как клиент. Корректная работа со всеми хабами не гарантируется. v0.03 ![]() Демо: Изменения: + добавлены всплывающие подсказки * исправлена работа пингера в PHP < 5.3 * исправлен вывод меню v0.01 ![]() Процедура установки: 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. Скрипт не тестировался на линуксе - возможно будут какие-то проблемы. Посмотреть в реале, что из себя представляет хаблист можно по адресам: |
|
|
![]() |
![]()
Сообщение
#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 минут. Если вы используете другой интервал, то графики на странице хаба, могут иметь удручающий вид. Можете попробовать их заменить на флеш-компоненты, это должно обеспечить лучший вид. |
|
|
![]()
Сообщение
#3
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Цитата 3. Хаблист заточен под пингование 1 раз в 5 минут. Не удивлюсь, если такой пингер быстро забанят. И нахожу, что пункт 3 противоречит пункту 2: Цитата 2. Хаблист работает постоянно в режиме клиента и только в начале каждого часа, в течение первых 5 минут, он работает как пингер. Либо опишите человеческим языком, чтоб не было непоняток. |
|
|
![]()
Сообщение
#4
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз ![]() |
а зачем под 7 статических значений заводить целую таблицу(hl_status)?
чтоб запросы были посложнее? |
|
|
![]()
Сообщение
#5
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Не удивлюсь, если такой пингер быстро забанят. И нахожу, что пункт 3 противоречит пункту 2: Либо опишите человеческим языком, чтоб не было непоняток. Не забанят. Один раз в час он работает как пингер, т. е. отсылает BotINFO и получает HubINFO. Все остальное время он входит как обычный клиент DC сети на хаб, получает список пользователей и имя хаба. На основании списка пользователей он определяет текущий онлайн и общую шару. а зачем под 7 статических значений заводить целую таблицу(hl_status)? чтоб запросы были посложнее? На начальном этапе этих значений было 3. В процессе эволюции хаблиста их стало семь. Так что это совсем не константы. К примеру, можно добвить статус "Хаб не соответствует протоколу NMDC" или "Устаревшее серверное ПО". Это первый аспект. Второй аспект связан с тем, что на эту таблицу стоит внешний ключ из другой таблицы, что обеспечивает целостность и непротиворечивость данных в БД. |
|
|
![]()
Сообщение
#6
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз ![]() |
|
|
|
![]()
Сообщение
#7
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Лично мне проще править БД, а не править файл констант + БД. Как по мне, так без разницы. МНе было удобнее сделать в БД.
Но, с другой стороны, если писать админку, то в моем случае статусы можно будет редактировать или переводить на другие языки рядовым пользователям, а в вашем случае только вебмастеру сайта. |
|
|
![]()
Сообщение
#8
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз ![]() |
если писать админку, то в моем случае статусы можно будет редактировать или переводить на другие языки рядовым пользователям, а в вашем случае только вебмастеру сайта. fopen...fwrite...fclose сейчас несколько десятков добровольцев переводят документацию php так что чтобы отредактировать файл большого ума не надо и кстати специально для простоты перевода кокраз и пишут .lng файлы |
|
|
![]()
Сообщение
#9
|
|
![]() Местная ТехПоддержка ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз ![]() |
А еще есть православный gettext, но вы о нем не слышали :3
Цитата Лично мне проще править БД Сразу видно человека, который не в курсе про yaml |
|
|
![]()
Сообщение
#10
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Я очень за вас рад. Каждый пишет так, как ему удобнее.
А за gettext спасибо. Возьму на заметку. Видел его применение в коде phpBB, но тогда не разбирался что, да почему. Пока, что повезло и не довелось делать мультиязычность. PS И да, тут столько желающих переписать "правильно" этот хаблист... Вам нужно код на github и совместными усилиями вы приведете его из мрачного Средневековья в светлое Будущее! |
|
|
![]()
Сообщение
#11
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз ![]() |
|
|
|
![]()
Сообщение
#12
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
По поводу редактирования файлов:
Админ и вебмастер, обычно, разные люди. И админу спокойнее когда нельзя с сайта править исполняемые файлы. Конечно можно заводить файлы конфигураций или тот же YAML, но их можно читать на сайте, введя url к ним. Можно закрыть доступ к одной директории, но в случае nginx это нужно дергать админа, так как прав у вебмастера обычно нет. Ну и т. д. А с базой все проще. Еще одна причина - целостность базы. Я могу подключится из С# к базе и организовать вывод. А если использовать сторонние файлы, то потребуется и их подключать, а это уже проблемы с доступом, если файлы находятся на другой машине (БД доступно по сети) и т. д. Резюме: Каждый выбирает технологии и те или иные типовые решения исходя из своего опыта и/или текущей ситуации. Простой пример: У меня на одном сервере нет root'а. Поэтому, чтобы управлять cron'ом, он реализован на php и работает через БД. И, если раньше, я бегал за админом, чтобы изменить конфиг cron'а, то теперь я сам себе хозяин. Кстати. Мне вот тут пришла одна забавная идея. Код есть. Доступ открыт. Вот пусть VOVKT перепишет хаблист на lng файлы, а mariner на YAML. И каждый будет рад и счастлив. ![]() И вообще. Приглашаю всех желающих. Каждый исправляет то, что ему не нравится и получает хаблист своей мечты с блэк-джеком и шлюхами. А по поводу себя - на тот момент я, конечно же, не знал ничего о YAML и lng. Но если бы я писал сейчас - написал бы точно так же. ;-) PS Если есть какие-то конкрентые вопросы - обращайтесь. По поводу предложений, улучшений и со стебом - не по адресу. |
|
|
![]()
Сообщение
#13
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз ![]() |
я не стебался) и никак не хотел чтоб на это было похоже) просто увидел что у тебя стоит версия 0.01 а это или ты хочешь сам дорабатывать и т.п) или ктото будет дорабатывать) значит можно указывать на неточности и ошибки) типа:
Код if(!isset($_GET['id'])) { not_found(); } elseif(!(intval($_GET['id']) > 0)) { not_found(); } ну и т.д |
|
|
![]()
Сообщение
#14
|
|
![]() Местная ТехПоддержка ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз ![]() |
Цитата mariner на YAML Я лишь про инициализацию конфигов. |
|
|
![]()
Сообщение
#15
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
![]() Версию поставил такую, чтобы не было претензий. На деле это уже третья версия хаблиста. Код if(!isset($_GET['id'])) { not_found(); } elseif(!(intval($_GET['id']) > 0)) { not_found(); } Это от того что писалось не все и сразу, а допиливалось в течение длительного интервала времени. |
|
|
![]()
Сообщение
#16
|
|
![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 35 Регистрация: 16.2.2011 Пользователь №: 8 797 Спасибо сказали: 1 раз ![]() |
у меня как то он не работает можете кинуть рабочий у кого есть?
|
|
|
![]()
Сообщение
#17
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
Что значит не работает?
|
|
|
![]()
Сообщение
#18
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 189 Регистрация: 20.4.2009 Пользователь №: 3 121 Спасибо сказали: 12 раз ![]() |
|
|
|
![]()
Сообщение
#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 показывает что хаб добавлен а самого хаба не показывает ни одного |
|
|
![]()
Сообщение
#20
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Раскомментируйте 43 строку index.php и полученный текст запроса выполните в базу руками. Там будет ошибка. Напишите ее сюда.
|
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
![]() Программа для создания хаблистов |
128 | alex82 | 116 095 | 10.12.2014, 8:32 Посл. сообщение: Nickel89 |
![]() |
ВАЖНО: ![]() |
13 | ShadoWx | 24 939 | 7.10.2014, 8:08 Посл. сообщение: mod |
![]() |
Хаблист BCETI.com | 25 | alex82 | 33 197 | 6.3.2013, 12:44 Посл. сообщение: mod |
![]() |
Опять про хаблист | 5 | dj_crazy_joker | 7 988 | 6.2.2012, 0:02 Посл. сообщение: dj_crazy_joker |
![]() |
От: Tiny Hublist От темы с ID: 4811 |
1 | Артём | 5 847 | 27.12.2011, 15:28 Посл. сообщение: Mellon |
![]() |
Опрос: ![]() Стоит ли выкладывать в паблик нормальный опен соурс php хаблист? |
30 | Enyby | 33 592 | 21.11.2011, 15:20 Посл. сообщение: Enyby |
![]() |
От: Public PHP hublist by Enyby От темы с ID: 4961 |
0 | Saymon21 | 5 142 | 20.11.2011, 21:22 Посл. сообщение: Saymon21 |
![]() |
![]() CMS для создания хаблиста. |
62 | Stribog | 70 064 | 14.10.2011, 17:45 Посл. сообщение: KT315 |
![]() |
От: Public PHP hublist by Enyby От темы с ID: 4961 |
1 | Mellon | 5 790 | 12.10.2011, 8:23 Посл. сообщение: Артём |
![]() |
От: Tiny Hublist От темы с ID: 4811 |
1 | STIVAN | 6 199 | 18.4.2011, 20:20 Посл. сообщение: Saymon21 |
![]() |
![]() |
42 | Saymon21 | 49 793 | 14.4.2011, 22:05 Посл. сообщение: Stribog |
![]() |
От: Small DC HubList (Хаблист) От темы с ID: 4709 |
43 | Alexey | 40 163 | 31.3.2011, 19:38 Посл. сообщение: EvilNico |
![]() |
От: Хаблист От темы с ID: 2706 |
1 | Kingston | 5 958 | 7.1.2011, 18:39 Посл. сообщение: Nickolya |
![]() |
От: Хаблист От темы с ID: 2706 |
0 | absent | 5 173 | 4.1.2011, 1:16 Посл. сообщение: absent |
![]() |
lock2key для hublist'а Код для работы с хаблистом. |
4 | Enyby | 11 780 | 29.7.2010, 13:04 Посл. сообщение: Enyby |
![]() |
Сейчас: 8.9.2024, 2:28 |