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 <title>[<%
ident(); %>] <% translate(
"Bandwidth"); %
>: <% translate(
"Last 24 Hours"); %
></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>
21 <style type='text/css'
>
35 <script type='text/javascript' src='debug.js'
></script>
37 <script type='text/javascript' src='wireless.jsx?_http_id=<%
nv(http_id
); %>'
></script>
38 <script type='text/javascript' src='bwm-common.js'
></script>
40 <script type='text/javascript'
>
42 // <% nvram("wan_ifname,lan_ifname,wl_ifname,wan_proto,wan_iface,web_svg,rstats_enable,rstats_colors"); %>
44 var cprefix
= 'bw_24';
46 var updateDiv
= updateInt
;
48 var updateReTotal
= 1;
55 if (hours
== lastHours
) return;
56 showSelectedOption('hr', lastHours
, hours
);
60 function switchHours(h
)
62 if ((!svgReady
) || (updating
)) return;
65 updateMaxL
= (720 / 24) * hours
;
68 cookie
.set(cprefix
+ 'hrs', hours
);
71 var ref
= new TomatoRefresh('update.cgi', 'exec=bandwidth&arg0=speed');
73 ref
.refresh = function(text
)
77 this.refreshTime
= 1500;
82 E('rbusy').style
.display
= 'none';
85 this.refreshTime
= (fixInt(speed_history
._next
, 1, 120, 60) + 2) * 1000;
90 if (debugTime
) E('dtime').innerHTML
= (new Date()) + ' ' + (this.refreshTime
/ 1000);
99 ref
.showState = function()
101 E('refresh-button').value
= this.running
? '<% translate("Stop"); %>' : '<% translate("Start"); %>';
104 ref
.toggleX = function()
108 cookie
.set(cprefix
+ 'refresh', this.running
? 1 : 0);
111 ref
.initX = function()
115 a
= fixInt(cookie
.get(cprefix
+ 'refresh'), 0, 1, 1);
117 ref
.refreshTime
= 100;
124 if (nvram
.rstats_enable
!= '1') return;
127 // <% bandwidth("speed"); %>
133 if (typeof(speed_history
) == 'undefined') {
136 E('rbusy').style
.display
= '';
139 hours
= fixInt(cookie
.get(cprefix
+ 'hrs'), 1, 24, 24);
140 updateMaxL
= (720 / 24) * hours
;
149 <body onload='init()'
>
151 <table id='container' cellspacing=
0>
152 <tr><td colspan=
2 id='header'
>
153 <div class='title'
>Tomato
</div>
154 <div class='version'
><%
translate("Version"); %> <% version(); %
></div>
156 <tr id='body'
><td id='navi'
><script type='text/javascript'
>navi()</script></td>
158 <div id='ident'
><%
ident(); %></div>
163 <div id='tab-area'
></div>
165 <script type='text/javascript'
>
166 if ((nvram
.web_svg
!= '0') && (nvram
.rstats_enable
== '1')) {
167 // without a div, Opera 9 moves svgdoc several pixels outside of <embed> (?)
168 W("<div style='border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;visibility:hidden;padding:0;margin:0' id='graph'><embed src='bwm-graph.svg?<% version(); %>' style='width:760px;height:300px;margin:0;padding:0' type='image/svg+xml' pluginspage='http://www.adobe.com/svg/viewer/install/'></embed></div>");
172 <div id='bwm-controls'
>
173 <small>(<%
translate("2 minute interval"); %>)
</small><br>
175 <%
translate("Hours"); %>:
176 <a href='javascript:switchHours(
1);' id='hr1'
>1</a>,
177 <a href='javascript:switchHours(
2);' id='hr2'
>2</a>,
178 <a href='javascript:switchHours(
4);' id='hr4'
>4</a>,
179 <a href='javascript:switchHours(
6);' id='hr6'
>6</a>,
180 <a href='javascript:switchHours(
12);' id='hr12'
>12</a>,
181 <a href='javascript:switchHours(
18);' id='hr18'
>18</a>,
182 <a href='javascript:switchHours(
24);' id='hr24'
>24</a><br>
183 <%
translate("Avg"); %>:
184 <a href='javascript:switchAvg(
1)' id='avg1'
><%
translate("Off"); %></a>,
185 <a href='javascript:switchAvg(
2)' id='avg2'
>2x
</a>,
186 <a href='javascript:switchAvg(
4)' id='avg4'
>4x
</a>,
187 <a href='javascript:switchAvg(
6)' id='avg6'
>6x
</a>,
188 <a href='javascript:switchAvg(
8)' id='avg8'
>8x
</a><br>
189 <%
translate("Max"); %>:
190 <a href='javascript:switchScale(
0)' id='scale0'
><%
translate("Uniform"); %></a>,
191 <a href='javascript:switchScale(
1)' id='scale1'
><%
translate("Per IF"); %></a><br>
192 <%
translate("Display"); %>:
193 <a href='javascript:switchDraw(
0)' id='draw0'
><%
translate("Solid"); %></a>,
194 <a href='javascript:switchDraw(
1)' id='draw1'
><%
translate("Line"); %></a><br>
195 <%
translate("Color"); %>:
<a href='javascript:switchColor()' id='drawcolor'
>-
</a><br>
196 <small><a href='javascript:switchColor(
1)' id='drawrev'
>[<%
translate("reverse"); %>]
</a></small><br>
198 » <a href=
"admin-bwm.asp"><%
translate("Configure"); %></a>
202 <table border=
0 cellspacing=
2 id='txt'
>
204 <td width='
8%' align='right' valign='top'
><b style='border-bottom:blue
1px solid' id='rx-name'
>RX
</b></td>
205 <td width='
15%' align='right' valign='top'
><span id='rx-current'
></span></td>
206 <td width='
8%' align='right' valign='top'
><b><%
translate("Avg"); %></b></td>
207 <td width='
15%' align='right' valign='top' id='rx-avg'
></td>
208 <td width='
8%' align='right' valign='top'
><b><%
translate("Peak"); %></b></td>
209 <td width='
15%' align='right' valign='top' id='rx-max'
></td>
210 <td width='
8%' align='right' valign='top'
><b><%
translate("Total"); %></b></td>
211 <td width='
14%' align='right' valign='top' id='rx-total'
></td>
215 <td width='
8%' align='right' valign='top'
><b style='border-bottom:blue
1px solid' id='tx-name'
>TX
</b></td>
216 <td width='
15%' align='right' valign='top'
><span id='tx-current'
></span></td>
217 <td width='
8%' align='right' valign='top'
><b><%
translate("Avg"); %></b></td>
218 <td width='
15%' align='right' valign='top' id='tx-avg'
></td>
219 <td width='
8%' align='right' valign='top'
><b><%
translate("Peak"); %></b></td>
220 <td width='
15%' align='right' valign='top' id='tx-max'
></td>
221 <td width='
8%' align='right' valign='top'
><b><%
translate("Total"); %></b></td>
222 <td width='
14%' align='right' valign='top' id='tx-total'
></td>
229 <script type='text/javascript'
>
230 if (nvram
.rstats_enable
!= '1') {
231 W('<div class="note-disabled"><% translate("Bandwidth monitoring disabled"); %>.</b><br><br><a href="admin-bwm.asp"><% translate("Enable"); %> »</a><div>');
232 E('rstats').style
.display
= 'none';
235 W('<div class="note-warning" style="display:none" id="rbusy"><% translate("The rstats program is not responding or is busy. Try reloading after a few seconds"); %>.</div>');
242 <tr><td id='footer' colspan=
2>
243 <span id='dtime'
></span>
244 <img src='spin.gif' id='refresh-spinner' onclick='debugTime=
1'
>
245 <input type='button' value='<%
translate("Refresh"); %>' id='refresh-button' onclick='ref.toggleX()'
>