// 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 . ':'));
     }
     if ($cfg['xfer_total']) {
         $tmpl->setvar('xfer_total', tmplGetXferBar($cfg['xfer_total'], $xfer_total['total']['total'], $cfg['_TOTALXFER'] . ':'));
Example #2
0
 /**
  * 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();
     }
 }
Example #3
0
/**
 * pieServerBandwidth
 */
function image_pieServerBandwidth()
{
    global $cfg;
    // get vars
    getTransferListArray();
    $bwU = isset($cfg["total_upload"]) ? $cfg["total_upload"] : 0.0;
    $bwD = isset($cfg["total_download"]) ? $cfg["total_download"] : 0.0;
    // check vars
    if ($bwU < 0 || $bwD < 0) {
        // output image
        Image::paintNoOp();
    }
    // draw image
    Image::paintPie3D(202, 160, 100, 50, 200, 100, 20, Image::stringToRGBColor($cfg["body_data_bg"]), array($bwU + 1.0E-5, $bwD + 1.0E-5), image_getColors(), array('Up : ' . @number_format($bwU, 2) . " kB/s", 'Down : ' . @number_format($bwD, 2) . " kB/s"), 48, 130, 2, 14);
}
 /**
  * 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;
 }
/**
 * 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);
}