| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- /* $Id: ajax_index.js 3061 2007-05-29 20:49:35Z danez $ */
- // fields
- var ajax_fieldIds = new Array(
- "speedDown",
- "speedUp",
- "speedTotal",
- "cons",
- "freeSpace",
- "loadavg"
- );
- var ajax_idCount = ajax_fieldIds.length;
- var ajax_fieldIdsXfer = new Array(
- "xferGlobalTotal",
- "xferGlobalMonth",
- "xferGlobalWeek",
- "xferGlobalDay",
- "xferUserTotal",
- "xferUserMonth",
- "xferUserWeek",
- "xferUserDay"
- );
- var ajax_idCountXfer = ajax_fieldIdsXfer.length;
- //
- var silentEnabled = 0;
- var titleChangeEnabled = 0;
- var pageTitle = "torrentflux-b4rt";
- var goodLookingStatsEnabled = 0;
- var goodLookingStatsSettings = null;
- var bottomStatsEnabled = 0;
- var queueActive = 0;
- var xferEnabled = 0;
- var usersEnabled = 0;
- var usersHideOffline = 0;
- var userList = "";
- var transferListEnabled = 0;
- var sortTableEnabled = 0;
- var driveSpaceBarStyle = "tf";
- var bandwidthBarsEnabled = 0;
- var bandwidthBarsStyle = "tf";
- var imgSrcDriveSpaceBlank = "themes/default/images/blank.gif";
- var imgHeightDriveSpaceBlank = 12;
- var indexTimer = null;
- var updateTimeLeft = 0;
- /**
- * ajax_initialize
- *
- * @param timer
- * @param delim
- * @param sEnabled
- * @param tChangeEnabled
- * @param pTitle
- * @param glsEnabled
- * @param glsSettings
- * @param bsEnabled
- * @param qActive
- * @param xEnabled
- * @param uEnabled
- * @param uHideOffline
- * @param tEnabled
- * @param sortEnabled
- * @param dsBarStyle
- * @param bwBarsEnabled
- * @param bwBarsStyle
- */
- function ajax_initialize(timer, delim, sEnabled, tChangeEnabled, pTitle, glsEnabled, glsSettings, bsEnabled, qActive, xEnabled, uEnabled, uHideOffline, tEnabled, sortEnabled, dsBarStyle, bwBarsEnabled, bwBarsStyle) {
- ajax_updateTimer = timer;
- ajax_txtDelim = delim;
- silentEnabled = sEnabled;
- titleChangeEnabled = tChangeEnabled;
- pageTitle = pTitle;
- goodLookingStatsEnabled = glsEnabled;
- bottomStatsEnabled = bsEnabled;
- queueActive = qActive;
- xferEnabled = xEnabled;
- usersEnabled = uEnabled;
- usersHideOffline = uHideOffline;
- transferListEnabled = tEnabled;
- sortTableEnabled = sortEnabled;
- driveSpaceBarStyle = dsBarStyle;
- bandwidthBarsEnabled = bwBarsEnabled;
- bandwidthBarsStyle = bwBarsStyle;
- // url + params
- ajax_updateUrl = "index.php?iid=index";
- ajax_updateParams = "&ajax_update=1";
- if ((bottomStatsEnabled == 1) && (xferEnabled == 1))
- ajax_updateParams += '1';
- else
- ajax_updateParams += '0';
- ajax_updateParams += usersEnabled;
- ajax_updateParams += transferListEnabled;
- // gls
- if (goodLookingStatsEnabled == 1)
- goodLookingStatsSettings = glsSettings.split(":");
- // state
- ajax_updateState = 1;
- // http-request
- ajax_httpRequest = ajax_getHttpRequest();
- // start update-thread
- updateTimeLeft = ajax_updateTimer / 1000;
- ajax_pageUpdate();
- }
- /**
- * page ajax-update
- *
- */
- function ajax_pageUpdate() {
- var obj = document.getElementById("span_update");
- if (ajax_updateState == 1) {
- if (updateTimeLeft > 0) {
- if (silentEnabled == 0) {
- if (obj) obj.innerHTML = "Next AJAX-Update in " + String(updateTimeLeft) + " seconds";
- } else {
- if (obj) obj.innerHTML = "AJAX-Update enabled";
- }
- updateTimeLeft--;
- }
- else if (updateTimeLeft == 0) {
- updateTimeLeft = -1;
- if (silentEnabled == 0) {
- if (obj) obj.innerHTML = "Update in progress...";
- }
- if ((titleChangeEnabled == 1) && (silentEnabled == 0)) {
- document.title = "Update in progress... - "+ pageTitle;
- }
- setTimeout("ajax_update();", 100);
- }
- indexTimer = setTimeout("ajax_pageUpdate();", 1000);
- } else {
- if (obj) obj.innerHTML = "AJAX-Update disabled";
- }
- }
- /**
- * process XML-response
- *
- * @param content
- */
- function ajax_processXML(content) {
- alert(content);
- }
- /**
- * process text-response
- *
- * @param content
- */
- function ajax_processText(content) {
- var aryCount = 1;
- if ((bottomStatsEnabled == 1) && (xferEnabled == 1))
- aryCount++;
- if (usersEnabled == 1)
- aryCount++;
- if (transferListEnabled == 1)
- aryCount++;
- if (aryCount == 1) {
- // update
- ajax_updateContent(content, "", "", "");
- } else {
- var tempAry = content.split("|");
- // transfer-list
- var transferList = "";
- if (transferListEnabled == 1)
- transferList = tempAry.pop();
- // users
- var users = "";
- if (usersEnabled == 1)
- users = tempAry.pop();
- // xfer
- var statsXfer = "";
- if ((bottomStatsEnabled == 1) && (xferEnabled == 1))
- statsXfer = tempAry.pop();
- // update
- ajax_updateContent(tempAry.pop(), statsXfer, users, transferList);
- }
- // timer
- updateTimeLeft = ajax_updateTimer / 1000;
- }
- /**
- * update page contents from response
- *
- * @param statsServerStr
- * @param statsXferStr
- * @param usersStr
- * @param transferListStr
- */
- function ajax_updateContent(statsServerStr, statsXferStr, usersStr, transferListStr) {
- var statsServer = statsServerStr.split(ajax_txtDelim);
- // page-title
- if (titleChangeEnabled == 1) {
- var newTitle = "";
- for (i = 0; i < 5; i++) {
- newTitle += statsServer[i] + "|";
- }
- newTitle += statsServer[5]+ " - " + pageTitle;
- document.title = newTitle;
- }
- // good looking stats
- if (goodLookingStatsEnabled == 1) {
- for (i = 0; i < ajax_idCount; i++) {
- if (goodLookingStatsSettings[i] == 1)
- document.getElementById("g_" + ajax_fieldIds[i]).innerHTML = statsServer[i];
- }
- }
- // drivespace-bar
- var dSpace = statsServer[10];
- document.getElementById("barFreeSpace").innerHTML = statsServer[4];
- document.getElementById("barDriveSpacePercent").innerHTML = (100 - dSpace);
- document.getElementById("barDriveSpace1").style.width = dSpace + "%";
- document.getElementById("barDriveSpace2").style.width = (100 - dSpace) + "%";
- if (driveSpaceBarStyle == "xfer") {
- // set color
- var dsbCol = 'rgb(';
- dsbCol += parseInt(255 - 255 * ((100 - dSpace) / 100));
- dsbCol += ',' + parseInt(255 * ((100 - dSpace) / 100));
- dsbCol += ',0)';
- document.getElementById("barDriveSpace2").style.backgroundcolor = dsbCol;
- }
- // bandwidth-bars
- if (bandwidthBarsEnabled == 1) {
- // up
- var upPer = statsServer[9];
- document.getElementById("barSpeedUpPercent").innerHTML = upPer;
- document.getElementById("barSpeedUp").innerHTML = statsServer[1];
-
- document.getElementById("barSpeedUp1").style.width = upPer + "%";
- document.getElementById("barSpeedUp2").style.width = (100 - upPer) + "%";
- // down
- var downPer = statsServer[8];
- document.getElementById("barSpeedDownPercent").innerHTML = downPer;
- document.getElementById("barSpeedDown").innerHTML = statsServer[0];
- document.getElementById("barSpeedDown2").style.width = (100 - downPer) + "%";
-
- document.getElementById("barSpeedDown1").style.width = downPer + "%";
- if (bandwidthBarsStyle == "xfer") {
- // set color
- // up
- var bwbCol = 'rgb(';
- bwbCol += parseInt(255 - 255 * ((100 - upPer) / 150));
- bwbCol += ',' + parseInt(255 * ((100 - upPer) / 150));
- bwbCol += ',0)';
- document.getElementById("barSpeedUp1").style.backgroundcolor = bwbCol;
- // down
- bwbCol = 'rgb(';
- bwbCol += parseInt(255 - 255 * ((100 - downPer) / 150));
- bwbCol += ',' + parseInt(255 * ((100 - downPer) / 150));
- bwbCol += ',0)';
- document.getElementById("barSpeedDown1").style.backgroundcolor = bwbCol;
- }
- }
- // bottom stats
- if (bottomStatsEnabled == 1) {
- for (i = 0; i < ajax_idCount; i++) {
- document.getElementById("b_" + ajax_fieldIds[i]).innerHTML = statsServer[i];
- }
- // running + queued
- if (queueActive == 1) {
- document.getElementById("running").innerHTML = statsServer[ajax_idCount];
- document.getElementById("queued").innerHTML = statsServer[ajax_idCount + 1];
- }
- // xfer
- if (xferEnabled == 1) {
- var statsXfer = statsXferStr.split(ajax_txtDelim);
- for (i = 0; i < ajax_idCountXfer; i++) {
- document.getElementById(ajax_fieldIdsXfer[i]).innerHTML = statsXfer[i];
- }
- }
- }
- // users
- if (usersEnabled == 1) {
- if (userList != usersStr) {
- userList = usersStr;
- if (usersHideOffline == 0) {
- var allUsers = usersStr.split("+");
- // online
- var onlineUsers = allUsers[0].split(ajax_txtDelim);
- var onlineUsersCount = onlineUsers.length;
- var htmlString = "";
- for (i = 0; i < onlineUsersCount; i++) {
- htmlString += '<a href="index.php?iid=message&to_user='+onlineUsers[i]+'">'+onlineUsers[i]+'</a><br>';
- }
- document.getElementById("usersOnline").innerHTML = htmlString;
- // offline
- var offlineUsers = allUsers[1].split(ajax_txtDelim);
- var offlineUsersCount = offlineUsers.length;
- htmlString = "";
- for (i = 0; i < offlineUsersCount; i++) {
- htmlString += '<a href="index.php?iid=message&to_user='+offlineUsers[i]+'">'+offlineUsers[i]+'</a><br>';
- }
- document.getElementById("usersOffline").innerHTML = htmlString;
- } else {
- // online
- var onlineUsers = usersStr.split(ajax_txtDelim);
- var onlineUsersCount = onlineUsers.length;
- var htmlString = "";
- for (i = 0; i < onlineUsersCount; i++) {
- htmlString += '<a href="index.php?iid=message&to_user='+onlineUsers[i]+'">'+onlineUsers[i]+'</a><br>';
- }
- document.getElementById("usersOnline").innerHTML = htmlString;
- }
- }
- }
- // transfer-list
- if (transferListEnabled == 1) {
- // update content
- document.getElementById("transferList").innerHTML = transferListStr;
- // re-init sort-table
- if (sortTableEnabled == 1)
- sortables_init();
- }
- }
- /**
- * unload
- */
- function ajax_unload() {
- if(indexTimer) window.clearTimeout(indexTimer);
- }
|