Skald, А собственно про "в обход" никто и не говорил, я исправно генерю торрент в своём парсере (
https://vbtorrents.org/showthread.php?t=205) используя другую реализацию парсинга торрент файла, с этой ну в упор не понимаю с какого боку подходить это раз. А второе - на benc.php свет клином не сошёлся - он на php написан, а не на сверхъестественном каком то космическом языке, и при таком раскладе "в обход" сделать тоже вполне реально (будем называть вещи своими именами - benc.php это парсер торрент файла написанный на php и то, что в нём возможно чего то не хватает - не показатель того что это нехватающее нельзя ткнуть прямо в хук).
P.S. И не надо тыкать меня носом как младенца, далеко уже не в том возрасте. Может ещё порассуждаем о 100%ном знании PHP того же, или о том, как бороздят космические корабли просторы большого театра? Бьюсь об заклад - на этом форуме не найдётся ни 1го человека 100% знающего того же PHP, так не будем же строить из себя мега супер одарённых спецов.
P.P.S. А проблем собственно и нет никаких - лично мне ретрекер не нужен (была когда то мысль прикрутить - переболел), человек спрашивал, я попытался вникнуть......да прописывается в announce-list поле, ну и никаких проблем прописать дополнительный анонс в такое поле нет, остаются мелкие ньюансы - но это мелочи, а времени у меня на эти мелочи нет ибо нет надобности. Вас же, уважаемый, просили о помощи - Вы ответили времени нема, все поняли и заткнулись......тут такая же история.
Возможно слишком резко написал, но по принципу Галки Галкиной - "каков вопрос - таков ответ".
Добавлено через 41 минуту
Вот, пожалуйста, безо всяких bencode, и прекрасно работает, точно таким же макаром можно затолкать и ещё хоть 1000 адресов анонсеров (а если ещё и не полениться и настройку добавить в продукт, то вообще удобно будет).
PHP код:
if ($extension == 'torrent' AND !in_array($foruminfo['forumid'], explode(',',$vbulletin->options['vbtt_forums']))) eval(standard_error(fetch_error('vbtt_disabled_forum')));
if ($extension == 'torrent' AND $vbulletin->userinfo['userid'] AND strlen($vbulletin->userinfo['torrent_pass']) == 32 AND $attachmentinfo['info_hash']!='') {
$torrent = $vbulletin->options['attachfile'] ? fread($fp, 2097152) : $attachmentinfo['filedata'];
if (!$comment=strpos($torrent,'4:infod6:lengthi'))
$comment=strpos($torrent,'4:infod5:filesld6:lengthi');
if ($comment)
$torrentstring=substr($torrent,$comment+6,-1);
if (pack('H*', sha1($torrentstring))!= $attachmentinfo['info_hash']) {
require_once(DIR . '/includes/benc.php');
$torrent = bdec($torrent);
$torrentstring = $torrent['value']['info']['string'];
}
unset($torrent);
$announce_local = 'http://retracker.local/announce';
$announce_url = construct_phrase($vbulletin->options['vbtt_primary_announce'],$vbulletin->userinfo['torrent_pass']);
$comment=$vbulletin->options['bburl'].'/showthread.php?p='.$attachmentinfo['postid'];
$attachmentinfo['filedata'] = sprintf('d8:announce%d:%s13:announce-listll%d:%sel%d:%see7:comment%d:%s13:creation datei%de4:info%se', strlen($announce_url), $announce_url, strlen($announce_url), $announce_url, strlen($announce_local), $announce_local, strlen($comment), $comment, $attachmentinfo['dateline'], $torrentstring);
unset($torrentstring,$announce_url,$announce_local,$comment);
$attachmentinfo['filesize'] = strlen($attachmentinfo['filedata']);
$vbulletin->options['attachfile'] = false;
}
И как говорится "и не надо лохматить бабушку"!