| 
	 
	 
Здравствуйте, гость ( Вход | Регистрация )
 | 
	 
	 
			
			  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  
 Enyby_hublist_v0.03.rar ( 17.91 килобайт )
Кол-во скачиваний: 134Демо: Изменения: + добавлены всплывающие подсказки * исправлена работа пингера в PHP < 5.3 * исправлен вывод меню v0.01  
 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. Скрипт не тестировался на линуксе - возможно будут какие-то проблемы. Посмотреть в реале, что из себя представляет хаблист можно по адресам: - может иметь функционал отсутствующей в данном релизе - этот хаблист со своими дополнениями и улучшениями - этот хаблист без улучшений и каких было редактирований. - этот хаблист со своими дополнениями и улучшениями - этот хаблист со своими дополнениями и улучшениями  | 
	
| 
			
			 | 
	|
![]()  | 
	
			
			  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 минут. Если вы используете другой интервал, то графики на странице хаба, могут иметь удручающий вид. Можете попробовать их заменить на флеш-компоненты, это должно обеспечить лучший вид.  | 
	
| 
			
			 | 
	|
			
			  29.8.2011, 23:40
			
				 Сообщение
					#3
					
				
			 
		 | 
	|
        	
				
					![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз  | 
       
			
			 Цитата 3. Хаблист заточен под пингование 1 раз в 5 минут. Не удивлюсь, если такой пингер быстро забанят. И нахожу, что пункт 3 противоречит пункту 2: Цитата 2. Хаблист работает постоянно в режиме клиента и только в начале каждого часа, в течение первых 5 минут, он работает как пингер. Либо опишите человеческим языком, чтоб не было непоняток.  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 7:44
			
				 Сообщение
					#4
					
				
			 
		 | 
	|
        	
				
					![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз  | 
       
			
			 
				а зачем под 7 статических значений заводить целую таблицу(hl_status)? 
			
			
			
					
		чтоб запросы были посложнее?  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 8:28
			
				 Сообщение
					#5
					
				
			 
		 | 
	|
        	
				
					![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз  | 
       
			
			 Не удивлюсь, если такой пингер быстро забанят. И нахожу, что пункт 3 противоречит пункту 2: Либо опишите человеческим языком, чтоб не было непоняток. Не забанят. Один раз в час он работает как пингер, т. е. отсылает BotINFO и получает HubINFO. Все остальное время он входит как обычный клиент DC сети на хаб, получает список пользователей и имя хаба. На основании списка пользователей он определяет текущий онлайн и общую шару. а зачем под 7 статических значений заводить целую таблицу(hl_status)? чтоб запросы были посложнее? На начальном этапе этих значений было 3. В процессе эволюции хаблиста их стало семь. Так что это совсем не константы. К примеру, можно добвить статус "Хаб не соответствует протоколу NMDC" или "Устаревшее серверное ПО". Это первый аспект. Второй аспект связан с тем, что на эту таблицу стоит внешний ключ из другой таблицы, что обеспечивает целостность и непротиворечивость данных в БД.  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 8:42
			
				 Сообщение
					#6
					
				
			 
		 | 
	|
        	
				
					![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз  | 
       |
| 
			
			 | 
	|
			
			  30.8.2011, 8:45
			
				 Сообщение
					#7
					
				
			 
		 | 
	|
        	
				
					![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз  | 
       
			
			 
				Лично мне проще править БД, а не править файл констант + БД. Как по мне, так без разницы. МНе было удобнее сделать в БД. 
			
			
			
					
		Но, с другой стороны, если писать админку, то в моем случае статусы можно будет редактировать или переводить на другие языки рядовым пользователям, а в вашем случае только вебмастеру сайта.  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 8:52
			
				 Сообщение
					#8
					
				
			 
		 | 
	|
        	
				
					![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз  | 
       
			
			 если писать админку, то в моем случае статусы можно будет редактировать или переводить на другие языки рядовым пользователям, а в вашем случае только вебмастеру сайта. fopen...fwrite...fclose сейчас несколько десятков добровольцев переводят документацию php так что чтобы отредактировать файл большого ума не надо и кстати специально для простоты перевода кокраз и пишут .lng файлы  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 9:08
			
				 Сообщение
					#9
					
				
			 
		 | 
	|
        	
				
					![]() Местная ТехПоддержка ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз  | 
       
			
			 
				А еще есть православный gettext, но вы о нем не слышали :3 
			
			
			Цитата Лично мне проще править БД Сразу видно человека, который не в курсе про yaml  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 9:22
			
				 Сообщение
					#10
					
				
			 
		 | 
	|
        	
				
					![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз  | 
       
			
			 
				Я очень за вас рад. Каждый пишет так, как ему удобнее. 
			
			
			
					
		А за gettext спасибо. Возьму на заметку. Видел его применение в коде phpBB, но тогда не разбирался что, да почему. Пока, что повезло и не довелось делать мультиязычность. PS И да, тут столько желающих переписать "правильно" этот хаблист... Вам нужно код на github и совместными усилиями вы приведете его из мрачного Средневековья в светлое Будущее!  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 9:36
			
				 Сообщение
					#11
					
				
			 
		 | 
	|
        	
				
					![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 15.3.2009 Пользователь №: 2 605 Спасибо сказали: 11 раз  | 
       |
| 
			
			 | 
	|
			
			  30.8.2011, 10:37
			
				 Сообщение
					#12
					
				
			 
		 | 
	|
        	
				
					![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз  | 
       
			
			 
				По поводу редактирования файлов: 
			
			
			
					
		Админ и вебмастер, обычно, разные люди. И админу спокойнее когда нельзя с сайта править исполняемые файлы. Конечно можно заводить файлы конфигураций или тот же YAML, но их можно читать на сайте, введя url к ним. Можно закрыть доступ к одной директории, но в случае nginx это нужно дергать админа, так как прав у вебмастера обычно нет. Ну и т. д. А с базой все проще. Еще одна причина - целостность базы. Я могу подключится из С# к базе и организовать вывод. А если использовать сторонние файлы, то потребуется и их подключать, а это уже проблемы с доступом, если файлы находятся на другой машине (БД доступно по сети) и т. д. Резюме: Каждый выбирает технологии и те или иные типовые решения исходя из своего опыта и/или текущей ситуации. Простой пример: У меня на одном сервере нет root'а. Поэтому, чтобы управлять cron'ом, он реализован на php и работает через БД. И, если раньше, я бегал за админом, чтобы изменить конфиг cron'а, то теперь я сам себе хозяин. Кстати. Мне вот тут пришла одна забавная идея. Код есть. Доступ открыт. Вот пусть VOVKT перепишет хаблист на lng файлы, а mariner на YAML. И каждый будет рад и счастлив. И вообще. Приглашаю всех желающих. Каждый исправляет то, что ему не нравится и получает хаблист своей мечты с блэк-джеком и шлюхами. А по поводу себя - на тот момент я, конечно же, не знал ничего о YAML и lng. Но если бы я писал сейчас - написал бы точно так же. ;-) PS Если есть какие-то конкрентые вопросы - обращайтесь. По поводу предложений, улучшений и со стебом - не по адресу.  | 
	
| 
			
			 | 
	|
			
			  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(); } ну и т.д  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 13:34
			
				 Сообщение
					#14
					
				
			 
		 | 
	|
        	
				
					![]() Местная ТехПоддержка ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз  | 
       
			
			 Цитата mariner на YAML Я лишь про инициализацию конфигов.  | 
	
| 
			
			 | 
	|
			
			  30.8.2011, 15:11
			
				 Сообщение
					#15
					
				
			 
		 | 
	|
        	
				
					![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз  | 
       
			
			 Версию поставил такую, чтобы не было претензий. На деле это уже третья версия хаблиста. Код if(!isset($_GET['id'])) { not_found(); } elseif(!(intval($_GET['id']) > 0)) { not_found(); } Это от того что писалось не все и сразу, а допиливалось в течение длительного интервала времени.  | 
	
| 
			
			 | 
	|
			
			  1.9.2011, 22:11
			
				 Сообщение
					#16
					
				
			 
		 | 
	|
        	
				
					![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 35 Регистрация: 16.2.2011 Пользователь №: 8 797 Спасибо сказали: 1 раз  | 
       
			
			 
				у меня как то он не работает можете кинуть рабочий у кого есть?
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  1.9.2011, 22:39
			
				 Сообщение
					#17
					
				
			 
		 | 
	|
        	
				
					![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
       
			
			 
				Что значит не работает?
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  2.9.2011, 0:35
			
				 Сообщение
					#18
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 189 Регистрация: 20.4.2009 Пользователь №: 3 121 Спасибо сказали: 12 раз  | 
       |
| 
			
			 | 
	|
			
			  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 показывает что хаб добавлен а самого хаба не показывает ни одного  | 
	
| 
			
			 | 
	|
			
			  2.9.2011, 11:41
			
				 Сообщение
					#20
					
				
			 
		 | 
	|
        	
				
					![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз  | 
       
			
			 
				Раскомментируйте 43 строку index.php и полученный текст запроса выполните в базу руками. Там будет ошибка. Напишите ее сюда.
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
![]() ![]()  | 
	
 Похожие темы
| Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
|---|---|---|---|---|---|
![]()  | 
	  Программа для создания хаблистов  | 
	129 | alex82 | 133 206 | 12.11.2024, 13:08 Посл. сообщение: CyberGhost404 | 
![]()  | 
	ВАЖНО:   | 
	13 | ShadoWx | 27 784 | 7.10.2014, 8:08 Посл. сообщение: mod | 
![]()  | 
	Хаблист BCETI.com | 25 | alex82 | 37 018 | 6.3.2013, 12:44 Посл. сообщение: mod | 
![]()  | 
	Опять про хаблист | 5 | dj_crazy_joker | 9 149 | 6.2.2012, 0:02 Посл. сообщение: dj_crazy_joker | 
![]()  | 
	 От: Tiny Hublist От темы с ID: 4811  | 
	1 | Артём | 6 623 | 27.12.2011, 15:28 Посл. сообщение: Mellon | 
![]()  | 
	Опрос:    Стоит ли выкладывать в паблик нормальный опен соурс php хаблист?  | 
	30 | Enyby | 38 108 | 21.11.2011, 15:20 Посл. сообщение: Enyby | 
![]()  | 
	 От: Public PHP hublist by Enyby От темы с ID: 4961  | 
	0 | Saymon21 | 5 805 | 20.11.2011, 21:22 Посл. сообщение: Saymon21 | 
![]()  | 
	  CMS для создания хаблиста.  | 
	62 | Stribog | 78 929 | 14.10.2011, 17:45 Посл. сообщение: KT315 | 
![]()  | 
	 От: Public PHP hublist by Enyby От темы с ID: 4961  | 
	1 | Mellon | 6 598 | 12.10.2011, 8:23 Посл. сообщение: Артём | 
![]()  | 
	 От: Tiny Hublist От темы с ID: 4811  | 
	1 | STIVAN | 7 017 | 18.4.2011, 20:20 Посл. сообщение: Saymon21 | 
![]()  | 
	  | 
	42 | Saymon21 | 55 822 | 14.4.2011, 22:05 Посл. сообщение: Stribog | 
![]()  | 
	 От: Small DC HubList (Хаблист) От темы с ID: 4709  | 
	43 | Alexey | 46 366 | 31.3.2011, 19:38 Посл. сообщение: EvilNico | 
![]()  | 
	 От: Хаблист От темы с ID: 2706  | 
	1 | Kingston | 6 630 | 7.1.2011, 18:39 Посл. сообщение: Nickolya | 
![]()  | 
	 От: Хаблист От темы с ID: 2706  | 
	0 | absent | 5 775 | 4.1.2011, 1:16 Посл. сообщение: absent | 
![]()  | 
	 lock2key для hublist'а Код для работы с хаблистом.  | 
	4 | Enyby | 12 919 | 29.7.2010, 13:04 Посл. сообщение: Enyby | 
 
 | 
Сейчас: 4.11.2025, 7:32 |