function getRatiosStat() { $req = new rXMLRPCRequest(new rXMLRPCCommand("d.multicall", array("main", getCmd("d.get_hash=")))); $ret = 'theWebUI.ratiosStat = {'; if ($req->run() && !$req->fault) { $tm = time(); for ($i = 0; $i < count($req->val); $i++) { $st = new rStat("torrents/" . $req->val[$i] . ".csv"); $ratios = $st->getRatios($tm); if ($ret != 'theWebUI.ratiosStat = {') { $ret .= ','; } $ret .= '"' . $req->val[$i] . '": [' . $ratios[0] . ',' . $ratios[1] . ',' . $ratios[2] . ']'; } } return $ret . '}; '; }
if (isset($_REQUEST['mode'])) { $mode = $_REQUEST['mode']; if ($mode == 'clear') { if (!$disableClearButton) { foreach ($storages as $storage) { @unlink(getSettingsPath() . '/trafic/' . $storage); } } if ($_REQUEST['tracker'] != "none") { $mode = 'day'; $storages = array("global.csv"); } } $ret = array(); foreach ($storages as $storage) { $st = new rStat($storage); if ($mode == 'day') { $val = $st->getDay(); } else { if ($mode == 'month') { $val = $st->getMonth(); } else { if ($mode == 'year') { $val = $st->getYear(); } } } if (empty($ret)) { $ret = $val; } else { $ret["up"] = array_map("sum", $val["up"], $ret["up"]);
$st->flush(); $dh = @opendir($dir . "trackers"); if ($dh) { while (false !== ($file = readdir($dh))) { if (is_file($dir . "trackers/" . $file)) { $file = basename($file, ".csv"); if (!array_key_exists($file, $trackers)) { $trackers[$file] = array(0, 0); } } } closedir($dh); } foreach ($trackers as $key => $data) { if (!empty($key)) { $st = new rStat("trackers/" . $key . ".csv"); $st->correct($data[0], $data[1]); $st->flush(); } } if ($collectStatForTorrents) { $existingStats = array(); $dh = @opendir($dir . "torrents"); if ($dh) { while (false !== ($file = readdir($dh))) { if (is_file($dir . "torrents/" . $file)) { $hash = basename($file, ".csv"); $existingStats[$hash] = filemtime($dir . "torrents/" . $file); } } }