3 мар
Начиная с версии 3.0 модуля Tracker for DLE можно изменять вид дерева файлов в раздаче!

Для этого надо в файле /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);
        }
}


Внимание! Функция не обязательная! В случае её отсутствия будет применена стандартная функция построения списка файлов.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.