myDC.ru

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

 

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

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


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

Группа: Пользователи
Сообщений: 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 4 5 > »   
Начать новую тему
Ответов
Enyby
сообщение 16.11.2011, 21:26
Сообщение #42


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

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




Делай это:
Цитата(Enyby @ 15.11.2011, 21:59) *
Займись отладкой. После каждой строчки поочередно, начиная с последней, добавляй в конце:
Код
die('i am here');

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

Я понимаю долго и не хочется, но я других путей не вижу.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 16.11.2011, 21:38
Сообщение #43


Начинающий
*

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




Enyby, прости за тупизм, а какой файл, hub.php, да? ))
Go to the top of the page
+Quote Post
Enyby
сообщение 16.11.2011, 21:43
Сообщение #44


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

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




Вставку делать в файле day.php. Смотреть результат по адресу http://32net.org/hublist/day.php?type=user...e=week&id=2


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


Начинающий
*

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




CODE
if(!isset($_GET['d'])) {

die('i am here');

header("Content-type: image/jpeg");
imagejpeg($canvas, null, 100);
}
else {
echo "<pre>\n";
print_r($GLOBALS);
}
imagedestroy($canvas);



появилось слово)) что дальше делать?
Go to the top of the page
+Quote Post
Enyby
сообщение 16.11.2011, 22:11
Сообщение #46


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

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




Попробовать заменить
Код
imagejpeg($canvas, null, 100);
на
Код
imagejpeg($canvas);
А вставку убрать.


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


Начинающий
*

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




Enyby, так же...
Go to the top of the page
+Quote Post
Enyby
сообщение 16.11.2011, 22:21
Сообщение #48


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

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




Думаю что проблема в php. Поставь другую версию.
Go to the top of the page
+Quote Post
Гарик БатьковиЪ
сообщение 16.11.2011, 23:47
Сообщение #49


Начинающий
*

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




Enyby, переставил php на 5.2.17, не помогло.. (((

может из-за библиотек всё таки?

у меня только вот эти разшарины

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_sockets.dll
Go to the top of the page
+Quote Post
Enyby
сообщение 16.11.2011, 23:54
Сообщение #50


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

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




Кажется я нашел причину. Проблема в редакторе. которым ты правишь сайт. В частности его работой с юникодом. Когда ты вносил данные про БД, ты сохранил файл с BOM меткой, это три байта в начале файла. Вот сейчас я вижу три метки в коде главной страницы. Но если с html или текстом это работает, то с картинками это не работает.
Тебе нужно через нормальный редактор сохранить файлы без BOM метки. Я использую AkelPad. Можешь использовать его или какой-то другой, если он тебе известен.


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


Начинающий
*

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




Enyby, перекодировал все файлы в UTF-8 (без BOM) но я всегда пользуюсь Notepad++. графики заработали, НО как и при первом запуске этого скрипта, вместо русских букв, еироглифы... он (браузер) пытается загрузить в ANSI
Go to the top of the page
+Quote Post
Enyby
сообщение 17.11.2011, 0:27
Сообщение #52


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

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




В файле header.php замени
Код
function shutdown() {
    $content = ob_get_contents();
    ob_end_clean();
    $title = isset($GLOBALS['title']) ? $GLOBALS['title'].' - '.HUBLIST_TITLE : HUBLIST_TITLE;
на
Код
function shutdown() {
    $content = ob_get_contents();
    ob_end_clean();
    header('Content-Type: text/html; charset=UTF-8');
    $title = isset($GLOBALS['title']) ? $GLOBALS['title'].' - '.HUBLIST_TITLE : HUBLIST_TITLE;


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


Начинающий
*

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




а я добавил
Код
<meta http-equiv="Content-Type" content="application/vnd.wap.xhtml+xml; charset=utf-8"/>

в
Код
<head>
    <title>'.$title.'</title>
    <link rel="stylesheet" href="./default.css" type="text/css" />
    <meta http-equiv="Content-Type" content="application/vnd.wap.xhtml+xml; charset=utf-8"/>
</head>



есть какая-нибудь разница в твоём варианте и в моём?
Go to the top of the page
+Quote Post
Enyby
сообщение 17.11.2011, 0:36
Сообщение #54


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

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




Есть. Некотрые браузеры игнорируют meta тэг, а реагируют на заголовок. В любом случае - хуже не будет.

PS Не посмотрел что там стоит "application/vnd.wap.xhtml+xml". Что это? И зачем оно тут? Мало "text/html"?


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


Начинающий
*

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




Цитата(Enyby @ 17.11.2011, 0:36) *
Есть. Некотрые браузеры игнорируют meta тэг, а реагируют на заголовок. В любом случае - хуже не будет.

PS Не посмотрел что там стоит "application/vnd.wap.xhtml+xml". Что это? И зачем оно тут? Мало "text/html"?



я не силён в программировании)) просто на каком-то сайте давно нашёл этот тег, вот и использую его для уточнения загрузки браузера в какой кодировке))

я ещё пытался понять твой файл default.css с кодом фона, не поможешь сделать что бы было на чёрном фоне с белым ширифтом? )) пож...

и ещё, в некоторых хаблистах (на других сайтах) в начале хаба стоит иконка, у твоего скрипта есть такая функция? big_smile.gif
Go to the top of the page
+Quote Post
Enyby
сообщение 17.11.2011, 0:43
Сообщение #56


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

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




Если кратко - пиши всегда и везде "text/html" и в header и в meta.


Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 17.11.2011, 13:55
Сообщение #57


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

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




Цитата(Гарик БатьковиЪ @ 17.11.2011, 0:40) *
я ещё пытался понять твой файл default.css с кодом фона, не поможешь сделать что бы было на чёрном фоне с белым ширифтом? )) пож...
Можешь вообще его удалить и нарисовать css с нуля, какой захочешь.
Цитата(Гарик БатьковиЪ @ 17.11.2011, 0:40) *
и ещё, в некоторых хаблистах (на других сайтах) в начале хаба стоит иконка, у твоего скрипта есть такая функция? big_smile.gif
Нет.


Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 18.11.2011, 16:50
Сообщение #58


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

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




Неплохо, Гарик БатьковиЪ! Если хочешь, можешь и графики подправить. Это делается в day.php. Находишь там участок:
Код
$color = new stdClass();
$color->grid = imagecolorallocate($canvas, 0, 0, 0);
$color->background = imagecolorallocate($canvas, 255, 255, 255);
$color->down = imagecolorallocate($canvas, 255, 0, 0);
$color->up = imagecolorallocate($canvas, 0, 255, 0);
$color->base = imagecolorallocate($canvas, 127, 127, 0);
числа, это цвет. RGB в десятичном представлении. Хотя на деле, ты можешь, чтобы не мучится с перекодировкой, писать в шестнадцетирчном представлении. Это будет как-то так:
Код
$color = new stdClass();
$color->grid = imagecolorallocate($canvas, 0x00, 0x00, 0x00); // оси графика
$color->background = imagecolorallocate($canvas, 0xFF, 0xFF, 0xFF); // фон графика
$color->down = imagecolorallocate($canvas, 0xFF, 0x00, 0x00); // цвет падения значения
$color->up = imagecolorallocate($canvas, 0x00, 0xFF, 0x00); // цвет подъема значения
$color->base = imagecolorallocate($canvas, 0x7F, 0x7F, 0x00); // цвет базы значения


PS Чуть ниже находится переменная $font, отвечающая за размер шрифта. Можно и сней поиграться по вкусу.


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


Начинающий
*

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




Enyby спасибо большое за помощь, добрый человек!

а ещё чуть не поможешь, если не трудно, вот в файле header.php ты сделал меню
, которое постоянно с верху, а дополнительную строчку с низу как сделать?
Go to the top of the page
+Quote Post
Enyby
сообщение 19.11.2011, 2:26
Сообщение #60


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

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




header.php:
Код
function shutdown() { // функция, срабатывающая при завершении работы скрипта
    $content = ob_get_contents(); // получаем весь предыдущий вывод в переменную содержимого
    ob_end_clean(); // очищаем весь вывод
    $title = isset($GLOBALS['title']) ? $GLOBALS['title'].' - '.HUBLIST_TITLE : HUBLIST_TITLE; // устанавливаем титул страницы
    echo '
<html>
    <head>
        <title>'.$title.'</title>
        <link rel="stylesheet" href="./default.css" type="text/css" />
    </head>
    <body>
        <div id="menu">
            <ul>
                <li><a href="./">Хабы</a></li>
                <li><a href="./addhub.php">Добавить хаб</a></li>
                <li><a href="./Favorites.php">Favorites.xml</a></li>
                <li><a href="./bat.php">Hubs.bat</a></li>
                <li><a href="./about.php">О хаблисте</a></li>
            </ul>
        </div>
        <div id="main-box">
            <div id="left-column">
                Это левая колонка
            </div>
            <div id="right-column">
                Это правая колонка
            </div>
            <div id="content">
                '.$content.'
            </div>
        </div>
        <div id="footer">
            Это подвал сайта. Тут может быть что угодно.
        </div>
    </body>
</html>'; // пошел полный вывод страницы, тут может быть все что угодно и как угодно (шапка, подвал, боковые колонки или еще что)
}
Чтобы колонки были колонками, можно добавить такие стили:
Код
#left-column {
    float: left;
    width: 200px;
}
#right-column {
    float: right;
    width: 300px;
}
Если ничего не напутал - должно работать.


Спасибо сказали:
Go to the top of the page
+Quote Post
LAV ©
сообщение 20.11.2011, 18:35
Сообщение #61


Начинающий
*

Группа: Пользователи
Сообщений: 14
Регистрация: 26.8.2009
Пользователь №: 4 273
Спасибо сказали: 1 раз




Спасибо за хаблист. Фактически это первый заслуживающий внимания хаблист, из выложенных на сайте.
Наверное, имеет смысл обратить внимание пользователей, что хаблист без критических ошибок работает только на PHP 5.3.X, т.к. на предыдущих версиях возникает описанная в топике ошибка с сокетами, приводящая к зависанию.
Столкнулся с еще одной особенностью работы этого хаблиста.
Раз в час он обменивается с хабами командой $BotINFO, что вызывает именно на VerliHub (версия 0.9.8e-r2) сообщение в опчат:
Код
The following BOT has just entered the hub :DCPinger/2.0.3; Visit http://inethub.olvi.net.ua for more information. -- IP=' x.x.x.x ' Host='  ' User=' hublist '

На птоке все ок. Не нашел в настройках верлика где отключить эти сообщения. Есть какие-то мысли?
Go to the top of the page
+Quote Post

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