break; // xfer // xfer case "xfer": // 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 . ':')); }
/** * 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; }
/** * process a request */ function instance_processRequest() { global $cfg, $db; // type-switch switch ($this->_type) { case "all": if (!($this->_format == "txt" && $this->_header == 0)) { $this->_transferHeads = getTransferListHeadArray(); } $this->_indent = " "; // xfer-init if ($cfg['xfer_realtime'] == 0) { $cfg['xfer_realtime'] = 1; // set xfer-newday Xfer::setNewday(); } $this->_transferList = getTransferListArray(); $this->_initServerStats(); $this->_initXferStats(); $this->_initUserStats(); break; case "server": $this->_indent = ""; $this->_transferList = getTransferListArray(); $this->_initServerStats(); break; case "xfer": $this->_indent = ""; // xfer-init if ($cfg['xfer_realtime'] == 0) { $cfg['xfer_realtime'] = 1; // set xfer-newday Xfer::setNewday(); } $this->_transferList = getTransferListArray(); $this->_initXferStats(); break; case "transfers": $this->_indent = ""; $this->_transferList = getTransferListArray(); if (!($this->_format == "txt" && $this->_header == 0)) { $this->_transferHeads = getTransferListHeadArray(); } break; case "transfer": // transfer-id if (empty($this->_transferID)) { @error("missing params", "stats.php", "", array('i')); } // validate transfer if (tfb_isValidTransfer($this->_transferID) !== true) { AuditAction($cfg["constants"]["error"], "INVALID TRANSFER: " . $this->_transferID); @error("Invalid Transfer", "", "", array($this->_transferID)); } $this->_indent = ""; $this->_transferDetails = getTransferDetails($this->_transferID, false); break; case "users": $this->_indent = ""; $this->_initUserStats(); break; case "usage": $this->_sendUsage(); } // action switch ($this->_format) { case "xml": $this->_sendXML(); case "rss": $this->_sendRSS(); case "txt": $this->_sendTXT(); } }
/** * sets vars for the user section */ function tmplSetUserSection() { global $cfg, $db, $tmpl; // xfer-prepare $tmpl->setvar('enable_xfer', $cfg["enable_xfer"]); if ($cfg['enable_xfer'] == 1) { $tmpl->setvar('userSection_colspan', 8); // getTransferListArray to update xfer-stats // xfer-init if ($cfg['xfer_realtime'] == 0) { $cfg['xfer_realtime'] = 1; // set xfer-newday Xfer::setNewday(); } @getTransferListArray(); } else { $tmpl->setvar('userSection_colspan', 7); } // activity-prepare $total_activity = GetActivityCount(); $sql = "SELECT user_id, hits, last_visit, time_created, user_level, state FROM tf_users ORDER BY user_id"; $result = $db->Execute($sql); if ($db->ErrorNo() != 0) { dbError($sql); } // user-details $user_details_list = array(); while (list($user_id, $hits, $last_visit, $time_created, $user_level, $user_state) = $result->FetchRow()) { // disk-usage $disk_usage = "0"; $tDir = $cfg["path"] . $user_id . "/"; if (is_dir($tDir)) { switch ($cfg["_OS"]) { case 1: //Linux $dudir = shell_exec($cfg['bin_du'] . " -sk -h -D " . tfb_shellencode($tDir)); break; case 2: //BSD $dudir = shell_exec($cfg['bin_du'] . " -sk -h -L " . tfb_shellencode($tDir)); break; } $dusize = explode("\t", $dudir); $disk_usage = array_shift($dusize); } // xfer-usage $xfer_usage = $cfg['enable_xfer'] == 1 ? Xfer::getUsage($user_id) : 0; // activity $user_activity = GetActivityCount($user_id); $user_percent = $user_activity == 0 ? 0 : number_format($user_activity / $total_activity * 100); // online $user_icon = "themes/" . $cfg['theme'] . "/images/user_offline.gif"; if (IsOnline($user_id)) { $user_icon = "themes/" . $cfg['theme'] . "/images/user.gif"; } // level $user_image = "themes/" . $cfg['theme'] . "/images/user.gif"; $type_user = $cfg['_NORMALUSER']; if ($user_level == 1) { $user_image = "themes/" . $cfg['theme'] . "/images/admin_user.gif"; $type_user = $cfg['_ADMINISTRATOR']; } if ($user_level == 2) { $user_image = "themes/" . $cfg['theme'] . "/images/superadmin.gif"; $type_user = $cfg['_SUPERADMIN']; } $is_superadmin = $user_level <= 1 || IsSuperAdmin() ? 1 : 0; // add to list array_push($user_details_list, array('is_user' => IsUser($user_id), 'user_id' => $user_id, 'user_icon' => $user_icon, 'hits' => $hits, 'disk_usage' => $disk_usage, 'xfer_usage' => $xfer_usage, 'user_percent' => $user_percent, 'user_percent2' => $user_percent * 2, 'user_percent3' => 200 - $user_percent * 2, 'time_created' => date($cfg['_DATEFORMAT'], $time_created), 'last_visit' => date($cfg['_DATETIMEFORMAT'], $last_visit), 'user_image' => $user_image, 'type_user' => $type_user, 'user_level' => $user_level, 'user_state' => $user_state, 'is_superadmin' => $is_superadmin)); } // set vars $tmpl->setvar('_USERDETAILS', $cfg['_USERDETAILS']); $tmpl->setvar('_USER', $cfg['_USER']); $tmpl->setvar('_HITS', $cfg['_HITS']); $tmpl->setvar('_UPLOADACTIVITY', $cfg['_UPLOADACTIVITY']); $tmpl->setvar('_JOINED', $cfg['_JOINED']); $tmpl->setvar('_LASTVISIT', $cfg['_LASTVISIT']); $tmpl->setvar('_ADMIN', $cfg['_ADMIN']); $tmpl->setvar('_DAYS', $cfg['_DAYS']); $tmpl->setvar('_SENDMESSAGETO', $cfg['_SENDMESSAGETO']); $tmpl->setvar('_WARNING', $cfg['_WARNING']); $tmpl->setvar('_ABOUTTODELETE', $cfg['_ABOUTTODELETE']); $tmpl->setvar('_USERSACTIVITY', $cfg['_USERSACTIVITY']); $tmpl->setvar('_EDIT', $cfg['_EDIT']); $tmpl->setvar('_DELETE', $cfg['_DELETE']); $tmpl->setvar('table_admin_border', $cfg["table_admin_border"]); $tmpl->setvar('days_to_keep', $cfg["days_to_keep"]); $tmpl->setloop('user_details_list', $user_details_list); }