RSA Keylength to 1024
[tomato.git] / release / src / router / www / bwm-weekly.asp
blob3f43191f119f0c66b6ea4d7f51c5012a9e82ffdb
1 <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
2 <!--
3 Tomato GUI
4 Copyright (C) 2006-2010 Jonathan Zarate
5 http://www.polarcloud.com/tomato/
7 For use with Tomato Firmware only.
8 No part of this file may be used without permission.
9 -->
10 <html>
11 <head>
12 <meta http-equiv='content-type' content='text/html;charset=utf-8'>
13 <meta name='robots' content='noindex,nofollow'>
14 <title>[<% ident(); %>] Bandwidth: Weekly</title>
15 <link rel='stylesheet' type='text/css' href='tomato.css'>
16 <link rel='stylesheet' type='text/css' href='color.css'>
17 <script type='text/javascript' src='tomato.js'></script>
19 <!-- / / / -->
21 <script type='text/javascript' src='debug.js'></script>
22 <script type='text/javascript' src='bwm-hist.js'></script>
24 <script type='text/javascript'>
26 // <% nvram("wan_ifname,lan_ifname,rstats_enable"); %>
27 try {
28 // <% bandwidth("daily"); %>
30 catch (ex) {
31 daily_history = [];
33 rstats_busy = 0;
34 if (typeof(daily_history) == 'undefined') {
35 daily_history = [];
36 rstats_busy = 1;
39 var weeks = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
40 var weeksShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
41 var startwk = 0;
42 var summary = 1;
44 function save()
46 cookie.set('weekly', scale + ',' + startwk + ',' + summary, 31);
49 function changeStart(e)
51 startwk = e.value * 1;
52 redraw();
53 save();
56 function changeMode(e)
58 summary = e.value * 1;
59 redraw();
60 save();
63 function nth(n)
65 n += '';
66 switch (n.substr(n.length - 1, 1)) {
67 case '1':
68 return n + 'st';
69 case '2':
70 return n + 'nd';
71 case '3':
72 return n + 'rd';
74 return n + 'th';
77 function redraw()
79 var h;
80 var grid;
81 var block;
82 var rows;
83 var dend;
84 var dbeg;
85 var dl, ul;
86 var d, diff, ds;
87 var tick, lastSplit;
88 var yr, mo, da, wk;
89 var gn;
90 var swk;
92 rows = 0;
93 block = [];
94 gn = 0;
95 w = 0;
96 lastSplit = 0;
97 ul = dl = 0;
98 dend = dbeg = '';
100 swk = startwk - 1;
101 if (swk < 0) swk = 6;
103 if (summary) {
104 grid = '<table class="bwmg" cellspacing="1">';
105 grid += makeRow('header', 'Date', 'Download', 'Upload', 'Total');
107 else {
108 grid = '';
111 function flush_block()
113 grid += '<b>' + dbeg + ' to ' + dend + '</b>' +
114 '<table class="bwmg" cellspacing="1">' +
115 makeRow('header', 'Date', 'Download', 'Upload', 'Total') +
116 block.join('') +
117 makeRow('footer', 'Total', rescale(dl), rescale(ul), rescale(dl + ul)) +
118 '</table><br>';
121 for (i = 0; i < daily_history.length; ++i) {
122 h = daily_history[i];
123 yr = (((h[0] >> 16) & 0xFF) + 1900);
124 mo = ((h[0] >>> 8) & 0xFF);
125 da = (h[0] & 0xFF);
126 d = new Date(yr, mo, da);
127 wk = d.getDay();
129 tick = d.getTime();
130 diff = lastSplit - tick;
132 ds = ymdText(yr, mo, da) + ' <small>(' + weeksShort[wk] + ')</small>';
134 /* REMOVE-BEGIN
136 Jan 2007
137 SU MO TU WE TH FR SA
138 01 02 03 04 05 06
139 07 08 09 10 11 12 13
140 14 15 16 17 18 19 20
141 21 22 23 24 25 26 27
142 28 29 30 31
144 Feb 2007
145 SU MO TU WE TH FR SA
146 01 02 03
147 04 05 06 07 08 09 10
148 11 12 13 14 15 16 17
149 18 19 20 21 22 23 24
150 25 26 27 28
152 Mar 2007
153 SU MO TU WE TH FR SA
154 01 02 03
155 04 05 06 07 08 09 10
156 11 12 13 14 15 16 17
157 18 19 20 21 22 23 24
158 25 26 27 28 29 30 31
160 REMOVE-END */
162 if ((wk == swk) || (diff >= (7 * 86400000)) || (lastSplit == 0)) {
163 if (summary) {
164 if (i > 0) {
165 grid += makeRow(((rows & 1) ? 'odd' : 'even'),
166 dend + '<br>' + dbeg, rescale(dl), rescale(ul), rescale(dl + ul));
167 ++rows;
168 ++gn;
171 else {
172 if (rows) {
173 flush_block();
174 ++gn;
176 block = [];
177 rows = 0;
179 dl = ul = 0;
180 dend = ds;
181 lastSplit = tick;
184 dl += h[1];
185 ul += h[2];
186 if (!summary) {
187 block.unshift(makeRow(((rows & 1) ? 'odd' : 'even'), weeks[wk] + ' <small>' + (mo + 1) + '-' + da + '</small>', rescale(h[1]), rescale(h[2]), rescale(h[1] + h[2])))
188 ++rows;
191 dbeg = ds;
194 if (summary) {
195 if (gn < 9) {
196 grid += makeRow(((rows & 1) ? 'odd' : 'even'),
197 dend + '<br>' + dbeg, rescale(dl), rescale(ul), rescale(dl + ul));
199 grid += '</table>';
201 else {
202 if ((rows) && (gn < 9)) {
203 flush_block();
206 E('bwm-weekly-grid').innerHTML = grid;
209 function init()
211 var s;
213 if (nvram.rstats_enable != '1') return;
215 if ((s = cookie.get('weekly')) != null) {
216 if (s.match(/^([0-2]),([0-6]),([0-1])$/)) {
217 E('scale').value = scale = RegExp.$1 * 1;
218 E('startwk').value = startwk = RegExp.$2 * 1
219 E('shmode').value = summary = RegExp.$3 * 1;
223 initDate('ymd');
224 daily_history.sort(cmpHist);
225 redraw();
227 </script>
229 </head>
230 <body onload='init()'>
231 <form>
232 <table id='container' cellspacing=0>
233 <tr><td colspan=2 id='header'>
234 <div class='title'>Tomato</div>
235 <div class='version'>Version <% version(); %></div>
236 </td></tr>
237 <tr id='body'><td id='navi'><script type='text/javascript'>navi()</script></td>
238 <td id='content'>
239 <div id='ident'><% ident(); %></div>
241 <!-- / / / -->
243 <div class='section-title'>WAN Bandwidth - Weekly</div>
244 <div id='bwm-weekly-grid' style='float:left'></div>
245 <div style="float:right;text-align:right">
246 <b>Show</b> <select onchange='changeMode(this)' id='shmode'><option value=1 selected>Summary<option value=0>Full</select><br>
247 <b>Date</b> <select onchange='changeDate(this, "ymd")' id='dafm'><option value=0>yyyy-mm-dd</option><option value=1>mm-dd-yyyy</option><option value=2>mmm dd, yyyy</option><option value=3>dd.mm.yyyy</option></select><br>
248 <b>Start</b> <select onchange='changeStart(this)' id='startwk'><option value=0 selected>Sun<option value=1>Mon<option value=2>Tue<option value=3>Wed<option value=4>Thu<option value=5>Fri<option value=6>Sat</select><br>
249 <b>Scale</b> <select onchange='changeScale(this)' id='scale'><option value=0>KB</option><option value=1>MB</option><option value=2 selected>GB</option></select><br>
250 <br>
251 &raquo; <a href="admin-bwm.asp">Configure</a>
252 <br><br><br>
253 </div>
254 <br>
256 <script type='text/javascript'>checkRstats();</script>
258 <!-- / / / -->
260 </td></tr>
261 <tr><td id='footer' colspan=2>
262 <input type='button' value='Refresh' onclick='reloadPage()'>
263 </td></tr>
264 </table>
265 </form>
266 </body>
267 </html>