// is enabled ? if ($cfg["enable_xfer"] != 1) { AuditAction($cfg["constants"]["error"], "ILLEGAL ACCESS: " . $cfg["user"] . " tried to use xfer"); @error("xfer is disabled", "index.php?iid=serverStats", ""); } // set vars $tmpl->setvar('is_xfer', 1); // getTransferListArray to update xfer-stats // set xfer-realtime $cfg['xfer_realtime'] = 1; // set xfer-newday Xfer::setNewday(); // transferlist-array to update stats getTransferListArray(); // xfer-totals $xfer_total = Xfer::getStatsTotal(); if ($cfg['xfer_day']) { $tmpl->setvar('xfer_day', tmplGetXferBar($cfg['xfer_day'], $xfer_total['day']['total'], $cfg['_XFERTHRU'] . ' Today:')); } if ($cfg['xfer_week']) { $tmpl->setvar('xfer_week', tmplGetXferBar($cfg['xfer_week'], $xfer_total['week']['total'], $cfg['_XFERTHRU'] . ' ' . $cfg['week_start'] . ':')); } $monthStart = strtotime(date('Y-m-') . $cfg['month_start']); $monthText = date('j') < $cfg['month_start'] ? date('M�j', strtotime('-1 Day', $monthStart)) : date('M�j', strtotime('+1 Month -1 Day', $monthStart)); if ($cfg['xfer_month']) { $tmpl->setvar('xfer_month', tmplGetXferBar($cfg['xfer_month'], $xfer_total['month']['total'], $cfg['_XFERTHRU'] . ' ' . $monthText . ':')); } if ($cfg['xfer_total']) { $tmpl->setvar('xfer_total', tmplGetXferBar($cfg['xfer_total'], $xfer_total['total']['total'], $cfg['_TOTALXFER'] . ':')); } if ($cfg['enable_public_xfer'] == 1 || $cfg['isAdmin']) {
/** * Xfer Shutdown * * @param $delta * @return mixed */ function _xfer($delta) { global $cfg, $db; // check xfer if ($cfg['enable_xfer'] != 1) { $this->_outputError("xfer must be enabled.\n"); return false; } // check arg if ($delta != "all" && $delta != "total" && $delta != "month" && $delta != "week" && $delta != "day") { $this->_outputMessage('invalid delta : "' . $delta . '"' . "\n"); return false; } $this->_outputMessage('checking xfer-limit(s) for "' . $delta . '" ...' . "\n"); // set xfer-realtime $cfg['xfer_realtime'] = 1; // set xfer-newday Xfer::setNewday(); // getTransferListArray to update xfer-stats $transferList = @getTransferListArray(); // get xfer-totals $xfer_total = Xfer::getStatsTotal(); // check if break needed // total if ($delta == "total" || $delta == "all") { // only do if a limit is set if ($cfg["xfer_total"] > 0) { if ($xfer_total['total']['total'] >= $cfg["xfer_total"] * 1048576) { // limit met, stop all Transfers now. $this->_outputMessage('Limit met for "total" : ' . formatFreeSpace($xfer_total['total']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_total"]) . "\n"); return $this->_transfersStop(); } else { $this->_outputMessage('Limit not met for "total" : ' . formatFreeSpace($xfer_total['total']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_total"]) . "\n"); } } else { $this->_outputMessage('no limit set for "total"' . "\n"); } } // month if ($delta == "month" || $delta == "all") { // only do if a limit is set if ($cfg["xfer_month"] > 0) { if ($xfer_total['month']['total'] >= $cfg["xfer_month"] * 1048576) { // limit met, stop all Transfers now. $this->_outputMessage('Limit met for "month" : ' . formatFreeSpace($xfer_total['month']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_month"]) . "\n"); return $this->_transfersStop(); } else { $this->_outputMessage('Limit not met for "month" : ' . formatFreeSpace($xfer_total['month']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_month"]) . "\n"); } } else { $this->_outputMessage('no limit set for "month"' . "\n"); } } // week if ($delta == "week" || $delta == "all") { // only do if a limit is set if ($cfg["xfer_week"] > 0) { if ($xfer_total['week']['total'] >= $cfg["xfer_week"] * 1048576) { // limit met, stop all Transfers now. $this->_outputMessage('Limit met for "week" : ' . formatFreeSpace($xfer_total['week']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_week"]) . "\n"); return $this->_transfersStop(); } else { $this->_outputMessage('Limit not met for "week" : ' . formatFreeSpace($xfer_total['week']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_week"]) . "\n"); } } else { $this->_outputMessage('no limit set for "week"' . "\n"); } } // day if ($delta == "day" || $delta == "all") { // only do if a limit is set if ($cfg["xfer_day"] > 0) { if ($xfer_total['day']['total'] >= $cfg["xfer_day"] * 1048576) { // limit met, stop all Transfers now. $this->_outputMessage('Limit met for "day" : ' . formatFreeSpace($xfer_total['day']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_day"]) . "\n"); return $this->_transfersStop(); } else { $this->_outputMessage('Limit not met for "day" : ' . formatFreeSpace($xfer_total['day']['total'] / 1048576) . " / " . formatFreeSpace($cfg["xfer_day"]) . "\n"); } } else { $this->_outputMessage('no limit set for "day"' . "\n"); } } // done $this->_outputMessage("done.\n"); return true; }