в include/function_check.php
строки
1. проверка имени торрент файла
- Код: Выделить всё
if (!preg_match("/^[a-zA-Z0-9_~!@$^()&'`\[\]{}%,.-\s]+$/", $torrent_file['name'])) {
$errors[] = $lang['invalid_filename'];
}
достаточно закоментировать строку $errors[] = $lang['invalid_filename'];
2. проверка имен файлов в торренте
- Код: Выделить всё
if ( !preg_match("/^[a-zA-Z0-9_~!@$^()\[\]{}&'`%,.-\s]+$/", $dname) ) {
if ( $try_decode ) {
$dname = iconv(mb_detect_encoding($dname), $lang['language_charset'], $dname);
}
$errors[] = sprintf($lang['invalid_name_in_files'], $dname);
}
достаточно закоментировать строку $errors[] = sprintf($lang['invalid_name_in_files'], $dname);
3. еще проверка имен файлов
- Код: Выделить всё
if (!preg_match("/^[a-zA-Z0-9_~!@$^()&'\[\]{}`%,.-\s]+$/", $ff[$j]['value'])) {
if ( $try_decode ) {
$ff[$j]['value'] = iconv(mb_detect_encoding($ff[$j]['value']), $lang['language_charset'], $ff[$j]['value']);
}
$error_in_filenames[] = $ff[$j]['value'];
}
достаточно закоментировать строку $error_in_filenames[] = $ff[$j]['value'];
4. проверка аннонса (после этих манипуляций, возможны проблемы с закачкой файлов с пустым аннонсом и содержащих лист нескольких аннонс трекеров.(решение в конце поста))
коментировать полностью.
- Код: Выделить всё
/* if ( $ann != generate_tracker_url() . '/announce.php' ) {
$errors[] = sprintf($lang['invalid_announce'], generate_base_url() . '/announce.php');
}
*/
заменить
это
- Код: Выделить всё
list($ann, $info) = dict_check ($dict, 'announce(string):info');
на
- Код: Выделить всё
list($info) = dict_check ($dict, 'info');
в двух местах
после
- Код: Выделить всё
//Private tracker end
- Код: Выделить всё
$infohash
вставить
- Код: Выделить всё
$dict['value']['announce']=bdec(benc_str(generate_base_url()));
unset($dict['value']['announce-list']);
Для svn версий > 269
в include/function_check.php
строки
1. проверка имени торрент файла
- Код: Выделить всё
if (!preg_match("/^[a-zA-Z0-9_~!@$^()&'`\[\]{}%,.-\s]+$/", $torrent_file['name'])) {
$errors[] = $lang['invalid_filename'];
}
достаточно закоментировать строку $errors[] = $lang['invalid_filename'];
файл include/class.bencode.php
В версии 274 код изменился на (закоментированая часть)
пока рекомендую оставить - return @file_get_contents( $file, 0, null, 0, 11 ) === 'd8:announce' || 'd10:created'; (|| 'd10:created' - добавлено для торрент файлов созданых при помощи utorrent, при отсутствии аннонса он не пишет в файл строку d8:announce)
- Код: Выделить всё
static public function is_torrent ( $file ) {
return @file_get_contents( $file, 0, null, 0, 11 ) === 'd8:announce' || 'd10:created';
// if ( @file_get_contents( $file, 0, null, 0, 11 ) !== 'd8:announce' ) {
// return @file_get_contents( $file, 0, null, 0, 17 ) === 'd13:announce-list';
// }
// else {
// return true;
// }
}
