diff --git a/library/ajax/view_torrent.php b/library/ajax/view_torrent.php index 30a0d72e2..c9274178a 100644 --- a/library/ajax/view_torrent.php +++ b/library/ajax/view_torrent.php @@ -34,16 +34,13 @@ if (!isset($this->request['attach_id'])) { } $attach_id = (int)$this->request['attach_id']; -global $bnc_error; -$bnc_error = 0; - -$torrent = DB()->fetch_row("SELECT at.attach_id, at.physical_filename FROM " . BB_ATTACHMENTS_DESC . " at WHERE at.attach_id = $attach_id LIMIT 1"); +$torrent = DB()->fetch_row("SELECT attach_id, physical_filename FROM " . BB_ATTACHMENTS_DESC . " WHERE attach_id = $attach_id LIMIT 1"); if (!$torrent) { - $this->ajax_die($lang['EMPTY_ATTACH_ID']); + $this->ajax_die($lang['ERROR_BUILD']); } -$filename = get_attachments_dir() . '/' . $torrent['physical_filename']; -if (($file_contents = @file_get_contents($filename)) === false) { +$filename = get_attachments_dir() . '/' . $torrent['physical_filename']; +if (!$file_contents = file_get_contents($filename)) { if (IS_AM) { $this->ajax_die($lang['ERROR_NO_ATTACHMENT'] . "\n\n" . htmlCHR($filename)); } else { @@ -51,27 +48,25 @@ if (($file_contents = @file_get_contents($filename)) === false) { } } -// Построение списка -$tor_filelist = build_tor_filelist($file_contents); - -function build_tor_filelist($file_contents) -{ - global $lang; - - if (!$tor = bdecode($file_contents)) { - return $lang['TORFILE_INVALID']; - } - - $torrent = new torrent($tor); - - return $torrent->get_filelist(); +if (!$tor = bdecode($file_contents)) { + return $lang['TORFILE_INVALID']; } -class torrent +$torrent = new TorrentFileList($tor); +$tor_filelist = $torrent->get_filelist(); + +$this->response['html'] = $tor_filelist; + +/** + * Class TorrentFileList + */ +class TorrentFileList { - public $tor_decoded = array(); - public $files_ary = array('/' => ''); - public $multiple = null; + public $tor_decoded = []; + public $files_ary = [ + '/' => [] + ]; + public $multiple = false; public $root_dir = ''; public $files_html = ''; @@ -82,6 +77,8 @@ class torrent public function get_filelist() { + global $html; + $this->build_filelist_array(); if ($this->multiple) { @@ -89,14 +86,14 @@ class torrent $this->files_ary = array_merge($this->files_ary, $this->files_ary['/']); unset($this->files_ary['/']); } - $filelist = $this->build_filelist_html(); + $filelist = $html->array2html($this->files_ary); return "