Changeset 9457
- Timestamp:
- 01/27/14 07:09:15 (10 years ago)
- Location:
- trunk/webif
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/webif/cacheex/cacheex.html
r9455 r9457 5 5 <DIV ID="searchTable cacheex"> 6 6 <TABLE CLASS="cacheex"> 7 <TR><TH>Filter: <input type="text" id="searchTerm" class="search_box" onkeyup="doSearch()" onClick=" reloadPause()" onBlur="countDown()" /></TH></TR>7 <TR><TH>Filter: <input type="text" id="searchTerm" class="search_box" onkeyup="doSearch()" onClick="cdpause()" onBlur="countDown()" /></TH></TR> 8 8 </TABLE> 9 9 </DIV> … … 11 11 <THEAD> 12 12 <TR><TH COLSPAN="12">CacheEX Stats for ##OWN_CACHEEX_NODEID##</TH></TR> 13 <TR><TH>Direction</TH> 14 <TH>Type</TH> 15 <TH>Name</TH> 16 <TH>IP</TH> 17 <TH>NODE</TH> 18 <TH>Cache EX Mode</TH> 19 <TH>Push</TH> 20 <TH>Got</TH> 21 <TH>CWC Info</TH> 22 <TH>Hit</TH> 23 <TH>Err</TH> 24 <TH>CW Diff</TH> 13 <TR> 14 <TH id="sortable">Direction</TH> 15 <TH id="sortable">Type</TH> 16 <TH id="sortable">Name</TH> 17 <TH id="sortable">IP</TH> 18 <TH id="sortable">NODE</TH> 19 <TH id="sortable">Cache EX Mode</TH> 20 <TH id="sortable">Push</TH> 21 <TH id="sortable">Got</TH> 22 <TH id="sortable">CWC Info</TH> 23 <TH id="sortable">Hit</TH> 24 <TH id="sortable">Err</TH> 25 <TH id="sortable">CW Diff</TH> 25 26 </TR> 26 27 </THEAD> -
trunk/webif/include/css.css
r9456 r9457 108 108 th.statuscol1,th.statuscol2,th.statuscol3,th.statuscol4,th.statuscol5,th.statuscol6,th.statuscol7,th.statuscol8,th.statuscol9,th.statuscol10,th.statuscol11,th.statuscol12,th.statuscol13,th.statuscol14,th.statuscol15,th.statuscol16,td.centered,td.statuscol1,td.statuscol2,td.statuscol3,td.statuscol5,td.statuscol6,td.statuscol7,td.statuscol8,td.statuscol10,td.statuscol11,td.statuscol12,td.statuscol14,td.statuscol15,td.statuscol16,td.usercol0,td.usercol2,td.usercol3,td.usercol4,td.usercol5,td.usercol6,td.usercol7,td.usercol8,td.usercol9,td.usercol10,td.usercol11,td.usercol12,td.usercol13,td.usercol14,td.usercol15,td.usercol16,td.usercol17,td.usercol18,td.usercol19,td.usercol20,td.usercol21,td.usercol22,td.usercol23,td.usercol24,td.usercol25{text-align:center;} 109 109 th.statuscol0,td.statuscol1{width:0;} 110 th#sortable{cursor:pointer;} 110 111 table#dataTable.users thead tr th{padding:0;} 111 112 -
trunk/webif/include/jscript.js
r9456 r9457 1 /* Function for refresh pages */2 1 var oReloadTimer=null;var oCounterTimer=null; 3 2 function reloadDocument(){history.pushState('', document.title, window.location.pathname);window.location.reload();}; 4 function reloadPause(){clearTimeout(oReloadTimer);}; 3 function cdpause(){clearTimeout(oReloadTimer);}; 4 function addreader(){cdpause();document.getElementById("searchTable").style.display="none";document.getElementById("newreader").style.display="block";}; 5 function adduser(){cdpause();document.getElementById("searchTable").style.display="none";document.getElementById("newuser").style.display="block";}; 5 6 function runReloadCounter(){var oReloadContent=document.getElementById("ReloadContent");if(oReloadContent){if(counter<0){counter=counterfull;}counter--;}}; 6 7 function initDoc(){if(oReloadTimer)window.clearInterval(oReloadTimer);oReloadTimer=window.setInterval("reloadDocument();",counterfull*1000);if(oCounterTimer)window.clearInterval(oCounterTimer);oCounterTimer=window.setInterval("runReloadCounter();",1000);}; 7 8 /* Function for add new reader in readers.html */ 9 function addreader(){reloadPause();document.getElementById("searchTable").style.display="none";document.getElementById("newreader").style.display="block";}; 10 11 /* Function for add new user in userconfig.html */ 12 function adduser(){reloadPause();document.getElementById("searchTable").style.display="none";document.getElementById("newuser").style.display="block";}; 13 14 /* Function for searching in table - uncompressed */ 15 function doSearch() { 16 var searchText = document.getElementById('searchTerm').value; 17 var targetTable = document.getElementById('dataTable'); 18 var targetTableColCount; 19 20 //Loop through table rows 21 for (var rowIndex = 0; rowIndex < targetTable.rows.length; rowIndex++) { 22 var rowData = ''; 23 //Get column count from header row 24 if (rowIndex == 0 || rowIndex==1) { 25 targetTableColCount = targetTable.rows.item(rowIndex).cells.length; 26 continue; //do not execute further code for header row. 27 } 28 29 //Process data rows. (rowIndex >= 1) 30 for (var colIndex = 0; colIndex < targetTableColCount; colIndex++) { 31 var cellText = ''; 32 if (navigator.appName == 'Microsoft Internet Explorer') 33 cellText = targetTable.rows.item(rowIndex).cells.item(colIndex).innerText; 34 else 35 cellText = targetTable.rows.item(rowIndex).cells.item(colIndex).textContent; 36 37 rowData += cellText; 38 } 39 40 // Make search case insensitive. 41 rowData = rowData.toLowerCase(); 42 searchText = searchText.toLowerCase(); 43 44 //If search term is not found in row data 45 //then hide the row, else show 46 if (rowData.indexOf(searchText) == -1) 47 targetTable.rows.item(rowIndex).style.display = 'none'; 48 else 49 targetTable.rows.item(rowIndex).style.display = 'table-row'; 50 } 51 } 52 53 /* Functions for sorting in table - uncompressed */ 54 var TINY={}; 55 56 function T$(i){return document.getElementById(i)} 57 function T$$(e,p){return p.getElementsByTagName(e)} 58 59 TINY.table=function(){ 60 function sorter(n,t,p){this.n=n; this.id=t; this.p=p; if(this.p.init){this.init()}} 61 sorter.prototype.init=function(){ 62 this.set(); var t=this.t, i=d=0; t.h=T$$('tr',t)[1]; 63 t.l=t.r.length; t.w=t.r[0].cells.length; t.a=[]; t.c=[]; 64 if(this.p.colddid){ 65 d=T$(this.p.colddid); 66 var o = document.createElement('option'); 67 o.value = -1; 68 o.innerHTML = 'All Columns'; 69 d.appendChild(o) 70 } 71 for(i;i<t.w;i++){ 72 var c=t.h.cells[i]; t.c[i]={}; 73 if(c.className!='nosort'){ 74 c.className = this.p.headclass; 75 c.onclick=new Function(this.n+'.sort('+i+')'); 76 c.onmousedown=function(){return false}; 77 } 78 if(this.p.columns){ 79 var l=this.p.columns.length, x=0; 80 for(x;x<l;x++){ 81 if(this.p.columns[x].index==i){ 82 var g=this.p.columns[x]; 83 t.c[i].format=g.format==null?1:g.format; t.c[i].decimals=g.decimals==null?2:g.decimals 84 } 85 } 86 } 87 if(d){ 88 var o = document.createElement('option'); 89 o.value = i; o.innerHTML = T$$('h3', c)[0].innerHTML; 90 d.appendChild(o) 91 } 92 } 93 this.reset() 94 }; 95 sorter.prototype.reset=function(){ 96 var t=this.t; t.t=t.l; 97 for(var i=0;i<t.l;i++){t.a[i]={}; t.a[i].s=1} 98 if(this.p.sortcolumn!=undefined){ 99 this.sort(this.p.sortcolumn,1,this.p.is) 100 } 101 }; 102 sorter.prototype.sort=function(x,f,z){ 103 var t=this.t; t.y=x; var x=t.h.cells[t.y], i=0, n=document.createElement('tbody'); 104 for(i;i<t.l;i++){ 105 t.a[i].o=i; var v=t.r[i].cells[t.y]; t.r[i].style.display=''; 106 while(v.hasChildNodes()){v=v.firstChild} 107 t.a[i].v=v.nodeValue?v.nodeValue:'' 108 } 109 for(i=0;i<t.w;i++){var c=t.h.cells[i]; if(c.className!='nosort'){c.className=this.p.headclass}} 110 if(t.p==t.y&&!f){t.a.reverse(); x.className=t.d?this.p.ascclass:this.p.descclass; t.d=t.d?0:1} 111 else{t.p=t.y; f&&this.p.sortdir==-1?t.a.sort(cp).reverse():t.a.sort(cp); t.d=0; x.className=this.p.ascclass} 112 for(i=0;i<t.l;i++){var r=t.r[t.a[i].o].cloneNode(true); n.appendChild(r)} 113 t.replaceChild(n,t.b); this.set(); 114 }; 115 sorter.prototype.set=function(){ 116 var t=T$(this.id); t.b=T$$('tbody',t)[0]; t.r=t.b.rows; this.t=t 117 }; 118 function decimals(n,d){return Math.round(n*Math.pow(10,d))/Math.pow(10,d)}; 119 function cp(f,c){ 120 var g,h; f=g=f.v.toLowerCase(); c=h=c.v.toLowerCase(); 121 var i=parseFloat(f.replace(/(\$|\,)/g,'')), n=parseFloat(c.replace(/(\$|\,)/g,'')); 122 if(!isNaN(i)&&!isNaN(n)){g=i,h=n} 123 i=Date.parse(f); n=Date.parse(c); 124 if(!isNaN(i)&&!isNaN(n)){g=i; h=n} 125 return g>h?1:(g<h?-1:0) 126 }; 127 return{sorter:sorter} 128 }(); 8 function doSearch(){var searchText=document.getElementById('searchTerm').value;var targetTable=document.getElementById('dataTable');var targetTableColCount;for(var rowIndex=0;rowIndex<targetTable.rows.length;rowIndex++){var rowData='';if(rowIndex==1){targetTableColCount=targetTable.rows.item(rowIndex).cells.length;continue}for(var colIndex=0;colIndex<targetTableColCount;colIndex++){var cellText='';if(navigator.appName=='Microsoft Internet Explorer')cellText=targetTable.rows.item(rowIndex).cells.item(colIndex).innerText;else cellText=targetTable.rows.item(rowIndex).cells.item(colIndex).textContent;rowData+=cellText}rowData=rowData.toLowerCase();searchText=searchText.toLowerCase();if(rowData.indexOf(searchText)==-1)targetTable.rows.item(rowIndex).style.display='none';else targetTable.rows.item(rowIndex).style.display='table-row';}}; 9 (function(document){'use strict';var LightTableSorter=(function(Arr){var _th,_cellIndex,_order='';function _text(row){return row.cells.item(_cellIndex).textContent.toLowerCase();}function _sort(a, b){var va=_text(a),vb=_text(b),n=parseInt(va,10);if(n){va=n;vb=parseInt(vb,10);}return va > vb ? 1 : va < vb ? -1 : 0;}function _toggle(){var c=_order !== 'asc' ? 'asc' : 'desc';_th.className=(_th.className.replace(_order, '')+' '+c).trim();_order=c;}function _reset(){_th.className=_th.className.replace('asc','').replace('desc','');_order='';}function onClickEvent(e){if(this.id == "sortable"){cdpause();if(_th && _cellIndex !== e.target.cellIndex){_reset();}_th = e.target;_cellIndex=_th.cellIndex;var tbody=_th.offsetParent.getElementsByTagName('tbody')[0],rows = tbody.rows;if(rows){rows=Arr.sort.call(Arr.slice.call(rows,0),_sort);if(_order === 'asc'){Arr.reverse.call(rows);}_toggle();tbody.innerHtml='';Arr.forEach.call(rows, function(row){tbody.appendChild(row);});}}}return{init: function(){var ths=document.getElementsByTagName('th');Arr.forEach.call(ths,function(th){th.onclick=onClickEvent;});}};})(Array.prototype);document.addEventListener('readystatechange',function(){if(document.readyState === 'complete'){LightTableSorter.init();}});})(document); -
trunk/webif/readers/readers.html
r9456 r9457 2 2 ##TPLMENU## 3 3 ##TPLMESSAGE## 4 <DIV ID="subnav"> 5 <UL ID="nav" CLASS="configmenu"> 6 <LI CLASS="configmenu"><A HREF="#" onclick="addreader();">Add Reader</A></LI> 7 <LI CLASS="configmenu"><A HREF="scanusb.html">Scan USB</A></LI> 8 <LI CLASS="configmenu"><A TARGET="_blank" HREF="graph.svg?type=servers">Show Graphs</A></LI> 9 </UL> 10 </DIV> 11 <DIV ID="newreader" CLASS="newreader"> 12 <form action="readerconfig.html" method="get"> 13 <TABLE CLASS="readers"> 14 <TR><TH>NEW Reader Label: <input type="text" name="label" value="##NEXTREADER##"> Protocol: <select name="protocol">##ADDPROTOCOL##</select><input type="submit" name="action" value="Add"></TH></TR> 15 </TABLE> 16 </form> 17 </DIV> 18 <DIV ID="searchTable"> 19 <TABLE CLASS="readers"> 20 <TR><TH>Search: <input type="text" id="searchTerm" class="search_box" onkeyup="doSearch()" onClick="reloadPause()" onBlur="countDown()" /></TH></TR> 4 <DIV ID="subnav"> 5 <UL ID="nav" CLASS="configmenu"> 6 <LI CLASS="configmenu"><A HREF="#" onclick="addreader();">Add Reader</A></LI> 7 <LI CLASS="configmenu"><A HREF="scanusb.html">Scan USB</A></LI> 8 <LI CLASS="configmenu"><A TARGET="_blank" HREF="graph.svg?type=servers">Show Graphs</A></LI> 9 </UL> 10 </DIV> 11 <DIV ID="newreader" CLASS="newuser"> 12 <form action="readerconfig.html" method="get"> 13 <TABLE CLASS="users"> 14 <TR><TH>NEW Reader Label: <input type="text" name="label" value="##NEXTREADER##"> Protocol: <select name="protocol">##ADDPROTOCOL##</select><input type="submit" name="action" value="Add"></TH></TR> 21 15 </TABLE> 22 </DIV> 16 </form> 17 </DIV> 18 <DIV ID="searchTable"> 19 <TABLE CLASS="users"> 20 <TR><TH>Search: <input type="text" id="searchTerm" class="search_box" onkeyup="doSearch()" onClick="cdpause()" onBlur="countDown()" /></TH></TR> 21 </TABLE> 22 </DIV> 23 <SECTION CLASS="container"> 23 24 <TABLE ID="dataTable" CLASS="readers"> 24 25 <THEAD> 25 26 <TR> 26 27 <TH COLSPAN="4"></TH> 27 <TH COLSPAN="3"> <H3>ECM</H3></TH>28 <TH COLSPAN="4"> <H3>EMM</H3></TH>28 <TH COLSPAN="3">ECM</TH> 29 <TH COLSPAN="4">EMM</TH> 29 30 ##TPLREADERLBWU## 30 31 <TH COLSPAN="6"></TH> 31 32 </TR> 32 33 <TR> 33 <TH >On/Off</TH>34 <TH >Reader</TH>35 <TH >Protocol</TH>36 <TH >Groups</TH>37 <TH >OK</TH>38 <TH >NOK</TH>39 <TH >Filtered<BR><SPAN TITLE="filtered by ECM Header Whitelist"> Head </SPAN>/<SPAN TITLE="filtered by ECM Whitelist"> Len </SPAN></TH>40 <TH >error<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH>41 <TH >written<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH>42 <TH >skipped<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH>43 <TH >blocked<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH>34 <TH id="sortable">On/Off</TH> 35 <TH id="sortable">Reader</TH> 36 <TH id="sortable">Protocol</TH> 37 <TH id="sortable">Groups</TH> 38 <TH id="sortable">OK</TH> 39 <TH id="sortable">NOK</TH> 40 <TH id="sortable">Filtered<BR><SPAN TITLE="filtered by ECM Header Whitelist"> Head </SPAN>/<SPAN TITLE="filtered by ECM Whitelist"> Len </SPAN></TH> 41 <TH id="sortable">error<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH> 42 <TH id="sortable">written<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH> 43 <TH id="sortable">skipped<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH> 44 <TH id="sortable">blocked<BR><SPAN TITLE="unknown EMM"> UK </SPAN>/<SPAN TITLE="global EMM"> G </SPAN>/<SPAN TITLE="shared EMM"> S </SPAN>/<SPAN TITLE="unique EMM"> UQ </SPAN></TH> 44 45 ##TPLREADERLBWD## 45 46 <TH COLSPAN="6">Action</TH> … … 50 51 </TBODY> 51 52 </TABLE> 53 </SECTION> 52 54 ##TPLFOOTER## -
trunk/webif/readers/readers_lblweightd.html
r9356 r9457 1 <TH >Weight</TH>1 <TH id="sortable">Weight</TH> -
trunk/webif/readers/readers_lblweightu.html
r9456 r9457 1 <TH ><H3>LB</H3></TH>1 <TH id="sortable"><H3>LB</H3></TH> -
trunk/webif/userconfig/userconfig.html
r9456 r9457 2 2 ##TPLMENU## 3 3 ##TPLMESSAGE## 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <TR><TH>Search: <input type="text" id="searchTerm" class="search_box" onkeyup="doSearch()" onClick="reloadPause()" onBlur="countDown()" /> in all columns</TH></TR>20 21 4 <DIV ID="subnav"> 5 <UL ID="nav" CLASS="configmenu"> 6 <LI CLASS="configmenu"><A HREF="#" onclick="adduser();">Add User</A></LI> 7 <LI CLASS="configmenu"><A HREF="userconfig.html?action=reinit">Reinit User DB</A></LI> 8 <LI CLASS="configmenu"><A HREF="userconfig.html?action=resetalluserstats">Reset Userstats</A></LI> 9 <LI CLASS="configmenu"><A TARGET="_blank" HREF="graph.svg?type=users&hidelabels=1">Show Graphs</A></LI> 10 </UL> 11 </DIV> 12 <DIV ID="newuser" CLASS="newuser"> 13 <TABLE CLASS="users"> 14 <TR><form action="user_edit.html" method="get"><TH>New User: <input name="user" type="text"><input type="submit" value="Add User"></TH></form></TR> 15 </TABLE> 16 </DIV> 17 <DIV ID="searchTable"> 18 <TABLE CLASS="users"> 19 <TR><TH>Search: <input type="text" id="searchTerm" class="search_box" onkeyup="doSearch()" onClick="cdpause()" onBlur="countDown()" /></TH></TR> 20 </TABLE> 21 </DIV> 22 22 <TABLE ID="dataTable" CLASS="users"> 23 23 <THEAD> … … 26 26 <TH ID="##GRPVIEW##"></TH> 27 27 <TH></TH> 28 <TH COLSPAN="8"> <H3>ECM</H3></TH>29 <TH COLSPAN="2"> <H3>EMM</H3></TH>28 <TH COLSPAN="8">ECM</TH> 29 <TH COLSPAN="2">EMM</TH> 30 30 ##TPLUSERCWCYCLE## 31 31 ##TPLUSERANTICASC## 32 32 <TH ID="##EXPIREVIEW##"></TH> 33 <TH COLSPAN="3">< H3>Action</H3></TH>33 <TH COLSPAN="3"></TH> 34 34 </TR> 35 35 <TR> 36 <TH CLASS="nosort"><H3>On/Off</H3></TH>37 <TH ><H3>Label</H3></TH>38 <TH CLASS="nosort" TITLE="Idle Info"><H3>Status<BR>Idle Time</H3></TH>39 <TH CLASS="nosort"><H3>Address</H3></TH>40 <TH ><H3>Protocol</H3></TH>41 <TH ID="##GRPVIEW##" CLASS="nosort"><H3>Groups</H3></TH>42 <TH CLASS="nosort"><H3>Last Channel<BR>On Channel</H3></TH>43 <TH TITLE="Last ECM Time"><H3>LTIME</H3></TH>44 <TH TITLE="Delivered ECM with status OK"><H3>OK</H3></TH>45 <TH TITLE="Delivered ECM with status not OK"><H3>NOK</H3></TH>46 <TH TITLE="Ignored ECM by filters, part of NOK"><H3>IGN</H3></TH>47 <TH TITLE="Timeout ECM, part of NOK"><H3>TOUT</H3></TH>48 <TH TITLE="Delivered ECM from cache, part of OK"><H3>CACHE</H3></TH>49 <TH TITLE="Delivered ECM from tunneled, part of OK"><H3>TUN</H3></TH>50 <TH TITLE="Sum of ECM's in last 60s"><H3>last 60s</H3></TH>51 <TH TITLE="Valid EMM delivered"><H3>OK</H3></TH>52 <TH TITLE="Invalid EMM delivered"><H3>NOK</H3></TH>36 <TH id="sortable">On/Off</TH> 37 <TH id="sortable">Label</TH> 38 <TH id="sortable" TITLE="Idle Info">Status<BR>Idle Time</TH> 39 <TH id="sortable">Address</TH> 40 <TH id="sortable">Protocol</TH> 41 <TH id="sortable" ID="##GRPVIEW##">Groups</TH> 42 <TH>Last Channel<BR>On Channel</TH> 43 <TH id="sortable" TITLE="Last ECM Time">LTIME</TH> 44 <TH id="sortable" TITLE="Delivered ECM with status OK">OK</TH> 45 <TH id="sortable" TITLE="Delivered ECM with status not OK">NOK</TH> 46 <TH id="sortable" TITLE="Ignored ECM by filters, part of NOK">IGN</TH> 47 <TH id="sortable" TITLE="Timeout ECM, part of NOK">TOUT</TH> 48 <TH id="sortable" TITLE="Delivered ECM from cache, part of OK">CACHE</TH> 49 <TH id="sortable" TITLE="Delivered ECM from tunneled, part of OK">TUN</TH> 50 <TH id="sortable" TITLE="Sum of ECM's in last 60s">last 60s</TH> 51 <TH id="sortable" TITLE="Valid EMM delivered">OK</TH> 52 <TH id="sortable" TITLE="Invalid EMM delivered">NOK</TH> 53 53 ##TPLCWCYCLETHV## 54 54 ##TPLCWANTICASCTHV## 55 <TH ID="##EXPIREVIEW##" CLASS="nosort" TITLE="Expiration date of account"><H3>Exp. Date</H3></TH> 56 <TH CLASS="nosort"><H3></H3></TH> 57 <TH CLASS="nosort"><H3></H3></TH> 58 <TH CLASS="nosort"><H3></H3></TH> 55 <TH ID="##EXPIREVIEW##" TITLE="Expiration date of account">Exp. Date</TH> 56 <TH COLSPAN="3" CLASS="centered">Action</TH> 59 57 </TR> 60 58 </THEAD> … … 86 84 <TABLE CLASS="ECM_totals"> 87 85 <TR> 88 <TH COLSPAN="8">Total Ecm Info</TH>86 <TH colspan="8">Total Ecm Info</TH> 89 87 </TR> 90 88 <TR> … … 107 105 </TR> 108 106 <TR> 109 <TD CLASS="centered" COLSPAN="2"><B>Total OK: </B> ##TOTAL_CWPOS## (##REL_CWPOS##%)</TD>110 <TD CLASS="centered" COLSPAN="2"><B>Total NOK: </B>##TOTAL_CWNEG## (##REL_CWNEG##%)</TD>111 <TD CLASS="centered" COLSPAN="2"><B>Reset ECM Statistics:</B></TD>107 <TD CLASS="centered" colspan="2"><B>Total OK: </B> ##TOTAL_CWPOS## (##REL_CWPOS##%)</TD> 108 <TD CLASS="centered" colspan="2"><B>Total NOK: </B>##TOTAL_CWNEG## (##REL_CWNEG##%)</TD> 109 <TD CLASS="centered" colspan="2"><B>Reset ECM Statistics:</B></TD> 112 110 <TD CLASS="centered"><A HREF="userconfig.html?action=resetserverstats" TITLE="Reset statistics for server"><IMG CLASS="icon" SRC="image?i=ICRES" ALT="Reset Server Stats"></A></TD> 113 111 </TR> 114 112 </TABLE><BR> 115 116 <!-- To initialize a TABLE sorter -->117 <script type="text/javascript">118 var sorter = new TINY.table.sorter('sorter','dataTable',{119 headclass: 'head',120 ascclass: 'asc',121 descclass: 'desc',122 sortdir: 1,123 init: true124 });125 </script>126 113 ##TPLFOOTER##
Note:
See TracChangeset
for help on using the changeset viewer.