From 1b8761b8f35d9098079388e81ed24a5f68718eeb Mon Sep 17 00:00:00 2001 From: hummypkg Date: Sun, 17 Jul 2011 20:52:33 +0000 Subject: [PATCH] fix diskspace bug, add sortable schedule list, fix plugin bug git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@276 2a923420-c742-0410-a762-8d5b09965624 --- var/mongoose/html/css/tsort.css | 21 +++++++++ var/mongoose/html/img/tsort/asc.png | Bin 0 -> 2665 bytes var/mongoose/html/img/tsort/bg.png | Bin 0 -> 2655 bytes var/mongoose/html/img/tsort/desc.png | Bin 0 -> 2662 bytes var/mongoose/html/js/jquery.tablesorter.js | 4 ++ var/mongoose/html/sched.shtml | 2 + var/mongoose/include/diskspace.jim | 37 ++++++++-------- var/mongoose/include/sched.jim | 47 +++++++++++++++++++-- var/mongoose/lib/plugin | 2 +- 9 files changed, 90 insertions(+), 23 deletions(-) create mode 100644 var/mongoose/html/css/tsort.css create mode 100644 var/mongoose/html/img/tsort/asc.png create mode 100644 var/mongoose/html/img/tsort/bg.png create mode 100644 var/mongoose/html/img/tsort/desc.png create mode 100644 var/mongoose/html/js/jquery.tablesorter.js diff --git a/var/mongoose/html/css/tsort.css b/var/mongoose/html/css/tsort.css new file mode 100644 index 0000000..3a842a9 --- /dev/null +++ b/var/mongoose/html/css/tsort.css @@ -0,0 +1,21 @@ + +table.tablesorter .header { + background-image: url(/img/tsort/bg.png); + background-repeat: no-repeat; + border-left: 1px solid #FFF; + border-right: 1px solid #000; + border-top: 1px solid #FFF; + padding-left: 30px; + padding-top: 8px; + height: auto; +} + +table.tablesorter .headerSortUp { + background-image: url(/img/tsort/asc.png); + background-repeat: no-repeat; +} + +table.tablesorter .headerSortDown { + background-image: url(/img/tsort/desc.png); + background-repeat: no-repeat; +} diff --git a/var/mongoose/html/img/tsort/asc.png b/var/mongoose/html/img/tsort/asc.png new file mode 100644 index 0000000000000000000000000000000000000000..66e39cad0118035e24e5ccb2cc9795ac936746d3 GIT binary patch literal 2665 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 Cpy)LK literal 0 HcmV?d00001 diff --git a/var/mongoose/html/js/jquery.tablesorter.js b/var/mongoose/html/js/jquery.tablesorter.js new file mode 100644 index 0000000..b8605df --- /dev/null +++ b/var/mongoose/html/js/jquery.tablesorter.js @@ -0,0 +1,4 @@ + +(function($){$.extend({tablesorter:new +function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((ab)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((ba)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i + + diff --git a/var/mongoose/include/diskspace.jim b/var/mongoose/include/diskspace.jim index f89cc98..040a1a3 100755 --- a/var/mongoose/include/diskspace.jim +++ b/var/mongoose/include/diskspace.jim @@ -1,23 +1,24 @@ #!/mod/bin/jimsh -if {[os.gethostname] eq "hosting"} { - set size "1TB" - set used "100GB" - set perc "10" -} else { - set used 0 - set size 0 - set perc 0 - foreach df [split [exec df -h 2>>/dev/null] "\n\r"] { - if {[string match *sd?2* $df] || \ - [string match *media/drive1* $df]} { - regsub -all -- {[[:space:]]+} $df " " df - set fields [split $df] - set size [lindex $fields 1] - set used [lindex $fields 2] - set perc [string trimright [lindex $fields 4] "%"] - break - } +proc extract {line} { + regsub -all -- {[[:space:]]+} $line " " line + set fields [split $line] + set ::size [lindex $fields 1] + set ::used [lindex $fields 2] + set ::perc [string trimright [lindex $fields 4] "%"] +} + +set used 0 +set size 0 +set perc 0 + +foreach df [split [exec df -h 2>>/dev/null] "\n\r"] { + if {[string match *sd?2* $df]} { + extract $df + break; + } + if {[string match *media/drive* $df]} { + extract $df } } diff --git a/var/mongoose/include/sched.jim b/var/mongoose/include/sched.jim index 31c7ebf..2c47640 100755 --- a/var/mongoose/include/sched.jim +++ b/var/mongoose/include/sched.jim @@ -6,10 +6,47 @@ require altrow rsv.class progressbar set events [rsv list] puts { - + + +
+ - + @@ -17,6 +54,8 @@ puts { + + } foreach event $events { @@ -67,7 +106,7 @@ foreach event $events { [$event channel_name] " } else { - puts "" + puts "" } puts "" @@ -130,7 +169,7 @@ foreach event $events { } puts "" } -puts "
Channel Channel Programme Start Time DurationEvent/Series ID Events
 

 

 $name
" +puts "" puts "Click on the CRID to view episodes." puts { diff --git a/var/mongoose/lib/plugin b/var/mongoose/lib/plugin index 363ca71..03e0858 100644 --- a/var/mongoose/lib/plugin +++ b/var/mongoose/lib/plugin @@ -1,6 +1,6 @@ proc eval_plugins {hook} { - foreach plugin [glob /mod/var/mongoose/plugin/*] { + foreach plugin [glob -nocomplain /mod/var/mongoose/plugin/*] { if {[file isfile "$plugin/$hook.hook"]} { uplevel source "$plugin/$hook.hook" }