Subversion Repositories ALCASAR

Rev

Rev 2800 | Rev 3037 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log




























































































































































































































































































































































































































































































































































































































































































































Rev 2800 Rev 2976
1
/***************************************************************************
1
/***************************************************************************
2
 *   Copyright (C) 2008 by phpSysInfo - A PHP System Information Script    *
2
 *   Copyright (C) 2008 by phpSysInfo - A PHP System Information Script    *
3
 *   http://phpsysinfo.sourceforge.net/                                    *
3
 *   http://phpsysinfo.sourceforge.net/                                    *
4
 *                                                                         *
4
 *                                                                         *
5
 *   This program is free software; you can redistribute it and/or modify  *
5
 *   This program is free software; you can redistribute it and/or modify  *
6
 *   it under the terms of the GNU General Public License as published by  *
6
 *   it under the terms of the GNU General Public License as published by  *
7
 *   the Free Software Foundation; either version 2 of the License, or     *
7
 *   the Free Software Foundation; either version 2 of the License, or     *
8
 *   (at your option) any later version.                                   *
8
 *   (at your option) any later version.                                   *
9
 *                                                                         *
9
 *                                                                         *
10
 *   This program is distributed in the hope that it will be useful,       *
10
 *   This program is distributed in the hope that it will be useful,       *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
 *   GNU General Public License for more details.                          *
13
 *   GNU General Public License for more details.                          *
14
 *                                                                         *
14
 *                                                                         *
15
 *   You should have received a copy of the GNU General Public License     *
15
 *   You should have received a copy of the GNU General Public License     *
16
 *   along with this program; if not, write to the                         *
16
 *   along with this program; if not, write to the                         *
17
 *   Free Software Foundation, Inc.,                                       *
17
 *   Free Software Foundation, Inc.,                                       *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 ***************************************************************************/
19
 ***************************************************************************/
20
//
20
//
21
// $Id: phpsysinfo.js 699 2012-09-15 11:57:13Z namiltd $
21
// $Id: phpsysinfo.js 699 2012-09-15 11:57:13Z namiltd $
22
//
22
//
23
 
23
 
24
/*global $, jQuery */
24
/*global $, jQuery */
25
 
25
 
26
"use strict";
26
"use strict";
27
 
27
 
28
var langxml = [], filesystemTable, current_language = "", plugin_liste = [], blocks = [], langarr = [],
28
var langxml = [], filesystemTable, current_language = "", plugin_liste = [], blocks = [], langarr = [],
29
     showCPUListExpanded, showCPUInfoExpanded, showNetworkInfosExpanded, showMemoryInfosExpanded, showNetworkActiveSpeed, showCPULoadCompact, oldnetwork = [];
29
     showCPUListExpanded, showCPUInfoExpanded, showNetworkInfosExpanded, showMemoryInfosExpanded, showNetworkActiveSpeed, showCPULoadCompact, showTotals, increaseWidth, oldnetwork = [];
30
 
30
 
31
/**
31
/**
32
 * Fix PNG loading on IE6 or below
32
 * Fix PNG loading on IE6 or below
33
 */
33
 */
34
function PNGload(png) {
34
function PNGload(png) {
35
    if (typeof(png.ifixpng)==='function') { //IE6 PNG fix
35
    if (typeof(png.ifixpng)==='function') { //IE6 PNG fix
36
        png.ifixpng('./gfx/blank.gif');
36
        png.ifixpng('./gfx/blank.gif');
37
    }
37
    }
38
}
38
}
39
 
39
 
40
/**
40
/**
41
 * generate a cookie, if not exist, and add an entry to it<br><br>
41
 * generate a cookie, if not exist, and add an entry to it<br><br>
42
 * inspired by <a href="http://www.quirksmode.org/js/cookies.html">http://www.quirksmode.org/js/cookies.html</a>
42
 * inspired by <a href="http://www.quirksmode.org/js/cookies.html">http://www.quirksmode.org/js/cookies.html</a>
43
 * @param {String} name name that holds the value
43
 * @param {String} name name that holds the value
44
 * @param {String} value value that needs to be stored
44
 * @param {String} value value that needs to be stored
45
 * @param {Number} days how many days the entry should be valid in the cookie
45
 * @param {Number} days how many days the entry should be valid in the cookie
46
 */
46
 */
47
function createCookie(name, value, days) {
47
function createCookie(name, value, days) {
48
    var date = new Date(), expires = "";
48
    var date = new Date(), expires = "";
49
    if (days) {
49
    if (days) {
50
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
50
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
51
        if (typeof(date.toUTCString)==="function") {
51
        if (typeof(date.toUTCString)==="function") {
52
            expires = "; expires=" + date.toUTCString();
52
            expires = "; expires=" + date.toUTCString();
53
        } else {
53
        } else {
54
            //deprecated
54
            //deprecated
55
            expires = "; expires=" + date.toGMTString();
55
            expires = "; expires=" + date.toGMTString();
56
        }
56
        }
57
    } else {
57
    } else {
58
        expires = "";
58
        expires = "";
59
    }
59
    }
60
    document.cookie = name + "=" + value + expires + "; path=/";
60
    document.cookie = name + "=" + value + expires + "; path=/; samesite=strict";
61
}
61
}
62
 
62
 
63
/**
63
/**
64
 * read a value out of a cookie and return the value<br><br>
64
 * read a value out of a cookie and return the value<br><br>
65
 * inspired by <a href="http://www.quirksmode.org/js/cookies.html">http://www.quirksmode.org/js/cookies.html</a>
65
 * inspired by <a href="http://www.quirksmode.org/js/cookies.html">http://www.quirksmode.org/js/cookies.html</a>
66
 * @param {String} name name of the value that should be retrieved
66
 * @param {String} name name of the value that should be retrieved
67
 * @return {String}
67
 * @return {String}
68
 */
68
 */
69
function readCookie(name) {
69
function readCookie(name) {
70
    var nameEQ = "", ca = [], c = '', i = 0;
70
    var nameEQ = "", ca = [], c = '', i = 0;
71
    nameEQ = name + "=";
71
    nameEQ = name + "=";
72
    ca = document.cookie.split(';');
72
    ca = document.cookie.split(';');
73
    for (i = 0; i < ca.length; i++) {
73
    for (i = 0; i < ca.length; i++) {
74
        c = ca[i];
74
        c = ca[i];
75
        while (c.charAt(0) === ' ') {
75
        while (c.charAt(0) === ' ') {
76
            c = c.substring(1, c.length);
76
            c = c.substring(1, c.length);
77
        }
77
        }
78
        if (!c.indexOf(nameEQ)) {
78
        if (!c.indexOf(nameEQ)) {
79
            return c.substring(nameEQ.length, c.length);
79
            return c.substring(nameEQ.length, c.length);
80
        }
80
        }
81
    }
81
    }
82
    return null;
82
    return null;
83
}
83
}
84
 
84
 
85
/**
85
/**
86
 * round a given value to the specified precision, difference to Math.round() is that there
86
 * round a given value to the specified precision, difference to Math.round() is that there
87
 * will be appended Zeros to the end if the precision is not reached (0.1 gets rounded to 0.100 when precision is set to 3)
87
 * will be appended Zeros to the end if the precision is not reached (0.1 gets rounded to 0.100 when precision is set to 3)
88
 * @param {Number} x value to round
88
 * @param {Number} x value to round
89
 * @param {Number} n precision
89
 * @param {Number} n precision
90
 * @return {String}
90
 * @return {String}
91
 */
91
 */
92
function round(x, n) {
92
function round(x, n) {
93
    var e = 0, k = "";
93
    var e = 0, k = "";
94
    if (n < 0 || n > 14) {
94
    if (n < 0 || n > 14) {
95
        return 0;
95
        return 0;
96
    }
96
    }
97
    if (n === 0) {
97
    if (n === 0) {
98
        return Math.round(x);
98
        return Math.round(x);
99
    } else {
99
    } else {
100
        e = Math.pow(10, n);
100
        e = Math.pow(10, n);
101
        k = (Math.round(x * e) / e).toString();
101
        k = (Math.round(x * e) / e).toString();
102
        if (k.indexOf('.') === -1) {
102
        if (k.indexOf('.') === -1) {
103
            k += '.';
103
            k += '.';
104
        }
104
        }
105
        k += e.toString().substring(1);
105
        k += e.toString().substring(1);
106
        return k.substring(0, k.indexOf('.') + n + 1);
106
        return k.substring(0, k.indexOf('.') + n + 1);
107
    }
107
    }
108
}
108
}
109
 
109
 
110
/**
110
/**
111
 * activates a given style and disables the old one in the document
111
 * activates a given style and disables the old one in the document
112
 * @param {String} template template that should be activated
112
 * @param {String} template template that should be activated
113
 */
113
 */
114
function switchStyle(template) {
114
function switchStyle(template) {
-
 
115
    if (increaseWidth > 0) {
115
    $('link[rel*=style][title]').each(function getTitle(i) {
116
        $('link[rel*=style][title]').each(function getTitle(i) {
-
 
117
            if (this.getAttribute('title') === 'PSI_Template') {
-
 
118
                this.setAttribute('href', './templates/css.php?name=' + template + '&increase=' + increaseWidth);
-
 
119
            }
-
 
120
        });
-
 
121
    } else {
-
 
122
        $('link[rel*=style][title]').each(function getTitle(i) {
116
        if (this.getAttribute('title') === 'PSI_Template') {
123
            if (this.getAttribute('title') === 'PSI_Template') {
117
            this.setAttribute('href', './templates/' + template + ".css");
124
                this.setAttribute('href', './templates/' + template + ".css");  
-
 
125
            }
118
        }
126
        });
119
    });
127
    }
120
}
128
}
121
 
129
 
122
/**
130
/**
123
 * load the given translation an translate the entire page<br><br>retrieving the translation is done through a
131
 * load the given translation an translate the entire page<br><br>retrieving the translation is done through a
124
 * ajax call
132
 * ajax call
125
 * @private
133
 * @private
126
 * @param {String} plugin if plugin is given, the plugin translation file will be read instead of the main translation file
134
 * @param {String} plugin if plugin is given, the plugin translation file will be read instead of the main translation file
127
 * @param {String} langarrId internal plugin name
135
 * @param {String} langarrId internal plugin name
128
 * @return {jQuery} translation jQuery-Object
136
 * @return {jQuery} translation jQuery-Object
129
 */
137
 */
130
function getLanguage(plugin, langarrId) {
138
function getLanguage(plugin, langarrId) {
131
    var getLangUrl = "";
139
    var getLangUrl = "";
132
    if (current_language) {
140
    if (current_language) {
133
        getLangUrl = 'language/language.php?lang=' + current_language;
141
        getLangUrl = 'language/language.php?lang=' + current_language;
134
        if (plugin) {
142
        if (plugin) {
135
            getLangUrl += "&plugin=" + plugin;
143
            getLangUrl += "&plugin=" + plugin;
136
        }
144
        }
137
    } else {
145
    } else {
138
        getLangUrl = 'language/language.php';
146
        getLangUrl = 'language/language.php';
139
        if (plugin) {
147
        if (plugin) {
140
            getLangUrl += "?plugin=" + plugin;
148
            getLangUrl += "?plugin=" + plugin;
141
        }
149
        }
142
    }
150
    }
143
    $.ajax({
151
    $.ajax({
144
        url: getLangUrl,
152
        url: getLangUrl,
145
        type: 'GET',
153
        type: 'GET',
146
        dataType: 'xml',
154
        dataType: 'xml',
147
        timeout: 100000,
155
        timeout: 100000,
148
        error: function error() {
156
        error: function error() {
149
            $.jGrowl("Error loading language - " + getLangUrl);
157
            $.jGrowl("Error loading language - " + getLangUrl);
150
        },
158
        },
151
        success: function buildblocks(xml) {
159
        success: function buildblocks(xml) {
152
            var idexp;
160
            var idexp;
153
            langxml[langarrId] = xml;
161
            langxml[langarrId] = xml;
154
            if (langarr[langarrId] === undefined) {
162
            if (langarr[langarrId] === undefined) {
155
                langarr.push(langarrId);
163
                langarr.push(langarrId);
156
                langarr[langarrId] = [];
164
                langarr[langarrId] = [];
157
            }
165
            }
158
            $("expression", langxml[langarrId]).each(function langstore(id) {
166
            $("expression", langxml[langarrId]).each(function langstore(id) {
159
                idexp = $("expression", xml).get(id);
167
                idexp = $("expression", xml).get(id);
160
                langarr[langarrId][this.getAttribute('id')] = $("exp", idexp).text().toString().replace(/\//g, "/<wbr>");
168
                langarr[langarrId][this.getAttribute('id')] = $("exp", idexp).text().toString().replace(/\//g, "/<wbr>");
161
            });
169
            });
162
            changeSpanLanguage(plugin);
170
            changeSpanLanguage(plugin);
163
        }
171
        }
164
    });
172
    });
165
}
173
}
166
 
174
 
167
/**
175
/**
168
 * generate a span tag
176
 * generate a span tag
169
 * @param {Number} id translation id in the xml file
177
 * @param {Number} id translation id in the xml file
170
 * @param {String} [plugin] name of the plugin for which the tag should be generated
178
 * @param {String} [plugin] name of the plugin for which the tag should be generated
171
 * @return {String} string which contains generated span tag for translation string
179
 * @return {String} string which contains generated span tag for translation string
172
 */
180
 */
173
function genlang(id, plugin) {
181
function genlang(id, plugin) {
174
    var html = "", idString = "", plugname = "",
182
    var html = "", idString = "", plugname = "",
175
        langarrId = current_language + "_";
183
        langarrId = current_language + "_";
176
 
184
 
177
    if (plugin === undefined) {
185
    if (plugin === undefined) {
178
        plugname = "";
186
        plugname = "";
179
        langarrId += "phpSysInfo";
187
        langarrId += "phpSysInfo";
180
    } else {
188
    } else {
181
        plugname = plugin.toLowerCase();
189
        plugname = plugin.toLowerCase();
182
        langarrId += plugname;
190
        langarrId += plugname;
183
    }
191
    }
184
    if (id < 100) {
192
    if (id < 100) {
185
        if (id < 10) {
193
        if (id < 10) {
186
            idString = "00" + id.toString();
194
            idString = "00" + id.toString();
187
        } else {
195
        } else {
188
            idString = "0" + id.toString();
196
            idString = "0" + id.toString();
189
        }
197
        }
190
    } else {
198
    } else {
191
        idString = id.toString();
199
        idString = id.toString();
192
    }
200
    }
193
    if (plugin) {
201
    if (plugin) {
194
        idString = "plugin_" + plugname + "_" + idString;
202
        idString = "plugin_" + plugname + "_" + idString;
195
    }
203
    }
196
 
204
 
197
    html += "<span class=\"lang_" + idString + "\">";
205
    html += "<span class=\"lang_" + idString + "\">";
198
 
206
 
199
    if ((langxml[langarrId] !== undefined) && (langarr[langarrId] !== undefined)) {
207
    if ((langxml[langarrId] !== undefined) && (langarr[langarrId] !== undefined)) {
200
        html += langarr[langarrId][idString];
208
        html += langarr[langarrId][idString];
201
    }    
209
    }    
202
 
210
 
203
    html += "</span>";
211
    html += "</span>";
204
 
212
 
205
    return html;
213
    return html;
206
}
214
}
207
 
215
 
208
/**
216
/**
209
 * translates all expressions based on the translation xml file<br>
217
 * translates all expressions based on the translation xml file<br>
210
 * translation expressions must be in the format &lt;span class="lang_???"&gt;&lt;/span&gt;, where ??? is
218
 * translation expressions must be in the format &lt;span class="lang_???"&gt;&lt;/span&gt;, where ??? is
211
 * the number of the translated expression in the xml file<br><br>if a translated expression is not found in the xml
219
 * the number of the translated expression in the xml file<br><br>if a translated expression is not found in the xml
212
 * file nothing would be translated, so the initial value which is inside the span tag is displayed
220
 * file nothing would be translated, so the initial value which is inside the span tag is displayed
213
 * @param {String} [plugin] name of the plugin
221
 * @param {String} [plugin] name of the plugin
214
 */
222
 */
215
function changeLanguage(plugin) {
223
function changeLanguage(plugin) {
216
    var langarrId = current_language + "_";
224
    var langarrId = current_language + "_";
217
 
225
 
218
    if (plugin === undefined) {
226
    if (plugin === undefined) {
219
        langarrId += "phpSysInfo";
227
        langarrId += "phpSysInfo";
220
    } else {
228
    } else {
221
        langarrId += plugin;
229
        langarrId += plugin;
222
    }
230
    }
223
 
231
 
224
    if (langxml[langarrId] !== undefined) {
232
    if (langxml[langarrId] !== undefined) {
225
        changeSpanLanguage(plugin);
233
        changeSpanLanguage(plugin);
226
    } else {
234
    } else {
227
        langxml.push(langarrId);
235
        langxml.push(langarrId);
228
        getLanguage(plugin, langarrId);
236
        getLanguage(plugin, langarrId);
229
    }
237
    }
230
}
238
}
231
 
239
 
232
function changeSpanLanguage(plugin) {
240
function changeSpanLanguage(plugin) {
233
    var langId = "", langStr = "", langarrId = current_language + "_";
241
    var langId = "", langStr = "", langarrId = current_language + "_";
234
 
242
 
235
    if (plugin === undefined) {
243
    if (plugin === undefined) {
236
        langarrId += "phpSysInfo";
244
        langarrId += "phpSysInfo";
237
        $('span[class*=lang_]').each(function translate(i) {
245
        $('span[class*=lang_]').each(function translate(i) {
238
            langId = this.className.substring(5);
246
            langId = this.className.substring(5);
239
            if (langId.indexOf('plugin_') !== 0) { //does not begin with plugin_
247
            if (langId.indexOf('plugin_') !== 0) { //does not begin with plugin_
240
                langStr = langarr[langarrId][langId];
248
                langStr = langarr[langarrId][langId];
241
                if (langStr !== undefined) {
249
                if (langStr !== undefined) {
242
                    if (langStr.length > 0) {
250
                    if (langStr.length > 0) {
243
                        this.innerHTML = langStr;
251
                        this.innerHTML = langStr;
244
                    }
252
                    }
245
                }
253
                }
246
            }
254
            }
247
        });
255
        });
248
        $("#loader").hide();
256
        $("#loader").hide();
249
        $("#output").fadeIn("slow"); //show if any language loaded
257
        $("#output").fadeIn("slow"); //show if any language loaded
250
    } else {
258
    } else {
251
        langarrId += plugin;
259
        langarrId += plugin;
252
        $('span[class*=lang_plugin_'+plugin.toLowerCase()+'_]').each(function translate(i) {
260
        $('span[class*=lang_plugin_'+plugin.toLowerCase()+'_]').each(function translate(i) {
253
            langId = this.className.substring(5);
261
            langId = this.className.substring(5);
254
            langStr = langarr[langarrId][langId];
262
            langStr = langarr[langarrId][langId];
255
            if (langStr !== undefined) {
263
            if (langStr !== undefined) {
256
                if (langStr.length > 0) {
264
                if (langStr.length > 0) {
257
                    this.innerHTML = langStr;
265
                    this.innerHTML = langStr;
258
                }
266
                }
259
            }
267
            }
260
        });
268
        });
261
        $('#panel_'+plugin).show(); //show plugin if any language loaded
269
        $('#panel_'+plugin).show(); //show plugin if any language loaded
262
    }
270
    }
263
}
271
}
264
 
272
 
265
/**
273
/**
266
 * generate the filesystemTable and activate the dataTables plugin on it
274
 * generate the filesystemTable and activate the dataTables plugin on it
267
 */
275
 */
268
function filesystemtable() {
276
function filesystemtable() {
269
    var html = "";
277
    var html = "";
270
    html += "<h2>" + genlang(30) + "</h2>\n";
278
    html += "<h2>" + genlang(30) + "</h2>\n";
271
    html += "        <div style=\"overflow-x:auto;\">\n";
279
    html += "        <div style=\"overflow-x:auto;\">\n";
272
    html += "          <table id=\"filesystemTable\" style=\"border-collapse:collapse;\">\n";
280
    html += "          <table id=\"filesystemTable\" style=\"border-collapse:collapse;\">\n";
273
    html += "            <thead>\n";
281
    html += "            <thead>\n";
274
    html += "              <tr>\n";
282
    html += "              <tr>\n";
275
    html += "                <th>" + genlang(31) + "</th>\n";
283
    html += "                <th>" + genlang(31) + "</th>\n";
276
    html += "                <th>" + genlang(34) + "</th>\n";
284
    html += "                <th>" + genlang(34) + "</th>\n";
277
    html += "                <th>" + genlang(32) + "</th>\n";
285
    html += "                <th>" + genlang(32) + "</th>\n";
278
    html += "                <th>" + genlang(33) + "</th>\n";
286
    html += "                <th>" + genlang(33) + "</th>\n";
279
    html += "                <th class=\"right\">" + genlang(35) + "</th>\n";
287
    html += "                <th class=\"right\">" + genlang(35) + "</th>\n";
280
    html += "                <th class=\"right\">" + genlang(36) + "</th>\n";
288
    html += "                <th class=\"right\">" + genlang(36) + "</th>\n";
281
    html += "                <th class=\"right\">" + genlang(37) + "</th>\n";
289
    html += "                <th class=\"right\">" + genlang(37) + "</th>\n";
282
    html += "              </tr>\n";
290
    html += "              </tr>\n";
283
    html += "            </thead>\n";
291
    html += "            </thead>\n";
-
 
292
    if (showTotals) {
284
    html += "            <tfoot>\n";
293
        html += "            <tfoot>\n";
285
    html += "              <tr style=\"font-weight : bold\">\n";
294
        html += "              <tr style=\"font-weight : bold\">\n";
286
    html += "                <td>&nbsp;</td>\n";
295
        html += "                <td>&nbsp;</td>\n";
287
    html += "                <td>&nbsp;</td>\n";
296
        html += "                <td>&nbsp;</td>\n";
288
    html += "                <td>" + genlang(38) + "</td>\n";
297
        html += "                <td>" + genlang(38) + "</td>\n";
289
    html += "                <td id=\"s_fs_total\"></td>\n";
298
        html += "                <td id=\"s_fs_total\"></td>\n";
290
    html += "                <td class=\"right\"><span id=\"s_fs_tfree\"></span></td>\n";
299
        html += "                <td class=\"right\"><span id=\"s_fs_tfree\"></span></td>\n";
291
    html += "                <td class=\"right\"><span id=\"s_fs_tused\"></span></td>\n";
300
        html += "                <td class=\"right\"><span id=\"s_fs_tused\"></span></td>\n";
292
    html += "                <td class=\"right\"><span id=\"s_fs_tsize\"></span></td>\n";
301
        html += "                <td class=\"right\"><span id=\"s_fs_tsize\"></span></td>\n";
293
    html += "              </tr>\n";
302
        html += "              </tr>\n";
294
    html += "            </tfoot>\n";
303
        html += "            </tfoot>\n";
-
 
304
    }
295
    html += "            <tbody>\n";
305
    html += "            <tbody>\n";
296
    html += "            </tbody>\n";
306
    html += "            </tbody>\n";
297
    html += "          </table>\n";
307
    html += "          </table>\n";
298
    html += "        </div>\n";
308
    html += "        </div>\n";
299
 
309
 
300
    $("#filesystem").append(html);
310
    $("#filesystem").append(html);
301
 
311
 
302
    filesystemTable = $("#filesystemTable").dataTable({
312
    filesystemTable = $("#filesystemTable").dataTable({
303
        "bPaginate": false,
313
        "bPaginate": false,
304
        "bLengthChange": false,
314
        "bLengthChange": false,
305
        "bFilter": false,
315
        "bFilter": false,
306
        "bSort": true,
316
        "bSort": true,
307
        "bInfo": false,
317
        "bInfo": false,
308
        "bProcessing": true,
318
        "bProcessing": true,
309
        "bAutoWidth": false,
319
        "bAutoWidth": false,
310
        "bStateSave": true,
320
        "bStateSave": true,
311
        "aoColumns": [{
321
        "aoColumns": [{
312
            "sType": 'span-string',
322
            "sType": 'span-string',
313
            "sWidth": "100px"
323
            "sWidth": "100px"
314
        }, {
324
        }, {
315
            "sType": 'span-string',
325
            "sType": 'span-string',
316
            "sWidth": "50px"
326
            "sWidth": "50px"
317
        }, {
327
        }, {
318
            "sType": 'span-string',
328
            "sType": 'span-string',
319
            "sWidth": "200px"
329
            "sWidth": "200px"
320
        }, {
330
        }, {
321
            "sType": 'span-number'
331
            "sType": 'span-number'
322
        }, {
332
        }, {
323
            "sType": 'span-number',
333
            "sType": 'span-number',
324
            "sWidth": "80px",
334
            "sWidth": "80px",
325
            "sClass": "right"
335
            "sClass": "right"
326
        }, {
336
        }, {
327
            "sType": 'span-number',
337
            "sType": 'span-number',
328
            "sWidth": "80px",
338
            "sWidth": "80px",
329
            "sClass": "right"
339
            "sClass": "right"
330
        }, {
340
        }, {
331
            "sType": 'span-number',
341
            "sType": 'span-number',
332
            "sWidth": "80px",
342
            "sWidth": "80px",
333
            "sClass": "right"
343
            "sClass": "right"
334
        }]
344
        }]
335
    });
345
    });
336
}
346
}
337
 
347
 
338
/**
348
/**
339
 * fill all errors from the xml in the error div element in the document and show the error icon
349
 * fill all errors from the xml in the error div element in the document and show the error icon
340
 * @param {jQuery} xml phpSysInfo-XML
350
 * @param {jQuery} xml phpSysInfo-XML
341
 */
351
 */
342
function populateErrors(xml) {
352
function populateErrors(xml) {
343
    var values = false;
353
    var values = false;
344
    $("Errors Error", xml).each(function getError(id) {
354
    $("Errors Error", xml).each(function getError(id) {
345
//        $("#errorlist").append("<b>" + $(this).attr("Function") + "</b><br><br><pre>" + $(this).text() + "</pre><hr>");
355
//        $("#errorlist").append("<b>" + $(this).attr("Function") + "</b><br><br><pre>" + $(this).text() + "</pre><hr>");
346
        $("#errorlist").append("<b>" + $(this).attr("Function") + "</b><br><br><pre>" + $(this).attr("Message") + "</pre><hr>");
356
        $("#errorlist").append("<b>" + $(this).attr("Function") + "</b><br><br><pre>" + $(this).attr("Message") + "</pre><hr>");
347
        values = true;
357
        values = true;
348
    });
358
    });
349
    if (values) {
359
    if (values) {
350
        $("#warn").css("display", "inline");
360
        $("#warn").css("display", "inline");
351
        $("#loadwarn").css("display", "inline");
361
        $("#loadwarn").css("display", "inline");
352
    }
362
    }
353
}
363
}
354
 
364
 
355
/**
365
/**
356
 * show the page
366
 * show the page
357
 * @param {jQuery} xml phpSysInfo-XML
367
 * @param {jQuery} xml phpSysInfo-XML
358
 */
368
 */
359
function displayPage(xml) {
369
function displayPage(xml) {
360
    var versioni = "";
370
    var versioni = "";
361
//    $("#loader").hide();
371
//    $("#loader").hide();
362
//    $("#output").fadeIn("slow");
372
//    $("#output").fadeIn("slow");
363
    versioni = $("Generation", xml).attr("version").toString();
373
    versioni = $("Generation", xml).attr("version").toString();
364
    $("#version").html(versioni);
374
    $("#version").html(versioni);
365
}
375
}
366
 
376
 
367
/**
377
/**
368
 * format seconds to a better readable statement with days, hours and minutes
378
 * format seconds to a better readable statement with days, hours and minutes
369
 * @param {Number} sec seconds that should be formatted
379
 * @param {Number} sec seconds that should be formatted
370
 * @return {String} html string with no breaking spaces and translation statements
380
 * @return {String} html string with no breaking spaces and translation statements
371
 */
381
 */
372
function formatUptime(sec) {
382
function formatUptime(sec) {
373
    var txt = "", intMin = 0, intHours = 0, intDays = 0;
383
    var txt = "", intMin = 0, intHours = 0, intDays = 0;
374
    intMin = sec / 60;
384
    intMin = sec / 60;
375
    intHours = intMin / 60;
385
    intHours = intMin / 60;
376
    intDays = Math.floor(intHours / 24);
386
    intDays = Math.floor(intHours / 24);
377
    intHours = Math.floor(intHours - (intDays * 24));
387
    intHours = Math.floor(intHours - (intDays * 24));
378
    intMin = Math.floor(intMin - (intDays * 60 * 24) - (intHours * 60));
388
    intMin = Math.floor(intMin - (intDays * 60 * 24) - (intHours * 60));
379
    if (intDays) {
389
    if (intDays) {
380
        txt += intDays.toString() + " " + genlang(48) + " ";
390
        txt += intDays.toString() + " " + genlang(48) + " ";
381
    }
391
    }
382
    if (intHours) {
392
    if (intHours) {
383
        txt += intHours.toString() + " " + genlang(49) + " ";
393
        txt += intHours.toString() + " " + genlang(49) + " ";
384
    }
394
    }
385
    return txt + intMin.toString() + " " + genlang(50);
395
    return txt + intMin.toString() + " " + genlang(50);
386
}
396
}
387
 
397
 
388
/**
398
/**
389
 * format a given MHz value to a better readable statement with the right suffix
399
 * format a given MHz value to a better readable statement with the right suffix
390
 * @param {Number} mhertz mhertz value that should be formatted
400
 * @param {Number} mhertz mhertz value that should be formatted
391
 * @return {String} html string with no breaking spaces and translation statements
401
 * @return {String} html string with no breaking spaces and translation statements
392
 */
402
 */
393
function formatHertz(mhertz) {
403
function formatHertz(mhertz) {
394
    if ((mhertz >= 0) && (mhertz < 1000)) {
404
    if ((mhertz >= 0) && (mhertz < 1000)) {
395
< 1000)) {        return mhertz.toString() + " " + genlang(92);
405
< 1000)) {        return mhertz.toString() + " " + genlang(92);
396
< 1000)) {    } else {
406
< 1000)) {    } else {
397
< 1000)) {        if (mhertz >= 1000) {
407
< 1000)) {        if (mhertz >= 1000) {
398
< 1000)) {            return round(mhertz / 1000, 2) + "&nbsp;" + genlang(93);
408
< 1000)) {            return round(mhertz / 1000, 2) + "&nbsp;" + genlang(93);
399
< 1000)) {        } else {
409
< 1000)) {        } else {
400
< 1000)) {            return "";
410
< 1000)) {            return "";
401
< 1000)) {        }
411
< 1000)) {        }
402
< 1000)) {    }
412
< 1000)) {    }
403
< 1000)) {}
413
< 1000)) {}
404
< 1000)) {
414
< 1000)) {
405
< 1000)) {/**
415
< 1000)) {/**
-
 
416
< 1000)) { * format a given MT/s value to a better readable statement with the right suffix
-
 
417
< 1000)) { * @param {Number} mtps mtps value that should be formatted
-
 
418
< 1000)) { * @return {String} html string with no breaking spaces and translation statements
-
 
419
< 1000)) { */
-
 
420
< 1000)) {function formatMTps(mtps) {
-
 
421
< 1000)) {    if ((mtps >= 0) && (mtps < 1000)) {
-
 
422
< 1000)) {        return mtps.toString() + "&nbsp;" + genlang(131);
-
 
423
< 1000)) {    } else {
-
 
424
< 1000)) {        if (mtps >= 1000) {
-
 
425
< 1000)) {            return round(mtps / 1000, 2) + " " + genlang(132);
-
 
426
< 1000)) {        } else {
-
 
427
< 1000)) {            return "";
-
 
428
< 1000)) {        }
-
 
429
< 1000)) {    }
-
 
430
< 1000)) {}
-
 
431
< 1000)) {
-
 
432
< 1000)) {/**
406
< 1000)) { * format the byte values into a user friendly value with the corespondenting unit expression<br>support is included
433
< 1000)) { * format the byte values into a user friendly value with the corespondenting unit expression<br>support is included
407
< 1000)) { * for binary and decimal output<br>user can specify a constant format for all byte outputs or the output is formated
434
< 1000)) { * for binary and decimal output<br>user can specify a constant format for all byte outputs or the output is formated
408
< 1000)) { * automatically so that every value can be read in a user friendly way
435
< 1000)) { * automatically so that every value can be read in a user friendly way
409
< 1000)) { * @param {Number} bytes value that should be converted in the corespondenting format, which is specified in the phpsysinfo.ini
436
< 1000)) { * @param {Number} bytes value that should be converted in the corespondenting format, which is specified in the phpsysinfo.ini
410
< 1000)) { * @param {jQuery} xml phpSysInfo-XML
437
< 1000)) { * @param {jQuery} xml phpSysInfo-XML
411
< 1000)) { * @return {String} string of the converted bytes with the translated unit expression
438
< 1000)) { * @return {String} string of the converted bytes with the translated unit expression
412
< 1000)) { */
439
< 1000)) { */
413
< 1000)) {function formatBytes(bytes, xml) {
440
< 1000)) {function formatBytes(bytes, xml) {
414
< 1000)) {    var byteFormat = "", show = "";
441
< 1000)) {    var byteFormat = "", show = "";
415
< 1000)) {
442
< 1000)) {
416
< 1000)) {    $("Options", xml).each(function getByteFormat(id) {
443
< 1000)) {    $("Options", xml).each(function getByteFormat(id) {
417
< 1000)) {        byteFormat = $(this).attr("byteFormat");
444
< 1000)) {        byteFormat = $(this).attr("byteFormat");
418
< 1000)) {    });
445
< 1000)) {    });
419
< 1000)) {
446
< 1000)) {
420
< 1000)) {    switch (byteFormat.toLowerCase()) {
447
< 1000)) {    switch (byteFormat.toLowerCase()) {
421
< 1000)) {    case "pib":
448
< 1000)) {    case "pib":
422
< 1000)) {        show += round(bytes / Math.pow(1024, 5), 2);
449
< 1000)) {        show += round(bytes / Math.pow(1024, 5), 2);
423
< 1000)) {        show += " " + genlang(90);
450
< 1000)) {        show += "&nbsp;" + genlang(90);
424
< 1000)) {        break;
451
< 1000)) {        break;
425
< 1000)) {    case "tib":
452
< 1000)) {    case "tib":
426
< 1000)) {        show += round(bytes / Math.pow(1024, 4), 2);
453
< 1000)) {        show += round(bytes / Math.pow(1024, 4), 2);
427
< 1000)) {        show += "&nbsp;" + genlang(86);
454
< 1000)) {        show += " " + genlang(86);
428
< 1000)) {        break;
455
< 1000)) {        break;
429
< 1000)) {    case "gib":
456
< 1000)) {    case "gib":
430
< 1000)) {        show += round(bytes / Math.pow(1024, 3), 2);
457
< 1000)) {        show += round(bytes / Math.pow(1024, 3), 2);
431
< 1000)) {        show += " " + genlang(87);
458
< 1000)) {        show += "&nbsp;" + genlang(87);
432
< 1000)) {        break;
459
< 1000)) {        break;
433
< 1000)) {    case "mib":
460
< 1000)) {    case "mib":
434
< 1000)) {        show += round(bytes / Math.pow(1024, 2), 2);
461
< 1000)) {        show += round(bytes / Math.pow(1024, 2), 2);
435
< 1000)) {        show += "&nbsp;" + genlang(88);
462
< 1000)) {        show += " " + genlang(88);
436
< 1000)) {        break;
463
< 1000)) {        break;
437
< 1000)) {    case "kib":
464
< 1000)) {    case "kib":
438
< 1000)) {        show += round(bytes / Math.pow(1024, 1), 2);
465
< 1000)) {        show += round(bytes / Math.pow(1024, 1), 2);
439
< 1000)) {        show += " " + genlang(89);
466
< 1000)) {        show += "&nbsp;" + genlang(89);
440
< 1000)) {        break;
467
< 1000)) {        break;
441
< 1000)) {    case "pb":
468
< 1000)) {    case "pb":
442
< 1000)) {        show += round(bytes / Math.pow(1000, 5), 2);
469
< 1000)) {        show += round(bytes / Math.pow(1000, 5), 2);
443
< 1000)) {        show += "&nbsp;" + genlang(91);
470
< 1000)) {        show += " " + genlang(91);
444
< 1000)) {        break;
471
< 1000)) {        break;
445
< 1000)) {    case "tb":
472
< 1000)) {    case "tb":
446
< 1000)) {        show += round(bytes / Math.pow(1000, 4), 2);
473
< 1000)) {        show += round(bytes / Math.pow(1000, 4), 2);
447
< 1000)) {        show += " " + genlang(85);
474
< 1000)) {        show += "&nbsp;" + genlang(85);
448
< 1000)) {        break;
475
< 1000)) {        break;
449
< 1000)) {    case "gb":
476
< 1000)) {    case "gb":
450
< 1000)) {        show += round(bytes / Math.pow(1000, 3), 2);
477
< 1000)) {        show += round(bytes / Math.pow(1000, 3), 2);
451
< 1000)) {        show += "&nbsp;" + genlang(41);
478
< 1000)) {        show += " " + genlang(41);
452
< 1000)) {        break;
479
< 1000)) {        break;
453
< 1000)) {    case "mb":
480
< 1000)) {    case "mb":
454
< 1000)) {        show += round(bytes / Math.pow(1000, 2), 2);
481
< 1000)) {        show += round(bytes / Math.pow(1000, 2), 2);
455
< 1000)) {        show += " " + genlang(40);
482
< 1000)) {        show += "&nbsp;" + genlang(40);
456
< 1000)) {        break;
483
< 1000)) {        break;
457
< 1000)) {    case "kb":
484
< 1000)) {    case "kb":
458
< 1000)) {        show += round(bytes / Math.pow(1000, 1), 2);
485
< 1000)) {        show += round(bytes / Math.pow(1000, 1), 2);
459
< 1000)) {        show += "&nbsp;" + genlang(39);
486
< 1000)) {        show += " " + genlang(39);
460
< 1000)) {        break;
487
< 1000)) {        break;
461
< 1000)) {    case "b":
488
< 1000)) {    case "b":
462
< 1000)) {        show += bytes;
489
< 1000)) {        show += bytes;
463
< 1000)) {        show += "&nbsp;" + genlang(96);
490
< 1000)) {        show += " " + genlang(96);
464
< 1000)) {        break;
491
< 1000)) {        break;
465
< 1000)) {    case "auto_decimal":
492
< 1000)) {    case "auto_decimal":
466
< 1000)) {        if (bytes > Math.pow(1000, 5)) {
493
< 1000)) {        if (bytes > Math.pow(1000, 5)) {
467
< 1000)) {            show += round(bytes / Math.pow(1000, 5), 2);
494
< 1000)) {            show += round(bytes / Math.pow(1000, 5), 2);
468
< 1000)) {            show += " " + genlang(91);
495
< 1000)) {            show += "&nbsp;" + genlang(91);
469
< 1000)) {        } else {
496
< 1000)) {        } else {
470
< 1000)) {            if (bytes > Math.pow(1000, 4)) {
497
< 1000)) {            if (bytes > Math.pow(1000, 4)) {
471
< 1000)) {                show += round(bytes / Math.pow(1000, 4), 2);
498
< 1000)) {                show += round(bytes / Math.pow(1000, 4), 2);
472
< 1000)) {                show += "&nbsp;" + genlang(85);
499
< 1000)) {                show += " " + genlang(85);
473
< 1000)) {            } else {
500
< 1000)) {            } else {
474
< 1000)) {                if (bytes > Math.pow(1000, 3)) {
501
< 1000)) {                if (bytes > Math.pow(1000, 3)) {
475
< 1000)) {                    show += round(bytes / Math.pow(1000, 3), 2);
502
< 1000)) {                    show += round(bytes / Math.pow(1000, 3), 2);
476
< 1000)) {                    show += " " + genlang(41);
503
< 1000)) {                    show += "&nbsp;" + genlang(41);
477
< 1000)) {                } else {
504
< 1000)) {                } else {
478
< 1000)) {                    if (bytes > Math.pow(1000, 2)) {
505
< 1000)) {                    if (bytes > Math.pow(1000, 2)) {
479
< 1000)) {                        show += round(bytes / Math.pow(1000, 2), 2);
506
< 1000)) {                        show += round(bytes / Math.pow(1000, 2), 2);
480
< 1000)) {                        show += "&nbsp;" + genlang(40);
507
< 1000)) {                        show += " " + genlang(40);
481
< 1000)) {                    } else {
508
< 1000)) {                    } else {
482
< 1000)) {                        if (bytes > Math.pow(1000, 1)) {
509
< 1000)) {                        if (bytes > Math.pow(1000, 1)) {
483
< 1000)) {                            show += round(bytes / Math.pow(1000, 1), 2);
510
< 1000)) {                            show += round(bytes / Math.pow(1000, 1), 2);
484
< 1000)) {                            show += " " + genlang(39);
511
< 1000)) {                            show += "&nbsp;" + genlang(39);
485
< 1000)) {                        } else {
512
< 1000)) {                        } else {
486
< 1000)) {                                show += bytes;
513
< 1000)) {                                show += bytes;
487
< 1000)) {                                show += " " + genlang(96);
514
< 1000)) {                                show += "&nbsp;" + genlang(96);
488
< 1000)) {                        }
515
< 1000)) {                        }
489
< 1000)) {                    }
516
< 1000)) {                    }
490
< 1000)) {                }
517
< 1000)) {                }
491
< 1000)) {            }
518
< 1000)) {            }
492
< 1000)) {        }
519
< 1000)) {        }
493
< 1000)) {        break;
520
< 1000)) {        break;
494
< 1000)) {    default:
521
< 1000)) {    default:
495
< 1000)) {        if (bytes > Math.pow(1024, 5)) {
522
< 1000)) {        if (bytes > Math.pow(1024, 5)) {
496
< 1000)) {            show += round(bytes / Math.pow(1024, 5), 2);
523
< 1000)) {            show += round(bytes / Math.pow(1024, 5), 2);
497
< 1000)) {            show += "&nbsp;" + genlang(90);
524
< 1000)) {            show += " " + genlang(90);
498
< 1000)) {        } else {
525
< 1000)) {        } else {
499
< 1000)) {            if (bytes > Math.pow(1024, 4)) {
526
< 1000)) {            if (bytes > Math.pow(1024, 4)) {
500
< 1000)) {                show += round(bytes / Math.pow(1024, 4), 2);
527
< 1000)) {                show += round(bytes / Math.pow(1024, 4), 2);
501
< 1000)) {                show += " " + genlang(86);
528
< 1000)) {                show += "&nbsp;" + genlang(86);
502
< 1000)) {            } else {
529
< 1000)) {            } else {
503
< 1000)) {                if (bytes > Math.pow(1024, 3)) {
530
< 1000)) {                if (bytes > Math.pow(1024, 3)) {
504
< 1000)) {                    show += round(bytes / Math.pow(1024, 3), 2);
531
< 1000)) {                    show += round(bytes / Math.pow(1024, 3), 2);
505
< 1000)) {                    show += "&nbsp;" + genlang(87);
532
< 1000)) {                    show += " " + genlang(87);
506
< 1000)) {                } else {
533
< 1000)) {                } else {
507
< 1000)) {                    if (bytes > Math.pow(1024, 2)) {
534
< 1000)) {                    if (bytes > Math.pow(1024, 2)) {
508
< 1000)) {                        show += round(bytes / Math.pow(1024, 2), 2);
535
< 1000)) {                        show += round(bytes / Math.pow(1024, 2), 2);
509
< 1000)) {                        show += " " + genlang(88);
536
< 1000)) {                        show += "&nbsp;" + genlang(88);
510
< 1000)) {                    } else {
537
< 1000)) {                    } else {
511
< 1000)) {                        if (bytes > Math.pow(1024, 1)) {
538
< 1000)) {                        if (bytes > Math.pow(1024, 1)) {
512
< 1000)) {                            show += round(bytes / Math.pow(1024, 1), 2);
539
< 1000)) {                            show += round(bytes / Math.pow(1024, 1), 2);
513
< 1000)) {                            show += "&nbsp;" + genlang(89);
540
< 1000)) {                            show += " " + genlang(89);
514
< 1000)) {                        } else {
541
< 1000)) {                        } else {
515
< 1000)) {                            show += bytes;
542
< 1000)) {                            show += bytes;
516
< 1000)) {                            show += "&nbsp;" + genlang(96);
543
< 1000)) {                            show += " " + genlang(96);
517
< 1000)) {                        }
544
< 1000)) {                        }
518
< 1000)) {                    }
545
< 1000)) {                    }
519
< 1000)) {                }
546
< 1000)) {                }
520
< 1000)) {            }
547
< 1000)) {            }
521
< 1000)) {        }
548
< 1000)) {        }
522
< 1000)) {    }
549
< 1000)) {    }
523
< 1000)) {    return show;
550
< 1000)) {    return show;
524
< 1000)) {}
551
< 1000)) {}
525
< 1000)) {
552
< 1000)) {
526
< 1000)) {function formatBPS(bps) {
553
< 1000)) {function formatBPS(bps) {
527
< 1000)) {    var show = "";
554
< 1000)) {    var show = "";
528
< 1000)) {
555
< 1000)) {
529
< 1000)) {    if (bps > Math.pow(1000, 5)) {
556
< 1000)) {    if (bps > Math.pow(1000, 5)) {
530
< 1000)) {        show += round(bps / Math.pow(1000, 5), 2);
557
< 1000)) {        show += round(bps / Math.pow(1000, 5), 2);
531
< 1000)) {        show += String.fromCharCode(160) + 'Pb/s';
558
< 1000)) {        show += String.fromCharCode(160) + 'Pb/s';
532
< 1000)) {    } else {
559
< 1000)) {    } else {
533
< 1000)) {        if (bps > Math.pow(1000, 4)) {
560
< 1000)) {        if (bps > Math.pow(1000, 4)) {
534
< 1000)) {            show += round(bps / Math.pow(1000, 4), 2);
561
< 1000)) {            show += round(bps / Math.pow(1000, 4), 2);
535
< 1000)) {            show += String.fromCharCode(160) + 'Tb/s';
562
< 1000)) {            show += String.fromCharCode(160) + 'Tb/s';
536
< 1000)) {        } else {
563
< 1000)) {        } else {
537
< 1000)) {            if (bps > Math.pow(1000, 3)) {
564
< 1000)) {            if (bps > Math.pow(1000, 3)) {
538
< 1000)) {                show += round(bps / Math.pow(1000, 3), 2);
565
< 1000)) {                show += round(bps / Math.pow(1000, 3), 2);
539
< 1000)) {                show += String.fromCharCode(160) + 'Gb/s';
566
< 1000)) {                show += String.fromCharCode(160) + 'Gb/s';
540
< 1000)) {            } else {
567
< 1000)) {            } else {
541
< 1000)) {                if (bps > Math.pow(1000, 2)) {
568
< 1000)) {                if (bps > Math.pow(1000, 2)) {
542
< 1000)) {                    show += round(bps / Math.pow(1000, 2), 2);
569
< 1000)) {                    show += round(bps / Math.pow(1000, 2), 2);
543
< 1000)) {                    show += String.fromCharCode(160) + 'Mb/s';
570
< 1000)) {                    show += String.fromCharCode(160) + 'Mb/s';
544
< 1000)) {                } else {
571
< 1000)) {                } else {
545
< 1000)) {                    if (bps > Math.pow(1000, 1)) {
572
< 1000)) {                    if (bps > Math.pow(1000, 1)) {
546
< 1000)) {                        show += round(bps / Math.pow(1000, 1), 2);
573
< 1000)) {                        show += round(bps / Math.pow(1000, 1), 2);
547
< 1000)) {                        show += String.fromCharCode(160) + 'Kb/s';
574
< 1000)) {                        show += String.fromCharCode(160) + 'Kb/s';
548
< 1000)) {                    } else {
575
< 1000)) {                    } else {
549
< 1000)) {                            show += bps;
576
< 1000)) {                            show += bps;
550
< 1000)) {                            show += String.fromCharCode(160) + 'b/s';
577
< 1000)) {                            show += String.fromCharCode(160) + 'b/s';
551
< 1000)) {                    }
578
< 1000)) {                    }
552
< 1000)) {                }
579
< 1000)) {                }
553
< 1000)) {            }
580
< 1000)) {            }
554
< 1000)) {        }
581
< 1000)) {        }
555
< 1000)) {    }
582
< 1000)) {    }
556
< 1000)) {    return show;
583
< 1000)) {    return show;
557
< 1000)) {}
584
< 1000)) {}
558
< 1000)) {
585
< 1000)) {
559
< 1000)) {/**
586
< 1000)) {/**
560
< 1000)) { * format a celcius temperature to fahrenheit and also append the right suffix
587
< 1000)) { * format a celcius temperature to fahrenheit and also append the right suffix
561
< 1000)) { * @param {String} degreeC temperature in celvius
588
< 1000)) { * @param {String} degreeC temperature in celvius
562
< 1000)) { * @param {jQuery} xml phpSysInfo-XML
589
< 1000)) { * @param {jQuery} xml phpSysInfo-XML
563
< 1000)) { * @return {String} html string with no breaking spaces and translation statements
590
< 1000)) { * @return {String} html string with no breaking spaces and translation statements
564
< 1000)) { */
591
< 1000)) { */
565
< 1000)) {function formatTemp(degreeC, xml) {
592
< 1000)) {function formatTemp(degreeC, xml) {
566
< 1000)) {    var tempFormat = "", degree = 0;
593
< 1000)) {    var tempFormat = "", degree = 0;
567
< 1000)) {
594
< 1000)) {
568
< 1000)) {    $("Options", xml).each(function getOptions(id) {
595
< 1000)) {    $("Options", xml).each(function getOptions(id) {
569
< 1000)) {        tempFormat = $(this).attr("tempFormat").toString().toLowerCase();
596
< 1000)) {        tempFormat = $(this).attr("tempFormat").toString().toLowerCase();
570
< 1000)) {    });
597
< 1000)) {    });
571
< 1000)) {
598
< 1000)) {
572
< 1000)) {    degree = parseFloat(degreeC);
599
< 1000)) {    degree = parseFloat(degreeC);
573
< 1000)) {    if (isNaN(degreeC)) {
600
< 1000)) {    if (isNaN(degreeC)) {
574
< 1000)) {        return "---";
601
< 1000)) {        return "---";
575
< 1000)) {    } else {
602
< 1000)) {    } else {
576
< 1000)) {        switch (tempFormat) {
603
< 1000)) {        switch (tempFormat) {
577
< 1000)) {        case "f":
604
< 1000)) {        case "f":
578
< 1000)) {            return round((((9 * degree) / 5) + 32), 1) + "&nbsp;" + genlang(61);
605
< 1000)) {            return round((((9 * degree) / 5) + 32), 1) + "&nbsp;" + genlang(61);
579
< 1000)) {        case "c":
606
< 1000)) {        case "c":
580
< 1000)) {            return round(degree, 1) + "&nbsp;" + genlang(60);
607
< 1000)) {            return round(degree, 1) + "&nbsp;" + genlang(60);
581
< 1000)) {        case "c-f":
608
< 1000)) {        case "c-f":
582
< 1000)) {            return round(degree, 1) + "&nbsp;" + genlang(60) + "<br><i>(" + round((((9 * degree) / 5) + 32), 1) + "&nbsp;" + genlang(61) + ")</i>";
609
< 1000)) {            return round(degree, 1) + "&nbsp;" + genlang(60) + "<br><i>(" + round((((9 * degree) / 5) + 32), 1) + " " + genlang(61) + ")i>";
583
< 1000)) {        case "f-c":
610
< 1000)) {        case "f-c":
584
< 1000)) {            return round((((9 * degree) / 5) + 32), 1) + "&nbsp;" + genlang(61) + "<br><i>(" + round(degree, 1) + "&nbsp;" + genlang(60) + ")</i>";
611
< 1000)) {            return round((((9 * degree) / 5) + 32), 1) + "&nbsp;" + genlang(61) + "<br><i>(" + round(degree, 1) + "&nbsp;" + genlang(60) + ")</i>";
585
< 1000)) {        }
612
< 1000)) {        }
586
< 1000)) {    }
613
< 1000)) {    }
587
< 1000)) {}
614
< 1000)) {}
588
< 1000)) {
615
< 1000)) {
589
< 1000)) {/**
616
< 1000)) {/**
590
< 1000)) { * create a visual HTML bar from a given size, the layout of that bar can be costumized through the bar css-class
617
< 1000)) { * create a visual HTML bar from a given size, the layout of that bar can be costumized through the bar css-class
591
< 1000)) { * @param {Number} size barclass
618
< 1000)) { * @param {Number} size barclass
592
< 1000)) { * @return {String} HTML string which contains the full layout of the bar
619
< 1000)) { * @return {String} HTML string which contains the full layout of the bar
593
< 1000)) { */
620
< 1000)) { */
594
< 1000)) {function createBar(size, barclass) {
621
< 1000)) {function createBar(size, barclass) {
595
< 1000)) {    if (barclass === undefined) {
622
< 1000)) {    if (barclass === undefined) {
596
< 1000)) {        barclass = "bar";
623
< 1000)) {        barclass = "bar";
597
< 1000)) {    }
624
< 1000)) {    }
598
< 1000)) {    return "<div class=\"" + barclass + "\" style=\"float:left; width: " + Math.max(Math.min(Math.round(size), 100), 0) + "px;\">&nbsp;</div>&nbsp;" + size + "%";
625
< 1000)) {    return "
 div>&nbsp;" + size + "%";
599
< 1000)) {}
626
< 1000)) {
}
600
< 1000)) {
627
< 1000)) {
601
< 1000)) {/**
628
< 1000)) {
/**
602
< 1000)) { * (re)fill the vitals block with the values from the given xml
629
< 1000)) {
* (re)fill the vitals block with the values from the given xml
603
< 1000)) { * @param {jQuery} xml phpSysInfo-XML
630
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
604
< 1000)) { */
631
< 1000)) {
*/
605
< 1000)) {function refreshVitals(xml) {
632
< 1000)) {
function refreshVitals(xml) {
606
< 1000)) {    var hostname = "", ip = "";
633
< 1000)) {
var hostname = "", ip = "";
607
< 1000)) {    if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('vitals', blocks) < 0))) {
634
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('vitals', blocks) < 0))) {
608
< 1000)) {        $("#vitals").remove();
635
< 1000)) {
$("#vitals").remove();
609
< 1000)) {        $("Vitals", xml).each(function getVitals(id) {
636
< 1000)) {
$("Vitals", xml).each(function getVitals(id) {
610
< 1000)) {            hostname = $(this).attr("Hostname");
637
< 1000)) {
hostname = $(this).attr("Hostname");
611
< 1000)) {            ip = $(this).attr("IPAddr");
638
< 1000)) {
ip = $(this).attr("IPAddr");
612
< 1000)) {            document.title = "System information: " + hostname + " (" + ip + ")";
639
< 1000)) {
document.title = "System information: " + hostname + " (" + ip + ")";
613
< 1000)) {            $("#s_hostname_title").html(hostname);
640
< 1000)) {
$("#s_hostname_title").html(hostname);
614
< 1000)) {            $("#s_ip_title").html(ip);
641
< 1000)) {
$("#s_ip_title").html(ip);
615
< 1000)) {        });
642
< 1000)) {
});
616
< 1000)) {        return;
643
< 1000)) {
return;
617
< 1000)) {    }
644
< 1000)) {
}
618
< 1000)) {
645
< 1000)) {
619
< 1000)) {    var kernel = "", distro = "", icon = "", uptime = "", users = 0, loadavg = "", os = "";
646
< 1000)) {
var kernel = "", distro = "", icon = "", uptime = "", users = 0, loadavg = "", os = "";
620
< 1000)) {    var processes = 0, prunning = 0, psleeping = 0, pstopped = 0, pzombie = 0, pwaiting = 0, pother = 0;
647
< 1000)) {
var processes = 0, prunning = 0, psleeping = 0, pstopped = 0, pzombie = 0, pwaiting = 0, pother = 0;
621
< 1000)) {    var syslang = "", codepage = "";
648
< 1000)) {
var syslang = "", codepage = "";
622
< 1000)) {    var lastboot = 0;
649
< 1000)) {
var lastboot = 0;
623
< 1000)) {    var timestamp = parseInt($("Generation", xml).attr("timestamp"), 10)*1000; //server time
650
< 1000)) {
var timestamp = parseInt($("Generation", xml).attr("timestamp"), 10)*1000; //server time
624
< 1000)) {    var not_first = false;
651
< 1000)) {
var not_first = false;
625
< 1000)) {    var datetimeFormat = "";
652
< 1000)) {
var datetimeFormat = "";
626
< 1000)) {    if (isNaN(timestamp)) timestamp = Number(new Date()); //client time
653
< 1000)) {
if (isNaN(timestamp)) timestamp = Number(new Date()); //client time
627
< 1000)) {
654
< 1000)) {
628
< 1000)) {    $("Options", xml).each(function getDatetimeFormat(id) {
655
< 1000)) {
$("Options", xml).each(function getDatetimeFormat(id) {
629
< 1000)) {        datetimeFormat = $(this).attr("datetimeFormat");
656
< 1000)) {
datetimeFormat = $(this).attr("datetimeFormat");
630
< 1000)) {    });
657
< 1000)) {
});
631
< 1000)) {
658
< 1000)) {
632
< 1000)) {    $("Vitals", xml).each(function getVitals(id) {
659
< 1000)) {
$("Vitals", xml).each(function getVitals(id) {
633
< 1000)) {        hostname = $(this).attr("Hostname");
660
< 1000)) {
hostname = $(this).attr("Hostname");
634
< 1000)) {        ip = $(this).attr("IPAddr");
661
< 1000)) {
ip = $(this).attr("IPAddr");
635
< 1000)) {        kernel = $(this).attr("Kernel");
662
< 1000)) {
kernel = $(this).attr("Kernel");
636
< 1000)) {        distro = $(this).attr("Distro");
663
< 1000)) {
distro = $(this).attr("Distro");
637
< 1000)) {        icon = $(this).attr("Distroicon");
664
< 1000)) {
icon = $(this).attr("Distroicon");
638
< 1000)) {        os = $(this).attr("OS");
665
< 1000)) {
os = $(this).attr("OS");
639
< 1000)) {        uptime = formatUptime(parseInt($(this).attr("Uptime"), 10));
666
< 1000)) {
uptime = formatUptime(parseInt($(this).attr("Uptime"), 10));
640
< 1000)) {        lastboot = new Date(timestamp - (parseInt($(this).attr("Uptime"), 10)*1000));
667
< 1000)) {
lastboot = new Date(timestamp - (parseInt($(this).attr("Uptime"), 10)*1000));
641
< 1000)) {        users = parseInt($(this).attr("Users"), 10);
668
< 1000)) {
users = parseInt($(this).attr("Users"), 10);
642
< 1000)) {        loadavg = $(this).attr("LoadAvg");
669
< 1000)) {
loadavg = $(this).attr("LoadAvg");
643
< 1000)) {        if ($(this).attr("CPULoad") !== undefined) {
670
< 1000)) {
if ($(this).attr("CPULoad") !== undefined) {
644
< 1000)) {            loadavg = loadavg + "<br>" + createBar(parseInt($(this).attr("CPULoad"), 10));
671
< 1000)) {
loadavg = loadavg + "<br>" + createBar(parseInt($(this).attr("CPULoad"), 10));
645
< 1000)) {        }
672
< 1000)) {
}
646
< 1000)) {        if ($(this).attr("SysLang") !== undefined) {
673
< 1000)) {
if ($(this).attr("SysLang") !== undefined) {
647
< 1000)) {            syslang = $(this).attr("SysLang");
674
< 1000)) {
syslang = $(this).attr("SysLang");
648
< 1000)) {            document.getElementById("s_syslang_tr").style.display='';
675
< 1000)) {
document.getElementById("s_syslang_tr").style.display='';
649
< 1000)) {        }
676
< 1000)) {
}
650
< 1000)) {
677
< 1000)) {
651
< 1000)) {        if ($(this).attr("CodePage") !== undefined) {
678
< 1000)) {
if ($(this).attr("CodePage") !== undefined) {
652
< 1000)) {            codepage = $(this).attr("CodePage");
679
< 1000)) {
codepage = $(this).attr("CodePage");
653
< 1000)) {            if ($(this).attr("SysLang") !== undefined) {
680
< 1000)) {
if ($(this).attr("SysLang") !== undefined) {
654
< 1000)) {                document.getElementById("s_codepage_tr1").style.display='';
681
< 1000)) {
document.getElementById("s_codepage_tr1").style.display='';
655
< 1000)) {            } else {
682
< 1000)) {
} else {
656
< 1000)) {                document.getElementById("s_codepage_tr2").style.display='';
683
< 1000)) {
document.getElementById("s_codepage_tr2").style.display='';
657
< 1000)) {            }
684
< 1000)) {
}
658
< 1000)) {        }
685
< 1000)) {
}
659
< 1000)) {
686
< 1000)) {
660
< 1000)) {        //processes
687
< 1000)) {
//processes
661
< 1000)) {        if ($(this).attr("Processes") !== undefined) {
688
< 1000)) {
if ($(this).attr("Processes") !== undefined) {
662
< 1000)) {            processes = parseInt($(this).attr("Processes"), 10);
689
< 1000)) {
processes = parseInt($(this).attr("Processes"), 10);
663
< 1000)) {            if ((($(this).attr("CodePage") !== undefined) && ($(this).attr("SysLang") === undefined)) ||
690
< 1000)) {
if ((($(this).attr("CodePage") !== undefined) && ($(this).attr("SysLang") === undefined)) ||
664
< 1000)) {                (($(this).attr("CodePage") === undefined) && ($(this).attr("SysLang") !== undefined))) {
691
< 1000)) {
(($(this).attr("CodePage") === undefined) && ($(this).attr("SysLang") !== undefined))) {
665
< 1000)) {                document.getElementById("s_processes_tr1").style.display='';
692
< 1000)) {
document.getElementById("s_processes_tr1").style.display='';
666
< 1000)) {            } else {
693
< 1000)) {
} else {
667
< 1000)) {                document.getElementById("s_processes_tr2").style.display='';
694
< 1000)) {
document.getElementById("s_processes_tr2").style.display='';
668
< 1000)) {            }
695
< 1000)) {
}
669
< 1000)) {        }
696
< 1000)) {
}
670
< 1000)) {        if ($(this).attr("ProcessesRunning") !== undefined) {
697
< 1000)) {
if ($(this).attr("ProcessesRunning") !== undefined) {
671
< 1000)) {            prunning = parseInt($(this).attr("ProcessesRunning"), 10);
698
< 1000)) {
prunning = parseInt($(this).attr("ProcessesRunning"), 10);
672
< 1000)) {        }
699
< 1000)) {
}
673
< 1000)) {        if ($(this).attr("ProcessesSleeping") !== undefined) {
700
< 1000)) {
if ($(this).attr("ProcessesSleeping") !== undefined) {
674
< 1000)) {            psleeping = parseInt($(this).attr("ProcessesSleeping"), 10);
701
< 1000)) {
psleeping = parseInt($(this).attr("ProcessesSleeping"), 10);
675
< 1000)) {        }
702
< 1000)) {
}
676
< 1000)) {        if ($(this).attr("ProcessesStopped") !== undefined) {
703
< 1000)) {
if ($(this).attr("ProcessesStopped") !== undefined) {
677
< 1000)) {            pstopped = parseInt($(this).attr("ProcessesStopped"), 10);
704
< 1000)) {
pstopped = parseInt($(this).attr("ProcessesStopped"), 10);
678
< 1000)) {        }
705
< 1000)) {
}
679
< 1000)) {        if ($(this).attr("ProcessesZombie") !== undefined) {
706
< 1000)) {
if ($(this).attr("ProcessesZombie") !== undefined) {
680
< 1000)) {            pzombie = parseInt($(this).attr("ProcessesZombie"), 10);
707
< 1000)) {
pzombie = parseInt($(this).attr("ProcessesZombie"), 10);
681
< 1000)) {        }
708
< 1000)) {
}
682
< 1000)) {        if ($(this).attr("ProcessesWaiting") !== undefined) {
709
< 1000)) {
if ($(this).attr("ProcessesWaiting") !== undefined) {
683
< 1000)) {            pwaiting = parseInt($(this).attr("ProcessesWaiting"), 10);
710
< 1000)) {
pwaiting = parseInt($(this).attr("ProcessesWaiting"), 10);
684
< 1000)) {        }
711
< 1000)) {
}
685
< 1000)) {        if ($(this).attr("ProcessesOther") !== undefined) {
712
< 1000)) {
if ($(this).attr("ProcessesOther") !== undefined) {
686
< 1000)) {            pother = parseInt($(this).attr("ProcessesOther"), 10);
713
< 1000)) {
pother = parseInt($(this).attr("ProcessesOther"), 10);
687
< 1000)) {        }
714
< 1000)) {
}
688
< 1000)) {
715
< 1000)) {
689
< 1000)) {        document.title = "Système information: " + hostname + " (" + ip + ")";
716
< 1000)) {
document.title = "System information: " + hostname + " (" + ip + ")";
690
< 1000)) {        $("#s_hostname_title").html(hostname);
717
< 1000)) {
$("#s_hostname_title").html(hostname);
691
< 1000)) {        $("#s_ip_title").html(ip);
718
< 1000)) {
$("#s_ip_title").html(ip);
692
< 1000)) {        $("#s_hostname").html(hostname);
719
< 1000)) {
$("#s_hostname").html(hostname);
693
< 1000)) {        $("#s_ip").html(ip);
720
< 1000)) {
$("#s_ip").html(ip);
694
< 1000)) {        $("#s_kernel").html(kernel);
721
< 1000)) {
$("#s_kernel").html(kernel);
695
< 1000)) {        $("#s_distro").html("<img src='./gfx/images/" + icon + "' alt='Icon' title='' style='width:16px;height:16px;vertical-align:middle;' onload='PNGload($(this));' />&nbsp;" + distro); //onload IE6 PNG fix
722
< 1000)) {
$("#s_distro").html("<img src='./gfx/images/" + icon + "' alt='Icon' title='' style='width:16px;height:16px;vertical-align:middle;' onload='PNGload($(this));' /> " + distro); //onload IE6 PNG fix
696
< 1000)) {        $("#s_os").html("<img src='./gfx/images/" + os + ".png' alt='OSIcon' title='' style='width:16px;height:16px;vertical-align:middle;' onload='PNGload($(this));' /> " + os); //onload IE6 PNG fix
723
< 1000)) {
$("#s_os").html("</FONT></B>OSIcon<B><FONT COLOR="#BC8F8F">
697
< 1000)) {        $("#s_uptime").html(uptime);
724
< 1000)) {
if ((datetimeFormat !== undefined) && (datetimeFormat.toLowerCase() === "locale")) {
699
< 1000)) {            $("#s_lastboot").html(lastboot.toLocaleString());
726
< 1000)) {
} else {
701
< 1000)) {            if (typeof(lastboot.toUTCString)==="function") {
728
< 1000)) {
$("#s_lastboot").html(lastboot.toUTCString());
703
< 1000)) {            } else {
730
< 1000)) {
//deprecated
705
< 1000)) {                $("#s_lastboot").html(lastboot.toGMTString());
732
< 1000)) {
}
707
< 1000)) {        }
734
< 1000)) {
$("#s_users").html(users);
709
< 1000)) {        $("#s_loadavg").html(loadavg);
736
< 1000)) {
$("#s_syslang").html(syslang);
711
< 1000)) {        $("#s_codepage_1").html(codepage);
738
< 1000)) {
$("#s_codepage_2").html(codepage);
713
< 1000)) {        $("#s_processes_1").html(processes);
740
< 1000)) {
$("#s_processes_2").html(processes);
715
< 1000)) {        if (prunning || psleeping || pstopped || pzombie || pwaiting || pother) {
742
< 1000)) {
$("#s_processes_1").append(" (");
717
< 1000)) {            $("#s_processes_2").append(" (");
744
< 1000)) {
var typelist = {running:111,sleeping:112,stopped:113,zombie:114,waiting:115,other:116};
719
< 1000)) {            for (var proc_type in typelist) {
746
< 1000)) {
if (eval("p" + proc_type)) {
721
< 1000)) {                    if (not_first) {
748
< 1000)) {
$("#s_processes_1").append(", ");
723
< 1000)) {                        $("#s_processes_2").append(", ");
750
< 1000)) {
}
725
< 1000)) {                    $("#s_processes_1").append(eval("p" + proc_type) + " " + genlang(typelist[proc_type]));
752
< 1000)) {
$("#s_processes_2").append(eval("p" + proc_type) + "&nbsp;" + genlang(typelist[proc_type]));
727
< 1000)) {                    not_first = true;
754
< 1000)) {
}
729
< 1000)) {            }
756
< 1000)) {
$("#s_processes_1").append(") ");
731
< 1000)) {            $("#s_processes_2").append(") ");
758
< 1000)) {
}
733
< 1000)) {    });
760
< 1000)) {
}
735
< 1000)) {
762
< 1000)) {
737
< 1000)) {/**
764
< 1000)) {
* build the cpu information as table rows
739
< 1000)) { * @param {jQuery} xml phpSysInfo-XML
766
< 1000)) {
* @param {Array} tree array that holds the positions for treetable plugin
741
< 1000)) { * @param {Number} rootposition position of the parent element
768
< 1000)) {
* @param {Array} collapsed array that holds all collapsed elements hwne opening page
743
< 1000)) { */
770
< 1000)) {
function fillCpu(xml, tree, rootposition, collapsed) {
745
< 1000)) {    var cpucount = 0, html = "";
772
< 1000)) {
$("Hardware CPU CpuCore", xml).each(function getCpuCore(cpuCoreId) {
747
< 1000)) {        var model = "", speed = 0, bus = 0, cache = 0, bogo = 0, temp = 0, load = 0, speedmax = 0, speedmin = 0, cpucoreposition = 0, virt = "", manufacturer = "";
774
< 1000)) {
cpucount++;
749
< 1000)) {        model = $(this).attr("Model");
776
< 1000)) {
speed = parseInt($(this).attr("CpuSpeed"), 10);
751
< 1000)) {        speedmax = parseInt($(this).attr("CpuSpeedMax"), 10);
778
< 1000)) {
speedmin = parseInt($(this).attr("CpuSpeedMin"), 10);
753
< 1000)) {        cache = parseInt($(this).attr("Cache"), 10);
780
< 1000)) {
virt = $(this).attr("Virt");
755
< 1000)) {        bus = parseInt($(this).attr("BusSpeed"), 10);
782
< 1000)) {
temp = parseInt($(this).attr("Cputemp"), 10);
757
< 1000)) {        bogo = parseInt($(this).attr("Bogomips"), 10);
784
< 1000)) {
manufacturer = $(this).attr("Manufacturer");
759
< 1000)) {        load = parseInt($(this).attr("Load"), 10);
786
< 1000)) {
761
< 1000)) {        if (!showCPUListExpanded) {
788
< 1000)) {
collapsed.push(rootposition);
763
< 1000)) {        }
790
< 1000)) {
if (!isNaN(load) && showCPULoadCompact) {
765
< 1000)) {            html += "
" + model + "span></div>td><td>" + createBar(load) + "</td>tr>\n";
792
< 1000)) {
} else {
767
< 1000)) {
html += "<tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespan\">" + model + "</span></div></td></tr>\n";
794
< 1000)) {
}
769
< 1000)) {
cpucoreposition = tree.push(rootposition);
796
< 1000)) {
if (!showCPUInfoExpanded) {
771
< 1000)) {
collapsed.push(cpucoreposition);
798
< 1000)) {
}
773
< 1000)) {
if (!isNaN(speed)) {
800
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(13) + ":</span></div></td><td>" + formatHertz(speed) + "</td></tr>\n";
775
< 1000)) {
tree.push(cpucoreposition);
802
< 1000)) {
}
777
< 1000)) {
if (!isNaN(speedmax)) {
804
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(100) + ":</span></div></td><td>" + formatHertz(speedmax) + "</td></tr>\n";
779
< 1000)) {
tree.push(cpucoreposition);
806
< 1000)) {
}
781
< 1000)) {
if (!isNaN(speedmin)) {
808
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(101) + ":</span></div></td><td>" + formatHertz(speedmin) + "</td></tr>\n";
783
< 1000)) {
tree.push(cpucoreposition);
810
< 1000)) {
}
785
< 1000)) {
if (!isNaN(cache)) {
812
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(15) + ":</span></div></td><td>" + formatBytes(cache, xml) + "</td></tr>\n";
787
< 1000)) {
tree.push(cpucoreposition);
814
< 1000)) {
}
789
< 1000)) {
if (virt !== undefined) {
816
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(94) + ":</span></div></td><td>" + virt + "</td></tr>\n";
791
< 1000)) {
tree.push(cpucoreposition);
818
< 1000)) {
}
793
< 1000)) {
if (!isNaN(bus)) {
820
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(14) + ":</span></div></td><td>" + formatHertz(bus) + "</td></tr>\n";
795
< 1000)) {
tree.push(cpucoreposition);
822
< 1000)) {
}
797
< 1000)) {
if (!isNaN(bogo)) {
824
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(16) + ":</span></div></td><td>" + bogo.toString() + "</td></tr>\n";
799
< 1000)) {
tree.push(cpucoreposition);
826
< 1000)) {
}
801
< 1000)) {
/*
828
< 1000)) {
if (!isNaN(temp)) {
803
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(51) + ":</span></div></td><td>" + formatTemp(temp, xml) + "</td></tr>\n";
830
< 1000)) {
tree.push(cpucoreposition);
805
< 1000)) {
}
832
< 1000)) {
*/
807
< 1000)) {
if (manufacturer !== undefined) {
834
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(122) + ":</span></div></td><td>" + manufacturer + "</td></tr>\n";
809
< 1000)) {
tree.push(cpucoreposition);
836
< 1000)) {
}
811
< 1000)) {
if (!isNaN(load) && !showCPULoadCompact) {
838
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(9) + ":</span></div></td><td>" + createBar(load) + "</td></tr>\n";
813
< 1000)) {
tree.push(cpucoreposition);
840
< 1000)) {
}
815
< 1000)) {
});
842
< 1000)) {
if (cpucount === 0) {
817
< 1000)) {
html += "<tr><td colspan=\"2\">" + genlang(42) + "</td></tr>\n";
844
< 1000)) {
tree.push(rootposition);
819
< 1000)) {
}
846
< 1000)) {
return html;
821
< 1000)) {
}
848
< 1000)) {
823
< 1000)) {
function countCpu(xml) {
850
< 1000)) {
var cpucount = 0;
825
< 1000)) {
$("Hardware CPU CpuCore", xml).each(function getCpuCore(cpuCoreId) {
852
< 1000)) {
cpucount++;
827
< 1000)) {
});
854
< 1000)) {
return cpucount;
829
< 1000)) {
}
856
< 1000)) {
831
< 1000)) {
/**
858
< 1000)) {
* build rows for a treetable out of the hardwaredevices
833
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
860
< 1000)) {
* @param {String} type type of the hardware device
835
< 1000)) {
* @param {Array} tree array that holds the positions for treetable plugin
862
< 1000)) {
* @param {Number} rootposition position of the parent element
837
< 1000)) {
*/
864
< 1000)) {
function fillHWDevice(xml, type, tree, rootposition) {
839
< 1000)) {
var devicecount = 0, html = "";
866
< 1000)) {
$("Hardware " + type + ((type=="MEM")?" Chip":" Device"), xml).each(function getHWDevice(deviceId) {
841
< 1000)) {
var name = "", count = 0, capacity = 0, manufacturer = "", product = "", serial = "", devcoreposition = 0;
868
< 1000)) {
843
< 1000)) {
devicecount++;
870
< 1000)) {
name = $(this).attr("Name");
845
< 1000)) {
capacity = parseInt($(this).attr("Capacity"), 10);
872
< 1000)) {
manufacturer = $(this).attr("Manufacturer");
847
< 1000)) {
product = $(this).attr("Product");
874
< 1000)) {
speed = parseInt($(this).attr("Speed"), 10);
-
 
876
< 1000)) {
serial = $(this).attr("Serial");
849
< 1000)) {
count = parseInt($(this).attr("Count"), 10);
878
< 1000)) {
if (!isNaN(count) && count > 1) {
851
< 1000)) {
name = "(" + count + "x) " + name;
880
< 1000)) {
}
853
< 1000)) {
html += "<tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespan\">" + name + "</span></div></td></tr>\n";
882
< 1000)) {
devcoreposition = tree.push(rootposition);
855
< 1000)) {
if (!isNaN(capacity)) {
884
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(43) + ":</span></div></td><td>" + formatBytes(capacity, xml) + "</td></tr>\n";
857
< 1000)) {
tree.push(devcoreposition);
886
< 1000)) {
}
859
< 1000)) {
if (manufacturer!== undefined) {
888
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(122) + ":</span></div></td><td>" + manufacturer + "</td></tr>\n";
861
< 1000)) {
tree.push(devcoreposition);
890
< 1000)) {
}
863
< 1000)) {
if (product !== undefined) {
892
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(123) + ":</span></div></td><td>" + product + "</td></tr>\n";
865
< 1000)) {
tree.push(devcoreposition);
894
< 1000)) {
}
-
 
896
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(129) + ":</span></div></td><td>" + ((type=="MEM")?formatMTps(speed):formatBPS(1000000*speed)) + "</td></tr>\n";
-
 
898
< 1000)) {
}
-
 
900
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(52) + ":</span></div></td><td>" + round(voltage, 2) + " V</td></tr>\n";
-
 
902
< 1000)) {
}
867
< 1000)) {
if (serial !== undefined) {
904
< 1000)) {
html += "<tr><td style=\"width:68%\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(124) + ":</span></div></td><td>" + serial + "</td></tr>\n";
869
< 1000)) {
tree.push(devcoreposition);
906
< 1000)) {
}
871
< 1000)) {
});
908
< 1000)) {
if (devicecount === 0) {
873
< 1000)) {
html += "<tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(42) + "</span></div></td></tr>\n";
910
< 1000)) {
tree.push(rootposition);
875
< 1000)) {
}
912
< 1000)) {
return html;
877
< 1000)) {
}
914
< 1000)) {
879
< 1000)) {
function countHWDevice(xml, type) {
916
< 1000)) {
var devicecount = 0;
881
< 1000)) {
$("Hardware " + type + " Device", xml).each(function getHWDevice(deviceId) {
918
< 1000)) {
devicecount++;
883
< 1000)) {
});
920
< 1000)) {
return devicecount;
885
< 1000)) {
}
922
< 1000)) {
887
< 1000)) {
/**
924
< 1000)) {
* (re)fill the hardware block with the values from the given xml
889
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
926
< 1000)) {
*/
891
< 1000)) {
function refreshHardware(xml) {
928
< 1000)) {
, blocks) < 0))) {
929
< 1000)) {
hardware', blocks) < 0))) {
893
< 1000)) {
$("#hardware").remove();
930
< 1000)) {
return;
895
< 1000)) {
}
932
< 1000)) {
897
< 1000)) {
var html = "", tree = [], closed = [], index = 0, machine = "";
934
< 1000)) {
$("#hardware").empty();
899
< 1000)) {
html += "<h2>" + genlang(10) + "</h2>\n";
936
< 1000)) {
html += " <div style=\"overflow-x:auto;\">\n";
901
< 1000)) {
html += " <table id=\"HardwareTree\" class=\"tablemain\">\n";
938
< 1000)) {
html += " <tbody class=\"tree\">\n";
903
< 1000)) {
940
< 1000)) {
$("Hardware", xml).each(function getMachine(id) {
905
< 1000)) {
machine = $(this).attr("Name");
942
< 1000)) {
});
907
< 1000)) {
if ((machine !== undefined) && (machine !== "")) {
944
< 1000)) {
html += " <tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespanbold\">" + genlang(107) + "</span></div></td></tr>\n";
909
< 1000)) {
html += "<tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespan\">" + machine + "</span></div></td></tr>\n";
946
< 1000)) {
tree.push(tree.push(0));
911
< 1000)) {
}
948
< 1000)) {
913
< 1000)) {
if (countCpu(xml)) {
950
< 1000)) {
html += " <tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespanbold\">" + genlang(11) + "</span></div></td></tr>\n";
915
< 1000)) {
html += fillCpu(xml, tree, tree.push(0), closed);
952
< 1000)) {
}
917
< 1000)) {
954
< 1000)) {
var typelist = {MEM:130,PCI:17,IDE:18,SCSI:19,NVMe:126,USB:20,TB:117,I2C:118};
919
< 1000)) {
for (var dev_type in typelist) {
956
< 1000)) {
if (countHWDevice(xml, dev_type)) {
921
< 1000)) {
html += " <tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespanbold\">" + genlang(typelist[dev_type]) + "</span></div></td></tr>\n";
958
< 1000)) {
index = tree.push(0);
923
< 1000)) {
closed.push(index);
960
< 1000)) {
html += fillHWDevice(xml, dev_type, tree, index);
925
< 1000)) {
}
962
< 1000)) {
}
927
< 1000)) {
964
< 1000)) {
html += " </tbody>\n";
929
< 1000)) {
html += " </table>\n";
966
< 1000)) {
html += " </div>\n";
931
< 1000)) {
$("#hardware").append(html);
968
< 1000)) {
933
< 1000)) {
$("#HardwareTree").jqTreeTable(tree, {
970
< 1000)) {
openImg: "./gfx/treeTable/tv-collapsable.gif",
935
< 1000)) {
shutImg: "./gfx/treeTable/tv-expandable.gif",
972
< 1000)) {
leafImg: "./gfx/treeTable/tv-item.gif",
937
< 1000)) {
lastOpenImg: "./gfx/treeTable/tv-collapsable-last.gif",
974
< 1000)) {
lastShutImg: "./gfx/treeTable/tv-expandable-last.gif",
939
< 1000)) {
lastLeafImg: "./gfx/treeTable/tv-item-last.gif",
976
< 1000)) {
vertLineImg: "./gfx/treeTable/vertline.gif",
941
< 1000)) {
blankImg: "./gfx/treeTable/blank.gif",
978
< 1000)) {
collapse: closed,
943
< 1000)) {
column: 0,
980
< 1000)) {
striped: true,
945
< 1000)) {
highlight: false,
982
< 1000)) {
state: false
947
< 1000)) {
});
984
< 1000)) {
}
949
< 1000)) {
986
< 1000)) {
/**
951
< 1000)) {
*(re)fill the network block with the values from the given xml
988
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
953
< 1000)) {
*/
990
< 1000)) {
function refreshNetwork(xml) {
955
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('network', blocks) < 0))) {
992
< 1000)) {
network', blocks) < 0))) {
956
< 1000)) {
$("#network").remove();
993
< 1000)) {
return;
958
< 1000)) {
}
995
< 1000)) {
960
< 1000)) {
var tree = [], closed = [], html0= "", html1= "" ,html = "", isinfo = false, preoldnetwork = [], timestamp;
997
< 1000)) {
962
< 1000)) {
$("#network").empty();
999
< 1000)) {
964
< 1000)) {
html0 += "<h2>" + genlang(21) + "</h2>\n";
1001
< 1000)) {
966
< 1000)) {
html1 += " <thead>\n";
1003
< 1000)) {
html1 += " <tr>\n";
968
< 1000)) {
html1 += " <th>" + genlang(22) + "</th>\n";
1005
< 1000)) {
html1 += " <th class=\"right\" style=\"width:17.7%;\">" + genlang(23) + "</th>\n";
970
< 1000)) {
html1 += " <th class=\"right\" style=\"width:50px;\">" + genlang(24) + "</th>\n";
1007
< 1000)) {
html1 += " <th class=\"right\" style=\"width:17.7%;\">" + genlang(25) + "</th>\n";
972
< 1000)) {
html1 += " </tr>\n";
1009
< 1000)) {
html1 += " </thead>\n";
974
< 1000)) {
1011
< 1000)) {
if (showNetworkActiveSpeed) {
976
< 1000)) {
$("Generation", xml).each(function getTimestamp(id) {
1013
< 1000)) {
timestamp = $(this).attr("timestamp");
978
< 1000)) {
});
1015
< 1000)) {
}
980
< 1000)) {
1017
< 1000)) {
$("Network NetDevice", xml).each(function getDevice(id) {
982
< 1000)) {
var name = "", rx = 0, tx = 0, er = 0, dr = 0, info = "", networkindex = 0, htmlrx = '', htmltx = '';
1019
< 1000)) {
', htmltx = '';
983
< 1000)) {
name = $(this).attr("Name");
1020
< 1000)) {
rx = parseInt($(this).attr("RxBytes"), 10);
985
< 1000)) {
tx = parseInt($(this).attr("TxBytes"), 10);
1022
< 1000)) {
er = parseInt($(this).attr("Err"), 10);
987
< 1000)) {
dr = parseInt($(this).attr("Drops"), 10);
1024
< 1000)) {
989
< 1000)) {
if (showNetworkActiveSpeed && ($.inArray(name, oldnetwork) >= 0)) {
1026
< 1000)) {
var diff, difftime;
991
< 1000)) {
if (((diff = rx - oldnetwork[name].rx) > 0) && ((difftime = timestamp - oldnetwork[name].timestamp) > 0)) {
1028
< 1000)) {
if (showNetworkActiveSpeed == 2) {
993
< 1000)) {
htmlrx ="<br><i>("+formatBPS(round(8*diff/difftime, 2))+")i>";
1030
< 1000)) {
} else {
995
< 1000)) {
htmlrx ="<br><i>("+formatBytes(round(diff/difftime, 2), xml)+"/s)i>";
1032
< 1000)) {
}
997
< 1000)) {
}
1034
< 1000)) {
if (((diff = tx - oldnetwork[name].tx) > 0) && (difftime > 0)) {
999
< 1000)) {
if (showNetworkActiveSpeed == 2) {
1036
< 1000)) {
htmltx ="<br><i>("+formatBPS(round(8*diff/difftime, 2))+")</i>";
1001
< 1000)) {
} else {
1038
< 1000)) {
htmltx ="<br><i>("+formatBytes(round(diff/difftime, 2), xml)+"/s)</i>";
1003
< 1000)) {

}
1040
< 1000)) {
}
1005
< 1000)) {

}
1042
< 1000)) {
1007
< 1000)) {

html +="<tr><td><div class=\"treediv\"><span class=\"treespan\">" + name + "</span></div></td><td class=\"right\">" + formatBytes(rx, xml) + htmlrx + "</td><td class=\"right\">" + formatBytes(tx, xml) + htmltx +"</td><td class=\"right\">" + er.toString() + "/<wbr>" + dr.toString() + "</td></tr>";
1044
< 1000)) {
1009
< 1000)) {

networkindex = tree.push(0);
1046
< 1000)) {
1011
< 1000)) {

if (showNetworkActiveSpeed) {
1048
< 1000)) {
preoldnetwork.pushIfNotExist(name);
1013
< 1000)) {

preoldnetwork[name] = {timestamp:timestamp, rx:rx, tx:tx};
1050
< 1000)) {
}
1015
< 1000)) {


1052
< 1000)) {
info = $(this).attr("Info");
1017
< 1000)) {

if ( (info !== undefined) && (info !== "") ) {
1054
< 1000)) {
var i = 0, infos = info.replace(/:/g, "<wbr>:").split(";"); /* split long addresses */
1019
< 1000)) {

isinfo = true;
1056
< 1000)) {
for(i = 0; i < infos.length; i++){
1021
< 1000)) {

html +="<tr><td colspan=\"4\"><div class=\"treediv\"><span class=\"treespan\">" + infos[i] + "</span></div></td></tr>";
1058
< 1000)) {
tree.push(networkindex);
1023
< 1000)) {

}
1060
< 1000)) {
if (!showNetworkInfosExpanded) {
1025
< 1000)) {

closed.push(networkindex);
1062
< 1000)) {
}
1027
< 1000)) {

}
1064
< 1000)) {
});
1029
< 1000)) {

html += " </tbody>\n";
1066
< 1000)) {
html += " </table>\n";
1031
< 1000)) {

html += "</div>\n";
1068
< 1000)) {
html0 += "<div style=\"overflow-x:auto;\">\n";
1033
< 1000)) {

if (isinfo) {
1070
< 1000)) {
html0 += " <table id=\"NetworkTree\" class=\"tablemain\">\n";
1035
< 1000)) {

html1 += " <tbody class=\"tree\">\n";
1072
< 1000)) {
} else {
1037
< 1000)) {

html0 += " <table id=\"NetworkTree\" class=\"stripeMe\" style=\"border-collapse:collapse;\">\n";
1074
< 1000)) {
html1 += " <tbody class=\"tbody_network\">\n";
1039
< 1000)) {

}
1076
< 1000)) {
$("#network").append(html0+html1+html);
1041
< 1000)) {


1078
< 1000)) {
if (isinfo) $("#NetworkTree").jqTreeTable(tree, {
1043
< 1000)) {

openImg: "./gfx/treeTable/tv-collapsable.gif",
1080
< 1000)) {
shutImg: "./gfx/treeTable/tv-expandable.gif",
1045
< 1000)) {

leafImg: "./gfx/treeTable/tv-item.gif",
1082
< 1000)) {
lastOpenImg: "./gfx/treeTable/tv-collapsable-last.gif",
1047
< 1000)) {

lastShutImg: "./gfx/treeTable/tv-expandable-last.gif",
1084
< 1000)) {
lastLeafImg: "./gfx/treeTable/tv-item-last.gif",
1049
< 1000)) {

vertLineImg: "./gfx/treeTable/vertline.gif",
1086
< 1000)) {
blankImg: "./gfx/treeTable/blank.gif",
1051
< 1000)) {

collapse: closed,
1088
< 1000)) {
column: 0,
1053
< 1000)) {

striped: true,
1090
< 1000)) {
highlight: false,
1055
< 1000)) {

state: false
1092
< 1000)) {
});
1057
< 1000)) {


1094
< 1000)) {
if (showNetworkActiveSpeed) {
1059
< 1000)) {

while (oldnetwork.length > 0) {
1096
< 1000)) {
delete oldnetwork[oldnetwork.length-1]; //remove last object
1061
< 1000)) {

oldnetwork.pop(); //remove last object reference from array
1098
< 1000)) {
}
1063
< 1000)) {

oldnetwork = preoldnetwork;
1100
< 1000)) {
}
1065
< 1000)) {

}
1102
< 1000)) {
1067
< 1000)) {

/**
1104
< 1000)) {
* (re)fill the memory block with the values from the given xml
1069
< 1000)) {

* @param {jQuery} xml phpSysInfo-XML
1106
< 1000)) {
*/
1071
< 1000)) {

function refreshMemory(xml) {
1108
< 1000)) {
, blocks) < 0))) {
1109
< 1000)) {
memory', blocks) < 0))) {
1073
< 1000)) {

$("#memory").remove();
1110
< 1000)) {
return;
1075
< 1000)) {

}
1112
< 1000)) {
1077
< 1000)) {

var html = "", tree = [], closed = [];
1114
< 1000)) {
1079
< 1000)) {

$("#memory").empty();
1116
< 1000)) {
html += "<h2>" + genlang(27) + "</h2>\n";
1081
< 1000)) {

html += "<div style=\"overflow-x:auto;\">\n";
1118
< 1000)) {
html += " <table id=\"MemoryTree\" class=\"tablemain\">\n";
1083
< 1000)) {

html += " <thead>\n";
1120
< 1000)) {
html += " <tr>\n";
1085
< 1000)) {

html += " <th style=\"width:200px;\">" + genlang(34) + "</th>\n";
1122
< 1000)) {
html += " <th style=\"width:33.3%;\">" + genlang(33) + "</th>\n";
1087
< 1000)) {

html += " <th class=\"right\" style=\"width:100px;\">" + genlang(125) + "</th>\n";
1124
< 1000)) {
html += " <th class=\"right\" style=\"width:14.2%;\">" + genlang(36) + "</th>\n";
1089
< 1000)) {

html += " <th class=\"right\" style=\"width:100px;\">" + genlang(37) + "</th>\n";
1126
< 1000)) {
html += " </tr>\n";
1091
< 1000)) {

html += " </thead>\n";
1128
< 1000)) {
html += " <tbody class=\"tree\">\n";
1093
< 1000)) {


1130
< 1000)) {
$("Memory", xml).each(function getMemory(id) {
1095
< 1000)) {

var free = 0, total = 0, used = 0, percent = 0, memoryindex = 0;
1132
< 1000)) {
free = parseInt($(this).attr("Free"), 10);
1097
< 1000)) {

used = parseInt($(this).attr("Used"), 10);
1134
< 1000)) {
total = parseInt($(this).attr("Total"), 10);
1099
< 1000)) {

percent = parseInt($(this).attr("Percent"), 10);
1136
< 1000)) {
html += "<tr><td><div class=\"treediv\"><span class=\"treespan\">" + genlang(28) + "</span></div></td><td>" + createBar(percent) + "</td><td class=\"right\">" + formatBytes(free, xml) + "</td><td class=\"right\">" + formatBytes(used, xml) + "</td><td class=\"right\">" + formatBytes(total, xml) + "</td></tr>";
1101
< 1000)) {

memoryindex = tree.push(0);
1138
< 1000)) {
1103
< 1000)) {

$("Memory Details", xml).each(function getMemorydetails(id) {
1140
< 1000)) {
var app = 0, appp = 0, buff = 0, buffp = 0, cached = 0, cachedp = 0;
1105
< 1000)) {

app = parseInt($(this).attr("App"), 10);
1142
< 1000)) {
appp = parseInt($(this).attr("AppPercent"), 10);
1107
< 1000)) {

buff = parseInt($(this).attr("Buffers"), 10);
1144
< 1000)) {
buffp = parseInt($(this).attr("BuffersPercent"), 10);
1109
< 1000)) {

cached = parseInt($(this).attr("Cached"), 10);
1146
< 1000)) {
cachedp = parseInt($(this).attr("CachedPercent"), 10);
1111
< 1000)) {

if (!isNaN(app)) {
1148
< 1000)) {
html += "<tr><td><div class=\"treediv\"><span class=\"treespan\">" + genlang(64) + "</span></div></td><td>" + createBar(appp) + "</td><td class=\"right\">&nbsp;</td><td class=\"right\">" + formatBytes(app, xml) + "</td><td class=\"right\">&nbsp;</td></tr>";
1113
< 1000)) {

tree.push(memoryindex);
1150
< 1000)) {
}
1115
< 1000)) {

if (!isNaN(cached)) {
1152
< 1000)) {
html += "<tr><td><div class=\"treediv\"><span class=\"treespan\">" + genlang(66) + "</span></div></td><td>" + createBar(cachedp) + "</td><td class=\"right\">&nbsp;</td><td class=\"right\">" + formatBytes(cached, xml) + "</td><td class=\"right\">&nbsp;</td></tr>";
1117
< 1000)) {

tree.push(memoryindex);
1154
< 1000)) {
}
1119
< 1000)) {

if (!isNaN(buff)) {
1156
< 1000)) {
html += "<tr><td><div class=\"treediv\"><span class=\"treespan\">" + genlang(65) + "</span></div></td><td>" + createBar(buffp) + "</td><td class=\"rigth\">&nbsp;</td><td class=\"right\">" + formatBytes(buff, xml) + "</td><td class=\"right\">&nbsp;</td></tr>";
1121
< 1000)) {

tree.push(memoryindex);
1158
< 1000)) {
}
1123
< 1000)) {

if (!isNaN(app) || !isNaN(buff) || !isNaN(cached)) {
1160
< 1000)) {
if (!showMemoryInfosExpanded) {
1125
< 1000)) {

closed.push(memoryindex);
1162
< 1000)) {
}
1127
< 1000)) {

}
1164
< 1000)) {
});
1129
< 1000)) {

});
1166
< 1000)) {
$("Memory Swap", xml).each(function getSwap(id) {
1131
< 1000)) {

var free = 0, total = 0, used = 0, percent = 0, swapindex = 0;
1168
< 1000)) {
free = parseInt($(this).attr("Free"), 10);
1133
< 1000)) {

used = parseInt($(this).attr("Used"), 10);
1170
< 1000)) {
total = parseInt($(this).attr("Total"), 10);
1135
< 1000)) {

percent = parseInt($(this).attr("Percent"), 10);
1172
< 1000)) {
html += "<tr><td><div class=\"treediv\"><span class=\"treespan\">" + genlang(29) + "</span></div></td><td>" + createBar(percent) + "</td><td class=\"right\">" + formatBytes(free, xml) + "</td><td class=\"right\">" + formatBytes(used, xml) + "</td><td class=\"right\">" + formatBytes(total, xml) + "</td></tr>";
1137
< 1000)) {

swapindex = tree.push(0);
1174
< 1000)) {
1139
< 1000)) {

$("Memory Swap Mount", xml).each(function getDevices(id) {
1176
< 1000)) {
var free = 0, total = 0, used = 0, percent = 0, mpoint = "", mpid = 0;
1141
< 1000)) {

if (!showMemoryInfosExpanded) {
1178
< 1000)) {
closed.push(swapindex);
1143
< 1000)) {

}
1180
< 1000)) {
free = parseInt($(this).attr("Free"), 10);
1145
< 1000)) {

used = parseInt($(this).attr("Used"), 10);
1182
< 1000)) {
total = parseInt($(this).attr("Total"), 10);
1147
< 1000)) {

percent = parseInt($(this).attr("Percent"), 10);
1184
< 1000)) {
mpid = parseInt($(this).attr("MountPointID"), 10);
1149
< 1000)) {

mpoint = $(this).attr("MountPoint");
1186
< 1000)) {
1151
< 1000)) {

if (mpoint === undefined) {
1188
< 1000)) {
mpoint = mpid;
1153
< 1000)) {

}
1190
< 1000)) {
1155
< 1000)) {

html += "<tr><td style=\"width:184px;\"><div class=\"treediv\"><span class=\"treespan\">" + mpoint + "</span></div></td><td style=\"width:285px;\">" + createBar(percent) + "</td><td class=\"right\" style=\"width:100px\">" + formatBytes(free, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(used, xml) + "</td><td class=\"right\" style=\"width:100px;\">" + formatBytes(total, xml) + "</td></tr>";
1192
< 1000)) {
tree.push(swapindex);
1157
< 1000)) {

});
1194
< 1000)) {
});
1159
< 1000)) {


1196
< 1000)) {
html += " </tbody>\n";
1161
< 1000)) {

html += " </table>\n";
1198
< 1000)) {
html += "</div>\n";
1163
< 1000)) {

$("#memory").append(html);
1200
< 1000)) {
1165
< 1000)) {

$("#MemoryTree").jqTreeTable(tree, {
1202
< 1000)) {
openImg: "./gfx/treeTable/tv-collapsable.gif",
1167
< 1000)) {

shutImg: "./gfx/treeTable/tv-expandable.gif",
1204
< 1000)) {
leafImg: "./gfx/treeTable/tv-item.gif",
1169
< 1000)) {

lastOpenImg: "./gfx/treeTable/tv-collapsable-last.gif",
1206
< 1000)) {
lastShutImg: "./gfx/treeTable/tv-expandable-last.gif",
1171
< 1000)) {

lastLeafImg: "./gfx/treeTable/tv-item-last.gif",
1208
< 1000)) {
vertLineImg: "./gfx/treeTable/vertline.gif",
1173
< 1000)) {

blankImg: "./gfx/treeTable/blank.gif",
1210
< 1000)) {
collapse: closed,
1175
< 1000)) {

column: 0,
1212
< 1000)) {
striped: true,
1177
< 1000)) {

highlight: false,
1214
< 1000)) {
state: false
1179
< 1000)) {

});
1216
< 1000)) {
1181
< 1000)) {

}
1218
< 1000)) {
1183
< 1000)) {

/**
1220
< 1000)) {
* (re)fill the filesystems block with the values from the given xml<br><br>
1185
< 1000)) {

* appends the filesystems (each in a row) to the filesystem table in the tbody<br>before the rows are inserted the entire
1222
< 1000)) {
* tbody is cleared
1187
< 1000)) {

* @param {jQuery} xml phpSysInfo-XML
1224
< 1000)) {
*/
1189
< 1000)) {

function refreshFilesystems(xml) {
1226
< 1000)) {
, blocks) < 0))) {
1227
< 1000)) {
filesystem', blocks) < 0))) {
1191
< 1000)) {

$("#filesystem").remove();
1228
< 1000)) {
return;
1193
< 1000)) {

}
1230
< 1000)) {
1195
< 1000)) {

var total_usage = 0, total_used = 0, total_free = 0, total_size = 0, threshold = 0;
1232
< 1000)) {
1197
< 1000)) {

filesystemTable.fnClearTable();
1234
< 1000)) {
1199
< 1000)) {

$("Options", xml).each(function getThreshold(id) {
1236
< 1000)) {
threshold = parseInt($(this).attr("threshold"), 10);
1201
< 1000)) {

});
1238
< 1000)) {
1203
< 1000)) {

$("FileSystem Mount", xml).each(function getMount(mid) {
1240
< 1000)) {
var mpoint = "", mpid = 0, type = "", name = "", free = 0, used = 0, size = 0, percent = 0, options = "", inodes = 0, inodes_text = "", options_text = "", ignore = 0;
1205
< 1000)) {

mpid = parseInt($(this).attr("MountPointID"), 10);
1242
< 1000)) {
type = $(this).attr("FSType");
1207
< 1000)) {

name = $(this).attr("Name").replace(/;/g, ";<wbr>"); /* split long name */
1244
< 1000)) {
free = parseInt($(this).attr("Free"), 10);
1209
< 1000)) {

used = parseInt($(this).attr("Used"), 10);
1246
< 1000)) {
size = parseInt($(this).attr("Total"), 10);
1211
< 1000)) {

percent = parseInt($(this).attr("Percent"), 10);
1248
< 1000)) {
options = $(this).attr("MountOptions");
1213
< 1000)) {

inodes = parseInt($(this).attr("Inodes"), 10);
1250
< 1000)) {
mpoint = $(this).attr("MountPoint");
1215
< 1000)) {

ignore = parseInt($(this).attr("Ignore"), 10);
1252
< 1000)) {
1217
< 1000)) {

if (mpoint === undefined) {
1254
< 1000)) {
mpoint = mpid;
1219
< 1000)) {

}
1256
< 1000)) {
if (options !== undefined) {
1221
< 1000)) {

options_text = "<br><i>(" + options + ")</i>";
1258
< 1000)) {
}
1223
< 1000)) {

if (!isNaN(inodes)) {
1260
< 1000)) {
inodes_text = "<span style=\"font-style:italic\">&nbsp;(" + inodes.toString() + "%)</span>";
1225
< 1000)) {

}
1262
< 1000)) {
1227
< 1000)) {

if (!isNaN(ignore) && (ignore > 0)) {
1264
< 1000)) {
if (ignore >= 3) {
1229
< 1000)) {

if ((ignore == 2) && !isNaN(threshold) && (percent >= threshold)) {
1266
< 1000)) {
filesystemTable.fnAddData(["<span style=\"display:none;\">" + mpoint + "</span>" + mpoint, "<span style=\"display:none;\">" + type + "</span>" + type, "<span style=\"display:none;\">" + name + "</span>" + name + options_text, "<span style=\"display:none;\">" + percent.toString() + "</span>" + createBar(percent, "barwarn") + inodes_text, "<span style=\"display:none;\">" + free.toString() + "</span><i>(" + formatBytes(free, xml) + ")</i>", "<span style=\"display:none;\">" + used.toString() + "</span><i>(" + formatBytes(used, xml) + ")</i>", "<span style=\"display:none;\">" + size.toString() + "</span><i>(" + formatBytes(size, xml) + ")</i>"]);
1231
< 1000)) {

} else {
1268
< 1000)) {
filesystemTable.fnAddData(["<span style=\"display:none;\">" + mpoint + "</span>" + mpoint, "<span style=\"display:none;\">" + type + "</span>" + type, "<span style=\"display:none;\">" + name + "</span>" + name + options_text, "<span style=\"display:none;\">" + percent.toString() + "</span>" + createBar(percent) + inodes_text, "<span style=\"display:none;\">" + free.toString() + "</span><i>(" + formatBytes(free, xml) + ")</i>", "<span style=\"display:none;\">" + used.toString() + "</span><i>(" + formatBytes(used, xml) + ")</i>", "<span style=\"display:none;\">" + size.toString() + "</span><i>(" + formatBytes(size, xml) + ")</i>"]);
1233
< 1000)) {

}
1270
< 1000)) {
} else {
1235
< 1000)) {

if (!isNaN(threshold) && (percent >= threshold)) {
1272
< 1000)) {
filesystemTable.fnAddData(["<span style=\"display:none;\">" + mpoint + "</span>" + mpoint, "<span style=\"display:none;\">" + type + "</span>" + type, "<span style=\"display:none;\">" + name + "</span>" + name + options_text, "<span style=\"display:none;\">" + percent.toString() + "</span>" + createBar(percent, "barwarn") + inodes_text, "<span style=\"display:none;\">" + free.toString() + "</span><i>(" + formatBytes(free, xml) + ")</i>", "<span style=\"display:none;\">" + used.toString() + "</span>" + formatBytes(used, xml), "<span style=\"display:none;\">" + size.toString() + "</span><i>(" + formatBytes(size, xml) + ")</i>"]);
1237
< 1000)) {

} else {
1274
< 1000)) {
filesystemTable.fnAddData(["<span style=\"display:none;\">" + mpoint + "</span>" + mpoint, "<span style=\"display:none;\">" + type + "</span>" + type, "<span style=\"display:none;\">" + name + "</span>" + name + options_text, "<span style=\"display:none;\">" + percent.toString() + "</span>" + createBar(percent) + inodes_text, "<span style=\"display:none;\">" + free.toString() + "</span><i>(" + formatBytes(free, xml) + ")</i>", "<span style=\"display:none;\">" + used.toString() + "</span>" + formatBytes(used, xml), "<span style=\"display:none;\">" + size.toString() + "</span><i>(" + formatBytes(size, xml) + ")</i>"]);
1239
< 1000)) {

}
1276
< 1000)) {
}
1241
< 1000)) {

} else {
1278
< 1000)) {
if (!isNaN(threshold) && (percent >= threshold) && (showTotals || isNaN(ignore) || (ignore < 4))) {
1243
< 1000)) {

filesystemTable.fnAddData(["<span style=\"display:none;\">" + mpoint + "</span>" + mpoint, "<span style=\"display:none;\">" + type + "</span>" + type, "<span style=\"display:none;\">" + name + "</span>" + name + options_text, "<span style=\"display:none;\">" + percent.toString() + "</span>" + createBar(percent, "barwarn") + inodes_text, "<span style=\"display:none;\">" + free.toString() + "</span>" + formatBytes(free, xml), "<span style=\"display:none;\">" + used.toString() + "</span>" + formatBytes(used, xml), "<span style=\"display:none;\">" + size.toString() + "</span>" + formatBytes(size, xml)]);
1280
< 1000)) {
} else {
1245
< 1000)) {

filesystemTable.fnAddData(["<span style=\"display:none;\">" + mpoint + "</span>" + mpoint, "<span style=\"display:none;\">" + type + "</span>" + type, "<span style=\"display:none;\">" + name + "</span>" + name + options_text, "<span style=\"display:none;\">" + percent.toString() + "</span>" + createBar(percent) + inodes_text, "<span style=\"display:none;\">" + free.toString() + "</span>" + formatBytes(free, xml), "<span style=\"display:none;\">" + used.toString() + "</span>" + formatBytes(used, xml), "<span style=\"display:none;\">" + size.toString() + "</span>" + formatBytes(size, xml)]);
1282
< 1000)) {
}
1247
< 1000)) {

}
1284
< 1000)) {
if (showTotals) {
1248
< 1000)) {

if (!isNaN(ignore) && (ignore > 0)) {
1286
< 1000)) {
if (ignore == 2) {
-
 
1288
< 1000)) {
} else if (ignore == 1) {
-
 
1290
< 1000)) {
total_size += used;
-
 
1292
< 1000)) {
} else {
1250
< 1000)) {

total_used += used;
1294
< 1000)) {
total_free += free;
1251
< 1000)) {

total_size += used;
1296
< 1000)) {
}
1253
< 1000)) {

} else {
-
 
1254
< 1000)) {

total_used += used;
-
 
1255
< 1000)) {

total_free += free;
-
 
1256
< 1000)) {

total_size += size;
1298
< 1000)) {
}
1258
< 1000)) {

total_usage = round((total_used / total_size) * 100, 2);
-
 
1259
< 1000)) {

});
1300
< 1000)) {
-
 
1302
< 1000)) {
if (!isNaN(threshold) && (total_usage >= threshold)) {
1262
< 1000)) {

$("#s_fs_total").html(createBar(total_usage, "barwarn"));
1304
< 1000)) {
} else {
1264
< 1000)) {

$("#s_fs_total").html(createBar(total_usage));
1306
< 1000)) {
}
-
 
1308
< 1000)) {
$("#s_fs_tused").html(formatBytes(total_used, xml));
-
 
1310
< 1000)) {
}
1266
< 1000)) {

$("#s_fs_tfree").html(formatBytes(total_free, xml));
-
 
1267
< 1000)) {

$("#s_fs_tused").html(formatBytes(total_used, xml));
-
 
1268
< 1000)) {

$("#s_fs_tsize").html(formatBytes(total_size, xml));
-
 
1269
< 1000)) {

}
1312
< 1000)) {
1271
< 1000)) {

/**
1314
< 1000)) {
* (re)fill the temperature block with the values from the given xml<br><br>
1273
< 1000)) {

* build the block content for the temperature block, this includes normal temperature information in the XML
1316
< 1000)) {
* and also the HDDTemp information, if there are no information the entire table will be removed
1275
< 1000)) {

* to avoid HTML warnings
1318
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1277
< 1000)) {

*/
1320
< 1000)) {
function refreshTemp(xml) {
1279
< 1000)) {

if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {
1322
< 1000)) {
temperature', blocks) < 0))) {
1280
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) { $("#temperature").remove();
1323
< 1000)) {

1324
< 1000)) {

1325
< 1000)) {

1326
< 1000)) {

1327
< 1000)) {

1328
< 1000)) {

1329
< 1000)) {

1330
< 1000)) {

1331
< 1000)) {

1332
< 1000)) {

-
 
1291
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) { if (isFinite(limit))
-
 
1292
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) { _limit = formatTemp(limit, xml);
-
 
1293
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) { event = $(this).attr("Event");
1333
< 1000)) {

1334
< 1000)) {
gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
1335
< 1000)) {
limit = parseFloat($(this).attr("Max"));
-
 
1337
< 1000)) {
_limit = formatTemp(limit, xml);
1296
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) { $("#temperatureTable tbody").append("<tr><td>" + label + "</td>
" + formatTemp(value, xml) + "td><td class=\"right\">" + _limit + "</td></tr>");
1339
< 1000)) {
values = true;
1340
< 1000)) {
});
1341
< 1000)) {
if (values) {
1342
< 1000)) {
$("#temperature").show();
1343
< 1000)) {
} else {
1344
< 1000)) {
$("#temperature").hide();
1345
< 1000)) {
}
1346
< 1000)) {
}
1347
< 1000)) {
1348
< 1000)) {
/**
1349
< 1000)) {
* (re)fill the voltage block with the values from the given xml<br><br>
1350
< 1000)) {
* build the voltage information into a separate block, if there is no voltage information available the
1351
< 1000)) {
* entire table will be removed to avoid HTML warnings
1352
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1353
< 1000)) {
*/
1354
< 1000)) {
function refreshVoltage(xml) {
1355
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('voltage', blocks) < 0))) {
1356
< 1000)) {
voltage', blocks) < 0))) {
1314
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#voltage").remove();
1357
< 1000)) {
return;
1358
< 1000)) {
}
1359
< 1000)) {
1360
< 1000)) {
var values = false;
1361
< 1000)) {
$("#voltageTable tbody").empty();
1362
< 1000)) {
$("MBInfo Voltage Item", xml).each(function getVoltages(id) {
1363
< 1000)) {
var label = "", value = 0, max = 0, min = 0, _min = "", _max = "", event = "";
1364
< 1000)) {
label = $(this).attr("Label");
1365
< 1000)) {
value = parseFloat($(this).attr("Value"));
1366
< 1000)) {
event = $(this).attr("Event");
-
 
1368
< 1000)) {
label += " <img style=\"vertical-align: middle; width:16px;\" src=\"./gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
1324
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
max = parseFloat($(this).attr("Max"));
1370
< 1000)) {
if (isFinite(max))
1371
< 1000)) {
_max = round(max, 2) + "&nbsp;" + genlang(62);
1372
< 1000)) {
min = parseFloat($(this).attr("Min"));
1373
< 1000)) {
if (isFinite(min))
1374
< 1000)) {
_min = round(min, 2) + "&nbsp;" + genlang(62);
1375
< 1000)) {
event = $(this).attr("Event");
-
 
1331
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
if (event !== undefined)
-
 
1332
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
label += " <img style=\"vertical-align: middle; width:16px;\" src=\"./gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
-
 
1333
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#voltageTable tbody").append("<tr><td>" + label + "</td><td class=\"right\">" + round(value, 2) + "&nbsp;" + genlang(62) + "</td><td class=\"right\">" + _min + "</td><td class=\"right\">" + _max + "</td></tr>");
1376
< 1000)) {
values = true;
1377
< 1000)) {
});
1378
< 1000)) {
if (values) {
1379
< 1000)) {
$("#voltage").show();
1380
< 1000)) {
} else {
1381
< 1000)) {
$("#voltage").hide();
1382
< 1000)) {
}
1383
< 1000)) {
}
1384
< 1000)) {
1385
< 1000)) {
/**
1386
< 1000)) {
* (re)fill the fan block with the values from the given xml<br><br>
1387
< 1000)) {
* build the fan information into a separate block, if there is no fan information available the
1388
< 1000)) {
* entire table will be removed to avoid HTML warnings
1389
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1390
< 1000)) {
*/
1391
< 1000)) {
function refreshFans(xml) {
1392
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('fans', blocks) < 0))) {
1393
< 1000)) {
fans', blocks) < 0))) {
1351
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#fans").remove();
1394
< 1000)) {
return;
1395
< 1000)) {
}
1396
< 1000)) {
1397
< 1000)) {
var values = false;
1398
< 1000)) {
$("#fansTable tbody").empty();
1399
< 1000)) {
$("MBInfo Fans Item", xml).each(function getFans(id) {
1400
< 1000)) {
var label = "", value = 0, min = 0, _min = "", event = "";
1401
< 1000)) {
label = $(this).attr("Label");
1402
< 1000)) {
value = parseFloat($(this).attr("Value"));
1403
< 1000)) {
min = parseFloat($(this).attr("Min"));
-
 
1362
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
if (isFinite(min))
-
 
1363
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
_min = round(min,0) + "&nbsp;" + genlang(63);
-
 
1364
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
event = $(this).attr("Event");
1404
< 1000)) {
if (event !== undefined)
1405
< 1000)) {
label += " <img style=\"vertical-align: middle; width:16px;\" src=\"./gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
1406
< 1000)) {
min = parseFloat($(this).attr("Min"));
-
 
1408
< 1000)) {
if (unit === "%") {
-
 
1410
< 1000)) {
_min = round(min,0) + "%";
-
 
1412
< 1000)) {
} else {
-
 
1414
< 1000)) {
_min = round(min,0) + "&nbsp;" + genlang(63);
1367
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#fansTable tbody").append("<tr><td>" + label + "</td><td class=\"right\">" + round(value,0) + "&nbsp;" + genlang(63) + "</td><td class=\"right\">" + _min + "</td></tr>");
1416
< 1000)) {
}
1368
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
values = true;
1418
< 1000)) {
});
1419
< 1000)) {
if (values) {
1420
< 1000)) {
$("#fans").show();
1421
< 1000)) {
} else {
1422
< 1000)) {
$("#fans").hide();
1423
< 1000)) {
}
1424
< 1000)) {
}
1425
< 1000)) {
1426
< 1000)) {
/**
1427
< 1000)) {
* (re)fill the power block with the values from the given xml<br><br>
1428
< 1000)) {
* build the power information into a separate block, if there is no power information available the
1429
< 1000)) {
* entire table will be removed to avoid HTML warnings
1430
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1431
< 1000)) {
*/
1432
< 1000)) {
function refreshPower(xml) {
1433
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('power', blocks) < 0))) {
1434
< 1000)) {
power', blocks) < 0))) {
1385
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#power").remove();
1435
< 1000)) {
return;
1436
< 1000)) {
}
1437
< 1000)) {
1438
< 1000)) {
var values = false;
1439
< 1000)) {
$("#powerTable tbody").empty();
1440
< 1000)) {
$("MBInfo Power Item", xml).each(function getPowers(id) {
1441
< 1000)) {
var label = "", value = "", limit = 0, _limit = "", event = "";
1442
< 1000)) {
label = $(this).attr("Label");
1443
< 1000)) {
value = $(this).attr("Value");
1444
< 1000)) {
limit = parseFloat($(this).attr("Max"));
-
 
1396
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
if (isFinite(limit))
-
 
1397
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
_limit = round(limit, 2) + "&nbsp;" + genlang(103);
-
 
1398
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
event = $(this).attr("Event");
1445
< 1000)) {
if (event !== undefined)
1446
< 1000)) {
label += " <img style=\"vertical-align: middle; width:16px;\" src=\"./gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
1447
< 1000)) {
limit = parseFloat($(this).attr("Max"));
-
 
1449
< 1000)) {
_limit = round(limit, 2) + "&nbsp;" + genlang(103);
1401
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#powerTable tbody").append("<tr><td>" + label + "</td><td class=\"right\">" + round(value, 2) + "&nbsp;" + genlang(103) + "</td><td class=\"right\">" + _limit + "</td></tr>");
1451
< 1000)) {
values = true;
1452
< 1000)) {
});
1453
< 1000)) {
if (values) {
1454
< 1000)) {
$("#power").show();
1455
< 1000)) {
} else {
1456
< 1000)) {
$("#power").hide();
1457
< 1000)) {
}
1458
< 1000)) {
}
1459
< 1000)) {
1460
< 1000)) {
/**
1461
< 1000)) {
* (re)fill the current block with the values from the given xml<br><br>
1462
< 1000)) {
* build the current information into a separate block, if there is no current information available the
1463
< 1000)) {
* entire table will be removed to avoid HTML warnings
1464
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1465
< 1000)) {
*/
1466
< 1000)) {
function refreshCurrent(xml) {
1467
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('current', blocks) < 0))) {
1468
< 1000)) {
current', blocks) < 0))) {
1419
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#current").remove();
1469
< 1000)) {
return;
1470
< 1000)) {
}
1471
< 1000)) {
1472
< 1000)) {
var values = false;
1473
< 1000)) {
$("#currentTable tbody").empty();
1474
< 1000)) {
$("MBInfo Current Item", xml).each(function getCurrents(id) {
1475
< 1000)) {
var label = "", value = "", min = 0, max = 0, _min = "", _max = "", event = "";
1476
< 1000)) {
label = $(this).attr("Label");
1477
< 1000)) {
value = $(this).attr("Value");
1478
< 1000)) {
-
 
-
 
1479
< 1000)) {
if (event !== undefined)
-
 
1481
< 1000)) {
max = parseFloat($(this).attr("Max"));
1482
< 1000)) {
if (isFinite(max))
1483
< 1000)) {
_max = round(max, 2) + "&nbsp;" + genlang(106);
1484
< 1000)) {
min = parseFloat($(this).attr("Min"));
1485
< 1000)) {
if (isFinite(min))
1486
< 1000)) {
_min = round(min, 2) + "&nbsp;" + genlang(106);
1487
< 1000)) {
-
 
1437
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
event = $(this).attr("Event");
-
 
1438
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
if (event !== undefined)
-
 
1439
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
label += " <img style=\"vertical-align: middle; width:16px;\" src=\"./gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
-
 
1440
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#currentTable tbody").append("<tr><td>" + label + "</td><td class=\"right\">" + round(value, 2) + "&nbsp;" + genlang(106) + "</td><td class=\"right\">" + _min + "</td><td class=\"right\">" + _max + "</td></tr>");
1488
< 1000)) {
values = true;
1489
< 1000)) {
});
1490
< 1000)) {
if (values) {
1491
< 1000)) {
$("#current").show();
1492
< 1000)) {
} else {
1493
< 1000)) {
$("#current").hide();
1494
< 1000)) {
}
1495
< 1000)) {
}
1496
< 1000)) {
1497
< 1000)) {
/**
1498
< 1000)) {
* (re)fill the other block with the values from the given xml<br><br>
1499
< 1000)) {
* build the other information into a separate block, if there is no other information available the
1500
< 1000)) {
* entire table will be removed to avoid HTML warnings
1501
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1502
< 1000)) {
*/
1503
< 1000)) {
function refreshOther(xml) {
1504
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('other', blocks) < 0))) {
1505
< 1000)) {
other', blocks) < 0))) {
1458
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#other").remove();
1506
< 1000)) {
return;
1507
< 1000)) {
}
1508
< 1000)) {
1509
< 1000)) {
var values = false;
1510
< 1000)) {
$("#otherTable tbody").empty();
1511
< 1000)) {
$("MBInfo Other Item", xml).each(function getOthers(id) {
1512
< 1000)) {
var label = "", value = "", event = "";
1513
< 1000)) {
label = $(this).attr("Label");
1514
< 1000)) {
value = $(this).attr("Value");
1515
< 1000)) {
-
 
1469
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
event = $(this).attr("Event");
1516
< 1000)) {
if (event !== undefined)
1517
< 1000)) {
label += " <img style=\"vertical-align: middle; width:16px;\" src=\"./gfx/attention.gif\" alt=\"!\" title=\""+event+"\"/>";
1518
< 1000)) {
unit = $(this).attr("Unit");
-
 
1520
< 1000)) {
$("#otherTable tbody").append("<tr><td>" + label + "</td><td>" + createBar(round(value,0)) + "</td></tr>");
-
 
1522
< 1000)) {
$("#otherTable tbody").append("<tr><td>" + label + "</td><td class=\"right\">" + value + "</td></tr>");
1523
< 1000)) {
}
1473
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
values = true;
1525
< 1000)) {
});
1526
< 1000)) {
if (values) {
1527
< 1000)) {
$("#other").show();
1528
< 1000)) {
} else {
1529
< 1000)) {
$("#other").hide();
1530
< 1000)) {
}
1531
< 1000)) {
}
1532
< 1000)) {
1533
< 1000)) {
/**
1534
< 1000)) {
* (re)fill the ups block with the values from the given xml<br><br>
1535
< 1000)) {
* build the ups information into a separate block, if there is no ups information available the
1536
< 1000)) {
* entire table will be removed to avoid HTML warnings
1537
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1538
< 1000)) {
*/
1539
< 1000)) {
function refreshUps(xml) {
1540
< 1000)) {
if ((blocks.length <= 0) || ((blocks[0] !== "true") && ($.inArray('ups', blocks) < 0))) {
1541
< 1000)) {
ups', blocks) < 0))) {
1490
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#ups").remove();
1542
< 1000)) {
return;
1543
< 1000)) {
}
1544
< 1000)) {
1545
< 1000)) {
var add_apcupsd_cgi_links = ($("[ApcupsdCgiLinks='1']", xml).length > 0);
1546
< 1000)) {
1']", xml).length > 0);
1495
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var html = "", tree = [], closed = [], index = 0, values = false;
1547
< 1000)) {
html += "<h2>" + genlang(68) + "</h2>\n";
1548
< 1000)) {
html += " <div style=\"overflow-x:auto;\">\n";
1549
< 1000)) {
html += " <table class=\"tablemain\" id=\"UPSTree\">\n";
1550
< 1000)) {
html += " <tbody class=\"tree\">\n";
1551
< 1000)) {
1552
< 1000)) {
$("#ups").empty();
1553
< 1000)) {
$("UPSInfo UPS", xml).each(function getUps(id) {
1554
< 1000)) {
var name = "", model = "", mode = "", start_time = "", upsstatus = "", temperature = "", outages_count = "", last_outage = "", last_outage_finish = "", line_voltage = "", line_frequency = "", load_percent = "", battery_date = "", battery_voltage = "", battery_charge_percent = "", time_left_minutes = "";
1555
< 1000)) {
name = $(this).attr("Name");
1556
< 1000)) {
model = $(this).attr("Model");
1557
< 1000)) {
mode = $(this).attr("Mode");
1558
< 1000)) {
start_time = $(this).attr("StartTime");
1559
< 1000)) {
upsstatus = $(this).attr("Status");
1560
< 1000)) {
1561
< 1000)) {
temperature = $(this).attr("Temperature");
1562
< 1000)) {
outages_count = $(this).attr("OutagesCount");
1563
< 1000)) {
last_outage = $(this).attr("LastOutage");
1564
< 1000)) {
last_outage_finish = $(this).attr("LastOutageFinish");
1565
< 1000)) {
line_voltage = $(this).attr("LineVoltage");
1566
< 1000)) {
line_frequency = $(this).attr("LineFrequency");
1567
< 1000)) {
load_percent = parseInt($(this).attr("LoadPercent"), 10);
1568
< 1000)) {
battery_date = $(this).attr("BatteryDate");
1569
< 1000)) {
battery_voltage = $(this).attr("BatteryVoltage");
1570
< 1000)) {
battery_charge_percent = parseInt($(this).attr("BatteryChargePercent"), 10);
1571
< 1000)) {
time_left_minutes = $(this).attr("TimeLeftMinutes");
1572
< 1000)) {
1573
< 1000)) {
if (mode !== undefined) {
1574
< 1000)) {
html += "<tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespanbold\">" + name + " (" + mode + ")</span></div></td></tr>\n";
1575
< 1000)) {
} else {
1576
< 1000)) {
html += "<tr><td colspan=\"2\"><div class=\"treediv\"><span class=\"treespanbold\">" + name + "</span></div></td></tr>\n";
1577
< 1000)) {
}
1578
< 1000)) {
index = tree.push(0);
1579
< 1000)) {
if (model !== undefined) {
1580
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(70) + "</span></div></td><td>" + model + "</td></tr>\n";
1581
< 1000)) {
tree.push(index);
1582
< 1000)) {
}
1583
< 1000)) {
if (start_time !== undefined) {
1584
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(72) + "</span></div></td><td>" + start_time + "</td></tr>\n";
1585
< 1000)) {
tree.push(index);
1586
< 1000)) {
}
1587
< 1000)) {
if (upsstatus !== undefined) {
1588
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(73) + "</span></div></td><td>" + upsstatus + "</td></tr>\n";
1589
< 1000)) {
tree.push(index);
1590
< 1000)) {
}
1591
< 1000)) {
if (temperature !== undefined) {
1592
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(84) + "</span></div></td><td>" + temperature + "</td></tr>\n";
1593
< 1000)) {
tree.push(index);
1594
< 1000)) {
}
1595
< 1000)) {
if (outages_count !== undefined) {
1596
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(74) + "</span></div></td><td>" + outages_count + "</td></tr>\n";
1597
< 1000)) {
tree.push(index);
1598
< 1000)) {
}
1599
< 1000)) {
if (last_outage !== undefined) {
1600
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(75) + "</span></div></td><td>" + last_outage + "</td></tr>\n";
1601
< 1000)) {
tree.push(index);
1602
< 1000)) {
}
1603
< 1000)) {
if (last_outage_finish !== undefined) {
1604
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(76) + "</span></div></td><td>" + last_outage_finish + "</td></tr>\n";
1605
< 1000)) {
tree.push(index);
1606
< 1000)) {
}
1607
< 1000)) {
if (line_voltage !== undefined) {
1608
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(77) + "</span></div></td><td>" + line_voltage + "&nbsp;" + genlang(82) + "</td></tr>\n";
1609
< 1000)) {
tree.push(index);
1610
< 1000)) {
}
1611
< 1000)) {
if (line_frequency !== undefined) {
1612
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(108) + "</span></div></td><td>" + line_frequency + "&nbsp;" + genlang(109) + "</td></tr>\n";
1613
< 1000)) {
tree.push(index);
1614
< 1000)) {
}
1615
< 1000)) {
if (!isNaN(load_percent)) {
1616
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(78) + "</span></div></td><td>" + createBar(load_percent) + "</td></tr>\n";
1617
< 1000)) {
tree.push(index);
1618
< 1000)) {
}
1619
< 1000)) {
if (battery_date !== undefined) {
1620
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(104) + "</span></div></td><td>" + battery_date + "</td></tr>\n";
1621
< 1000)) {
tree.push(index);
1622
< 1000)) {
}
1623
< 1000)) {
if (battery_voltage !== undefined) {
1624
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(79) + "</span></div></td><td>" + battery_voltage + "&nbsp;" + genlang(82) + "</td></tr>\n";
1625
< 1000)) {
tree.push(index);
1626
< 1000)) {
}
1627
< 1000)) {
if (!isNaN(battery_charge_percent)) {
1628
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(80) + "</span></div></td><td>" + createBar(battery_charge_percent) + "</td></tr>\n";
1629
< 1000)) {
tree.push(index);
1630
< 1000)) {
}
1631
< 1000)) {
if (time_left_minutes !== undefined) {
1632
< 1000)) {
html += "<tr><td style=\"width:160px\"><div class=\"treediv\"><span class=\"treespan\">" + genlang(81) + "</span></div></td><td>" + time_left_minutes + "&nbsp;" + genlang(83) + "</td></tr>\n";
1633
< 1000)) {
tree.push(index);
1634
< 1000)) {
}
1635
< 1000)) {
values=true;
1636
< 1000)) {
});
1637
< 1000)) {
html += " </tbody>\n";
1638
< 1000)) {
html += " </table>\n";
1639
< 1000)) {
html += " </div>\n";
1640
< 1000)) {
if (add_apcupsd_cgi_links){
1641
< 1000)) {
html += " (<a title='details' href='/cgi-bin/apcupsd/multimon.cgi' target='apcupsdcgi'>" + genlang(99) + "</a>)\n";
1642
< 1000)) {
details' href='/cgi-bin/apcupsd/multimon.cgi' target='apcupsdcgi'>" + genlang(99) + "a>)\n";
1591
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1643
< 1000)) {
1644
< 1000)) {
$("#ups").append(html);
1645
< 1000)) {
1646
< 1000)) {
if (values) {
1647
< 1000)) {
$("#UPSTree").jqTreeTable(tree, {
1648
< 1000)) {
openImg: "./gfx/treeTable/tv-collapsable.gif",
1649
< 1000)) {
shutImg: "./gfx/treeTable/tv-expandable.gif",
1650
< 1000)) {
leafImg: "./gfx/treeTable/tv-item.gif",
1651
< 1000)) {
lastOpenImg: "./gfx/treeTable/tv-collapsable-last.gif",
1652
< 1000)) {
lastShutImg: "./gfx/treeTable/tv-expandable-last.gif",
1653
< 1000)) {
lastLeafImg: "./gfx/treeTable/tv-item-last.gif",
1654
< 1000)) {
vertLineImg: "./gfx/treeTable/vertline.gif",
1655
< 1000)) {
blankImg: "./gfx/treeTable/blank.gif",
1656
< 1000)) {
collapse: closed,
1657
< 1000)) {
column: 0,
1658
< 1000)) {
striped: true,
1659
< 1000)) {
highlight: false,
1660
< 1000)) {
state: false
1661
< 1000)) {
});
1662
< 1000)) {
$("#ups").show();
1663
< 1000)) {
} else {
1664
< 1000)) {
$("#ups").hide();
1665
< 1000)) {
}
1666
< 1000)) {
}
1667
< 1000)) {
1668
< 1000)) {
/**
1669
< 1000)) {
* reload the page, this means all values are refreshed
1670
< 1000)) {
*/
1671
< 1000)) {
function reload(initiate) {
1672
< 1000)) {
$.ajax({
1673
< 1000)) {
url: 'xml.php',
1674
< 1000)) {
1623
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
dataType: 'xml',
1675
< 1000)) {
1624
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
error: function error() {
1676
< 1000)) {
if ((typeof(initiate) === 'boolean') && (initiate === true)) {
1677
< 1000)) {
1626
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$.jGrowl("Error loading XML document!", {
1678
< 1000)) {
sticky: true
1679
< 1000)) {
});
1680
< 1000)) {
} else {
1681
< 1000)) {
$.jGrowl("Error loading XML document!");
1682
< 1000)) {
}
1683
< 1000)) {
},
1684
< 1000)) {
success: function buildblocks(xml) {
1685
< 1000)) {
if ((typeof(initiate) === 'boolean') && (initiate === true)) {
1686
< 1000)) {
1635
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
populateErrors(xml);
1687
< 1000)) {
}
1688
< 1000)) {
1689
< 1000)) {
refreshVitals(xml);
1690
< 1000)) {
refreshHardware(xml);
1691
< 1000)) {
refreshMemory(xml);
1692
< 1000)) {
refreshFilesystems(xml);
1693
< 1000)) {
refreshNetwork(xml);
1694
< 1000)) {
refreshVoltage(xml);
1695
< 1000)) {
refreshCurrent(xml);
1696
< 1000)) {
refreshTemp(xml);
1697
< 1000)) {
refreshFans(xml);
1698
< 1000)) {
refreshPower(xml);
1699
< 1000)) {
refreshOther(xml);
1700
< 1000)) {
refreshUps(xml);
1701
< 1000)) {
changeLanguage();
1702
< 1000)) {
1703
< 1000)) {
if ((typeof(initiate) === 'boolean') && (initiate === true)) {
1704
< 1000)) {
1653
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
displayPage(xml);
1705
< 1000)) {
settimer(xml);
1706
< 1000)) {
} else {
1707
< 1000)) {
for (var i = 0; i < plugin_liste.length; i++) {
1708
< 1000)) {
try {
1709
< 1000)) {
//dynamic call
1710
< 1000)) {
window[plugin_liste[i].toLowerCase() + '_request']();
1711
< 1000)) {
1660
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1712
< 1000)) {
catch (err) {
1713
< 1000)) {
}
1714
< 1000)) {
}
1715
< 1000)) {
}
1716
< 1000)) {
1717
< 1000)) {
$('.stripeMe tr:nth-child(even)').addClass('even');
1718
< 1000)) {
1667
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1719
< 1000)) {
});
1720
< 1000)) {
}
1721
< 1000)) {
1722
< 1000)) {
/**
1723
< 1000)) {
* set a reload timer for the page
1724
< 1000)) {
* @param {jQuery} xml phpSysInfo-XML
1725
< 1000)) {
*/
1726
< 1000)) {
function settimer(xml) {
1727
< 1000)) {
$("Options", xml).each(function getRefreshTime(id) {
1728
< 1000)) {
var options, refresh = "";
1729
< 1000)) {
options = $("Options", xml).get(id);
1730
< 1000)) {
refresh = $(this).attr("refresh");
1731
< 1000)) {
if (refresh !== '0') {
1732
< 1000)) {
1681
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$.timer(refresh, reload);
1733
< 1000)) {
}
1734
< 1000)) {
});
1735
< 1000)) {
}
1736
< 1000)) {
1737
< 1000)) {
$(document).ready(function buildpage() {
1738
< 1000)) {
var i = 0, old_template = null, cookie_template = null, cookie_language = null, blocktmp = "";
1739
< 1000)) {
1740
< 1000)) {
showCPUListExpanded = $("#showCPUListExpanded").val().toString()==="true";
1741
< 1000)) {
showCPUInfoExpanded = $("#showCPUInfoExpanded").val().toString()==="true";
1742
< 1000)) {
showNetworkInfosExpanded = $("#showNetworkInfosExpanded").val().toString()==="true";
1743
< 1000)) {
showMemoryInfosExpanded = $("#showMemoryInfosExpanded").val().toString()==="true";
1744
< 1000)) {
showCPULoadCompact = $("#showCPULoadCompact").val().toString()==="true";
1745
< 1000)) {
showTotals = $("#hideTotals").val().toString()!=="true";
-
 
1747
< 1000)) {
if (isNaN(increaseWidth) || (increaseWidth<=0)) increaseWidth = 0;
1694
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
switch ($("#showNetworkActiveSpeed").val().toString()) {
1749
< 1000)) {
case "bps": showNetworkActiveSpeed = 2;
1750
< 1000)) {
break;
1751
< 1000)) {
case "true": showNetworkActiveSpeed = 1;
1752
< 1000)) {
break;
1753
< 1000)) {
default: showNetworkActiveSpeed = 0;
1754
< 1000)) {
}
1755
< 1000)) {
1756
< 1000)) {
blocktmp = $("#blocks").val().toString();
1757
< 1000)) {
if (blocktmp.length >0 ){
1758
< 1000)) {
if (blocktmp === "true") {
1759
< 1000)) {
blocks[0] = "true";
1760
< 1000)) {
} else {
1761
< 1000)) {
blocks = blocktmp.split(',');
1762
< 1000)) {
1708
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var j = 2;
1763
< 1000)) {
for (i = 0; i < blocks.length; i++) {
1764
< 1000)) {
if ($("#"+blocks[i]).length > 0) {
1765
< 1000)) {
$("#output").children().eq(j).before($("#"+blocks[i]));
1766
< 1000)) {
j++;
1767
< 1000)) {
}
1768
< 1000)) {
}
1769
< 1000)) {
1770
< 1000)) {
}
1771
< 1000)) {
}
1772
< 1000)) {
1773
< 1000)) {
if ($("#language option").length < 2) {
1774
< 1000)) {
current_language = $("#language").val().toString();
1775
< 1000)) {
/*
1776
< 1000)) {
changeLanguage();
1777
< 1000)) {
for (i = 0; i < plugin_liste.length; i++) {
1778
< 1000)) {
changeLanguage(plugin_liste[i]);
1779
< 1000)) {
}
1780
< 1000)) {
*/
1781
< 1000)) {
} else {
1782
< 1000)) {
cookie_language = readCookie("psi_language");
1783
< 1000)) {
if (cookie_language !== null) {
1784
< 1000)) {
current_language = cookie_language;
1785
< 1000)) {
$("#language").val(current_language);
1786
< 1000)) {
} else {
1787
< 1000)) {
current_language = $("#language").val().toString();
1788
< 1000)) {
}
1789
< 1000)) {
/*
1790
< 1000)) {
changeLanguage();
1791
< 1000)) {
for (i = 0; i < plugin_liste.length; i++) {
1792
< 1000)) {
changeLanguage(plugin_liste[i]);
1793
< 1000)) {
}
1794
< 1000)) {
*/
1795
< 1000)) {
$('#language').show();
1796
< 1000)) {
1742
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$('span[class=lang_045]').show();
1797
< 1000)) {
1743
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#language").change(function changeLang() {
1798
< 1000)) {
var i = 0;
1799
< 1000)) {
current_language = $("#language").val().toString();
1800
< 1000)) {
createCookie('psi_language', current_language, 365);
1801
< 1000)) {
1747
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
changeLanguage();
1802
< 1000)) {
for (i = 0; i < plugin_liste.length; i++) {
1803
< 1000)) {
changeLanguage(plugin_liste[i]);
1804
< 1000)) {
}
1805
< 1000)) {
return false;
1806
< 1000)) {
});
1807
< 1000)) {
}
1808
< 1000)) {
if ($("#template option").length < 2) {
1809
< 1000)) {
switchStyle($("#template").val().toString());
1810
< 1000)) {
} else {
1811
< 1000)) {
cookie_template = readCookie("psi_template");
1812
< 1000)) {
if (cookie_template !== null) {
1813
< 1000)) {
old_template = $("#template").val();
1814
< 1000)) {
$("#template").val(cookie_template);
1815
< 1000)) {
if ($("#template").val() === null) {
1816
< 1000)) {
$("#template").val(old_template);
1817
< 1000)) {
}
1818
< 1000)) {
}
1819
< 1000)) {
switchStyle($("#template").val().toString());
1820
< 1000)) {
$('#template').show();
1821
< 1000)) {
1767
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$('span[class=lang_044]').show();
1822
< 1000)) {
1768
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
$("#template").change(function changeTemplate() {
1823
< 1000)) {
switchStyle($("#template").val().toString());
1824
< 1000)) {
createCookie('psi_template', $("#template").val().toString(), 365);
1825
< 1000)) {
#template").val().toString(), 365);
1771
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
return false;
1826
< 1000)) {
});
1827
< 1000)) {
}
1828
< 1000)) {
1829
< 1000)) {
filesystemtable();
1830
< 1000)) {
1831
< 1000)) {
reload(true);
1832
< 1000)) {
1833
< 1000)) {
$("#errors").nyroModal();
1834
< 1000)) {
});
1835
< 1000)) {
1836
< 1000)) {
jQuery.fn.dataTableExt.oSort['span-string-asc'] = function sortStringAsc(a, b) {
1837
< 1000)) {
1783
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var x = "", y = "";
1838
< 1000)) {
x = a.substring(a.indexOf(">") + 1, a.indexOf("</"));
1839
< 1000)) {
y = b.substring(b.indexOf(">") + 1, b.indexOf("</"));
1840
< 1000)) {
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
1841
< 1000)) {
};
1842
< 1000)) {
1843
< 1000)) {
jQuery.fn.dataTableExt.oSort['span-string-desc'] = function sortStringDesc(a, b) {
1844
< 1000)) {
1790
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var x = "", y = "";
1845
< 1000)) {
x = a.substring(a.indexOf(">") + 1, a.indexOf("</"));
1846
< 1000)) {
y = b.substring(b.indexOf(">") + 1, b.indexOf("</"));
1847
< 1000)) {
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
1848
< 1000)) {
};
1849
< 1000)) {
1850
< 1000)) {
jQuery.fn.dataTableExt.oSort['span-number-asc'] = function sortNumberAsc(a, b) {
1851
< 1000)) {
1797
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var x = 0, y = 0;
1852
< 1000)) {
x = parseInt(a.substring(a.indexOf(">") + 1, a.indexOf("</")), 10);
1853
< 1000)) {
y = parseInt(b.substring(b.indexOf(">") + 1, b.indexOf("</")), 10);
1854
< 1000)) {
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
1855
< 1000)) {
};
1856
< 1000)) {
1857
< 1000)) {
jQuery.fn.dataTableExt.oSort['span-number-desc'] = function sortNumberDesc(a, b) {
1858
< 1000)) {
1804
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var x = 0, y = 0;
1859
< 1000)) {
x = parseInt(a.substring(a.indexOf(">") + 1, a.indexOf("</")), 10);
1860
< 1000)) {
y = parseInt(b.substring(b.indexOf(">") + 1, b.indexOf("</")), 10);
1861
< 1000)) {
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
1862
< 1000)) {
};
1863
< 1000)) {
1864
< 1000)) {
jQuery.fn.dataTableExt.oSort['span-ip-asc'] = function sortIpAsc(a, b) {
1865
< 1000)) {
1811
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var x = 0, y = 0, aa = "", bb = "";
1866
< 1000)) {
aa = a.substring(a.indexOf(">") + 1, a.indexOf("</"));
1867
< 1000)) {
bb = b.substring(b.indexOf(">") + 1, b.indexOf("</"));
1868
< 1000)) {
x = full_addr(aa);
1869
< 1000)) {
y = full_addr(bb);
1870
< 1000)) {
if ((x === '') || (y === '')) {
1871
< 1000)) {
1817
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
x = aa;
1872
< 1000)) {
y = bb;
1873
< 1000)) {
}
1874
< 1000)) {
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
1875
< 1000)) {
};
1876
< 1000)) {
1877
< 1000)) {
jQuery.fn.dataTableExt.oSort['span-ip-desc'] = function sortIpDesc(a, b) {
1878
< 1000)) {
1824
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
var x = 0, y = 0, aa = "", bb = "";
1879
< 1000)) {
aa = a.substring(a.indexOf(">") + 1, a.indexOf("</"));
1880
< 1000)) {
bb = b.substring(b.indexOf(">") + 1, b.indexOf("</"));
1881
< 1000)) {
x = full_addr(aa);
1882
< 1000)) {
y = full_addr(bb);
1883
< 1000)) {
if ((x === '') || (y === '')) {
1884
< 1000)) {
1830
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
x = aa;
1885
< 1000)) {
y = bb;
1886
< 1000)) {
}
1887
< 1000)) {
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
1888
< 1000)) {
};
1889
< 1000)) {
1890
< 1000)) {
function full_addr(ip_string) {
1891
< 1000)) {
var wrongvalue = false;
1892
< 1000)) {
ip_string = $.trim(ip_string).toLowerCase();
1893
< 1000)) {
// ipv4 notation
1894
< 1000)) {
if (ip_string.match(/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$)/)) {
1895
< 1000)) {
ip_string ='::ffff:' + ip_string;
1896
< 1000)) {
1842
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1897
< 1000)) {
// replace ipv4 address if any
1898
< 1000)) {
var ipv4 = ip_string.match(/(.*:)([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$)/);
1899
< 1000)) {
if (ipv4) {
1900
< 1000)) {
ip_string = ipv4[1];
1901
< 1000)) {
ipv4 = ipv4[2].match(/[0-9]+/g);
1902
< 1000)) {
for (var i = 0;i < 4;i ++) {
1903
< 1000)) {
var byte = parseInt(ipv4[i],10);
1904
< 1000)) {
if (byte<256) {
1905
< 1000)) {
ipv4[i] = ("0" + byte.toString(16)).substr(-2);
1906
< 1000)) {
} else {
1907
< 1000)) {
wrongvalue = true;
1908
< 1000)) {
break;
1909
< 1000)) {
}
1910
< 1000)) {
}
1911
< 1000)) {
if (wrongvalue) {
1912
< 1000)) {
ip_string = '';
1913
< 1000)) {
1859
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
} else {
1914
< 1000)) {
ip_string += ipv4[0] + ipv4[1] + ':' + ipv4[2] + ipv4[3];
1915
< 1000)) {
1861
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1916
< 1000)) {
}
1917
< 1000)) {
1918
< 1000)) {
if (ip_string === '') {
1919
< 1000)) {
1865
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
return '';
1920
< 1000)) {
1866
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1921
< 1000)) {
// take care of leading and trailing ::
1922
< 1000)) {
ip_string = ip_string.replace(/^:|:$/g, '');
1923
< 1000)) {
1869
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
1924
< 1000)) {
var ipv6 = ip_string.split(':');
1925
< 1000)) {
1871
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
1926
< 1000)) {
for (var li = 0; li < ipv6.length; li ++) {
1927
< 1000)) {
var hex = ipv6[li];
1928
< 1000)) {
if (hex !== "") {
1929
< 1000)) {
if (!hex.match(/^[0-9a-f]{1,4}$/)) {
1930
< 1000)) {
wrongvalue = true;
1931
< 1000)) {
break;
1932
< 1000)) {
}
1933
< 1000)) {
// normalize leading zeros
1934
< 1000)) {
ipv6[li] = ("0000" + hex).substr(-4);
1935
< 1000)) {
}
1936
< 1000)) {
else {
1937
< 1000)) {
// normalize grouped zeros ::
1938
< 1000)) {
hex = [];
1939
< 1000)) {
for (var j = ipv6.length; j <= 8; j ++) {
1940
< 1000)) {
hex.push('0000');
1941
< 1000)) {
1887
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1942
< 1000)) {
ipv6[li] = hex.join(':');
1943
< 1000)) {
1889
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1944
< 1000)) {
}
1945
< 1000)) {
if (!wrongvalue) {
1946
< 1000)) {
var out = ipv6.join(':');
1947
< 1000)) {
1893
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
if (out.length == 39) {
1948
< 1000)) {
return out;
1949
< 1000)) {
} else {
1950
< 1000)) {
return '';
1951
< 1000)) {
1897
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1952
< 1000)) {
} else {
1953
< 1000)) {
return '';
1954
< 1000)) {
1900
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
}
1955
< 1000)) {
}
1956
< 1000)) {
1957
< 1000)) {
/**
1958
< 1000)) {
* generate the block element for a specific plugin that is available
1959
< 1000)) {
* @param {String} plugin name of the plugin
1960
< 1000)) {
* @param {Number} translationid id of the translated headline in the plugin translation file
1961
< 1000)) {
* @param {Boolean} reload controls if a reload button should be appended to the headline
1962
< 1000)) {
* @return {String} HTML string which contains the full layout of the block
1963
< 1000)) {
*/
1964
< 1000)) {
function buildBlock(plugin, translationid, reload) {
1965
< 1000)) {
var block = "", reloadpic = "";
1966
< 1000)) {
if (reload) {
1967
< 1000)) {
reloadpic = "<img id=\"Reload_" + plugin + "Table\" src=\"./gfx/reload.gif\" alt=\"reload\" title=\"reload\" style=\"vertical-align:middle;float:right;cursor:pointer;border:0px;width:16px\" />&nbsp;";
1968
< 1000)) {
}
1969
< 1000)) {
block += "<div id=\"panel_" + plugin + "\" style=\"display:none;\">\n";
1970
< 1000)) {
block += "<div id=\"Plugin_" + plugin + "\" class=\"plugin\" style=\"display:none;\">\n";
1971
< 1000)) {
block += "<h2>" + reloadpic + genlang(translationid, plugin) + "</h2>\n";
1972
< 1000)) {
block += "<span class=\"Hostname_" + plugin + "\"></span></h2>\n";
1918
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
block += "</div>\n";
1974
< 1000)) {
block += "</div>\n";
1975
< 1000)) {
return block;
1976
< 1000)) {
}
1977
< 1000)) {
1978
< 1000)) {
/**
1979
< 1000)) {
* translate a plugin and add this plugin to the internal plugin-list, this is only needed once and shouldn't be called more than once
1980
< 1000)) {
1925
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
* @param {String} plugin name of the plugin that should be translated
1981
< 1000)) {
*/
1982
< 1000)) {
function plugin_translate(plugin) {
1983
< 1000)) {
plugin_liste.pushIfNotExist(plugin);
1984
< 1000)) {
changeLanguage(plugin);
1985
< 1000)) {
}
1986
< 1000)) {
1987
< 1000)) {
/**
1988
< 1000)) {
* generate a formatted datetime string of the current datetime
1989
< 1000)) {
* @return {String} formatted datetime string
1990
< 1000)) {
*/
1991
< 1000)) {
function datetime() {
1992
< 1000)) {
var date, day = 0, month = 0, year = 0, hour = 0, minute = 0, days = "", months = "", years = "", hours = "", minutes = "";
1993
< 1000)) {
date = new Date();
1994
< 1000)) {
day = date.getDate();
1995
< 1000)) {
month = date.getMonth() + 1;
1996
< 1000)) {
year = date.getFullYear();
1997
< 1000)) {
hour = date.getHours();
1998
< 1000)) {
minute = date.getMinutes();
1999
< 1000)) {
2000
< 1000)) {
// format values smaller that 10 with a leading 0
2001
< 1000)) {
days = (day < 10) ? "0" + day.toString() : day.toString();
2002
< 1000)) {
months = (month < 10) ? "0" + month.toString() : month.toString();
2003
< 1000)) {
years = (year < 1000) ? year.toString() : year.toString();
2004
< 1000)) {
minutes = (minute < 10) ? "0" + minute.toString() : minute.toString();
2005
< 1000)) {
hours = (hour < 10) ? "0" + hour.toString() : hour.toString();
2006
< 1000)) {
2007
< 1000)) {
return days + "." + months + "." + years + " - " + hours + ":" + minutes;
2008
< 1000)) {
}
2009
< 1000)) {
2010
< 1000)) {
Array.prototype.pushIfNotExist = function(val) {
2011
< 1000)) {
if (typeof(val) == 'undefined' || val === '') {
2012
< 1000)) {
|| val === '') {
1957
< 1000)) {

<= 0) || ((blocks[0] !== "true") && ($.inArray('temperature', blocks) < 0))) {< 0))) {
return;
2013
< 1000)) {
}
2014
< 1000)) {
val = $.trim(val);
2015
< 1000)) {
if ($.inArray(val, this) == -1) {
2016
< 1000)) {
this.push(val);
2017
< 1000)) {
}
2018
< 1000)) {
};
2019
< 1000)) {
2020
< 1000)) {
/**
2021
< 1000)) {
* insert dynamically a js script file into the website
2022
< 1000)) {
* @param {String} name name of the script that should be included
2023
< 1000)) {
*/
2024
< 1000)) {
/*
2025
< 1000)) {
function appendjs(name) {
2026
< 1000)) {
var scrptE, hdEl;
2027
< 1000)) {
scrptE = document.createElement("script");
2028
< 1000)) {
hdEl = document.getElementsByTagName("head")[0];
2029
< 1000)) {
scrptE.setAttribute("src", name);
2030
< 1000)) {
scrptE.setAttribute("type", "text/javascript");
2031
< 1000)) {
hdEl.appendChild(scrptE);
2032
< 1000)) {
}
2033
< 1000)) {
*/
2034
< 1000)) {
/**
2035
< 1000)) {
* insert dynamically a css file into the website
2036
< 1000)) {
* @param {String} name name of the css file that should be included
2037
< 1000)) {
*/
2038
< 1000)) {
/*
2039
< 1000)) {
function appendcss(name) {
2040
< 1000)) {
var scrptE, hdEl;
2041
< 1000)) {
scrptE = document.createElement("link");
2042
< 1000)) {
hdEl = document.getElementsByTagName("head")[0];
2043
< 1000)) {
scrptE.setAttribute("type", "text/css");
2044
< 1000)) {
scrptE.setAttribute("rel", "stylesheet");
2045
< 1000)) {
scrptE.setAttribute("href", name);
2046
< 1000)) {
hdEl.appendChild(scrptE);
2047
< 1000)) {
}
2048
< 1000)) {
*/
2049
< 1000)) {
2050
< 1000)) {