/** * print form of index page settings (0-2047) * * # * Torrent * * User [0] * Size [1] * DLed [2] * ULed [3] * * Status [4] * Progress [5] * DL Speed [6] * UL Speed [7] * * Seeds [8] * Peers [9] * ETA [10] * TorrentClient [11] * */ function printIndexPageSettingsForm() { global $cfg; $settingsIndexPage = convertIntegerToArray($cfg["index_page_settings"]); echo '<table>'; echo '<tr>'; echo '<td align="right" nowrap>Owner: <input name="index_page_settings_0" type="Checkbox" value="1"'; if ($settingsIndexPage[0] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Size: <input name="index_page_settings_1" type="Checkbox" value="1"'; if ($settingsIndexPage[1] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Total Down: <input name="index_page_settings_2" type="Checkbox" value="1"'; if ($settingsIndexPage[2] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Total Up: <input name="index_page_settings_3" type="Checkbox" value="1"'; if ($settingsIndexPage[3] == 1) { echo ' checked'; } echo '></td>'; echo '</tr>'; echo '<tr>'; echo '<td align="right" nowrap>Status : <input name="index_page_settings_4" type="Checkbox" value="1"'; if ($settingsIndexPage[4] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Progress : <input name="index_page_settings_5" type="Checkbox" value="1"'; if ($settingsIndexPage[5] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Down-Speed : <input name="index_page_settings_6" type="Checkbox" value="1"'; if ($settingsIndexPage[6] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Up-Speed : <input name="index_page_settings_7" type="Checkbox" value="1"'; if ($settingsIndexPage[7] == 1) { echo ' checked'; } echo '></td>'; echo '</tr>'; echo '<tr>'; echo '<td align="right" nowrap>Seeds : <input name="index_page_settings_8" type="Checkbox" value="1"'; if ($settingsIndexPage[8] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Peers : <input name="index_page_settings_9" type="Checkbox" value="1"'; if ($settingsIndexPage[9] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Estimated Time : <input name="index_page_settings_10" type="Checkbox" value="1"'; if ($settingsIndexPage[10] == 1) { echo ' checked'; } echo '></td>'; echo '<td align="right" nowrap>Client : <input name="index_page_settings_11" type="Checkbox" value="1"'; if ($settingsIndexPage[11] == 1) { echo ' checked'; } echo '></td>'; echo '</tr>'; echo '</table>'; }
/** * This method gets the list of transfer * * @return array */ function getTransferListArray() { global $cfg, $db, $transfers; $kill_id = ""; $lastUser = ""; $arUserTransfers = array(); $arListTransfers = array(); // settings $settings = convertIntegerToArray($cfg["index_page_settings"]); // sortOrder $sortOrder = tfb_getRequestVar("so"); if ($sortOrder == "") { $sortOrder = $cfg["index_page_sortorder"]; } if ($cfg["transmission_rpc_enable"] == 2) { require_once 'inc/functions/functions.rpc.transmission.php'; // New method for transmission-daemon transfers $result = getUserTransmissionTransfers($cfg['uid']); foreach ($result as $aTorrent) { if ($aTorrent['status'] == 4 || $aTorrent['status'] == 8) { if (!isset($cfg["total_upload"])) { $cfg["total_upload"] = 0; } if (!isset($cfg["total_download"])) { $cfg["total_download"] = 0; } $cfg["total_upload"] = $cfg["total_upload"] + GetSpeedValue($aTorrent['rateUpload'] / 1000); $cfg["total_download"] = $cfg["total_download"] + GetSpeedValue($aTorrent['rateDownload'] / 1000); } array_push($arUserTransfers, $aTorrent); } } $arList = getTransferArray($sortOrder); foreach ($arList as $transfer) { // init some vars $displayname = $transfer; $show_run = true; $transferowner = getOwner($transfer); $owner = IsOwner($cfg["user"], $transferowner); // stat $sf = new StatFile($transfer, $transferowner); // settings if (isset($transfers['settings'][$transfer])) { $settingsAry = $transfers['settings'][$transfer]; } else { $settingsAry = array(); if (substr(str_replace('.imported', '', $transfer), -8) == ".torrent") { // this is a t-client $settingsAry['type'] = "torrent"; $settingsAry['client'] = $cfg["btclient"]; } else { if (substr($transfer, -5) == ".wget") { // this is wget. $settingsAry['type'] = "wget"; $settingsAry['client'] = "wget"; } else { if (substr($transfer, -4) == ".nzb") { // this is nzbperl. $settingsAry['type'] = "nzb"; $settingsAry['client'] = "nzbperl"; } else { AuditAction($cfg["constants"]["error"], "INVALID TRANSFER: " . $transfer); @error("Invalid Transfer", "", "", array($transfer)); } } } $settingsAry['hash'] = ""; $settingsAry["savepath"] = $cfg["enable_home_dirs"] != 0 ? $cfg["path"] . $transferowner . '/' : $cfg["path"] . $cfg["path_incoming"] . '/'; $settingsAry['datapath'] = ""; } // cache running-flag in local var. we will access that often $transferRunning = $sf->running; // cache percent-done in local var. ... $percentDone = $sf->percent_done; // --------------------------------------------------------------------- //XFER: update1: add upload/download stats to the xfer array if ($cfg['enable_xfer'] == 1 && $cfg['xfer_realtime'] == 1) { @Xfer::update1($transfer, $transferowner, $settingsAry['client'], $settingsAry['hash'], $sf->uptotal, $sf->downtotal); } // --------------------------------------------------------------------- // injects if (!file_exists($cfg["transfer_file_path"] . $transfer . ".stat")) { $transferRunning = 2; $sf->running = "2"; $sf->size = getTransferSize($transfer); injectTransfer($transfer); } // use default client if client is not set if (!isset($settingsAry['client'])) { $settingsAry['client'] = $cfg['btclient']; } // totals-preparation // if downtotal + uptotal + progress > 0 if ($settings[2] + $settings[3] + $settings[5] > 0) { $ch = ClientHandler::getInstance($settingsAry['client']); $transferTotals = $ch->getTransferTotalOP($transfer, $settingsAry['hash'], $sf->uptotal, $sf->downtotal); } // --------------------------------------------------------------------- // preprocess stat-file and get some vars $estTime = ""; $statusStr = ""; switch ($transferRunning) { case 2: // new $statusStr = 'New'; break; case 3: // queued $statusStr = 'Queued'; $estTime = 'Waiting'; break; default: // running + stopped // increment the totals if (!isset($cfg["total_upload"])) { $cfg["total_upload"] = 0; } if (!isset($cfg["total_download"])) { $cfg["total_download"] = 0; } $cfg["total_upload"] += GetSpeedValue($sf->up_speed); $cfg["total_download"] += GetSpeedValue($sf->down_speed); // $estTime if ($transferRunning == 0) { $estTime = $sf->time_left; } else { if ($sf->time_left != "" && $sf->time_left != "0") { if ($cfg["display_seeding_time"] == 1 && $sf->percent_done >= 100) { $estTime = $sf->seedlimit > 0 && !empty($sf->up_speed) && intval($sf->up_speed[0]) > 0 ? convertTimeText(($sf->seedlimit / 100 * $sf->size - $sf->uptotal) / GetSpeedInBytes($sf->up_speed)) : '-'; } else { $estTime = $sf->time_left; } } } // $lastUser $lastUser = $transferowner; // $show_run + $statusStr if ($percentDone >= 100) { $statusStr = $transferRunning == 1 && trim($sf->up_speed) != "" ? 'Seeding' : 'Done'; $show_run = false; } else { if ($percentDone < 0) { $statusStr = 'Stopped'; $show_run = true; } else { $statusStr = 'Leeching'; } } break; } // --------------------------------------------------------------------- // fill temp array $transferAry = array(); // ================================================================ name array_push($transferAry, $transfer); // =============================================================== owner if ($settings[0] != 0) { array_push($transferAry, $transferowner); } // ================================================================ size if ($settings[1] != 0) { array_push($transferAry, @formatBytesTokBMBGBTB($sf->size)); } // =========================================================== downtotal if ($settings[2] != 0) { array_push($transferAry, @formatBytesTokBMBGBTB($transferTotals["downtotal"])); } // ============================================================= uptotal if ($settings[3] != 0) { array_push($transferAry, @formatBytesTokBMBGBTB($transferTotals["uptotal"])); } // ============================================================== status if ($settings[4] != 0) { array_push($transferAry, $statusStr); } // ============================================================ progress if ($settings[5] != 0) { $percentage = ""; if ($percentDone >= 100 && trim($sf->up_speed) != "") { $percentage = @number_format($transferTotals["uptotal"] / $sf->size * 100, 2) . '%'; } else { if ($percentDone >= 1) { $percentage = $percentDone . '%'; } else { if ($percentDone < 0) { $percentage = round($percentDone * -1 - 100, 1) . '%'; } else { $percentage = '0%'; } } } array_push($transferAry, $percentage); } // ================================================================ down if ($settings[6] != 0) { $down = ""; if ($transferRunning == 1) { $down = trim($sf->down_speed) != "" ? $sf->down_speed : '0.0 kB/s'; } array_push($transferAry, $down); } // ================================================================== up if ($settings[7] != 0) { $up = ""; if ($transferRunning == 1) { $up = trim($sf->up_speed) != "" ? $sf->up_speed : '0.0 kB/s'; } array_push($transferAry, $up); } // =============================================================== seeds if ($settings[8] != 0) { $seeds = $transferRunning == 1 ? $sf->seeds : ""; array_push($transferAry, $seeds); } // =============================================================== peers if ($settings[9] != 0) { $peers = $transferRunning == 1 ? $sf->peers : ""; array_push($transferAry, $peers); } // ================================================================= ETA if ($settings[10] != 0) { array_push($transferAry, $estTime); } // ============================================================== client if ($settings[11] != 0) { switch ($settingsAry['client']) { case "tornado": array_push($transferAry, "B"); break; case "transmission": array_push($transferAry, "T"); break; case "transmissionrpc": array_push($transferAry, "Tr"); break; case "mainline": array_push($transferAry, "M"); break; case "azureus": array_push($transferAry, "A"); break; case "vuzerpc": array_push($transferAry, "V"); break; case "wget": array_push($transferAry, "W"); break; case "nzbperl": array_push($transferAry, "N"); break; default: array_push($transferAry, "U"); } } // --------------------------------------------------------------------- // Is this transfer for the user list or the general list? if ($owner) { array_push($arUserTransfers, $transferAry); } else { array_push($arListTransfers, $transferAry); } } //XFER: update 2 if ($cfg['enable_xfer'] == 1 && $cfg['xfer_realtime'] == 1) { @Xfer::update2(); } // ------------------------------------------------------------------------- // build output-array $retVal = array(); if (sizeof($arUserTransfers) > 0) { foreach ($arUserTransfers as $torrentrow) { array_push($retVal, $torrentrow); } } $boolCond = true; if ($cfg['enable_restrictivetview'] == 1) { $boolCond = $cfg['isAdmin']; } if ($boolCond && sizeof($arListTransfers) > 0) { foreach ($arListTransfers as $torrentrow) { array_push($retVal, $torrentrow); } } return $retVal; }
// queue $tmpl->setvar('queueActive', FluxdQmgr::isRunning() ? 1 : 0); // incoming-path $tmpl->setvar('path_incoming', $cfg["enable_home_dirs"] != 0 ? $cfg["user"] : $cfg["path_incoming"]); // some configs $tmpl->setvar('enable_metafile_download', $cfg["enable_metafile_download"]); $tmpl->setvar('enable_multiops', $cfg["enable_multiops"]); $tmpl->setvar('twd', $cfg["transfer_window_default"]); $tmpl->setvar('transfer_delete_data', $cfg["transfer_delete_data"]); // ============================================================================= // transfer-list // ============================================================================= $arUserTorrent = array(); $arListTorrent = array(); // settings $settings = convertIntegerToArray($cfg["index_page_settings"]); // sortOrder $sortOrder = tfb_getRequestVar("so"); $tmpl->setvar('sortOrder', empty($sortOrder) ? $cfg["index_page_sortorder"] : $sortOrder); // t-list $arList = getTransferArray($sortOrder); $progress_color = "#22BB22"; $bar_width = "4"; $bUseRPC = false; // --------------------------------------------------------------------- if ($cfg["transmission_rpc_enable"]) { $bUseRPC = true; require_once 'inc/functions/functions.rpc.transmission.php'; try { if ($cfg["transmission_rpc_enable"] == 2) { $aTrTorrents = getUserTransmissionTransfers((int) $cfg['uid']);
/** * set vars for form of index page settings (0-2047) * * User [0] * Size [1] * DLed [2] * ULed [3] * Status [4] * Progress [5] * DL Speed [6] * UL Speed [7] * Seeds [8] * Peers [9] * ETA [10] * TorrentClient [11] * */ function tmplSetIndexPageSettingsForm() { global $cfg, $tmpl; $settingsIndexPage = convertIntegerToArray($cfg["index_page_settings"]); $tmpl->setvar('indexPageSettingsForm_settings_0', $settingsIndexPage[0]); $tmpl->setvar('indexPageSettingsForm_settings_1', $settingsIndexPage[1]); $tmpl->setvar('indexPageSettingsForm_settings_2', $settingsIndexPage[2]); $tmpl->setvar('indexPageSettingsForm_settings_3', $settingsIndexPage[3]); $tmpl->setvar('indexPageSettingsForm_settings_4', $settingsIndexPage[4]); $tmpl->setvar('indexPageSettingsForm_settings_5', $settingsIndexPage[5]); $tmpl->setvar('indexPageSettingsForm_settings_6', $settingsIndexPage[6]); $tmpl->setvar('indexPageSettingsForm_settings_7', $settingsIndexPage[7]); $tmpl->setvar('indexPageSettingsForm_settings_8', $settingsIndexPage[8]); $tmpl->setvar('indexPageSettingsForm_settings_9', $settingsIndexPage[9]); $tmpl->setvar('indexPageSettingsForm_settings_10', $settingsIndexPage[10]); $tmpl->setvar('indexPageSettingsForm_settings_11', $settingsIndexPage[11]); }