summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM. Voerman <rekordc@gmail.com>2013-05-30 13:43:48 +0200
committerM. Voerman <rekordc@gmail.com>2013-05-30 13:43:48 +0200
commitfbeb27b5953628e4e81277f6ef4fb369d8c5d659 (patch)
tree5ad3c492dbda5e16680a716c328421f5e2ef73b4
parent20e8ca34c69e4526dffa36bd05b3a5d9e7b9830b (diff)
downloadvdr-vipclient-fbeb27b5953628e4e81277f6ef4fb369d8c5d659.tar.gz
vdr-vipclient-fbeb27b5953628e4e81277f6ef4fb369d8c5d659.tar.bz2
Added viewing of searchtimers
-rw-r--r--History3
-rw-r--r--index.html189
-rw-r--r--settings.js8
3 files changed, 193 insertions, 7 deletions
diff --git a/History b/History
index 4485b77..dcbf1b6 100644
--- a/History
+++ b/History
@@ -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)
diff --git a/index.html b/index.html
index 9772027..7d4348a 100644
--- a/index.html
+++ b/index.html
@@ -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;