diff options
author | M. Voerman <rekordc@gmail.com> | 2013-05-30 13:43:48 +0200 |
---|---|---|
committer | M. Voerman <rekordc@gmail.com> | 2013-05-30 13:43:48 +0200 |
commit | fbeb27b5953628e4e81277f6ef4fb369d8c5d659 (patch) | |
tree | 5ad3c492dbda5e16680a716c328421f5e2ef73b4 | |
parent | 20e8ca34c69e4526dffa36bd05b3a5d9e7b9830b (diff) | |
download | vdr-vipclient-fbeb27b5953628e4e81277f6ef4fb369d8c5d659.tar.gz vdr-vipclient-fbeb27b5953628e4e81277f6ef4fb369d8c5d659.tar.bz2 |
Added viewing of searchtimers
-rw-r--r-- | History | 3 | ||||
-rw-r--r-- | index.html | 189 | ||||
-rw-r--r-- | settings.js | 8 |
3 files changed, 193 insertions, 7 deletions
@@ -3,6 +3,9 @@ Motorola Vip : 1960, 1910, 1903, 1963. VDR 1.7.29 +0.20 Updated EPG filter + SearchTimers Submenu. + 0.19 Added SleepTimer in menu 1 Settings. (Key is stopbutton) Timer menu OK shows same info as BLUE Updated EPG filter for MTV Transponder (Nick JR france, Nick NL) @@ -23,7 +23,7 @@ // // -var Version = "0.19" +var Version = "0.20.1" for (var x = 0; x < 10; x++) { if (minChan[x]) { @@ -331,6 +331,7 @@ if (zero<10) { zero="0" + zero; } + return zero; } @@ -1339,6 +1340,19 @@ function StreamInfo(si) { is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); } + + if(SI[1]=="53" && (SI[3]=="2042" || SI[3]=="2043" )) { + //Canal Digitaal/ TV Vlaanderen + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[1]=="53" && (SI[3]=="2045") ) { + //Canal Digitaal/ TV Vlaanderen + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + } + + + if(SI[1]=="54") { //ZON / 30W is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); @@ -1359,6 +1373,16 @@ function StreamInfo(si) { is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); } + if(SI[1]=="3" && SI[2]=="3202" && SI[3]=="6072") { + // Some other EPG + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && SI[2]=="3208" && SI[3]=="7037") { + // Some other EPG + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + if(SI[1]=="3" && ( SI[2]=="3206" || SI[2]=="3226" ) ) { // Satellite BG is.setObject("cfg.locale.ui","bul",is.STORAGE_VOLATILE); @@ -1382,7 +1406,6 @@ function StreamInfo(si) { is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); } - if((SI[0]=="S13.0E" && SI[3]=="14003") || (SI[0]=="S13.0E" && SI[3]=="14009") || (SI[0]=="S13.0E" && SI[3]=="14051") || (SI[0]=="S13.0E" && SI[3]=="951")) { //Swiss ITA channels is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); @@ -1595,7 +1618,7 @@ function onKeyTeletext(keyCode) { function onKeyMenu(keyCode) { switch(keyCode) { case "BrowserBack": - if (menu == 5 && osdepginfo.style.opacity == 1) { + if ((menu == 5 || menu == 7) && osdepginfo.style.opacity == 1) { osdepginfo.style.opacity = 0; break; } @@ -1621,7 +1644,7 @@ function onKeyMenu(keyCode) { timerID = timerID - 1; var x = toi.schedulerService.getBookingIds("*", 0, 0); if (timerID < x[0]) { timerID = x[0]; } - } else if (menu == 5) { + } else if (menu == 5 || menu == 7) { timerID = timerID - 1; if (timerID < 0) { timerID = 0; } } @@ -1632,7 +1655,7 @@ function onKeyMenu(keyCode) { timerID = timerID + 1; var x = toi.schedulerService.getBookingIds("*", 0, 0); if (timerID > x[x.length-1] ) { timerID = x[x.length-1]; } - } else if (menu == 5) { + } else if (menu == 5 || menu == 7) { timerID = timerID + 1; if (timerID > (maxTimers - 1) ) { timerID = maxTimers - 1; } } @@ -1655,6 +1678,12 @@ function onKeyMenu(keyCode) { ShowTimerInfo(); osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; } + if (menu == 7) { + // Show more info Current SearchTimer + ShowSearchTimerInfo(); + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + } + break; case "Red": if (menu == 2) { @@ -1686,8 +1715,13 @@ function onKeyMenu(keyCode) { // Show EPG info Timer ShowTimerInfo(); osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + } else if (menu == 7) { + // Show info SearchTimers + osdepginfo.innerHTML = SearchTimer[timerID] ; + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; } + break; case "MediaRewind": break; @@ -1848,6 +1882,12 @@ function onKeyMenu(keyCode) { mainmenu.style.opacity = 0; pipplay(channels[604]); } + if (menu == MainMenu) { + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> SearchTimers </center></h1><pre style='color:black;font-size:" + fsMenu + ";'>\n\n\n<center> PLEASE WAIT </center></pre>"; + timerID = 0; + menu = 7; + setTimeout("LoadSearchTimersServer();InitMenu(menu);",200); + } if (menu == 1) { if(SwitchGuide == 0 ) { SwitchGuide = 1; @@ -1906,12 +1946,12 @@ osdepginfo.style.opacity = 0; if(menu == 0) { // Main Menu MainMenu = 0; - mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MainMenu \n ( " + Version + " )</center></h1><pre style='color:black;font-size:" + fsMenu + ";'> 1 - Settings \n 2 - Timers\n 3 - EPG\n 4 - Server : Recordings\n 5 - Server : Timers\n 6 - Server : EPG\n 7 - Server : Media Directory\n\n 9 - MPD Server Connection\n\n BLUE - Restart Portal </pre>"; + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MainMenu \n ( " + Version + " )</center></h1><pre style='color:black;font-size:" + fsMenu + ";'> 1 - Settings \n 2 - Timers\n 3 - EPG\n 4 - Server : Recordings\n 5 - Server : Timers\n 6 - Server : EPG\n 7 - Server : Media Directory\n 8 - Server : SearchTimers\n 9 - MPD Server Connection\n\n BLUE - Restart Portal </pre>"; } if(menu == 6) { // Main Menu when watching recording MainMenu = 6; - mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MainMenu \n ( " + Version + " )</center></h1><pre style='color:black;font-size:" + fsMenu + ";'> 1 - Settings \n 2 - Timers\n\n\n 5 - Server : Timers\n\n\n\n\n\n </pre>"; + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MainMenu \n ( " + Version + " )</center></h1><pre style='color:black;font-size:" + fsMenu + ";'> 1 - Settings \n 2 - Timers\n\n\n 5 - Server : Timers\n\n\n 8 - Server : SearchTimers\n\n\n </pre>"; } @@ -2000,6 +2040,23 @@ if(menu == 5) { // Timers from Server } +if(menu == 7) { // SearchTimers from Server + if (timerOK) { + // booking = "<center> PRESS RED-KEY TO REMOVE </center>"; + booking = ""; + booking = booking + "<font style='background:#fc5;-webkit-border-radius:25px;color:black;font-size:" + fsMenu + ";'>"; + var x = timerID - 1; + for (var i=0;i<11;i++) { + if (searchtimers.length !== 0) { do { x = x + 1; } while (!searchtimers[x] && (x < searchtimers.length)) } + if (searchtimers.length > x) { booking = booking + searchtimers[x]; } else { booking = booking +"\n"; } + if (i == 0) { booking = booking + "</font>"; } + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> SearchTimers </center></h1><pre style='color:black;font-size:" + fsMenu + ";'>\n" + booking + "</pre>"; + } + + } +} + + } // end of initmenu function LoadTimers() { @@ -2128,6 +2185,124 @@ function ShowTimerInfo() { timersStrt[timerID] + " - " + timersStop[timerID] + "\n" + info2 + "\n </pre><p>" + info3 + Left(info4,750) + "</p></center>" ; } +function LoadSearchTimersServer() { +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(RestFulAPI + "/searchtimers.xml?" + new Date().getTime()),false); //"),false); // + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("searchtimer"); + maxTimers = x.length; + for (var i=0;i<(x.length+10);i++) { searchtimers[i] = "" ;} // clear timers[i] tries to clear crap if current x.length < previous x.length + for (var i=0;i<x.length;i++) + { + var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; + searchtimersID[i] = x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue; + searchtimersSearch[i] = x[i].getElementsByTagName("search")[0].childNodes[0].nodeValue; + searchtimersFlag[i] = x[i].getElementsByTagName("use_as_searchtimer")[0].childNodes[0].nodeValue; + if (searchtimersFlag[i] == "1") { + searchtimers[i] = "\uE003\uE017\uE003"; + } else if (searchtimersFlag[i] == "0") { + searchtimers[i] = "\uE003\uE016\uE003"; + } else { + searchtimers[i] = "\uE003?\uE003"; + } + + // Extended INFO + SearchTimer[i] = "<center><pre style='color:white;'>" + x[i].getElementsByTagName("search")[0].childNodes[0].nodeValue + "\n </pre></center><pre>"; + if ((x[i].getElementsByTagName("use_as_searchtimer")[0].childNodes[0].nodeValue) == 0) { + SearchTimer[i] = SearchTimer[i] + "\uE003\uE016\uE003Use as Search Timer" + "\n"; + } else { + SearchTimer[i] = SearchTimer[i] + "\uE003\uE017\uE003Use as Search Timer" + "\n"; + } + SearchTimer[i] = SearchTimer[i] + "\uE003\uE003\uE003Mode :\uE003" + (searchmode[x[i].getElementsByTagName("mode")[0].childNodes[0].nodeValue]) + "\n"; + if ((x[i].getElementsByTagName("use_time")[0].childNodes[0].nodeValue) == 1) { + SearchTimer[i] = SearchTimer[i] + "\uE003\uE017\uE003Use Time\uE003" + + x[i].getElementsByTagName("start_time")[0].childNodes[0].nodeValue + + "\uE003-\uE003" + x[i].getElementsByTagName("stop_time")[0].childNodes[0].nodeValue + "\n"; + } else { + SearchTimer[i] = SearchTimer[i] + "\uE003\uE016\uE003Use Time\uE003" + "\n"; + } + if ((x[i].getElementsByTagName("use_channel")[0].childNodes[0].nodeValue) == 0) { + SearchTimer[i] = SearchTimer[i] + "\uE003\uE016\uE003Channel Mode\uE003" + "\n"; + } else { + SearchTimer[i] = SearchTimer[i] + "\uE003\uE017\uE003Channel Mode\uE003:\uE003" + + searchchan[(x[i].getElementsByTagName("use_channel")[0].childNodes[0].nodeValue)] + "\uE003" + + x[i].getElementsByTagName("channels")[0].childNodes[0].nodeValue + "\n"; + } + SearchTimer[i] = SearchTimer[i] + "\n</pre>"; + // End of Extended INFO + + + searchtimers[i] = searchtimers[i] + searchtimersSearch[i] + "\n" ; + timerOK = 1; + } + } catch(e) { + timerOK = 0; + alert("Get SearchTimers problem: " + e); + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> SearchTimers </center></h1><pre style='color:black;font-size:" + fsMenu + ";'><center>\n ERROR Getting SearchTimers from : \n " + RestFulAPI + "</center></pre>"; + } +} + +function ShowSearchTimerInfo() { + // info about a search timer. + //Like Show EPG Info + //setup some dummy vars + + var info1 = ""; var info2 = ""; + + try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(RestFulAPI + "/searchtimers/search/" + searchtimersID[timerID] + ".xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("event"); + var maxinfo = x.length; if (maxinfo > 15) { maxinfo = 15;} + + for (var i=0;i<maxinfo;i++) + { + info2 = x[i].getElementsByTagName("param")[16].childNodes[0].nodeValue; // Timer exists + if (info2 == "true") { + info1 = info1 + "\uE003\uE00C\uE003"; + } else { + info1 = info1 + "\uE003\uE003\uE003"; + } + info2 = x[i].getElementsByTagName("param")[17].childNodes[0].nodeValue; // Timer active + if (info2 == "true") { + info1 = info1 + "\uE017\uE003"; + } else { + info1 = info1 + "\uE016\uE003"; + } + + info2 = x[i].getElementsByTagName("param")[6].childNodes[0].nodeValue; // Time + date = new Date(Number(info2)*1000); + year = date.getFullYear(); + month = date.getMonth(); + d = date.getDate(); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h=addzero(h); + m=addzero(m); + info2 = days[day] + "\uE003" + d + "\uE003" + months[month] + "\uE003" + year + "\uE003" + h + ':' + m; + info1 = info1 + info2; + info2 = x[i].getElementsByTagName("param")[7].childNodes[0].nodeValue/60 + "\uE003\uE003\uE003"; // Duration + info1 = info1 + "\uE003" + Left(info2,4) + x[i].getElementsByTagName("param")[5].childNodes[0].nodeValue + "\uE003"; // Channel + info1 = info1 + "\n"; + + } + + } catch(e) { + alert("Get SearchTimer INFO problem: " + e); + + } + + osdepginfo.innerHTML = "<center><pre style='color:white;'>" + searchtimersSearch[timerID] + "\n </pre></center><pre>" + info1 + "</pre>" ; + +} + + + // End of Menu section // MPD Section diff --git a/settings.js b/settings.js index 0b57454..ee1cbbd 100644 --- a/settings.js +++ b/settings.js @@ -224,11 +224,19 @@ var timersChan = new Array(); var maxTimers = 0; var timerOK = 0; +var searchtimersID = new Array(); +var searchtimersSearch = new Array(); +var searchtimersFlag = new Array(); +var SearchTimer = new Array(); +searchmode = new Array('phrase', 'all words', 'at least one word', 'match exactly', 'regex', 'fuzzy'); +searchchan = new Array('no', 'interval', 'channel group', 'only FTA'); + var getRecOK = 0; var position = 0; var timer = new Array(); var timers = new Array(); +var searchtimers = new Array(); var getbookingID = 0; var timerID = 0; var nrMedia = 0; |