3
мар
Начиная с версии 3.0 модуля Tracker for DLE можно изменять вид дерева файлов в раздаче!
Для этого надо в файле /engine/modules/functions.php
задать свою функцию обработки с названием: trackerBuildFilesTree
Функция имеет один входящий параметр - массив с данными о файлах.
Выходящий параметр должен быть строка html вида нужной структуры дерева файлов!
Пример входящего массива для раздачи с одним файлом:
Пример входящего массива для раздачи папки с множеством файлов:
Пример входящего массива для раздачи папки с множеством файлов в подпапках:
В случае с подпапками - путь к файлу разбит на массивы, для удобства обработки и компоновки.
Ключи входящего массива:
size - размер раздачи в битах.
num - количество файлов в раздаче.
folder - название папки с файлами из раздачи, в случае раздачи одного файла значение пустое.
files - в случае раздачи одного файла содержит название файла, если раздача папки с файлами то содержит массив с ключами:
* name - название файла или массив пути, в случае подпапок.
* size - размер файла в битах.
Пример простой функции построения списка файлов:
Внимание! Функция не обязательная! В случае её отсутствия будет применена стандартная функция построения списка файлов.
Для этого надо в файле /engine/modules/functions.php
задать свою функцию обработки с названием: trackerBuildFilesTree
/**
* Tracker for DLE
* Построение списка файлов в раздаче
* @param array $files Массив с информацией о файлах раздачи
* @return string Строка содержащая нужный вид списка файлов в раздаче
*/
function trackerBuildFilesTree($files) {
/* обработка массива файлов */
}
Функция имеет один входящий параметр - массив с данными о файлах.
Выходящий параметр должен быть строка html вида нужной структуры дерева файлов!
Пример входящего массива для раздачи с одним файлом:
Array
(
[size] => 16662807825
[num] => 1
[folder] =>
[files] => Hobbit.Nezhdannoe.puteschestvie.2012.D.BDRip.1080p.mkv
)
Пример входящего массива для раздачи папки с множеством файлов:
Array
(
[size] => 5946103808
[num] => 19
[folder] => Звёздные Войны. Войны Клонов [5 сезон]
[files] => Array
(
[0] => Array
(
[name] => Star.Wars.The.Clone.Wars.S05E01.rus.LostFilm.TV.avi
[size] => 335493120
)
[1] => Array
(
[name] => Star.Wars.The.Clone.Wars.S05E02.rus.LostFilm.TV.avi
[size] => 348547072
)
[2] => Array
(
[name] => Star.Wars.The.Clone.Wars.S05E03.rus.LostFilm.TV.avi
[size] => 281409536
)
[3] => Array
(
[name] => Star.Wars.The.Clone.Wars.S05E04.rus.LostFilm.TV.avi
[size] => 313966592
)
[4] => Array
(
[name] => Star.Wars.The.Clone.Wars.S05E05.rus.LostFilm.TV.avi
[size] => 357707776
)
[5] => Array
(
[name] => Star.Wars.The.Clone.Wars.S05E06.rus.LostFilm.TV.avi
[size] => 280856576
)
*************************************************
Пример входящего массива для раздачи папки с множеством файлов в подпапках:
Array
(
[size] => 20837464
[num] => 1733
[folder] => Пример
[files] => Array
(
[0] => Array
(
[name] => ReadMe.txt
[size] => 9370
)
[1] => Array
(
[name] => Array
(
[0] => engine
[1] => modules
[2] => primer
[3] => ajax.php
)
[size] => 8585
)
[2] => Array
(
[name] => Array
(
[0] => engine
[1] => modules
[2] => primer
[3] => index.php
)
[size] => 2805
)
[3] => Array
(
[name] => Array
(
[0] => engine
[1] => modules
[2] => primer
[3] => profile.php
)
[size] => 801
)
*************************************************
В случае с подпапками - путь к файлу разбит на массивы, для удобства обработки и компоновки.
Ключи входящего массива:
size - размер раздачи в битах.
num - количество файлов в раздаче.
folder - название папки с файлами из раздачи, в случае раздачи одного файла значение пустое.
files - в случае раздачи одного файла содержит название файла, если раздача папки с файлами то содержит массив с ключами:
* name - название файла или массив пути, в случае подпапок.
* size - размер файла в битах.
Пример простой функции построения списка файлов:
/**
* Tracker for DLE
* Построение списка файлов в раздаче
* @param array $files Массив с информацией о файлах раздачи
* @return string Строка содержащая нужный вид списка файлов в раздаче
*/
function trackerBuildFilesTree($files) {
#*** Раздача файла ***#
if ($files["folder"]=="") {
return addslashes( $files["files"] . " [".formatsize($files["size"])."]" );
#*** Раздача папки ***#
} else {
$fileArr = array();
foreach ($files["files"] as $v) {
#*** Раздача подпапки ***#
if( is_array($v["name"]) ) {
$fileArr[] = addslashes( "/" . implode("/", $v["name"]) . " [".formatsize($v["size"])."]" );
#*** Раздача файлы ***#
} else {
$fileArr[] = addslashes( "/" . $v["name"] . " [".formatsize($v["size"])."]" );
}
}
return implode("<br>", $fileArr);
}
}
Внимание! Функция не обязательная! В случае её отсутствия будет применена стандартная функция построения списка файлов.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.