summaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-04-29 18:02:47 +0000
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-04-29 18:02:47 +0000
commit162677a55f93defc8fc124b89b137a444ab78edb (patch)
tree45c93e9f54581c473295187d462c1073da48f3f2 /pages
parentc23da7907f180eed81032e1f63e1421f2b39cb61 (diff)
downloadvdr-plugin-live-162677a55f93defc8fc124b89b137a444ab78edb.tar.gz
vdr-plugin-live-162677a55f93defc8fc124b89b137a444ab78edb.tar.bz2
- xml version of infobox, updates only pagelements inside the box not
whole box. This circumvents the tooltip stacking problem. - updated styles for this change. - updated i18n.cpp for this change. - Changed javascript implementation for infobox. - Box doesn't change size after first update. - added some <%cpp> { </%cpp> tags to prevent newlines inserted by tntnet. See tntnet documentation about this. - Added infobox to all pages that didn't had one.
Diffstat (limited to 'pages')
-rw-r--r--pages/Makefile5
-rw-r--r--pages/edit_searchtimer.ecpp147
-rw-r--r--pages/edit_timer.ecpp12
-rw-r--r--pages/ibox.ecpp (renamed from pages/infobox.ecpp)72
-rw-r--r--pages/menu.ecpp3
-rw-r--r--pages/pageelems.ecpp57
-rw-r--r--pages/recordings.ecpp2
-rw-r--r--pages/remote.ecpp2
-rw-r--r--pages/schedule.ecpp2
-rw-r--r--pages/searchepg.ecpp479
-rw-r--r--pages/searchtimers.ecpp5
-rw-r--r--pages/timers.ecpp2
-rw-r--r--pages/tooltip.ecpp2
-rw-r--r--pages/whats_on.ecpp2
14 files changed, 433 insertions, 359 deletions
diff --git a/pages/Makefile b/pages/Makefile
index d9be777..f9dec2d 100644
--- a/pages/Makefile
+++ b/pages/Makefile
@@ -19,8 +19,9 @@ OBJS = menu.o channels.o recordings.o schedule.o \
screenshot.o timers.o whats_on.o switch_channel.o \
keypress.o remote.o channels_widget.o edit_timer.o \
error.o pageelems.o tooltip.o play_recording.o \
- searchtimers.o infobox.o edit_searchtimer.o \
- searchresults.o login.o searchepg.o
+ searchtimers.o infobox.o edit_searchtimer.o \
+ searchresults.o login.o searchepg.o \
+ ibox.o ibox_status.o
### Default rules:
diff --git a/pages/edit_searchtimer.ecpp b/pages/edit_searchtimer.ecpp
index 92b6170..c1e2695 100644
--- a/pages/edit_searchtimer.ecpp
+++ b/pages/edit_searchtimer.ecpp
@@ -92,8 +92,8 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}>
<%cpp>
-#define SELECTIF(x) reply.out() << ( (x) ? "selected=\"selected\"" : "" );
-#define CHECKIF(x) reply.out() << ( (x) ? "checked=\"checked\"" : "" );
+#define SELECTIF(x) reply.out() << ( (x) ? "selected=\"selected\"" : "" );
+#define CHECKIF(x) reply.out() << ( (x) ? "checked=\"checked\"" : "" );
SearchTimers searchtimers;
searchtimer = 0;
@@ -130,7 +130,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
infos.push_back(os.str());
}
searchtimer->SetExtEPGInfo(infos);
- }
+ }
searchtimer->SetUseChannel((SearchTimer::eUseChannel)usechannel);
if (usechannel == SearchTimer::Interval)
{
@@ -139,19 +139,19 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}
if (usechannel == SearchTimer::Group)
searchtimer->SetChannelText(changrpsel);
-
+
searchtimer->SetUseTime(usetime);
if (usetime)
{
searchtimer->SetStartTime(StringToInt(start_h) * 100 + StringToInt(start_m));
searchtimer->SetStopTime(StringToInt(stop_h) * 100 + StringToInt(stop_m));
- }
+ }
searchtimer->SetUseDuration(useduration);
if (useduration)
{
searchtimer->SetMinDuration(durationmin);
searchtimer->SetMaxDuration(durationmax);
- }
+ }
searchtimer->SetUseDayOfWeek(useweekday);
if (useweekday)
{
@@ -167,7 +167,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}
searchtimer->SetUseInFavorites(useinfavorites);
searchtimer->SetUseAsSearchTimer(useassearchtimer);
- searchtimer->SetSearchTimerAction(searchtimeraction);
+ searchtimer->SetSearchTimerAction(searchtimeraction);
searchtimer->SetUseSeriesRecording(seriesrecording);
searchtimer->SetDirectory(directory);
searchtimer->SetDelRecsAfterDays(delrecafterdays);
@@ -176,9 +176,9 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
searchtimer->SetBlacklistMode(blacklistmode);
if (blacklistmode == 1)
searchtimer->ParseBlacklist(blacklistids_internal);
-
+
searchtimer->SetSwitchMinBefore(switchminbefore);
-
+
searchtimer->SetAvoidRepeats(avoidrepeats);
if (avoidrepeats)
{
@@ -187,21 +187,21 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
searchtimer->SetCompareTitle(comparetitle);
searchtimer->SetCompareSubtitle(comparesubtitle);
searchtimer->SetCompareSummary(comparesummary);
- }
- unsigned long catsselected = 0;
+ }
+ unsigned long catsselected = 0;
for (unsigned int i=0; i< avoidrepeatscatselected.size(); i++)
catsselected |= (1<< (avoidrepeatscatselected[i]-1));
-
+
searchtimer->SetCompareCategories(catsselected);
searchtimer->SetPriority(priority);
searchtimer->SetLifetime(lifetime);
searchtimer->SetMarginStart(marginstart);
searchtimer->SetMarginStop(marginstop);
searchtimer->SetUseVPS(usevps);
-
+
if (!testmode)
{
- searchtimers.Save(searchtimer);
+ searchtimers.Save(searchtimer);
return reply.redirect("searchtimers.html");
}
else
@@ -214,7 +214,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
pageTitle = searchtimer ? tr("Edit search timer") : tr("New search timer");
if ( searchtimer != 0 ) {
- search = searchtimer->Search();
+ search = searchtimer->Search();
mode = searchtimer->SearchMode();
tolerance = searchtimer->Tolerance();
matchcase = searchtimer->MatchCase();
@@ -263,18 +263,18 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}
else
{
- wday_sun = -dayofweek & 0x01;
- wday_mon = -dayofweek & 0x02;
- wday_tue = -dayofweek & 0x04;
- wday_wed = -dayofweek & 0x08;
- wday_thu = -dayofweek & 0x10;
- wday_fri = -dayofweek & 0x20;
- wday_sat = -dayofweek & 0x40;
+ wday_sun = -dayofweek & 0x01;
+ wday_mon = -dayofweek & 0x02;
+ wday_tue = -dayofweek & 0x04;
+ wday_wed = -dayofweek & 0x08;
+ wday_thu = -dayofweek & 0x10;
+ wday_fri = -dayofweek & 0x20;
+ wday_sat = -dayofweek & 0x40;
}
- }
+ }
useinfavorites = searchtimer->UseInFavorites();
useassearchtimer = searchtimer->UseAsSearchTimer();
- searchtimeraction = searchtimer->SearchTimerAction();
+ searchtimeraction = searchtimer->SearchTimerAction();
seriesrecording = searchtimer->UseSeriesRecording();
directory = searchtimer->Directory();
delrecafterdays = searchtimer->DelRecsAfterDays();
@@ -287,7 +287,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
for(unsigned int i=0; i<extEPGInfos.size(); i++)
{
if (i<infos.size())
- {
+ {
vector< string > parts = StringSplit( infos[i], '#' );
extepgvalues.push_back(parts.size() > 1?parts[1]:"");
}
@@ -320,13 +320,15 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
usetitle = true;
usesubtitle = true;
usedescr = true;
- }
+ }
</%cpp>
<& pageelems.doc_type &>
<html>
<head>
- <& pageelems.ajax_js &>
+ <title>VDR Live - <$ searchtimer ? tr("Edit search timer") : tr("New search timer") $></title>
+ <link rel="stylesheet" type="text/css" href="styles.css" />
<& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
+ <& pageelems.ajax_js &>
<script type="text/javascript"><!--
function initform()
@@ -383,10 +385,10 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
function changedsearchtimermode(selection)
{
- document.getElementById("searchtimermode1settings").style.display =
+ document.getElementById("searchtimermode1settings").style.display =
(selection.options[selection.selectedIndex].value == 0 &
document.getElementById("useassearchtimer").checked ? "block" : "none");
- document.getElementById("searchtimermode3settings").style.display =
+ document.getElementById("searchtimermode3settings").style.display =
(selection.options[selection.selectedIndex].value == 2 &
document.getElementById("useassearchtimer").checked ? "block" : "none");
}
@@ -398,15 +400,15 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
function changedextepginfo(selection)
{
- var i;
+ var i;
document.getElementById(selection.name + "_value").value = "";
- for(i=0;i<selection.length;i++)
- {
+ for(i=0;i<selection.length;i++)
+ {
if (selection.options[i].selected)
{
if (document.getElementById(selection.name + "_value").value != "")
document.getElementById(selection.name + "_value").value += ",";
- document.getElementById(selection.name + "_value").value += selection.options[i].value;
+ document.getElementById(selection.name + "_value").value += selection.options[i].value;
}
}
}
@@ -418,21 +420,21 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
function changedblacklistmode(selection)
{
- document.getElementById("blacklistmodesettings").style.display =
+ document.getElementById("blacklistmodesettings").style.display =
(selection.options[selection.selectedIndex].value == 1 ? "block" : "none");
}
function changedblacklistsel(selection)
{
- var i;
+ var i;
document.getElementById("blacklistids_internal").value = "";
- for(i=0;i<selection.length;i++)
- {
+ for(i=0;i<selection.length;i++)
+ {
if (selection.options[i].selected)
{
if (document.getElementById("blacklistids_internal").value != "")
document.getElementById("blacklistids_internal").value += "|";
- document.getElementById("blacklistids_internal").value += selection.options[i].value;
+ document.getElementById("blacklistids_internal").value += selection.options[i].value;
}
}
}
@@ -441,16 +443,10 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
document.getElementById("directory").value = selection.value;
}
//--></script>
-
- <title>VDR Live - <$ searchtimer ? tr("Edit search timer") : tr("New search timer") $></title>
- <link rel="stylesheet" type="text/css" href="styles.css" />
</head>
- <body onload="initform()">
- <div class="left_area">
- <& pageelems.logo &>
- <& menu active=("searchtimers") &>
- </div>
- <div class="right_area">
+ <body onload="<& pageelems.infobox_start_update &>; initform()">
+ <& pageelems.logo &>
+ <& menu active=("searchtimers") &>
<div class="inhalt">
<form method="POST" name="edit_searchtimer" action="edit_searchtimer.ecpp">
<input type="hidden" name="searchtimerid" value="<$ searchtimerid $>"/>
@@ -459,7 +455,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<tr>
<td class="head" colspan="4"><div class="boxheader"><div><div><$ searchtimer ? tr("Edit search timer") : tr("New search timer") $></div></div></div></td>
</tr>
-
+
<!-- Search term -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
@@ -467,7 +463,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td><input type="text" name="search" value="<$ search $>" size="90" id="searchterm" /></td>
<td class="border" style="border-right: 1px solid black"></td>
</tr>
-
+
<!-- Search mode -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
@@ -498,7 +494,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td><input type="checkbox" name="matchcase" value="1" <{ CHECKIF(matchcase) }> id="matchcase"/></td>
<td class="border" style="border-right: 1px solid black"></td>
</tr>
-
+
<!-- Search in -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
@@ -506,10 +502,10 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td>
<input type="checkbox" name="usetitle" value="1" <{ CHECKIF(usetitle) }> />
<label for="usetitle"><$ tr("Title") $> </label>
-
+
<input type="checkbox" name="usesubtitle" value="1" <{ CHECKIF(usesubtitle) }> />
<label for="usesubtitle"><$ tr("Episode") $> </label>
-
+
<input type="checkbox" name="usedescr" value="1" <{ CHECKIF(usedescr) }> />
<label for="usedescr"><$ tr("Description") $> </label>
</td>
@@ -525,7 +521,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<input type="checkbox" name="useextepginfo" value="1" <{ CHECKIF(useextepginfo) }> onclick="changeduseextepginfo(this)" id="useextepginfo"/>
<div id="use_extepg_settings" style="display: none">
<table border="0" cellspacing="0" cellpadding="0">
-% int i=0; for (ExtEPGInfos::iterator extinfo = extEPGInfos.begin(); extinfo != extEPGInfos.end(); ++extinfo, i++) {
+% int i=0; for (ExtEPGInfos::iterator extinfo = extEPGInfos.begin(); extinfo != extEPGInfos.end(); ++extinfo, i++) {
<tr valign="top">
<td align="left" valign="top"><$ extinfo->Name() $></td>
<td align="left" valign="top">
@@ -559,21 +555,21 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td class="border" style="border-left: 1px solid black"></td>
<td class="label"><$ tr("Use channel" ) $>:</td>
<td>
-
+
<select onchange="changedchannelmode(this)" name="usechannel" size="1" id="channel_mode">
<option value="0" <{ SELECTIF(usechannel == 0) }> ><$ tr("no") $></option>
<option value="1" <{ SELECTIF(usechannel == 1) }> ><$ tr("interval") $></option>
<option value="2" <{ SELECTIF(usechannel == 2) }> ><$ tr("channel group") $></option>
<option value="3" <{ SELECTIF(usechannel == 3) }> ><$ tr("only FTA") $></option>
</select>
-
+
<div id="channelinterval" style="display: none;" class="dependent">
<$ tr("from channel" ) $>:
<& channels_widget name=("channelfrom") channelid=(true) selected=(channelfrom) &><br />
<$ tr("to channel" ) $>:
<& channels_widget name=("channelto") channelid=(true) selected=(channelto) &>
</div>
-
+
<div id="channelgroup" style="display: none">
% if (channelGroups.size() > 0) {
<select name="changrpsel" size="1" id="changrpsel">
@@ -590,7 +586,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<!-- Use time -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Use time") $>:</td>
+ <td class="label"><$ tr("Use time") $>:</td>
<td>
<input type="checkbox" name="usetime" value="1" <{ CHECKIF(usetime) }> onclick="changedusetime(this)" id="usetime" />
<div id="timesettings" style="display: none">
@@ -618,7 +614,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<!-- Use duration -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Use duration") $>:</td>
+ <td class="label"><$ tr("Use duration") $>:</td>
<td>
<input type="checkbox" name="useduration" value="1" <{ CHECKIF(useduration) }> onclick="changeduseduration(this)" id="useduration" />
<div id="durationsettings" style="display: none">
@@ -636,11 +632,11 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
</td>
<td class="border" style="border-right: 1px solid black"></td>
</tr>
-
+
<!-- Use weekday -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Use day of week") $>:</td>
+ <td class="label"><$ tr("Use day of week") $>:</td>
<td>
<input type="checkbox" name="useweekday" value="1" <{ CHECKIF(useweekday) }> onclick="changeduseweekday(this)" id="useweekday" />
<div id="weekdaysettings" style="display: none" class="dependent">
@@ -659,7 +655,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<!-- Use blacklists -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Use blacklists" ) $>:</td>
+ <td class="label"><$ tr("Use blacklists" ) $>:</td>
<td>
<select onchange="changedblacklistmode(this)" name="blacklistmode" size="1" id="blacklistmode">
<option value="0" <{ SELECTIF(blacklistmode == 0) }> ><$ tr("no") $></option>
@@ -690,7 +686,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<!-- Use as search timer -->
<tr>
<td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Use as search timer" ) $>:</td>
+ <td class="label"><$ tr("Use as search timer" ) $>:</td>
<td>
<div style="float:left; max-width:50%; margin-right:20px">
<input type="checkbox" name="useassearchtimer" value="1" <{ CHECKIF(useassearchtimer) }> onclick="changeduseassearchtimer(this)" id="useassearchtimer"/>
@@ -708,7 +704,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td><$ tr("Series recording") $>:</td>
<td><input type="checkbox" name="seriesrecording" value="1" <{ CHECKIF(seriesrecording) }>/></td>
</tr>
-
+
<tr>
<td><$ tr("Directory") $>:</td>
<td><input type="text" name="directory" id="directory" value="<$ directory $>" size="70" /><br>
@@ -720,7 +716,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
</select>
</td>
</tr>
-
+
<tr>
<td><$ tr("Delete recordings after ... days") $>:</td>
<td>
@@ -729,14 +725,14 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<input type="text" name="keeprecs" size="2" value="<$ keeprecs $>"/>
</td>
</tr>
-
+
<tr>
<td><$ tr("Pause when ... recordings exist") $>:</td>
<td><input type="text" name="pauseonrecs" id="pauseonrecs" size="2" value="<$ pauseonrecs $>"/></td>
</tr>
-
+
<tr>
- <td><$ tr("Avoid repeats" ) $>:</td>
+ <td><$ tr("Avoid repeats" ) $>:</td>
<td><input type="checkbox" name="avoidrepeats" value="1" <{ CHECKIF(avoidrepeats) }> onclick="changedavoidrepeats(this)" id="avoidrepeats"/>
<div id="avoidrepeatssettings" style="display: none">
<table border="0" cellpadding="0" cellspacing="0">
@@ -746,9 +742,9 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<input type="text" size="3" maxlength="3" name="allowedrepeats" value="<$ allowedrepeats $>" /> <$ tr("Only repeats within ... days") $>:<input type="text" size="3" maxlength="3" name="repeatswithindays" value="<$ repeatswithindays $>" />
</td>
</tr>
-
+
<tr>
- <td><$ tr("Compare title" ) $>:</td>
+ <td><$ tr("Compare title" ) $>:</td>
<td><input type="checkbox" name="comparetitle" value="1" <{ CHECKIF(comparetitle) }>/>
</tr>
@@ -756,9 +752,9 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td><$ tr("Compare subtitle" ) $>:</td>
<td><input type="checkbox" name="comparesubtitle" value="1" <{ CHECKIF(comparesubtitle) }>/>
</tr>
-
+
<tr>
- <td><$ tr("Compare summary" ) $>:</td>
+ <td><$ tr("Compare summary" ) $>:</td>
<td><input type="checkbox" name="comparesummary" value="1" <{ CHECKIF(comparesummary) }>/>
</tr>
@@ -779,22 +775,22 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<td><$ tr("Priority") $>:</td>
<td><input type="text" name="priority" size="2" value="<$ priority $>"/></td>
</tr>
-
+
<tr>
<td><$ tr("Lifetime") $>:</td>
<td><input type="text" name="lifetime" size="2" value="<$ lifetime $>"/></td>
</tr>
-
+
<tr>
<td><$ tr("Setup.Recording$Margin at start (min)") $>:</td>
<td><input type="text" name="marginstart" size="2" value="<$ marginstart $>"/></td>
</tr>
-
+
<tr>
<td><$ tr("Setup.Recording$Margin at stop (min)") $>:</td>
<td><input type="text" name="marginstop" size="2" value="<$ marginstop $>"/></td>
</tr>
-
+
<tr>
<td class="blank"><$ tr("Use VPS") $>:</td>
<td class="blank"><input type="checkbox" name="usevps" value="1" <{ CHECKIF(usevps) }>/></td>
@@ -826,7 +822,6 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
</table>
</form>
</div>
- </div>
</body>
</html>
<%include>page_exit.eh</%include>
diff --git a/pages/edit_timer.ecpp b/pages/edit_timer.ecpp
index 734a531..843e4af 100644
--- a/pages/edit_timer.ecpp
+++ b/pages/edit_timer.ecpp
@@ -117,13 +117,12 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<head>
<title>VDR Live - <$ timer ? tr("Edit timer") : tr("New timer") $></title>
<link rel="stylesheet" type="text/css" href="styles.css" />
+ <& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
+ <& pageelems.ajax_js &>
</head>
- <body>
- <div class="left_area">
- <& pageelems.logo &>
- <& menu active=("timers") &>
- </div>
- <div class="right_area">
+ <body onload="<& pageelems.infobox_start_update &>">
+ <& pageelems.logo &>
+ <& menu active=("timers") &>
<div class="inhalt">
<form method="POST" name="edit_timer" action="edit_timer.ecpp">
<input type="hidden" name="timerid" value="<$ timerid $>"/>
@@ -224,7 +223,6 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
</table>
</form>
</div>
- </div>
</body>
</html>
<%include>page_exit.eh</%include>
diff --git a/pages/infobox.ecpp b/pages/ibox.ecpp
index afc44b4..badd690 100644
--- a/pages/infobox.ecpp
+++ b/pages/ibox.ecpp
@@ -14,13 +14,17 @@ using namespace vdrlive;
using namespace std;
</%pre>
-<%include>page_init.eh</%include>
-<{
+<%args>
+ int update;
+</%args>
+<%cpp>
EpgEvents epgEvents;
string EMPTY_STR;
tChannelID prev_chan;
tChannelID next_chan;
+ reply.setContentType( "application/xml" );
+
if (cReplayControl::NowReplaying()) {
cThreadLock RecordingsLock(&Recordings);
cRecording *Recording = Recordings.GetByName(cReplayControl::NowReplaying());
@@ -44,8 +48,6 @@ using namespace std;
if (cDevice::CurrentChannel()) {
cChannel* Channel = Channels.GetByNumber(cDevice::CurrentChannel());
- if (!Channel)
- throw HtmlError("got invalid channel number!");
cChannel* tmp = Channels.GetByNumber(Channels.GetPrevNormal(cDevice::CurrentChannel()));
if (tmp)
@@ -116,26 +118,60 @@ using namespace std;
EpgEventPtr epg = *i;
if (prev_chan.Valid() && next_chan.Valid())
{
-}>
- <& pageelems.status_box type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) next_chan=(next_chan) &>
-<{
+</%cpp>
+<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) next_chan=(next_chan) &>
+<%cpp>
}
else if (prev_chan.Valid()) {
-}>
- <& pageelems.status_box type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) &>
-<{
+</%cpp>
+<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) &>
+<%cpp>
}
else if (next_chan.Valid()) {
-}>
- <& pageelems.status_box type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) next_chan=(next_chan) &>
-<{
+</%cpp>
+<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) next_chan=(next_chan) &>
+<%cpp>
}
else {
-}>
- <& pageelems.status_box type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) &>
-<{
+</%cpp>
+<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) &>
+<%cpp>
}
break;
}
-}>
-<%include>page_exit.eh</%include>
+</%cpp>
+
+<%def xmlresponse>
+<%args>
+ int update;
+ string type;
+ string currentTime;
+ string caption;
+ string title;
+ string duration;
+ int elapsed;
+ string prev_chan;
+ string next_chan;
+</%args>
+<?xml version="1.0"?>
+<service>
+ <request name="ibox">
+ <param name="update"><$ update $></param>
+ </request>
+ <response>1</response>
+ <error></error>
+ <values>
+ <update><$ update $></update>
+ <epginfo>
+ <type><$ type $></type>
+ <caption><$ caption $></caption>
+ <timenow><$ currentTime $></timenow>
+ <name><$ title $></name>
+ <duration><$ duration $></duration>
+ <elapsed><$ elapsed $></elapsed>
+ <nextchan><$ next_chan $></nextchan>
+ <prevchan><$ prev_chan $></prevchan>
+ </epginfo>
+ </values>
+</service>
+</%def>
diff --git a/pages/menu.ecpp b/pages/menu.ecpp
index cc81879..fb6b2f9 100644
--- a/pages/menu.ecpp
+++ b/pages/menu.ecpp
@@ -30,6 +30,9 @@ std::string set_component;
% }
<a href="recordings.html" <& menu.setactive current=("recordings") &>><$ tr("Recordings") $></a> |
<a href="remote.html" <& menu.setactive current=("remote") &>><$ tr("Remote Control") $></a>
+<!-- Used by D.H. to test infobox (not part of the released version)
+ | <a href="ibox_status.html" <& menu.setactive current=("status") &>><$ tr("Status Test") $></a>
+-->
% if (LiveSetup().UseAuth()) {
| <a id="login" href="login.html?action=logout"><$ tr("Logout") $></a>
% }
diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp
index 6ed608a..6f70d94 100644
--- a/pages/pageelems.ecpp
+++ b/pages/pageelems.ecpp
@@ -3,6 +3,7 @@
#include <vdr/menu.h>
#include <vdr/epg.h>
#include "tools.h"
+#include "i18n.h"
using namespace std;
using namespace vdrlive;
@@ -20,19 +21,64 @@ using namespace vdrlive;
<%def logo>
<div class="page_header">
<img src="logo.png" alt="VDR Live!" class="logo"/>
- <div id="infobox">
- </div>
+ <& infobox &>
</div>
<div style="clear: both"></div>
</%def>
<# ---------------------------------------------------------------------- #>
+<%def infobox>
+<div id="infobox">
+ <div class="statuscontent">
+ <div class="st_header">
+ <div id="infobox_caption" class="caption"><$ tr("retrieving status ...") $></div>
+ <div id="infobox_timenow" class="now">--:--</div>
+ </div>
+ <div class="st_content">
+ <div id="infobox_name" class="name"></div>
+ <div id="infobox_duration" class="duration">--:--</div>
+ </div>
+ <div class="st_controls">
+ <div class="st_btns">
+ <a href="javascript:LiveStatusToggleUpdate()" <& tooltip.hint text=(tr("Stop updates")) &>><img id="statusReloadBtn" src="stop.png" alt="" /></a>
+ <span id="infobox_recording_buttons" style="display: none"></span>
+ <span id="infobox_channel_buttons">
+ <& ajax_action_href action=("switch_channel") id=("infobox_prevchan") image=("one_downarrow.png") tip=(tr("previous channel")) &>
+ <& ajax_action_href action=("switch_channel") id=("infobox_nextchan") image=("one_uparrow.png") tip=(tr("next channel")) &>
+ </span>
+ </div>
+ <div class="st_pbar">
+ <& progressbar id=("infobox_elapsed") &>
+ </div>
+ </div>
+ </div>
+</div>
+</%def>
+
+<# ---------------------------------------------------------------------- #>
+
+<%def infobox_start_update>
+<%cpp> { </%cpp>LiveStatusRequest('ibox.xml', 'infobox')<%cpp> } </%cpp>
+</%def>
+
+<# ---------------------------------------------------------------------- #>
+
+<%def hide_element>
+<%args>
+ bool hide = true;
+</%args>
+<%cpp> if (hide) { </%cpp>style="visibility: hidden"<%cpp> } </%cpp>
+</%def>
+
+<# ---------------------------------------------------------------------- #>
+
<%def progressbar>
<%args>
- string progress;
+ string progress = "0";
+ string id;
</%args>
-<div class="__progress"><div class="__elapsed" style="width: <$ progress $>px"></div></div>
+<div class="__progress"><div class="__elapsed" <? !id.empty() ? "id=" + id ?> style="width: <$ progress $>px"></div></div>
</%def>
<# ---------------------------------------------------------------------- #>
@@ -61,8 +107,9 @@ using namespace vdrlive;
string param;
string image;
string alt;
+ string id;
</%args>
- <a href="javascript:LiveSimpleAjaxRequest('<$ action $>.xml', 'param', '<$ param $>');" <%cpp>if (!tip.empty()) { </%cpp><& tooltip.hint text=(tip) &> <%cpp> } </%cpp>><img src="<$ image $>" alt="<$ alt $>" /></a>
+<%cpp> { </%cpp> <a <? !id.empty() ? "id=" + id ?> <& hide_element hide=(!id.empty()) &> href="javascript:LiveSimpleAjaxRequest('<$ action $>.xml', 'param', '<$ param $>');" <%cpp>if (!tip.empty()) { </%cpp><& tooltip.hint text=(tip) &> <%cpp> } </%cpp>><img src="<$ image $>" alt="<$ alt $>" /></a> <%cpp> } </%cpp>
</%def>
<# ---------------------------------------------------------------------- #>
diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
index d9c620d..87c534e 100644
--- a/pages/recordings.ecpp
+++ b/pages/recordings.ecpp
@@ -38,7 +38,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<& pageelems.ajax_js &>
<script type="text/javascript" language="javascript" src="treeview.js"></script>
</head>
- <body onload="LiveStatusAjaxRequest('infobox.html', 'infobox')">
+ <body onload="<& pageelems.infobox_start_update &>">
<& pageelems.logo &>
<& menu active=("recordings") &>
<div class="inhalt">
diff --git a/pages/remote.ecpp b/pages/remote.ecpp
index c8293aa..354f9b6 100644
--- a/pages/remote.ecpp
+++ b/pages/remote.ecpp
@@ -70,7 +70,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}
//--></script>
</head>
- <body onload="StreamInit(); FillIntervals(); LiveStatusAjaxRequest('infobox.html', 'infobox')">
+ <body onload="StreamInit(); FillIntervals(); <& pageelems.infobox_start_update &>">
<& pageelems.logo &>
<& menu active="remote" component=("remote.remote_actions")>
<div class="inhalt">
diff --git a/pages/schedule.ecpp b/pages/schedule.ecpp
index db775d3..1de1e66 100644
--- a/pages/schedule.ecpp
+++ b/pages/schedule.ecpp
@@ -55,7 +55,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
<& pageelems.ajax_js &>
</head>
- <body onload="LiveStatusAjaxRequest('infobox.html', 'infobox')">
+ <body onload="<& pageelems.infobox_start_update &>">
<& pageelems.logo &>
<& menu active=("schedule") component=("schedule.channel_selection")>
<div class="inhalt">
diff --git a/pages/searchepg.ecpp b/pages/searchepg.ecpp
index bb33c91..da86589 100644
--- a/pages/searchepg.ecpp
+++ b/pages/searchepg.ecpp
@@ -69,8 +69,8 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}>
<%cpp>
-#define SELECTIF(x) reply.out() << ( (x) ? "selected=\"selected\"" : "" );
-#define CHECKIF(x) reply.out() << ( (x) ? "checked=\"checked\"" : "" );
+#define SELECTIF(x) reply.out() << ( (x) ? "selected=\"selected\"" : "" );
+#define CHECKIF(x) reply.out() << ( (x) ? "checked=\"checked\"" : "" );
searchtimer = 0;
@@ -96,7 +96,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
infos.push_back(os.str());
}
searchtimer.SetExtEPGInfo(infos);
- }
+ }
searchtimer.SetUseChannel((SearchTimer::eUseChannel)usechannel);
if (usechannel == SearchTimer::Interval)
{
@@ -105,19 +105,19 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}
if (usechannel == SearchTimer::Group)
searchtimer.SetChannelText(changrpsel);
-
+
searchtimer.SetUseTime(usetime);
if (usetime)
{
searchtimer.SetStartTime(StringToInt(start_h) * 100 + StringToInt(start_m));
searchtimer.SetStopTime(StringToInt(stop_h) * 100 + StringToInt(stop_m));
- }
+ }
searchtimer.SetUseDuration(useduration);
if (useduration)
{
searchtimer.SetMinDuration(durationmin);
searchtimer.SetMaxDuration(durationmax);
- }
+ }
searchtimer.SetUseDayOfWeek(useweekday);
if (useweekday)
{
@@ -134,7 +134,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
searchtimer.SetBlacklistMode(blacklistmode);
if (blacklistmode == 1)
searchtimer.ParseBlacklist(blacklistids_internal);
-
+
searchtimer.SetId(0);
string md5 = SearchResults::AddQuery(searchtimer.ToText());
return reply.redirect("searchresults.html?searchtimerquery=" + md5);
@@ -150,8 +150,10 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<& pageelems.doc_type &>
<html>
<head>
- <& pageelems.ajax_js &>
+ <title>VDR Live - <$ tr("Search") $></title>
+ <link rel="stylesheet" type="text/css" href="styles.css" />
<& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
+ <& pageelems.ajax_js &>
<script type="text/javascript"><!--
function initform()
@@ -211,279 +213,272 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
function changedextepginfo(selection)
{
- var i;
+ var i;
document.getElementById(selection.name + "_value").value = "";
- for(i=0;i<selection.length;i++)
- {
+ for(i=0;i<selection.length;i++)
+ {
if (selection.options[i].selected)
{
if (document.getElementById(selection.name + "_value").value != "")
document.getElementById(selection.name + "_value").value += ",";
- document.getElementById(selection.name + "_value").value += selection.options[i].value;
+ document.getElementById(selection.name + "_value").value += selection.options[i].value;
}
}
}
function changedblacklistmode(selection)
{
- document.getElementById("blacklistmodesettings").style.display =
+ document.getElementById("blacklistmodesettings").style.display =
(selection.options[selection.selectedIndex].value == 1 ? "block" : "none");
}
function changedblacklistsel(selection)
{
- var i;
+ var i;
document.getElementById("blacklistids_internal").value = "";
- for(i=0;i<selection.length;i++)
- {
+ for(i=0;i<selection.length;i++)
+ {
if (selection.options[i].selected)
{
if (document.getElementById("blacklistids_internal").value != "")
document.getElementById("blacklistids_internal").value += "|";
- document.getElementById("blacklistids_internal").value += selection.options[i].value;
+ document.getElementById("blacklistids_internal").value += selection.options[i].value;
}
}
}
//--></script>
-
- <title>VDR Live - <$ tr("Search") $></title>
- <link rel="stylesheet" type="text/css" href="styles.css" />
</head>
- <body onload="initform()">
- <div class="left_area">
- <& pageelems.logo &>
- <& menu active=("searchepg") &>
- </div>
- <div class="right_area">
- <div class="inhalt">
- <form method="POST" name="searchepg" action="searchepg.ecpp">
- <input type="hidden" name="blacklistids_internal" value="<$ blacklistids_internal $>" id="blacklistids_internal"/>
- <table class="edit" cellpadding="0" cellspacing="0">
+ <body onload="<& pageelems.infobox_start_update &>; initform()">
+ <& pageelems.logo &>
+ <& menu active=("searchepg") &>
+ <div class="inhalt">
+ <form method="POST" name="searchepg" action="searchepg.ecpp">
+ <input type="hidden" name="blacklistids_internal" value="<$ blacklistids_internal $>" id="blacklistids_internal"/>
+ <table class="edit" cellpadding="0" cellspacing="0">
+ <tr>
+ <td class="head" colspan="4"><div class="boxheader"><div><div><$ tr("Search settings") $></div></div></div></td>
+ </tr>
+
+ <!-- Search term -->
+ <tr>
+ <td class="border" style="border-left: 1px solid black"></td>
+ <td class="label"><$ tr("Search term") $>:</td>
+ <td><input type="text" name="search" value="<$ search $>" size="90" id="searchterm" /></td>
+ <td class="border" style="border-right: 1px solid black"></td>
+ </tr>
+ <tr>
+ <td class="border" style="border-left: 1px solid black"></td>
+ <td class="label"><$ tr("Extended search") $>:</td>
+ <td>
+ <input type="checkbox" name="useextendedsearch" value="1" <{ CHECKIF(useextendedsearch) }> onclick="changeduseextendedsearch(this)" id="useextendedsearch"/>
+ <div id="extendedsearch" style="display: none">
+ <table class="dependent" border="0" cellpadding="0" cellspacing="0">
+ <!-- Search mode -->
+ <tr>
+ <td class="label"><$ tr("Search mode" ) $>:</td>
+ <td>
+ <div style="float:left; max-width:50%; margin-right:20px">
+ <select onchange="changedsearchmode(this)" name="mode" size="1" id="search_mode">
+ <option value="0" <{ SELECTIF(mode == 0) }> ><$ tr("phrase") $></option>
+ <option value="1" <{ SELECTIF(mode == 1) }> ><$ tr("all words") $></option>
+ <option value="2" <{ SELECTIF(mode == 2) }> ><$ tr("at least one word") $></option>
+ <option value="3" <{ SELECTIF(mode == 3) }> ><$ tr("match exactly") $></option>
+ <option value="4" <{ SELECTIF(mode == 4) }> ><$ tr("regular expression") $></option>
+ <option value="5" <{ SELECTIF(mode == 5) }> ><$ tr("fuzzy") $></option>
+ </select>
+ </div>
+ <div id="tolerance" style="display: none">
+ <$ tr("Tolerance" ) $>:
+ <input type="text" name="tolerance" size="2" value="<$ tolerance $>" />
+ </div>
+ </td>
+ </tr>
+
+ <!-- Match case -->
<tr>
- <td class="head" colspan="4"><div class="boxheader"><div><div><$ tr("Search settings") $></div></div></div></td>
+ <td class="label"><$ tr("Match case") $>:</td>
+ <td><input type="checkbox" name="matchcase" value="1" <{ CHECKIF(matchcase) }> id="matchcase"/></td>
</tr>
-
- <!-- Search term -->
+
+ <!-- Search in -->
<tr>
- <td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Search term") $>:</td>
- <td><input type="text" name="search" value="<$ search $>" size="90" id="searchterm" /></td>
- <td class="border" style="border-right: 1px solid black"></td>
+ <td class="label"><$ tr("Search in") $>:</td>
+ <td>
+ <input type="checkbox" name="usetitle" value="1" <{ CHECKIF(usetitle) }> />
+ <label for="usetitle"><$ tr("Title") $> </label>
+
+ <input type="checkbox" name="usesubtitle" value="1" <{ CHECKIF(usesubtitle) }> />
+ <label for="usesubtitle"><$ tr("Episode") $> </label>
+
+ <input type="checkbox" name="usedescr" value="1" <{ CHECKIF(usedescr) }> />
+ <label for="usedescr"><$ tr("Description") $> </label>
+ </td>
</tr>
+
+% if (extEPGInfos.size() > 0) {
+ <!-- Use ext. EPG categories -->
<tr>
- <td class="border" style="border-left: 1px solid black"></td>
- <td class="label"><$ tr("Extended search") $>:</td>
+ <td class="label"><$ tr("Use extended EPG info" ) $>:</td>
<td>
- <input type="checkbox" name="useextendedsearch" value="1" <{ CHECKIF(useextendedsearch) }> onclick="changeduseextendedsearch(this)" id="useextendedsearch"/>
- <div id="extendedsearch" style="display: none">
- <table class="dependent" border="0" cellpadding="0" cellspacing="0">
- <!-- Search mode -->
- <tr>
- <td class="label"><$ tr("Search mode" ) $>:</td>
- <td>
- <div style="float:left; max-width:50%; margin-right:20px">
- <select onchange="changedsearchmode(this)" name="mode" size="1" id="search_mode">
- <option value="0" <{ SELECTIF(mode == 0) }> ><$ tr("phrase") $></option>
- <option value="1" <{ SELECTIF(mode == 1) }> ><$ tr("all words") $></option>
- <option value="2" <{ SELECTIF(mode == 2) }> ><$ tr("at least one word") $></option>
- <option value="3" <{ SELECTIF(mode == 3) }> ><$ tr("match exactly") $></option>
- <option value="4" <{ SELECTIF(mode == 4) }> ><$ tr("regular expression") $></option>
- <option value="5" <{ SELECTIF(mode == 5) }> ><$ tr("fuzzy") $></option>
- </select>
- </div>
- <div id="tolerance" style="display: none">
- <$ tr("Tolerance" ) $>:
- <input type="text" name="tolerance" size="2" value="<$ tolerance $>" />
- </div>
- </td>
- </tr>
-
- <!-- Match case -->
- <tr>
- <td class="label"><$ tr("Match case") $>:</td>
- <td><input type="checkbox" name="matchcase" value="1" <{ CHECKIF(matchcase) }> id="matchcase"/></td>
- </tr>
-
- <!-- Search in -->
- <tr>
- <td class="label"><$ tr("Search in") $>:</td>
- <td>
- <input type="checkbox" name="usetitle" value="1" <{ CHECKIF(usetitle) }> />
- <label for="usetitle"><$ tr("Title") $> </label>
-
- <input type="checkbox" name="usesubtitle" value="1" <{ CHECKIF(usesubtitle) }> />
- <label for="usesubtitle"><$ tr("Episode") $> </label>
-
- <input type="checkbox" name="usedescr" value="1" <{ CHECKIF(usedescr) }> />
- <label for="usedescr"><$ tr("Description") $> </label>
- </td>
- </tr>
-
-% if (extEPGInfos.size() > 0) {
- <!-- Use ext. EPG categories -->
- <tr>
- <td class="label"><$ tr("Use extended EPG info" ) $>:</td>
- <td>
- <input type="checkbox" name="useextepginfo" value="1" <{ CHECKIF(useextepginfo) }> onclick="changeduseextepginfo(this)" id="useextepginfo"/>
- <div id="use_extepg_settings" style="display: none">
- <table border="0" cellspacing="0" cellpadding="0">
-% int i=0; for (ExtEPGInfos::iterator extinfo = extEPGInfos.begin(); extinfo != extEPGInfos.end(); ++extinfo, i++) {
- <tr valign="top">
- <td align="left" valign="top"><$ extinfo->Name() $></td>
- <td align="left" valign="top">
- <input type="text" name="extepgvalues" value="<$extepgvalues[i]$>" size="10" id="extepg_<{ reply.out() << extinfo->Id(); }>_value"/>
- </td>
-% if (extinfo->Values().size() > 0) {
- <td>
- <select size="3" multiple="multiple" align="left" valign="top" name="extepg_<{ reply.out() << extinfo->Id(); }>" onchange="changedextepginfo(this)">
-% for (unsigned int j=0; j<extinfo->Values().size(); j++) {
- <option value="<{ reply.out() << extinfo->Values()[j];}>"
-% if (extinfo->Selected(j, extepgvalues[i])) {
- selected="selected"
-% }
- > <{ reply.out() << extinfo->Values()[j]; }> </option>
-% }
- </select>
- </td>
- </tr>
-% }
+ <input type="checkbox" name="useextepginfo" value="1" <{ CHECKIF(useextepginfo) }> onclick="changeduseextepginfo(this)" id="useextepginfo"/>
+ <div id="use_extepg_settings" style="display: none">
+ <table border="0" cellspacing="0" cellpadding="0">
+% int i=0; for (ExtEPGInfos::iterator extinfo = extEPGInfos.begin(); extinfo != extEPGInfos.end(); ++extinfo, i++) {
+ <tr valign="top">
+ <td align="left" valign="top"><$ extinfo->Name() $></td>
+ <td align="left" valign="top">
+ <input type="text" name="extepgvalues" value="<$extepgvalues[i]$>" size="10" id="extepg_<{ reply.out() << extinfo->Id(); }>_value"/>
+ </td>
+% if (extinfo->Values().size() > 0) {
+ <td>
+ <select size="3" multiple="multiple" align="left" valign="top" name="extepg_<{ reply.out() << extinfo->Id(); }>" onchange="changedextepginfo(this)">
+% for (unsigned int j=0; j<extinfo->Values().size(); j++) {
+ <option value="<{ reply.out() << extinfo->Values()[j];}>"
+% if (extinfo->Selected(j, extepgvalues[i])) {
+ selected="selected"
+% }
+ > <{ reply.out() << extinfo->Values()[j]; }> </option>
+% }
+ </select>
+ </td>
+ </tr>
% }
- </table>
- </div>
- </td>
- </tr>
-% }
-
-
- <!-- Use channel -->
- <tr>
- <td class="label"><$ tr("Use channel" ) $>:</td>
- <td>
-
- <select onchange="changedchannelmode(this)" name="usechannel" size="1" id="channel_mode">
- <option value="0" <{ SELECTIF(usechannel == 0) }> ><$ tr("no") $></option>
- <option value="1" <{ SELECTIF(usechannel == 1) }> ><$ tr("interval") $></option>
- <option value="2" <{ SELECTIF(usechannel == 2) }> ><$ tr("channel group") $></option>
- <option value="3" <{ SELECTIF(usechannel == 3) }> ><$ tr("only FTA") $></option>
- </select>
-
- <div id="channelinterval" style="display: none;" class="dependent">
- <$ tr("from channel" ) $>:
- <& channels_widget name=("channelfrom") channelid=(true) selected=(channelfrom) &><br />
- <$ tr("to channel" ) $>:
- <& channels_widget name=("channelto") channelid=(true) selected=(channelto) &>
- </div>
-
- <div id="channelgroup" style="display: none">
-% if (channelGroups.size() > 0) {
- <select name="changrpsel" size="1" id="changrpsel">
-% int i=0; for (ChannelGroups::iterator changrp = channelGroups.begin(); changrp != channelGroups.end(); ++changrp, i++) {
- <option value="<$ changrp->Name() $>" <{ SELECTIF(changrpsel == changrp->Name()) }> ><$ changrp->Name() $></option>
-% }
- </select>
-% }
- </div>
- </td>
- </tr>
-
- <!-- Use time -->
- <tr>
- <td class="label"><$ tr("Use time") $>:</td>
- <td>
- <input type="checkbox" name="usetime" value="1" <{ CHECKIF(usetime) }> onclick="changedusetime(this)" id="usetime" />
- <div id="timesettings" style="display: none">
- <table border="0" cellpadding="0" cellspacing="0" class="dependent">
- <tr>
- <td><$ tr("Start after") $>:</td>
- <td>
- <input type="text" size="2" maxlength="2" name="start_h" value="<$ start_h $>" /> : <input type="text" size="2" maxlength="2" name="start_m" value="<$ start_m $>" />
- <& tooltip.help text=(tr("The time the show may start at the earliest")) &>
- </td>
- </tr>
- <tr>
- <td><$ tr("Start before") $>:</td>
- <td>
- <input type="text" size="2" maxlength="2" name="stop_h" value="<$ stop_h $>" /> : <input type="text" size="2" maxlength="2" name="stop_m" value="<$ stop_m $>" />
- <& tooltip.help text=(tr("The time the show may start at the latest")) &>
- </td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
-
- <!-- Use duration -->
- <tr>
- <td class="label"><$ tr("Use duration") $>:</td>
- <td>
- <input type="checkbox" name="useduration" value="1" <{ CHECKIF(useduration) }> onclick="changeduseduration(this)" id="useduration" />
- <div id="durationsettings" style="display: none">
- <table border="0" cellpadding="0" cellspacing="0" class="dependent">
- <tr>
- <td><$ tr("Min. duration") $>:</td>
- <td><input type="text" size="3" maxlength="3" name="durationmin" value="<$ durationmin $>" /> min</td>
- </tr>
- <tr>
- <td><$ tr("Max. duration") $>:</td>
- <td><input type="text" size="3" maxlength="3" name="durationmax" value="<$ durationmax $>" /> min</td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
-
- <!-- Use weekday -->
- <tr>
- <td class="label"><$ tr("Use day of week") $>:</td>
- <td>
- <input type="checkbox" name="useweekday" value="1" <{ CHECKIF(useweekday) }> onclick="changeduseweekday(this)" id="useweekday" />
- <div id="weekdaysettings" style="display: none" class="dependent">
- <input type="checkbox" name="wday_mon" value="1" <{ CHECKIF(wday_mon) }> /> <$ tr("Monday") $>
- <input type="checkbox" name="wday_tue" value="1" <{ CHECKIF(wday_tue) }> /> <$ tr("Tuesday") $>
- <input type="checkbox" name="wday_wed" value="1" <{ CHECKIF(wday_wed) }> /> <$ tr("Wednesday") $>
- <input type="checkbox" name="wday_thu" value="1" <{ CHECKIF(wday_thu) }> /> <$ tr("Thursday") $>
- <input type="checkbox" name="wday_fri" value="1" <{ CHECKIF(wday_fri) }> /> <$ tr("Friday") $>
- <input type="checkbox" name="wday_sat" value="1" <{ CHECKIF(wday_sat) }> /> <$ tr("Saturday") $>
- <input type="checkbox" name="wday_sun" value="1" <{ CHECKIF(wday_sun) }> /> <$ tr("Sunday") $>
- </div>
- </td>
- </tr>
-
- <!-- Use blacklists -->
- <tr>
- <td class="label"><$ tr("Use blacklists" ) $>:</td>
- <td>
- <select onchange="changedblacklistmode(this)" name="blacklistmode" size="1" id="blacklistmode">
- <option value="0" <{ SELECTIF(blacklistmode == 0) }> ><$ tr("no") $></option>
- <option value="1" <{ SELECTIF(blacklistmode == 1) }> ><$ tr("Selection") $></option>
- <option value="2" <{ SELECTIF(blacklistmode == 2) }> ><$ tr("all") $></option>
- </select>
- <div class="dependent" id="blacklistmodesettings" style="display: none">
-% if (blacklists.size() > 0) {
- <select name="blacklists" multiple="multiple" size="5" onchange="changedblacklistsel(this)">
-% int i=0; for (Blacklists::iterator blacklist = blacklists.begin(); blacklist != blacklists.end(); ++blacklist, i++) {
- <option value="<$ blacklist->Id() $>" <{ SELECTIF(searchtimer && searchtimer->BlacklistSelected(blacklist->Id())) }>><$ blacklist->Search() $></option>
+% }
+ </table>
+ </div>
+ </td>
+ </tr>
+% }
+
+
+ <!-- Use channel -->
+ <tr>
+ <td class="label"><$ tr("Use channel" ) $>:</td>
+ <td>
+
+ <select onchange="changedchannelmode(this)" name="usechannel" size="1" id="channel_mode">
+ <option value="0" <{ SELECTIF(usechannel == 0) }> ><$ tr("no") $></option>
+ <option value="1" <{ SELECTIF(usechannel == 1) }> ><$ tr("interval") $></option>
+ <option value="2" <{ SELECTIF(usechannel == 2) }> ><$ tr("channel group") $></option>
+ <option value="3" <{ SELECTIF(usechannel == 3) }> ><$ tr("only FTA") $></option>
+ </select>
+
+ <div id="channelinterval" style="display: none;" class="dependent">
+ <$ tr("from channel" ) $>:
+ <& channels_widget name=("channelfrom") channelid=(true) selected=(channelfrom) &><br />
+ <$ tr("to channel" ) $>:
+ <& channels_widget name=("channelto") channelid=(true) selected=(channelto) &>
+ </div>
+
+ <div id="channelgroup" style="display: none">
+% if (channelGroups.size() > 0) {
+ <select name="changrpsel" size="1" id="changrpsel">
+% int i=0; for (ChannelGroups::iterator changrp = channelGroups.begin(); changrp != channelGroups.end(); ++changrp, i++) {
+ <option value="<$ changrp->Name() $>" <{ SELECTIF(changrpsel == changrp->Name()) }> ><$ changrp->Name() $></option>
% }
- </select>
+ </select>
% }
- </div>
- </td>
- </tr>
- </table>
- </div>
- </td>
- <td class="border" style="border-right: 1px solid black"></td>
+ </div>
+ </td>
+ </tr>
+
+ <!-- Use time -->
+ <tr>
+ <td class="label"><$ tr("Use time") $>:</td>
+ <td>
+ <input type="checkbox" name="usetime" value="1" <{ CHECKIF(usetime) }> onclick="changedusetime(this)" id="usetime" />
+ <div id="timesettings" style="display: none">
+ <table border="0" cellpadding="0" cellspacing="0" class="dependent">
+ <tr>
+ <td><$ tr("Start after") $>:</td>
+ <td>
+ <input type="text" size="2" maxlength="2" name="start_h" value="<$ start_h $>" /> : <input type="text" size="2" maxlength="2" name="start_m" value="<$ start_m $>" />
+ <& tooltip.help text=(tr("The time the show may start at the earliest")) &>
+ </td>
+ </tr>
+ <tr>
+ <td><$ tr("Start before") $>:</td>
+ <td>
+ <input type="text" size="2" maxlength="2" name="stop_h" value="<$ stop_h $>" /> : <input type="text" size="2" maxlength="2" name="stop_m" value="<$ stop_m $>" />
+ <& tooltip.help text=(tr("The time the show may start at the latest")) &>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+
+ <!-- Use duration -->
+ <tr>
+ <td class="label"><$ tr("Use duration") $>:</td>
+ <td>
+ <input type="checkbox" name="useduration" value="1" <{ CHECKIF(useduration) }> onclick="changeduseduration(this)" id="useduration" />
+ <div id="durationsettings" style="display: none">
+ <table border="0" cellpadding="0" cellspacing="0" class="dependent">
+ <tr>
+ <td><$ tr("Min. duration") $>:</td>
+ <td><input type="text" size="3" maxlength="3" name="durationmin" value="<$ durationmin $>" /> min</td>
+ </tr>
+ <tr>
+ <td><$ tr("Max. duration") $>:</td>
+ <td><input type="text" size="3" maxlength="3" name="durationmax" value="<$ durationmax $>" /> min</td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+
+ <!-- Use weekday -->
+ <tr>
+ <td class="label"><$ tr("Use day of week") $>:</td>
+ <td>
+ <input type="checkbox" name="useweekday" value="1" <{ CHECKIF(useweekday) }> onclick="changeduseweekday(this)" id="useweekday" />
+ <div id="weekdaysettings" style="display: none" class="dependent">
+ <input type="checkbox" name="wday_mon" value="1" <{ CHECKIF(wday_mon) }> /> <$ tr("Monday") $>
+ <input type="checkbox" name="wday_tue" value="1" <{ CHECKIF(wday_tue) }> /> <$ tr("Tuesday") $>
+ <input type="checkbox" name="wday_wed" value="1" <{ CHECKIF(wday_wed) }> /> <$ tr("Wednesday") $>
+ <input type="checkbox" name="wday_thu" value="1" <{ CHECKIF(wday_thu) }> /> <$ tr("Thursday") $>
+ <input type="checkbox" name="wday_fri" value="1" <{ CHECKIF(wday_fri) }> /> <$ tr("Friday") $>
+ <input type="checkbox" name="wday_sat" value="1" <{ CHECKIF(wday_sat) }> /> <$ tr("Saturday") $>
+ <input type="checkbox" name="wday_sun" value="1" <{ CHECKIF(wday_sun) }> /> <$ tr("Sunday") $>
+ </div>
+ </td>
</tr>
+
+ <!-- Use blacklists -->
<tr>
- <td class="border" style="border-left: 1px solid black"></td>
- <td class="buttonpanel" colspan="2">
- <button class="green" type="submit" name="save" onclick="return checksearch();"><$ tr("Search") $></button>
+ <td class="label"><$ tr("Use blacklists" ) $>:</td>
+ <td>
+ <select onchange="changedblacklistmode(this)" name="blacklistmode" size="1" id="blacklistmode">
+ <option value="0" <{ SELECTIF(blacklistmode == 0) }> ><$ tr("no") $></option>
+ <option value="1" <{ SELECTIF(blacklistmode == 1) }> ><$ tr("Selection") $></option>
+ <option value="2" <{ SELECTIF(blacklistmode == 2) }> ><$ tr("all") $></option>
+ </select>
+ <div class="dependent" id="blacklistmodesettings" style="display: none">
+% if (blacklists.size() > 0) {
+ <select name="blacklists" multiple="multiple" size="5" onchange="changedblacklistsel(this)">
+% int i=0; for (Blacklists::iterator blacklist = blacklists.begin(); blacklist != blacklists.end(); ++blacklist, i++) {
+ <option value="<$ blacklist->Id() $>" <{ SELECTIF(searchtimer && searchtimer->BlacklistSelected(blacklist->Id())) }>><$ blacklist->Search() $></option>
+% }
+ </select>
+% }
+ </div>
</td>
- <td class="border" style="border-right: 1px solid black"></td>
</tr>
- </table>
- </form>
- </div>
+ </table>
+ </div>
+ </td>
+ <td class="border" style="border-right: 1px solid black"></td>
+ </tr>
+ <tr>
+ <td class="border" style="border-left: 1px solid black"></td>
+ <td class="buttonpanel" colspan="2">
+ <button class="green" type="submit" name="save" onclick="return checksearch();"><$ tr("Search") $></button>
+ </td>
+ <td class="border" style="border-right: 1px solid black"></td>
+ </tr>
+ </table>
+ </form>
</div>
</body>
</html>
diff --git a/pages/searchtimers.ecpp b/pages/searchtimers.ecpp
index 41284c0..81c53aa 100644
--- a/pages/searchtimers.ecpp
+++ b/pages/searchtimers.ecpp
@@ -34,13 +34,12 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<& pageelems.doc_type &>
<html>
<head>
- <& pageelems.ajax_js &>
<title>VDR-Live - <$ pageTitle $></title>
- <link rel="stylesheet" type="text/css" href="/styles.css" />
+ <link rel="stylesheet" type="text/css" href="styles.css" />
<& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
<& pageelems.ajax_js &>
</head>
- <body onload="LiveStatusAjaxRequest('infobox.html', 'infobox')">
+ <body onload="<& pageelems.infobox_start_update &>">
<& pageelems.logo &>
<& menu active=("searchtimers") component=("searchtimers.searchtimer_actions")>
<div class="inhalt">
diff --git a/pages/timers.ecpp b/pages/timers.ecpp
index db45dd6..a910224 100644
--- a/pages/timers.ecpp
+++ b/pages/timers.ecpp
@@ -52,7 +52,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
<& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
<& pageelems.ajax_js &>
</head>
- <body onload="LiveStatusAjaxRequest('infobox.html', 'infobox')">
+ <body onload="<& pageelems.infobox_start_update &>">
<& pageelems.logo &>
<& menu active=("timers") component=("timers.timer_actions")>
<div class="inhalt">
diff --git a/pages/tooltip.ecpp b/pages/tooltip.ecpp
index 8dedc49..a52eb7b 100644
--- a/pages/tooltip.ecpp
+++ b/pages/tooltip.ecpp
@@ -23,7 +23,7 @@ value[];
<%args>
text;
</%args>
- onmouseover="domTT_activate(this, event, 'predefined', 'tipHint', 'content', '<$ text $>');"
+<%cpp> { </%cpp> onmouseover="domTT_activate(this, event, 'predefined', 'tipHint', 'content', '<$ text $>');" <%cpp> } </%cpp>
</%def>
<%def info>
diff --git a/pages/whats_on.ecpp b/pages/whats_on.ecpp
index 68ad112..2e81e23 100644
--- a/pages/whats_on.ecpp
+++ b/pages/whats_on.ecpp
@@ -43,7 +43,7 @@ if (type == "now") {
<& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &>
<& pageelems.ajax_js &>
</head>
- <body onload="LiveStatusAjaxRequest('infobox.html', 'infobox')">
+ <body onload="<& pageelems.infobox_start_update &>">
<& pageelems.logo &>
<& menu active=(type) &>
<div class="inhalt">