1 <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML
4.0//EN'
>
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.
12 <meta http-equiv='content-type' content='text/html;charset=utf-
8'
>
13 <meta name='robots' content='noindex,nofollow'
>
14 <meta name=
"viewport" content=
"width=device-width">
15 <title>[<%
ident(); %>] Bandwidth: Weekly
</title>
16 <link rel='stylesheet' type='text/css' href='tomato.css'
>
17 <link rel='stylesheet' type='text/css' href='color.css'
>
18 <script type='text/javascript' src='tomato.js'
></script>
22 <script type='text/javascript' src='debug.js'
></script>
23 <script type='text/javascript' src='bwm-hist.js'
></script>
25 <script type='text/javascript'
>
27 // <% nvram("wan_ifname,lan_ifname,rstats_enable"); %>
29 // <% bandwidth("daily"); %>
35 if (typeof(daily_history
) == 'undefined') {
40 var weeks
= ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
41 var weeksShort
= ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
47 cookie
.set('weekly', scale
+ ',' + startwk
+ ',' + summary
, 31);
50 function changeStart(e
)
52 startwk
= e
.value
* 1;
57 function changeMode(e
)
59 summary
= e
.value
* 1;
67 switch (n
.substr(n
.length
- 1, 1)) {
102 if (swk
< 0) swk
= 6;
105 grid
= '<table class="bwmg" cellspacing="1">';
106 grid
+= makeRow('header', 'Date', 'Download', 'Upload', 'Total');
112 function flush_block()
114 grid
+= '<b>' + dbeg
+ ' to ' + dend
+ '</b>' +
115 '<table class="bwmg" cellspacing="1">' +
116 makeRow('header', 'Date', 'Download', 'Upload', 'Total') +
118 makeRow('footer', 'Total', rescale(dl
), rescale(ul
), rescale(dl
+ ul
)) +
122 for (i
= 0; i
< daily_history
.length
; ++i
) {
123 h
= daily_history
[i
];
124 yr
= (((h
[0] >> 16) & 0xFF) + 1900);
125 mo
= ((h
[0] >>> 8) & 0xFF);
127 d
= new Date(yr
, mo
, da
);
131 diff
= lastSplit
- tick
;
133 ds
= ymdText(yr
, mo
, da
) + ' <small>(' + weeksShort
[wk
] + ')</small>';
163 if ((wk
== swk
) || (diff
>= (7 * 86400000)) || (lastSplit
== 0)) {
166 grid
+= makeRow(((rows
& 1) ? 'odd' : 'even'),
167 dend
+ '<br>' + dbeg
, rescale(dl
), rescale(ul
), rescale(dl
+ ul
));
188 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])))
197 grid
+= makeRow(((rows
& 1) ? 'odd' : 'even'),
198 dend
+ '<br>' + dbeg
, rescale(dl
), rescale(ul
), rescale(dl
+ ul
));
203 if ((rows
) && (gn
< 9)) {
207 E('bwm-weekly-grid').innerHTML
= grid
;
214 if (nvram
.rstats_enable
!= '1') return;
216 if ((s
= cookie
.get('weekly')) != null) {
217 if (s
.match(/^([0-2]),([0-6]),([0-1])$/)) {
218 E('scale').value
= scale
= RegExp
.$1 * 1;
219 E('startwk').value
= startwk
= RegExp
.$2 * 1
220 E('shmode').value
= summary
= RegExp
.$3 * 1;
225 daily_history
.sort(cmpHist
);
231 <body onload='init()'
>
233 <table id='container' cellspacing=
0>
234 <tr><td colspan=
2 id='header'
>
235 <div class='title'
>Tomato
</div>
236 <div class='version'
>Version <%
version(); %></div>
238 <tr id='body'
><td id='navi'
><script type='text/javascript'
>navi()</script></td>
240 <div id='ident'
><%
ident(); %></div>
244 <div class='section-title'
>WAN Bandwidth - Weekly
</div>
245 <div id='bwm-weekly-grid' style='float:left'
></div>
246 <div style=
"float:right;text-align:right">
247 <b>Show
</b> <select onchange='changeMode(this)' id='shmode'
><option value=
1 selected
>Summary
<option value=
0>Full
</select><br>
248 <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>
249 <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>
250 <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>
252 » <a href=
"admin-bwm.asp">Configure
</a>
257 <script type='text/javascript'
>checkRstats();</script>
262 <tr><td id='footer' colspan=
2>
263 <input type='button' value='Refresh' onclick='reloadPage()'
>