IPB

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

Re-Tracker source
RoadTrain
сообщение 7.3.2009, 11:37
Сообщение #1


Активный участник
***

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



В общем, представляю первый открытый релиз нашего анонсера.
Включает в себя сам анонсер и список торрентов (стата как здесь).
Поддерживается ipv6 ( rolleyes.gif совково)
В принципе, на него можно много чего навесить...

Есть 4 способа кеширования (файлы, APC, memcache, sqlite).

Установка:
1. скопировать все файлы на сервер.
2. создать БД, залить базу из table.sql
3. настроить config.php (данные для доступа к базе,...)

Если используете файловый кеш, поставьте chmod 0777 на папку cache_tr

Прикрепленные файлы
Прикрепленный файл  re_tracker.zip ( 76.85 килобайт ) Кол-во скачиваний: 1001
 
Перейти в начало страницы
 
+Цитировать сообщение
 
Начать новую тему
Ответов
FreeM@N
сообщение 23.9.2009, 8:21
Сообщение #2


Активный участник
***

Группа: Главные Админы
Сообщений: 661
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



Цитата
Вы продолжаете утверждать о работоспособности этого кода?

Конечно smile.gif Он же работает.

Я ещё раз повторяю если вы это не прочитали ранее - это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся из-за наличия ненужных для обычного ретрекера функций!

Цитата
Если ЭТО рабочая версия, в которой список провайдеров вообще не заполняется, т.к. кода вообще нет, то что же тогда называется нерабочей?

Там так-то аяксовый запрос идёт на заполнение. HTML+JS не сбрасывайте со стчетов...
Код
<select name="city" id="city" onchange="$('#isp').load('resume.php?city='+$('#city').val());">

Так что заполять его заранее абсолюно бессмысленно.
Цитата
И это уже после обработки топором, четырмя строками выше вообще вызывался не resume.php а torrents.php.

Хреновый топор у вас...ретрекер - это единое целое, а едином целом нормально когда одни кусочки программы используют другие. Если ещё не поняли - так и было задумано.

Цитата
Да, это правильно, выставлять null для неопределенных элементов, когда в таблице для этих полей сказано

а кусочек кода:
Код
foreach ($sql_data as $column => $value)
{
    $columns[] = $column;
    $values[] = "'" . $db->escape($value) . "'";
}

вы не удалили случаем? после обработки в базу вместо null уходит '' (две одинарные кавычки, а между ними пусто).
Поробуйте выполнить вот такой SQL:
Код
DROP TABLE IF EXISTS `test`;
CREATE TABLE IF NOT EXISTS `test` (
  `index` int(11) NOT NULL auto_increment,
  `test` int(11) NOT NULL default '0',
  PRIMARY KEY  (`index`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

INSERT INTO `test` VALUES (NULL, '');

SELECT `test` FROM `test` ORDER BY `index` DESC LIMIT 1;

чево вернёт? Это я к тому что работает.

А так да, вы правы, лучше будет заранее выставить 0.

Продолжайте комментировать код, это полезно smile.gif


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
chmv
сообщение 23.9.2009, 22:11
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.9.2009
Пользователь №: 2 703



Думаю это последнее мое сообщение здесь, все проблемы с ретрекерами в своих сетях мы решили. Пишу я его только с одной целью. Вдруг Вы задумаетесь.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Конечно smile.gif Он же работает.

Да. По стандарту, который был придуман здесь, нигде не описан, при полном игнорировании уже существующего и работающего стандарта, а тажке планируемого (bep22). Именно так убиваются хорошие идеи.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Я ещё раз повторяю если вы это не прочитали ранее - это не ретрекер, это "статистический ретрекер", использовать его как ретрекер крайне не рекомендуестся из-за наличия ненужных для обычного ретрекера функций!

Простите, я прочел только половину форума. Теперь, после анализа кода, я знаю что это, как оно работает, какова его идея.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Там так-то аяксовый запрос идёт на заполнение. HTML+JS не сбрасывайте со стчетов...
Код
<select name="city" id="city" onchange="$('#isp').load('resume.php?city='+$('#city').val());">

Так что заполять его заранее абсолюно бессмысленно.


Начнем с того, что там (в resume.php) написано (я же написал об этом! в том же сообщении!):
Код
<select name="city" id="city" onchange="$('#isp').load('torrents.php?isp_list='+$('#city').val());">

Вы видите "torrents.php" в этой строке? Как-то не логично из resume.php делать переадресацию на torrents.php после выбора провайдера. Как Вы можете утверждать, что он работает, когда в коде банальные описки есть?! Вы, лично Вы, своим комментарием "Ну вообще последняя всегда рабочая" подвигли меня на разбор кода и поиск моих ошибок. К сожалению, были найдены только ошибки автора.

Ну и JS там тоже не сработал. Может Вы хоть раз попробуете сами посмотреть, что код находится в репозитарии, и прекратите голословно утверждать о работоспособности кода, который в реальности не работает?

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Хреновый топор у вас...ретрекер - это единое целое, а едином целом нормально когда одни кусочки программы используют другие.

"Хреновый топор"... Я ничего не говорил о профессиональных способностях ни Вас, ни автора. Вы открыли мне право ответить Вам тем же.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Если ещё не поняли - так и было задумано.

Было задумано, чтобы ничего не работало. Ни одна из функций этого кода не заработала с первого раза. Везде пришлось либо топором либо напильником.

Еще пример банальных ошибок? Пожалуйста, это не сложно, код изобилует ими.

trackerslist.php. Ошибка первая.
Код
    get_trackers();
    $list = $cache->get("trackers_list");


Но функция get_trackers() возвращает результат двумя методами:
Метод 1:
Код
    return $trackers;

Этот метод работает всегда, им и надо было пользоваться.

Метод 2:
Код
    $cache->set('new_trackers', $trackers, TRACKERS_CACHE_EXPIRE);


А где же автор берет результат:
Код
    $list = $cache->get("trackers_list");

Удивительно! Ни в одном из этих двух. Кстати, никто не забыл, что кэш вообще может быть отключен? Пожалуйста вот код подтверждающий это:
Код
$cfg['cache_type'] = 'filecache'; // Available cache types: none, APC, memcached, sqlite, filecache

Тут четко написано, что none является допустимым типом кэша.

trackerslist.php. Ошибка вторая.
Код
die($list);

Это даже не смешно. $list это массив. Бессмысленно передавать его как параметр для выхода. О применении die в последней строке кода -- отдельная тема, здесь хоть какие-то аргументы можно выдумать в пользу этого метода завершения.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
а кусочек кода:
Код
foreach ($sql_data as $column => $value)
{
    $columns[] = $column;
    $values[] = "'" . $db->escape($value) . "'";
}

вы не удалили случаем? после обработки в базу вместо null уходит '' (две одинарные кавычки, а между ними пусто).

Нет, я не удалял ничего. Конкретно эта ошика была исправлена методом добавления нужного кода.
Хороший пример Вы привели. Это еще одна ошибка. Нельзя в sql использовать '' для чисел! Число нужно указывать, или ничего не указывать вообще, тогда возьмется 0 прописанный в свойствах поля таблицы. Потому если size не был определен, то вываливается с ошибкой mysql. Как и city, кстати, это ведь тоже число.
Приведенный выше код работает только для строк, но не для чисел.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Поробуйте выполнить вот такой SQL:
....
А так да, вы правы, лучше будет заранее выставить 0.

Выше я написал, где именно ошика. И я не говорил "лучше". Это необходимо. Либо не указывать тот же size в запросе, тогда возьмется 0 из свойств поля таблицы, либо if (!$size) $size = 0; . Других вариантов нет. Число не может быть задано как '' в SQL.

Цитата(FreeM@N @ 23.9.2009, 8:21) *
Продолжайте комментировать код, это полезно smile.gif

Полезно кому? На начальном этапе я думал предложить свою помощь. Однако теперь мне это не интересно. Простите, но я не могу себе позволить работать с людьми, которые могут себе позволить голосновно утверждать что либо.
Перейти в начало страницы
 
+Цитировать сообщение

Сообщений в этой теме
- RoadTrain   Re-Tracker source   7.3.2009, 11:37
- - FreeM@N   ЦитатаВы продолжаете утверждать о работоспособност...   23.9.2009, 8:21
|- - chmv   Думаю это последнее мое сообщение здесь, все пробл...   23.9.2009, 22:11
- - 4e4ako   Цитата(chmv @ 23.9.2009, 3:54) Вы продолж...   23.9.2009, 11:28
|- - chmv   Цитата(4e4ako @ 23.9.2009, 11:28) этот ре...   23.9.2009, 20:51
- - FreeM@N   >>>> Пишу я его только с одной целью. ...   24.9.2009, 0:21
- - FreeM@N   Обновление: ревизия 73. Удалены кеши, использовани...   25.9.2009, 0:07
- - xmanpsk   Поставил ревизию 73, работает без memcached, смысл...   27.9.2009, 18:37
|- - FreeM@N   Цитата(xmanpsk @ 27.9.2009, 19:37) Постав...   27.9.2009, 18:41
- - POWExR   http://www.whitsoftdev.com/opentracker Это может ...   24.10.2009, 12:22
- - FreeM@N   Может, у некоторых он и установлен.   24.10.2009, 13:00
- - botanov   Error: Memcached extension not installed как убра...   31.10.2009, 21:30
- - FreeM@N   Его вообще-то не убрать, а установить нужно... Но ...   31.10.2009, 23:45
- - nkk   Видимо, я не достаточно ознакомился с данной темой...   1.11.2009, 1:22
- - FreeM@N   это к чему? у нас и так в статистике показывается ...   1.11.2009, 13:30
- - Name   Вопрос: это просто статистика или рабочий ретрекер...   8.11.2009, 16:51
- - FreeM@N   Только статистика, как ретрекер его использовать к...   8.11.2009, 16:58
- - spawnkhv   Блина =( люди добрые помогите поставить эту Прекра...   9.11.2009, 11:35
- - FreeM@N   Вы точно хотите поставить именно эту статистику? О...   9.11.2009, 11:58
- - vlad49   Есть глупый вопрос - это полноценный ретрекер, или...   25.11.2009, 16:31
- - FreeM@N   это не ретрекер, это "статистический ретрекер...   25.11.2009, 19:40
|- - vlad49   Цитата(FreeM@N @ 25.11.2009, 19:40) это н...   25.11.2009, 20:53
|- - NiTr0   Цитата(FreeM@N @ 25.11.2009, 18:40) это н...   14.12.2009, 16:23
- - Dyr   Есть предложение по небольшому исправлению/добавле...   30.11.2009, 12:14
- - FreeM@N   Про magnet - да. А вот про разделение поподробнее ...   5.12.2009, 0:31
- - FreeM@N   Сделал Magnet-ссылки и пошаманил с подсчётом стран...   14.12.2009, 3:23
- - FreeM@N   Ну да, но лучше всё же использовать для этой цели ...   17.12.2009, 18:13
- - ctlan   установил кэшем sqlite при запуске статистики пол...   13.1.2010, 0:50
- - FreeM@N   Кеш в sqlite не поддерживается: Цитата// Available...   13.1.2010, 10:46
- - MiB   небольшой патч: Код129a130,132 > $row = ...   17.1.2010, 12:13
|- - FreeM@N   Цитата(MiB @ 17.1.2010, 12:13) Принимаем ...   18.1.2010, 1:39
|- - MiB   Цитата(FreeM@N @ 18.1.2010, 1:39) Подумай...   19.1.2010, 18:58
- - FreeM@N   Цитатаа то что 100 человек скачало и теперь раздае...   20.1.2010, 2:36
- - MiB   как и обещал патчик немного побольше: - кометическ...   31.1.2010, 16:01
|- - FreeM@N   Цитата(MiB @ 31.1.2010, 16:01) ... - в ст...   1.2.2010, 0:41
|- - MiB   Цитата(FreeM@N @ 1.2.2010, 0:41) Собствен...   1.2.2010, 12:43
- - n_zheka   Мужики, помогите решить проблему с comment в стати...   1.2.2010, 16:07
- - FreeM@N   Комментарий ретрекером берётся не из торента, а из...   1.2.2010, 22:53
- - n_zheka   Прошу прощение, а можно по действиям, ретркер уста...   1.2.2010, 23:42
- - FreeM@N   Там был и ответ: ЦитатаПокопавшись понял, что нуже...   2.2.2010, 12:12
- - n_zheka   Спасибо. Так, идем далее, подскажи пожалуйста куда...   2.2.2010, 13:08
- - FreeM@N   Патчер вот из этого раздела: http://re-tracker.ru/...   2.2.2010, 15:26
- - derSpinner   Вопрос: как данные исходники можно прикрутить к се...   18.2.2010, 10:40
- - access   Почему я не могу скачать файл?   11.4.2010, 19:03
- - FreeM@N   Если вам нужны исходники вы можете взять их с гугл...   11.4.2010, 20:47
- - FIGO   При добавлении в трекера в торрент файл выходит ош...   12.9.2010, 16:59
- - FreeM@N   http://re-tracker.ru/index.php?showtopic=5...post...   13.9.2010, 7:53
- - VaultDweller   почему в статистике отображает 600+ торентов А в с...   31.10.2011, 12:28
- - FreeM@N   В какой статистике, в каком списке? Больше подробн...   2.11.2011, 21:12
2 страниц V  < 1 2


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

 



RSS Текстовая версия Сейчас: 21.6.2024, 23:58
Top.Mail.Ru