summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-01-20 12:31:09 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-01-20 12:31:09 +0000
commit61e5e7a14cce8aea66e2296f81211b7e1c32d328 (patch)
treea46f3c8d73c7007cb7b7d4461f2c74b250ee615f
parent9f2209eff66297dc42f152b77b5abfb629a13294 (diff)
downloadxxv-61e5e7a14cce8aea66e2296f81211b7e1c32d328.tar.gz
xxv-61e5e7a14cce8aea66e2296f81211b7e1c32d328.tar.bz2
* EPG/TIMERS/RECORDS : SQL-Query improve
-rw-r--r--html/bloecke/event_links.tmpl22
-rw-r--r--html/display.tmpl10
-rw-r--r--html/now.tmpl18
-rw-r--r--html/program.tmpl8
-rw-r--r--html/schema.tmpl10
-rw-r--r--html/search.tmpl4
-rw-r--r--html/tlist.tmpl2
-rw-r--r--lib/XXV/MODULES/EPG.pm143
-rw-r--r--lib/XXV/MODULES/RECORDS.pm16
-rw-r--r--lib/XXV/MODULES/TIMERS.pm128
-rw-r--r--locale/de.po308
11 files changed, 380 insertions, 289 deletions
diff --git a/html/bloecke/event_links.tmpl b/html/bloecke/event_links.tmpl
index ce37939..14c9d60 100644
--- a/html/bloecke/event_links.tmpl
+++ b/html/bloecke/event_links.tmpl
@@ -2,27 +2,27 @@
<?% IF with_display_button %?>
<a href="?cmd=display&data=<?% epgId %?>" title='<?% gettext("Detailed program information") %?>'><img src="images/view_event.png" /></a><?% umbruch %?>
<?% END %?>
-<a href="?cmd=search&amp;data=<?% url( data.1 ) %?>"><img src="images/repeat.png" title="[<?% gettext("Rep") %?>]" /></a><?% umbruch %?>
- <?% IF param.timers.${data.0}.id && allow('tedit') %?>
-<a href="?cmd=tedit&amp;data=<?% param.timers.${data.0}.id %?>"><img src="images/record_blue.png" title="[<?% gettext("Edit this timer") %?>]" /></a><?% umbruch %?>
+<a href="?cmd=search&amp;data=<?% url( data.1 ) %?>"><img src="images/repeat.png" title="<?% gettext("Search for repeats") %?>" /></a><?% umbruch %?>
+ <?% IF data.10 && allow('tedit') %?>
+<a href="?cmd=tedit&amp;data=<?% data.10 %?>"><img src="images/record_blue.png" title="<?% gettext("Edit this timer") %?>" /></a><?% umbruch %?>
<?% ELSIF allow('tnew') %?>
-<a href="?cmd=tnew&amp;data=<?% data.0 %?>"><img src="images/record.png" title="[<?% gettext("To record") %?>]" name='recordlink' id='<?% data.0 %?>' /></a><?% umbruch %?>
+<a href="?cmd=tnew&amp;data=<?% data.0 %?>"><img src="images/record.png" title="<?% gettext("To record") %?>" name='recordlink' id='<?% data.0 %?>' /></a><?% umbruch %?>
<?% END %?>
<?% IF allow('switch') && switch %?>
- <a href="?cmd=switch&amp;data=<?% url(data.4) %?>"><img src="images/switch.png" title="[<?% gettext("Swt") %?>]" /></a><?% umbruch %?>
+ <a href="?cmd=switch&amp;data=<?% url(data.4) %?>"><img src="images/switch.png" title="<?% gettext("Switch to channel") %?>&nbsp;<?% data.4 %?>" /></a><?% umbruch %?>
<?% END %?>
<?% INCLUDE 'bloecke/stars.tmpl' eventid=data.0 %?>
-<?% IF data.-2;
- vid = data.-2.split(' ');
+<?% IF data.7;
+ vid = data.7.split(' ');
video = (vid.3 == '16:9' ? '16_9Screen.png' : '4_3Screen.png');
videotext = (vid.3 == '16:9' ? '16:9' : '4:3') %?>
- <img src="images/<?% video %?>" title="[<?% gettext("Videoformat: ") %?><?% videotext %?>]" /><?% umbruch %?>
+ <img src="images/<?% video %?>" title="<?% gettext("Video format") %?> : <?% videotext %?>" /><?% umbruch %?>
<?% END %?>
-<?% IF data.-1;
- aud = data.-1.split("\n");
+<?% IF data.8;
+ aud = data.8.split("\n");
audio = (aud.size > 2 ? 'Dolby' : 'Stereo') %?>
<?% IF audio == 'Dolby' %?>
- <img src="images/dolby.png" title="[<?% gettext("Audioformat: ") %?><?% audio %?>]" /><?% umbruch %?>
+ <img src="images/dolby.png" title="<?% gettext("Audio format") %?> : <?% audio %?>" /><?% umbruch %?>
<?% END %?>
<?% END %?>
</div>
diff --git a/html/display.tmpl b/html/display.tmpl
index 4933ccd..7df96dc 100644
--- a/html/display.tmpl
+++ b/html/display.tmpl
@@ -12,8 +12,8 @@
<table border="0" width="95%">
<?% fields = data.shift %?>
<?% c = -1 %?>
- <?% IF data.first.7 %?>
- <?% Image = data.first.7 %?>
+ <?% IF data.first.13 %?>
+ <?% Image = data.first.13 %?>
<?% END %?>
<?% FOREACH field = fields %?>
<?% c = c + 1 %?>
@@ -27,8 +27,8 @@
<?% ELSIF field == gettext('Service') %?>
<td>
<a href="?cmd=search&amp;data=<?% url( data.first.1 ) %?>">[<?% gettext("Search for repeats") %?>]</a>
- <?% IF param.timers.${data.first.$c} && allow('tedit') %?>
- <a href="?cmd=tedit&amp;data=<?% param.timers.${data.first.$c}.id %?>"><span name='recordlink' class='normal'><b>[<?% gettext("Edit this timer") %?>]</b></span></a>
+ <?% IF data.first.10 && allow('tedit') %?>
+ <a href="?cmd=tedit&amp;data=<?% data.first.10 %?>"><span name='recordlink' class='normal'><b>[<?% gettext("Edit this timer") %?>]</b></span></a>
<?% ELSIF allow('tnew')%?>
<a href="?cmd=tnew&amp;data=<?% data.first.$c %?>"><span name='recordlink' id='<?% data.first.$c %?>' class='normal'>[<?% gettext("To record") %?>]</span></a>
<?% END %?>
@@ -70,7 +70,7 @@
<td>
<?% date.format(data.first.$c,"%A, %x",locale) %?>&nbsp;
<?% date.format(data.first.$c,"%H:%M",locale) %?>
- <?% IF data.first.11 && data.first.11 != data.first.$c %?>&nbsp;(<?% gettext("PDC") %?>&nbsp;<?% date.format(data.first.11,"%H:%M",locale) %?>) <?% END %?>
+ <?% IF data.first.14 && data.first.14 != data.first.$c %?>&nbsp;(<?% gettext("PDC") %?>&nbsp;<?% date.format(data.first.14,"%H:%M",locale) %?>) <?% END %?>
</td>
<?% ELSIF field == gettext('Stop') %?>
<td>
diff --git a/html/now.tmpl b/html/now.tmpl
index 81b8db1..cfd414b 100644
--- a/html/now.tmpl
+++ b/html/now.tmpl
@@ -60,10 +60,10 @@
<?% END %?>
<tr class="<?% myclass %?>" <?% IF (loop.count mod 2) == 0 %?>bgcolor='#F5F5F5'<?% END %?>>
<td><nobr>
- <?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?>
+ <?% IF zeile.11 %?><b><?% END %?>
<a href="?cmd=search&amp;data=<?% url( title ) %?>">[<?% gettext("Rep") %?>]</a>
- <?% IF param.timers.${id} && allow('tedit') %?>
- <a href="?cmd=tedit&amp;data=<?% param.timers.${id}.id %?>">[<?% gettext("Edit") %?>]</a><br>
+ <?% IF zeile.10 && allow('tedit') %?>
+ <a href="?cmd=tedit&amp;data=<?% zeile.10 %?>">[<?% gettext("Edit") %?>]</a><br>
<?% ELSIF allow('tnew') %?>
<a href="?cmd=tnew&amp;data=<?% id %?>"><span name='recordlink' id='<?% id %?>' class='normal'>[<?% gettext("Rec") %?>]</span></a><br>
<?% END %?>
@@ -72,18 +72,18 @@
<?% END %?>
</td>
<td>
- <?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?>
+ <?% IF zeile.11 %?><b><?% END %?>
<?% INCLUDE bloecke/tooltip.tmpl cmd="display" eventid=id linkid=id ttp_offset=0 %?><?% title %?></a>
<?% IF subtitle != "" %?>
<br><small><?% subtitle %?></small>
<?% END %?>
</td>
<td>
- <?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?>
+ <?% IF zeile.11 %?><b><?% END %?>
<a href="?cmd=program&amp;data=<?% channel %?>"><?% sender %?></a>
</td>
- <td><?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?><?% start %?><?% IF param.timers.${id} && param.timers.${id}.activ %?></b><?% END %?></td>
- <td><?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?><?% stop %?><?% IF param.timers.${id} && param.timers.${id}.activ %?></b><?% END %?></td>
+ <td><?% IF zeile.11 %?><b><?% END %?><?% start %?><?% IF zeile.11 %?></b><?% END %?></td>
+ <td><?% IF zeile.11 %?><b><?% END %?><?% stop %?><?% IF zeile.11 %?></b><?% END %?></td>
<?% UNLESS duration > 100 OR duration <= 0 %?>
<td width="100" valign='bottom'><nobr>
<?% per = ( (100 - duration) + 0.999 ) div 1 ; per = (per > 100 ? 100 : per) %?>
@@ -91,8 +91,8 @@
<?% text = per div 1 | format("<br><font size='1'>${per}%%</font>") %?>
<table width="100%" cellspacing='0' cellpadding='0'>
<tr>
- <td bgcolor="#dedede"><img src='images/blank.png' width="<?% per %?>" height='1' hspace=0 vspace=0><?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?><?% (per > 19 ? text : "&nbsp;") %?></td>
- <td bgcolor="#ffffff"><img src='images/blank.png' width="<?% per2 %?>" height='1' hspace=0 vspace=0><?% IF param.timers.${id} && param.timers.${id}.activ %?><b><?% END %?><?% (per < 20 ? text : "") %?></td>
+ <td bgcolor="#dedede"><img src='images/blank.png' width="<?% per %?>" height='1' hspace=0 vspace=0><?% IF zeile.11 %?><b><?% END %?><?% (per > 19 ? text : "&nbsp;") %?></td>
+ <td bgcolor="#ffffff"><img src='images/blank.png' width="<?% per2 %?>" height='1' hspace=0 vspace=0><?% IF zeile.11 %?><b><?% END %?><?% (per < 20 ? text : "") %?></td>
<tr>
</table>
</td>
diff --git a/html/program.tmpl b/html/program.tmpl
index 781f275..216c96e 100644
--- a/html/program.tmpl
+++ b/html/program.tmpl
@@ -64,8 +64,8 @@
<?% IF c == 1; # Id Field %?>
<td>
<a href="?cmd=search&amp;data=<?% url( zeile.1 ) %?>">[<?% gettext("Rep") %?>]</a>
- <?% IF param.timers.${zeile.0} && allow('tedit') %?>
- <a href="?cmd=tedit&amp;data=<?% param.timers.${zeile.0}.id %?>"><b><span name='recordlink' id='<?% zeile.0 %?>' class='normal'>[<?% gettext("Edit this timer") %?>]</span></b></a>
+ <?% IF zeile.10 && allow('tedit') %?>
+ <a href="?cmd=tedit&amp;data=<?% zeile.10 %?>"><b><span name='recordlink' id='<?% zeile.0 %?>' class='normal'>[<?% gettext("Edit this timer") %?>]</span></b></a>
<?% ELSIF allow('tnew') %?>
<a href="?cmd=tnew&amp;data=<?% zeile.0 %?>"><span name='recordlink' id='<?% zeile.0 %?>' class='normal'>[<?% gettext("To record") %?>]</span></a>
<?% END %?>
@@ -75,7 +75,7 @@
<?% ELSIF c == 2; # Text Field %?>
<td>
<?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.6 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
- <?% IF param.timers.${zeile.0} && param.timers.${zeile.0}.activ %?>
+ <?% IF zeile.11 %?>
<b><?% field %?></b>
<?% ELSE %?>
<?% field %?>
@@ -92,7 +92,7 @@
<?% ELSIF c == 6; # Day Field %?>
<?% ELSIF c >= 7; # Desc Field %?>
<?% ELSE %?>
- <?% IF param.timers.${zeile.0} && param.timers.${zeile.0}.activ %?>
+ <?% IF zeile.11 %?>
<td><b><?% field %?></b></td>
<?% ELSE %?>
<td><?% field %?></td>
diff --git a/html/schema.tmpl b/html/schema.tmpl
index b933184..5f38ba0 100644
--- a/html/schema.tmpl
+++ b/html/schema.tmpl
@@ -117,6 +117,10 @@ Duration = param.zeitbis - param.zeitvon;
video = event.11;
audio = event.12;
image = event.13;
+ timerid = event.14;
+ recording = event.15;
+ running = event.16;
+
IF second_start > oldend;
laenge = second_start - oldend;
percent = (laenge / Duration) * width;
@@ -145,7 +149,7 @@ Duration = param.zeitbis - param.zeitvon;
<?% IF trun <= 3 %?>
<?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=epgTitle subtitle=epgSubTitle eventid=epgId linkid=epgId ttp_offset=-200 %?><img alt="" src='images/blank.png' width='<?% percent div 1 %?>' height=8 border=0 hspace=0 vspace=0 align='left' /></a>
<?% ELSE %?>
- <table class='<?% PROCESS getStatus e=event t=param.timers r=param.runningTimer %?>' align="left" width="<?% percent div 1 %?>" cellpadding="0" cellspacing="0"><tr><td>
+ <table class='<?% PROCESS getStatus e=event %?>' align="left" width="<?% percent div 1 %?>" cellpadding="0" cellspacing="0"><tr><td>
<?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=epgTitle subtitle=epgSubTitle eventid=epgId linkid=epgId ttp_offset=-200 %?>
<?% chop(epgTitle,trun) %?></a></td></tr></table>
<?% END %?>
@@ -166,10 +170,10 @@ Duration = param.zeitbis - param.zeitvon;
<?%- BLOCK getStatus -%?>
<?%-
class = 'schema_normal';
- IF t.exists(e.0) && t.${e.0}.activ;
+ IF event.14 && event.15;
class = 'schema_record_plan';
END;
- IF t.exists(e.0) && r.exists(t.${e.0}.id);
+ IF event.14 && event.16;
class = 'schema_record_now';
END;
class;
diff --git a/html/search.tmpl b/html/search.tmpl
index a64c3bc..a1d4cba 100644
--- a/html/search.tmpl
+++ b/html/search.tmpl
@@ -111,7 +111,7 @@
<?% IF c == 0; # Id Field %?>
<?% IF enableform %?>
<td>
- <?% IF !param.timers.exists(zeile.0); %?>
+ <?% IF !zeile.10 %?>
<input type="checkbox" value="<?% zeile.0 %?>" name="<?% zeile.1 %?><?% IF zeile.2 != "";"~";zeile.2;END %?>" />
<?% END %?>
</td>
@@ -122,7 +122,7 @@
<?% ELSIF c == 1; # Text Field %?>
<td>
<?% INCLUDE bloecke/tooltip.tmpl cmd="display" title=field subtitle=zeile.2 desc=zeile.8 eventid=zeile.0 linkid=zeile.0 ttp_offset=0 %?>
- <?% IF param.timers.${zeile.0} && param.timers.${zeile.0}.activ %?>
+ <?% IF zeile.11 %?>
<b><?% field %?></b>
<?% ELSE %?>
<?% field %?>
diff --git a/html/tlist.tmpl b/html/tlist.tmpl
index 16ca69b..3629f2e 100644
--- a/html/tlist.tmpl
+++ b/html/tlist.tmpl
@@ -64,7 +64,7 @@
<?% myclass = "deactive" %?>
<?% ELSIF zeile.10 %?>
<?% myclass = 'problem' %?>
- <?% ELSIF param.runningTimer.exists(zeile.0) %?>
+ <?% ELSIF zeile.15 %?>
<?% myclass = "active" %?>
<?% END %?>
<tr class="<?% myclass %?>" <?% IF (loop.count mod 2) == 0 %?>bgcolor='#F5F5F5'<?% END %?>>
diff --git a/lib/XXV/MODULES/EPG.pm b/lib/XXV/MODULES/EPG.pm
index a5adc78..8b2fe39 100644
--- a/lib/XXV/MODULES/EPG.pm
+++ b/lib/XXV/MODULES/EPG.pm
@@ -592,8 +592,6 @@ sub search {
my $data = shift;
my $params = shift;
- my $tim = main::getModule('TIMERS');
-
# Textsearch
my $search;
if($data) {
@@ -645,7 +643,22 @@ sub search {
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration), '%H:%i') as Stop,
UNIX_TIMESTAMP(e.starttime) as Day,
e.description,
- IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC
+ IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC,
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running
from
EPG as e,
CHANNELS as c
@@ -664,11 +677,7 @@ sub search {
unshift(@$erg, $fields);
}
- $console->table($erg, {
- timers => $tim->getEvents,
- runningTimer => $tim->getRunningTimer('eventid'),
- }
- );
+ $console->table($erg);
}
# ------------------
@@ -680,7 +689,6 @@ sub program {
my $channel = shift || $obj->{dbh}->selectrow_arrayref("SELECT SQL_CACHE POS from CHANNELS limit 1")->[0];
my $mod = main::getModule('CHANNELS');
- my $tim = main::getModule('TIMERS');
my $cid;
if($channel =~ /^\d+$/sig) {
@@ -702,7 +710,22 @@ SELECT SQL_CACHE
e.description as __Description,
e.video as __Video,
e.audio as __Audio,
- IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC
+ IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC,
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running
from
EPG as e, CHANNELS as c
where
@@ -722,9 +745,7 @@ order by
$console->table($erg, {
channels => $mod->ChannelArray('Name'),
current => $mod->ChannelToPos($cid),
- timers => $tim->getEvents,
- runningTimer => $tim->getRunningTimer('eventid'),
- }
+ }
);
}
@@ -773,10 +794,25 @@ SELECT SQL_CACHE
$stopp as \'$f{'Stop'}\',
c.Name as \'$f{'Channel'}\',
e.description as \'$f{'Description'}\',
- e.image as __Image,
- (unix_timestamp(e.starttime) + e.duration - unix_timestamp())/duration*100 as \'$f{'Percent'}\',
e.video as __Video,
e.audio as __Audio,
+ (unix_timestamp(e.starttime) + e.duration - unix_timestamp())/duration*100 as \'$f{'Percent'}\',
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running,
+ e.image as __Image,
IF(e.vpstime!=0,$vps,'') as __PDC,
e.channel_id as __channel_id
from
@@ -802,8 +838,7 @@ where
unshift(@$erg, $fields);
- my $tim = main::getModule('TIMERS');
- $console->table($erg,{timers => $tim->getEvents});
+ $console->table($erg);
}
# ------------------
@@ -863,6 +898,21 @@ SELECT SQL_CACHE
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + e.duration), "%H:%i") as \'$f{'Stop'}\',
e.description as __Description,
999 as __Percent,
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running,
IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC
FROM
EPG as e, CHANNELS as c, NEXTEPG as n, CHANNELGROUPS as g
@@ -881,12 +931,8 @@ ORDER BY
my $erg = $sth->fetchall_arrayref();
unshift(@$erg, $fields);
- my $tim = main::getModule('TIMERS');
-
$console->table($erg,
{
- timers => $tim->getEvents,
- runningTimer => $tim->getRunningTimer('eventid'),
periods => $obj->{periods},
cgroups => $cgroups,
channelgroup => $cgrp,
@@ -938,6 +984,21 @@ SELECT SQL_CACHE
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + e.duration), "%H:%i") as \'$f{'Stop'}\',
e.description as __Description,
(unix_timestamp(e.starttime) + e.duration - unix_timestamp())/e.duration*100 as \'$f{'Percent'}\',
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running,
IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC
FROM
EPG as e, CHANNELS as c, CHANNELGROUPS as g
@@ -957,11 +1018,8 @@ ORDER BY
my $erg = $sth->fetchall_arrayref();
unshift(@$erg, $fields);
- my $tim = main::getModule('TIMERS');
$console->table($erg,
{
- timers => $tim->getEvents,
- runningTimer => $tim->getRunningTimer('eventid'),
zeit => $zeit,
periods => $obj->{periods},
cgroups => $cgroups,
@@ -993,7 +1051,22 @@ SELECT SQL_CACHE
DATE_FORMAT(e.starttime, "%H:%i") as StartTime,
(unix_timestamp(e.starttime) + e.duration - unix_timestamp())/e.duration*100 as __Percent,
e.description as Description,
- IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC
+ IF(e.vpstime!=0,DATE_FORMAT(e.vpstime, '%H:%i'),'') as __PDC,
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running
FROM
EPG as e, CHANNELS as c
WHERE
@@ -1071,7 +1144,22 @@ SELECT SQL_CACHE
UNIX_TIMESTAMP(starttime) + e.duration as second_stop,
e.video as __video,
e.audio as __audio,
- e.image as __image
+ e.image as __image,
+ ( SELECT
+ t.id
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timerid,
+ ( SELECT
+ (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __timeractiv,
+ ( SELECT
+ NOW() between t.starttime and t.stoptime AND (t.flags & 1)
+ FROM TIMERS as t
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __running
FROM
EPG as e, CHANNELS as c
WHERE
@@ -1101,11 +1189,8 @@ ORDER BY
push(@{$data->{$c->[4]}}, $c);
}
- my $tim = main::getModule('TIMERS');
$console->table($data,
{
- timers => $tim->getEvents,
- runningTimer => $tim->getRunningTimer('eventid'),
zeitvon => $zeitvon,
zeitbis => $zeitbis,
periods => $obj->{periods},
diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm
index f6b2448..a4412ae 100644
--- a/lib/XXV/MODULES/RECORDS.pm
+++ b/lib/XXV/MODULES/RECORDS.pm
@@ -1331,7 +1331,11 @@ sub createOldEventId {
lg sprintf('Create event "%s" into OLDEPG', $subtitle ? $title .'~'. $subtitle : $title);
- my $sth = $obj->{dbh}->prepare('REPLACE INTO OLDEPG(eventid, title, subtitle, description, channel_id, duration, tableid, starttime, video, audio, addtime) VALUES (?,?,?,?,?,?,?,FROM_UNIXTIME(?),?,?,NOW())');
+ my $sth = $obj->{dbh}->prepare(
+q|REPLACE INTO OLDEPG(eventid, title, subtitle, description, channel_id,
+ duration, tableid, starttime, video, audio, addtime)
+ VALUES (?,?,?,?,?,?,?,FROM_UNIXTIME(?),?,?,NOW())|);
+
$sth->execute(
$attr->{eventid},
$attr->{title},
@@ -1382,7 +1386,10 @@ SELECT SQL_CACHE
e.description as Description,
r.State as New,
r.Type as Type,
- e.channel_id
+ (SELECT Name
+ FROM CHANNELS as c
+ WHERE e.channel_id = c.Id
+ LIMIT 1) as Channel
from
RECORDS as r,OLDEPG as e
where
@@ -1406,11 +1413,6 @@ where
reccmds => [@{$obj->{reccmds}}],
};
- my $cmod = main::getModule('CHANNELS');
- $rec->{Channel} = $cmod->ChannelToName($rec->{channel_id})
- if($rec->{channel_id} && $rec->{channel_id} ne "<undef>");
- delete $rec->{channel_id};
-
$console->table($rec, $param);
}
diff --git a/lib/XXV/MODULES/TIMERS.pm b/lib/XXV/MODULES/TIMERS.pm
index ae978cc..9dff05d 100644
--- a/lib/XXV/MODULES/TIMERS.pm
+++ b/lib/XXV/MODULES/TIMERS.pm
@@ -618,9 +618,13 @@ SELECT SQL_CACHE
priority,
lifetime,
IF(flags & 1,'y','n') as activ,
- IF(flags & 4,'y','n') as vps
+ IF(flags & 4,'y','n') as vps,
+ (SELECT description
+ FROM EPG as e
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as description
FROM
- TIMERS
+ TIMERS as t
WHERE
id = ?
|);
@@ -786,21 +790,15 @@ WHERE
'aux' => {
typ => 'hidden',
def => $timerData->{aux},
+ },
+ 'description' => {
+ msg => gettext('Description'),
+ typ => $timerData->{description} ? 'string' : 'hidden',
+ def => $timerData->{description},
+ readonly => 1
}
];
- if($timerData->{id} || $timerData->{description}) {
- my $description = $timerData->{description} || $obj->getEpgDesc($timerData->{id});
- if($description) {
- push(@$questions,
- 'Description' => {
- msg => gettext('Description'),
- typ => 'string',
- def => $description,
- readonly => 1
- });
- }
- }
# Ask Questions
my $datasave = $console->question(($timerid ? gettext('Edit timer')
: gettext('New timer')), $questions, $data);
@@ -866,7 +864,7 @@ sub deleteTimer {
my @timers = split(/[^0-9a-f]/, $timerid);
- my $sql = sprintf('SELECT SQL_CACHE id,pos,file,channel,starttime,IF(flags & 1 and NOW() between starttime and stoptime,1,0) FROM TIMERS where id in (%s) ORDER BY pos desc', join(',' => ('?') x @timers));
+ my $sql = sprintf('SELECT SQL_CACHE id,pos,file,channel,starttime,flags & 1 and NOW() between starttime and stoptime FROM TIMERS where id in (%s) ORDER BY pos desc', join(',' => ('?') x @timers));
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute(@timers)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -1014,7 +1012,7 @@ sub toggleTimer {
if(ref $console and $console->typ eq 'AJAX') {
# { "data" : [ [ ID, ON, RUN, CONFLICT ], .... ] }
# { "data" : [ [ 5, 1, 0, 0 ], .... ] }
- my $sql = sprintf('SELECT SQL_CACHE id, flags & 1 as Active, IF(NOW() between starttime and stoptime,1,0) as Running, Collision from TIMERS where id in (%s) %s',
+ my $sql = sprintf('SELECT SQL_CACHE id, flags & 1 as Active, NOW() between starttime and stoptime as Running, Collision from TIMERS where id in (%s) %s',
join(',' => ('?') x @success),$ref);
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute(@success)
@@ -1067,7 +1065,10 @@ sub _insert {
stop => $nexttime->{stop},
});
- my $sth = $obj->{dbh}->prepare('REPLACE INTO TIMERS VALUES (MD5(CONCAT(?,?,?)),?,?,?,?,?,?,?,?,?,?,FROM_UNIXTIME(?), FROM_UNIXTIME(?),0,?,?,?,?,?,NOW())');
+ my $sth = $obj->{dbh}->prepare(
+q|REPLACE INTO TIMERS VALUES
+ (MD5(CONCAT(?,?,?)),?,?,?,?,?,?,?,?,?,?,FROM_UNIXTIME(?), FROM_UNIXTIME(?),0,?,?,?,?,?,NOW())
+|);
$sth->execute(
$timer->{channel},$nexttime->{start},$nexttime->{stop},
$timer->{pos},
@@ -1204,23 +1205,15 @@ sub list {
my $text = shift || '';
my $term;
- my $search1 = '';
- my $search2 = '';
+ my $search = '';
if($text and $text =~ /^[0-9a-f,_ ]+$/ and length($text) >= 32 ) {
my @timers = split(/[^0-9a-f]/, $text);
- $search1 = sprintf(" AND t.id in (%s)",join(',' => ('?') x @timers));
+ $search = sprintf(" AND t.id in (%s)",join(',' => ('?') x @timers));
foreach(@timers) { push(@{$term},$_); }
- $search2 = sprintf(" AND t.id in (%s)",join(',' => ('?') x @timers));
- foreach(@timers) { push(@{$term},$_); }
-
} elsif($text) {
- my $query1 = buildsearch("t.file,e.description",$text);
- $search1 = sprintf('AND ( %s )', $query1->{query});
- foreach(@{$query1->{term}}) { push(@{$term},$_); }
-
- my $query2 = buildsearch("t.file",$text);
- $search2 = sprintf('AND ( %s )', $query2->{query});
- foreach(@{$query2->{term}}) { push(@{$term},$_); }
+ my $query = buildsearch("t.file,(SELECT description FROM EPG as e WHERE t.eventid = e.eventid LIMIT 1)",$text);
+ $search = sprintf('AND ( %s )', $query->{query});
+ foreach(@{$query->{term}}) { push(@{$term},$_); }
}
my %f = (
@@ -1250,43 +1243,18 @@ SELECT SQL_CACHE
t.eventid as __eventid,
t.autotimerid as __autotimerid,
UNIX_TIMESTAMP(t.stoptime) - UNIX_TIMESTAMP(t.starttime) as __duration,
- e.description as __description
+ (SELECT description
+ FROM EPG as e
+ WHERE t.eventid = e.eventid
+ LIMIT 1) as __description,
+ NOW() between starttime and stoptime AND (flags & 1) as __running
FROM
TIMERS as t,
- CHANNELS as c,
- EPG as e
+ CHANNELS as c
WHERE
t.stoptime > NOW()
AND t.channel = c.Id
- AND (t.eventid = e.eventid)
- $search1
-
-UNION
-
-SELECT SQL_CACHE
- t.id as \'$f{'id'}\',
- t.flags as \'$f{'flags'}\',
- c.Name as \'$f{'channel'}\',
- c.Pos as __pos,
- t.day as \'$f{'day'}\',
- DATE_FORMAT(t.starttime, '%H:%i') as \'$f{'start'}\',
- DATE_FORMAT(t.stoptime, '%H:%i') as \'$f{'stop'}\',
- t.file as \'$f{'title'}\',
- t.priority as \'$f{'priority'}\',
- UNIX_TIMESTAMP(t.starttime) as __day,
- t.collision as __collision,
- t.eventid as __eventid,
- t.autotimerid as __autotimerid,
- UNIX_TIMESTAMP(t.stoptime) - UNIX_TIMESTAMP(t.starttime) as __duration,
- "" as __description
-FROM
- TIMERS as t,
- CHANNELS as c
-WHERE
- t.channel = c.Id
- AND ((t.eventid = 0) or (t.eventid is null))
- $search2
-
+ $search
ORDER BY
__day
|;
@@ -1300,7 +1268,6 @@ ORDER BY
unshift(@$erg, $fields);
$console->table($erg, {
- runningTimer => $obj->getRunningTimer,
cards => $obj->{DVBCards},
capacity => main::getModule('RECORDS')->{CapacityFree},
});
@@ -1341,7 +1308,40 @@ WHERE
return $sth->fetchrow_hashref();
}
+# ------------------
+sub getTimerByPos {
+# ------------------
+ my $obj = shift || return error('No object defined!');
+ my $tid = shift || return error('No id defined!');
+ my $sql = qq|
+SELECT SQL_CACHE
+ t.id,
+ t.flags,
+ c.Name as Channel,
+ c.Pos as __Pos,
+ t.day as Date,
+ t.start,
+ t.stop,
+ t.file,
+ t.priority,
+ UNIX_TIMESTAMP(t.starttime) as Day,
+ t.collision,
+ t.eventid,
+ t.autotimerid
+FROM
+ TIMERS as t,
+ CHANNELS as c
+WHERE
+ t.channel = c.Id
+ and t.pos = ?
+|;
+
+ my $sth = $obj->{dbh}->prepare($sql);
+ $sth->execute($tid)
+ or return error(sprintf("Timer '%s' does not exist in the database!",$tid));
+ return $sth->fetchrow_hashref();
+}
# ------------------
sub getRunningTimer {
# ------------------
@@ -1624,7 +1624,7 @@ sub getNextTimer {
or (ref $obj->{NextTimerEvent} and $obj->{NextTimerEvent}->at == $zeit)
);
- my $timer = $obj->getTimerById($nextTimer);
+ my $timer = $obj->getTimerByPos($nextTimer);
$obj->{NextTimerEvent} = Event->timer(
at => $zeit,
diff --git a/locale/de.po b/locale/de.po
index 12db220..204e288 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#--------------------
-#: ../bin/xxvd:101 ../bin/xxvd:116 ../bin/xxvd:89 ../bin/xxvd:95 ../lib/XXV/MODULES/AUTOTIMER.pm:31 ../lib/XXV/MODULES/AUTOTIMER.pm:692 ../lib/XXV/MODULES/CHANNELS.pm:29 ../lib/XXV/MODULES/CHANNELS.pm:35 ../lib/XXV/MODULES/CHANNELS.pm:701 ../lib/XXV/MODULES/CHANNELS.pm:727 ../lib/XXV/MODULES/CHANNELS.pm:740 ../lib/XXV/MODULES/CHANNELS.pm:779 ../lib/XXV/MODULES/CHANNELS.pm:805 ../lib/XXV/MODULES/CHRONICLE.pm:28 ../lib/XXV/MODULES/EPG.pm:36 ../lib/XXV/MODULES/EPG.pm:42 ../lib/XXV/MODULES/EPG.pm:48 ../lib/XXV/MODULES/EVENTS.pm:34 ../lib/XXV/MODULES/GRAB.pm:30 ../lib/XXV/MODULES/GRAB.pm:44 ../lib/XXV/MODULES/HTTPD.pm:61 ../lib/XXV/MODULES/HTTPD.pm:67 ../lib/XXV/MODULES/HTTPD.pm:73 ../lib/XXV/MODULES/HTTPD.pm:79 ../lib/XXV/MODULES/HTTPD.pm:85 ../lib/XXV/MODULES/HTTPD.pm:92 ../lib/XXV/MODULES/INTERFACE.pm:33 ../lib/XXV/MODULES/INTERFACE.pm:39 ../lib/XXV/MODULES/INTERFACE.pm:45 ../lib/XXV/MODULES/LOGREAD.pm:32 ../lib/XXV/MODULES/LOGREAD.pm:38 ../lib/XXV/MODULES/LOGREAD.pm:44 ../lib/XXV/MODULES/LOGREAD.pm:50 ../lib/XXV/MODULES/MEDIALIB.pm:34 ../lib/XXV/MODULES/MEDIALIB.pm:40 ../lib/XXV/MODULES/MEDIALIB.pm:46 ../lib/XXV/MODULES/MEDIALIB.pm:52 ../lib/XXV/MODULES/MEDIALIB.pm:58 ../lib/XXV/MODULES/MOVETIMER.pm:27 ../lib/XXV/MODULES/MOVETIMER.pm:382 ../lib/XXV/MODULES/MOVETIMER.pm:395 ../lib/XXV/MODULES/MOVETIMER.pm:404 ../lib/XXV/MODULES/MOVETIMER.pm:417 ../lib/XXV/MODULES/MUSIC.pm:40 ../lib/XXV/MODULES/MUSIC.pm:46 ../lib/XXV/MODULES/MUSIC.pm:52 ../lib/XXV/MODULES/MUSIC.pm:58 ../lib/XXV/MODULES/MUSIC.pm:69 ../lib/XXV/MODULES/MUSIC.pm:75 ../lib/XXV/MODULES/RECORDS.pm:1835 ../lib/XXV/MODULES/RECORDS.pm:1849 ../lib/XXV/MODULES/RECORDS.pm:1863 ../lib/XXV/MODULES/RECORDS.pm:1882 ../lib/XXV/MODULES/RECORDS.pm:2427 ../lib/XXV/MODULES/RECORDS.pm:2439 ../lib/XXV/MODULES/RECORDS.pm:40 ../lib/XXV/MODULES/RECORDS.pm:46 ../lib/XXV/MODULES/RECORDS.pm:52 ../lib/XXV/MODULES/RECORDS.pm:58 ../lib/XXV/MODULES/RECORDS.pm:64 ../lib/XXV/MODULES/RECORDS.pm:76 ../lib/XXV/MODULES/RECORDS.pm:92 ../lib/XXV/MODULES/REMOTE.pm:28 ../lib/XXV/MODULES/REMOTE.pm:34 ../lib/XXV/MODULES/REMOTE.pm:40 ../lib/XXV/MODULES/REPORT.pm:30 ../lib/XXV/MODULES/REPORT.pm:46 ../lib/XXV/MODULES/ROBOT.pm:29 ../lib/XXV/MODULES/SHARE.pm:53 ../lib/XXV/MODULES/SHARE.pm:70 ../lib/XXV/MODULES/SHARE.pm:76 ../lib/XXV/MODULES/STATUS.pm:32 ../lib/XXV/MODULES/STATUS.pm:38 ../lib/XXV/MODULES/STATUS.pm:43 ../lib/XXV/MODULES/STATUS.pm:49 ../lib/XXV/MODULES/STREAM.pm:33 ../lib/XXV/MODULES/STREAM.pm:43 ../lib/XXV/MODULES/STREAM.pm:64 ../lib/XXV/MODULES/STREAM.pm:70 ../lib/XXV/MODULES/STREAM.pm:84 ../lib/XXV/MODULES/SVDRP.pm:30 ../lib/XXV/MODULES/SVDRP.pm:36 ../lib/XXV/MODULES/SVDRP.pm:42 ../lib/XXV/MODULES/TELNET.pm:29 ../lib/XXV/MODULES/TELNET.pm:35 ../lib/XXV/MODULES/TELNET.pm:41 ../lib/XXV/MODULES/TELNET.pm:47 ../lib/XXV/MODULES/TIMERS.pm:29 ../lib/XXV/MODULES/TIMERS.pm:658 ../lib/XXV/MODULES/TIMERS.pm:665 ../lib/XXV/MODULES/TIMERS.pm:668 ../lib/XXV/MODULES/TIMERS.pm:693 ../lib/XXV/MODULES/USER.pm:268 ../lib/XXV/MODULES/USER.pm:360 ../lib/XXV/MODULES/USER.pm:366 ../lib/XXV/MODULES/USER.pm:391 ../lib/XXV/MODULES/USER.pm:68 ../lib/XXV/MODULES/VTX.pm:33 ../lib/XXV/MODULES/VTX.pm:39 ../lib/XXV/MODULES/WAPD.pm:43 ../lib/XXV/MODULES/WAPD.pm:49 ../lib/XXV/MODULES/WAPD.pm:55 ../lib/XXV/MODULES/WAPD.pm:61 ../lib/XXV/MODULES/WAPD.pm:67 ../lib/XXV/MODULES/WAPD.pm:74 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:100 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:118 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:124 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:130 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:70 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:107 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:34 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:64 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:82 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:96 ../lib/XXV/OUTPUT/NEWS/RSS.pm:33 ../lib/XXV/OUTPUT/NEWS/RSS.pm:63 ../lib/XXV/OUTPUT/NEWS/VDR.pm:30 ../lib/XXV/OUTPUT/NEWS/VDR.pm:60
+#: ../bin/xxvd:101 ../bin/xxvd:116 ../bin/xxvd:89 ../bin/xxvd:95 ../lib/XXV/MODULES/AUTOTIMER.pm:31 ../lib/XXV/MODULES/AUTOTIMER.pm:694 ../lib/XXV/MODULES/CHANNELS.pm:29 ../lib/XXV/MODULES/CHANNELS.pm:35 ../lib/XXV/MODULES/CHANNELS.pm:701 ../lib/XXV/MODULES/CHANNELS.pm:727 ../lib/XXV/MODULES/CHANNELS.pm:740 ../lib/XXV/MODULES/CHANNELS.pm:779 ../lib/XXV/MODULES/CHANNELS.pm:805 ../lib/XXV/MODULES/CHRONICLE.pm:28 ../lib/XXV/MODULES/EPG.pm:36 ../lib/XXV/MODULES/EPG.pm:42 ../lib/XXV/MODULES/EPG.pm:48 ../lib/XXV/MODULES/EVENTS.pm:34 ../lib/XXV/MODULES/GRAB.pm:30 ../lib/XXV/MODULES/GRAB.pm:44 ../lib/XXV/MODULES/HTTPD.pm:61 ../lib/XXV/MODULES/HTTPD.pm:67 ../lib/XXV/MODULES/HTTPD.pm:73 ../lib/XXV/MODULES/HTTPD.pm:79 ../lib/XXV/MODULES/HTTPD.pm:85 ../lib/XXV/MODULES/HTTPD.pm:92 ../lib/XXV/MODULES/INTERFACE.pm:33 ../lib/XXV/MODULES/INTERFACE.pm:39 ../lib/XXV/MODULES/INTERFACE.pm:45 ../lib/XXV/MODULES/LOGREAD.pm:32 ../lib/XXV/MODULES/LOGREAD.pm:38 ../lib/XXV/MODULES/LOGREAD.pm:44 ../lib/XXV/MODULES/LOGREAD.pm:50 ../lib/XXV/MODULES/MEDIALIB.pm:34 ../lib/XXV/MODULES/MEDIALIB.pm:40 ../lib/XXV/MODULES/MEDIALIB.pm:46 ../lib/XXV/MODULES/MEDIALIB.pm:52 ../lib/XXV/MODULES/MEDIALIB.pm:58 ../lib/XXV/MODULES/MOVETIMER.pm:27 ../lib/XXV/MODULES/MOVETIMER.pm:382 ../lib/XXV/MODULES/MOVETIMER.pm:395 ../lib/XXV/MODULES/MOVETIMER.pm:404 ../lib/XXV/MODULES/MOVETIMER.pm:417 ../lib/XXV/MODULES/MUSIC.pm:40 ../lib/XXV/MODULES/MUSIC.pm:46 ../lib/XXV/MODULES/MUSIC.pm:52 ../lib/XXV/MODULES/MUSIC.pm:58 ../lib/XXV/MODULES/MUSIC.pm:69 ../lib/XXV/MODULES/MUSIC.pm:75 ../lib/XXV/MODULES/RECORDS.pm:1837 ../lib/XXV/MODULES/RECORDS.pm:1851 ../lib/XXV/MODULES/RECORDS.pm:1865 ../lib/XXV/MODULES/RECORDS.pm:1884 ../lib/XXV/MODULES/RECORDS.pm:2429 ../lib/XXV/MODULES/RECORDS.pm:2441 ../lib/XXV/MODULES/RECORDS.pm:40 ../lib/XXV/MODULES/RECORDS.pm:46 ../lib/XXV/MODULES/RECORDS.pm:52 ../lib/XXV/MODULES/RECORDS.pm:58 ../lib/XXV/MODULES/RECORDS.pm:64 ../lib/XXV/MODULES/RECORDS.pm:76 ../lib/XXV/MODULES/RECORDS.pm:92 ../lib/XXV/MODULES/REMOTE.pm:28 ../lib/XXV/MODULES/REMOTE.pm:34 ../lib/XXV/MODULES/REMOTE.pm:40 ../lib/XXV/MODULES/REPORT.pm:30 ../lib/XXV/MODULES/REPORT.pm:46 ../lib/XXV/MODULES/ROBOT.pm:29 ../lib/XXV/MODULES/SHARE.pm:53 ../lib/XXV/MODULES/SHARE.pm:70 ../lib/XXV/MODULES/SHARE.pm:76 ../lib/XXV/MODULES/STATUS.pm:32 ../lib/XXV/MODULES/STATUS.pm:38 ../lib/XXV/MODULES/STATUS.pm:43 ../lib/XXV/MODULES/STATUS.pm:49 ../lib/XXV/MODULES/STREAM.pm:33 ../lib/XXV/MODULES/STREAM.pm:43 ../lib/XXV/MODULES/STREAM.pm:64 ../lib/XXV/MODULES/STREAM.pm:70 ../lib/XXV/MODULES/STREAM.pm:84 ../lib/XXV/MODULES/SVDRP.pm:30 ../lib/XXV/MODULES/SVDRP.pm:36 ../lib/XXV/MODULES/SVDRP.pm:42 ../lib/XXV/MODULES/TELNET.pm:29 ../lib/XXV/MODULES/TELNET.pm:35 ../lib/XXV/MODULES/TELNET.pm:41 ../lib/XXV/MODULES/TELNET.pm:47 ../lib/XXV/MODULES/TIMERS.pm:29 ../lib/XXV/MODULES/TIMERS.pm:662 ../lib/XXV/MODULES/TIMERS.pm:669 ../lib/XXV/MODULES/TIMERS.pm:672 ../lib/XXV/MODULES/TIMERS.pm:697 ../lib/XXV/MODULES/USER.pm:268 ../lib/XXV/MODULES/USER.pm:360 ../lib/XXV/MODULES/USER.pm:366 ../lib/XXV/MODULES/USER.pm:391 ../lib/XXV/MODULES/USER.pm:68 ../lib/XXV/MODULES/VTX.pm:33 ../lib/XXV/MODULES/VTX.pm:39 ../lib/XXV/MODULES/WAPD.pm:43 ../lib/XXV/MODULES/WAPD.pm:49 ../lib/XXV/MODULES/WAPD.pm:55 ../lib/XXV/MODULES/WAPD.pm:61 ../lib/XXV/MODULES/WAPD.pm:67 ../lib/XXV/MODULES/WAPD.pm:74 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:100 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:118 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:124 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:130 ../lib/XXV/OUTPUT/NEWS/JABBER.pm:70 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:107 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:34 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:64 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:82 ../lib/XXV/OUTPUT/NEWS/MAIL.pm:96 ../lib/XXV/OUTPUT/NEWS/RSS.pm:33 ../lib/XXV/OUTPUT/NEWS/RSS.pm:63 ../lib/XXV/OUTPUT/NEWS/VDR.pm:30 ../lib/XXV/OUTPUT/NEWS/VDR.pm:60
msgid "This is required!"
msgstr "Das ist erforderlich!"
@@ -97,12 +97,12 @@ msgid "Wished automated recordings"
msgstr "Gewünschte automatische Aufnahmen"
#--------------------
-#: ../html/alist.tmpl:45 ../html/asearch.tmpl:45 ../html/tlist.tmpl:93 ../html/tsearch.tmpl:93 ../lib/XXV/MODULES/AUTOTIMER.pm:999
+#: ../html/alist.tmpl:45 ../html/asearch.tmpl:45 ../html/tlist.tmpl:93 ../html/tsearch.tmpl:93 ../lib/XXV/MODULES/AUTOTIMER.pm:1001
msgid "Edit autotimer"
msgstr "Autotimer bearbeiten"
#--------------------
-#: ../html/alist.tmpl:46 ../html/asearch.tmpl:46 ../html/mlnavcontainer.tmpl:78 ../html/next.tmpl:66 ../html/now.tmpl:66 ../html/ulist.tmpl:27 ../wml/tlist.tmpl:46 ../wml/tsearch.tmpl:46
+#: ../html/alist.tmpl:46 ../html/asearch.tmpl:46 ../html/mlnavcontainer.tmpl:16 ../html/next.tmpl:66 ../html/now.tmpl:66 ../html/ulist.tmpl:27 ../wml/tlist.tmpl:46 ../wml/tsearch.tmpl:46
msgid "Edit"
msgstr "Ändern"
@@ -112,7 +112,7 @@ msgid "Delete autotimer"
msgstr "Lösche Autotimer"
#--------------------
-#: ../html/alist.tmpl:5 ../html/asearch.tmpl:5 ../lib/XXV/MODULES/AUTOTIMER.pm:1000 ../lib/XXV/MODULES/AUTOTIMER.pm:55
+#: ../html/alist.tmpl:5 ../html/asearch.tmpl:5 ../lib/XXV/MODULES/AUTOTIMER.pm:1002 ../lib/XXV/MODULES/AUTOTIMER.pm:55
msgid "Create new autotimer"
msgstr "Neuer Autotimer"
@@ -257,7 +257,7 @@ msgid "Delete channel"
msgstr "Kanal löschen"
#--------------------
-#: ../html/clist.tmpl:94 ../lib/XXV/MODULES/AUTOTIMER.pm:1147 ../lib/XXV/MODULES/CHANNELS.pm:379
+#: ../html/clist.tmpl:94 ../lib/XXV/MODULES/AUTOTIMER.pm:1149 ../lib/XXV/MODULES/CHANNELS.pm:379
msgid "Channels"
msgstr "Kanäle"
@@ -272,17 +272,17 @@ msgid "Detailed program information"
msgstr "Detailierte Programminformation"
#--------------------
-#: ../html/display.tmpl:21 ../html/display.tmpl:44 ../lib/XXV/MODULES/EPG.pm:752 ../lib/XXV/MODULES/EPG.pm:926
+#: ../html/display.tmpl:21 ../html/display.tmpl:44 ../lib/XXV/MODULES/EPG.pm:773 ../lib/XXV/MODULES/EPG.pm:972
msgid "Percent"
msgstr "Prozent"
#--------------------
-#: ../html/display.tmpl:25 ../html/rdisplay.tmpl:149 ../html/search.tmpl:55 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:436 ../lib/XXV/MODULES/CHRONICLE.pm:168 ../lib/XXV/MODULES/CHRONICLE.pm:207 ../lib/XXV/MODULES/EPG.pm:748 ../lib/XXV/MODULES/EPG.pm:849 ../lib/XXV/MODULES/EPG.pm:923 ../lib/XXV/MODULES/RECORDS.pm:1873 ../lib/XXV/MODULES/TIMERS.pm:1230 ../lib/XXV/MODULES/TIMERS.pm:889
+#: ../html/display.tmpl:25 ../html/rdisplay.tmpl:149 ../html/search.tmpl:55 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:437 ../lib/XXV/MODULES/CHRONICLE.pm:168 ../lib/XXV/MODULES/CHRONICLE.pm:207 ../lib/XXV/MODULES/EPG.pm:769 ../lib/XXV/MODULES/EPG.pm:884 ../lib/XXV/MODULES/EPG.pm:969 ../lib/XXV/MODULES/RECORDS.pm:1875 ../lib/XXV/MODULES/TIMERS.pm:1223 ../lib/XXV/MODULES/TIMERS.pm:887
msgid "Channel"
msgstr "Kanal"
#--------------------
-#: ../html/display.tmpl:27 ../html/movetimerlist.tmpl:81 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:1144 ../lib/XXV/MODULES/CHRONICLE.pm:165 ../lib/XXV/MODULES/CHRONICLE.pm:204 ../lib/XXV/MODULES/EPG.pm:745 ../lib/XXV/MODULES/EPG.pm:847 ../lib/XXV/MODULES/EPG.pm:921 ../lib/XXV/MODULES/MOVETIMER.pm:545 ../lib/XXV/MODULES/MUSIC.pm:607 ../lib/XXV/MODULES/RECORDS.pm:1519 ../lib/XXV/MODULES/RECORDS.pm:1594 ../lib/XXV/MODULES/TIMERS.pm:1227 ../lib/XXV/MODULES/USER.pm:525
+#: ../html/display.tmpl:27 ../html/movetimerlist.tmpl:81 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:1146 ../lib/XXV/MODULES/CHRONICLE.pm:165 ../lib/XXV/MODULES/CHRONICLE.pm:204 ../lib/XXV/MODULES/EPG.pm:766 ../lib/XXV/MODULES/EPG.pm:882 ../lib/XXV/MODULES/EPG.pm:967 ../lib/XXV/MODULES/MOVETIMER.pm:545 ../lib/XXV/MODULES/MUSIC.pm:607 ../lib/XXV/MODULES/RECORDS.pm:1521 ../lib/XXV/MODULES/RECORDS.pm:1596 ../lib/XXV/MODULES/TIMERS.pm:1220 ../lib/XXV/MODULES/USER.pm:525
msgid "Service"
msgstr "Service"
@@ -312,12 +312,12 @@ msgid "Search with OFDb"
msgstr "Suche mit OFDb"
#--------------------
-#: ../html/display.tmpl:60 ../lib/XXV/MODULES/AUTOTIMER.pm:445 ../lib/XXV/MODULES/AUTOTIMER.pm:654 ../lib/XXV/MODULES/EPG.pm:751 ../lib/XXV/MODULES/RECORDS.pm:1887 ../lib/XXV/MODULES/RECORDS.pm:2068 ../lib/XXV/MODULES/TIMERS.pm:797 ../lib/XXV/OUTPUT/Console.pm:169
+#: ../html/display.tmpl:60 ../lib/XXV/MODULES/AUTOTIMER.pm:446 ../lib/XXV/MODULES/AUTOTIMER.pm:656 ../lib/XXV/MODULES/EPG.pm:772 ../lib/XXV/MODULES/RECORDS.pm:1889 ../lib/XXV/MODULES/RECORDS.pm:2070 ../lib/XXV/MODULES/TIMERS.pm:795 ../lib/XXV/OUTPUT/Console.pm:169
msgid "Description"
msgstr "Beschreibung"
#--------------------
-#: ../html/display.tmpl:69 ../html/rlist.tmpl:243 ../html/rsearch.tmpl:243 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:1148 ../lib/XXV/MODULES/AUTOTIMER.pm:439 ../lib/XXV/MODULES/AUTOTIMER.pm:442 ../lib/XXV/MODULES/CHRONICLE.pm:170 ../lib/XXV/MODULES/CHRONICLE.pm:209 ../lib/XXV/MODULES/EPG.pm:749 ../lib/XXV/MODULES/EPG.pm:850 ../lib/XXV/MODULES/EPG.pm:924 ../lib/XXV/MODULES/TIMERS.pm:1231 ../lib/XXV/MODULES/TIMERS.pm:890
+#: ../html/display.tmpl:69 ../html/rlist.tmpl:243 ../html/rsearch.tmpl:243 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:1150 ../lib/XXV/MODULES/AUTOTIMER.pm:440 ../lib/XXV/MODULES/AUTOTIMER.pm:443 ../lib/XXV/MODULES/CHRONICLE.pm:170 ../lib/XXV/MODULES/CHRONICLE.pm:209 ../lib/XXV/MODULES/EPG.pm:770 ../lib/XXV/MODULES/EPG.pm:885 ../lib/XXV/MODULES/EPG.pm:970 ../lib/XXV/MODULES/TIMERS.pm:1224 ../lib/XXV/MODULES/TIMERS.pm:888
msgid "Start"
msgstr "Start"
@@ -327,7 +327,7 @@ msgid "PDC"
msgstr "VPS"
#--------------------
-#: ../html/display.tmpl:75 ../html/widgets/player.tmpl:100 ../html/widgets/player.tmpl:60 ../lib/XXV/MODULES/AUTOTIMER.pm:1149 ../lib/XXV/MODULES/AUTOTIMER.pm:440 ../lib/XXV/MODULES/AUTOTIMER.pm:443 ../lib/XXV/MODULES/CHRONICLE.pm:171 ../lib/XXV/MODULES/CHRONICLE.pm:210 ../lib/XXV/MODULES/EPG.pm:750 ../lib/XXV/MODULES/EPG.pm:851 ../lib/XXV/MODULES/EPG.pm:925 ../lib/XXV/MODULES/TIMERS.pm:1232
+#: ../html/display.tmpl:75 ../html/widgets/player.tmpl:100 ../html/widgets/player.tmpl:60 ../lib/XXV/MODULES/AUTOTIMER.pm:1151 ../lib/XXV/MODULES/AUTOTIMER.pm:441 ../lib/XXV/MODULES/AUTOTIMER.pm:444 ../lib/XXV/MODULES/CHRONICLE.pm:171 ../lib/XXV/MODULES/CHRONICLE.pm:210 ../lib/XXV/MODULES/EPG.pm:771 ../lib/XXV/MODULES/EPG.pm:886 ../lib/XXV/MODULES/EPG.pm:971 ../lib/XXV/MODULES/TIMERS.pm:1225
msgid "Stop"
msgstr "Stopp"
@@ -527,7 +527,7 @@ msgid "Edit channels"
msgstr "Kanäle bearbeiten"
#--------------------
-#: ../html/help.tmpl:92 ../html/widgets/player.tmpl:105 ../html/widgets/player.tmpl:69 ../lib/XXV/MODULES/HTTPD.pm:103 ../lib/XXV/MODULES/TIMERS.pm:1228 ../lib/XXV/MODULES/WAPD.pm:84
+#: ../html/help.tmpl:92 ../html/widgets/player.tmpl:105 ../html/widgets/player.tmpl:69 ../lib/XXV/MODULES/HTTPD.pm:103 ../lib/XXV/MODULES/TIMERS.pm:1221 ../lib/XXV/MODULES/WAPD.pm:84
msgid "Status"
msgstr "Status"
@@ -682,7 +682,7 @@ msgid "Save"
msgstr "Speichern"
#--------------------
-#: ../html/mlcopy.tmpl:23 ../html/mledit.tmpl:23 ../html/mlimport.tmpl:23 ../html/rlist.tmpl:241 ../html/rsearch.tmpl:241 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:434 ../lib/XXV/MODULES/AUTOTIMER.pm:652 ../lib/XXV/MODULES/CHRONICLE.pm:166 ../lib/XXV/MODULES/CHRONICLE.pm:205 ../lib/XXV/MODULES/EPG.pm:746 ../lib/XXV/MODULES/EPG.pm:848 ../lib/XXV/MODULES/EPG.pm:922 ../lib/XXV/MODULES/MEDIALIB.pm:1300 ../lib/XXV/MODULES/MUSIC.pm:610 ../lib/XXV/MODULES/RECORDS.pm:1520 ../lib/XXV/MODULES/RECORDS.pm:1595 ../lib/XXV/MODULES/TIMERS.pm:1233 ../lib/XXV/MODULES/TIMERS.pm:888
+#: ../html/mlcopy.tmpl:23 ../html/mledit.tmpl:23 ../html/mlimport.tmpl:23 ../html/rlist.tmpl:241 ../html/rsearch.tmpl:241 ../html/topten.tmpl:21 ../lib/XXV/MODULES/AUTOTIMER.pm:434 ../lib/XXV/MODULES/AUTOTIMER.pm:654 ../lib/XXV/MODULES/CHRONICLE.pm:166 ../lib/XXV/MODULES/CHRONICLE.pm:205 ../lib/XXV/MODULES/EPG.pm:767 ../lib/XXV/MODULES/EPG.pm:883 ../lib/XXV/MODULES/EPG.pm:968 ../lib/XXV/MODULES/MEDIALIB.pm:1300 ../lib/XXV/MODULES/MUSIC.pm:610 ../lib/XXV/MODULES/RECORDS.pm:1522 ../lib/XXV/MODULES/RECORDS.pm:1597 ../lib/XXV/MODULES/TIMERS.pm:1226 ../lib/XXV/MODULES/TIMERS.pm:886
msgid "Title"
msgstr "Titel"
@@ -692,7 +692,7 @@ msgid "Search at"
msgstr "Suche bei"
#--------------------
-#: ../html/mlcopy.tmpl:36 ../html/mledit.tmpl:36 ../html/mlimport.tmpl:36 ../html/rlist.tmpl:242 ../html/rsearch.tmpl:242 ../lib/XXV/MODULES/AUTOTIMER.pm:435 ../lib/XXV/MODULES/AUTOTIMER.pm:653 ../lib/XXV/MODULES/CHRONICLE.pm:167 ../lib/XXV/MODULES/CHRONICLE.pm:206 ../lib/XXV/MODULES/EPG.pm:747 ../lib/XXV/MODULES/MEDIALIB.pm:1301 ../lib/XXV/MODULES/RECORDS.pm:1521 ../lib/XXV/MODULES/RECORDS.pm:1596
+#: ../html/mlcopy.tmpl:36 ../html/mledit.tmpl:36 ../html/mlimport.tmpl:36 ../html/rlist.tmpl:242 ../html/rsearch.tmpl:242 ../lib/XXV/MODULES/AUTOTIMER.pm:435 ../lib/XXV/MODULES/AUTOTIMER.pm:655 ../lib/XXV/MODULES/CHRONICLE.pm:167 ../lib/XXV/MODULES/CHRONICLE.pm:206 ../lib/XXV/MODULES/EPG.pm:768 ../lib/XXV/MODULES/MEDIALIB.pm:1301 ../lib/XXV/MODULES/RECORDS.pm:1523 ../lib/XXV/MODULES/RECORDS.pm:1598
msgid "Subtitle"
msgstr "Serientitel"
@@ -777,7 +777,7 @@ msgid "Albums"
msgstr "Alben"
#--------------------
-#: ../html/mlist.tmpl:24 ../html/mlnavcontainer.tmpl:96 ../html/mlsearch.tmpl:46 ../html/search.tmpl:67 ../html/widgets/vtx.tmpl:28 ../lib/XXV/MODULES/AUTOTIMER.pm:1146 ../lib/XXV/MODULES/AUTOTIMER.pm:1171 ../wml/next.tmpl:15 ../wml/now.tmpl:15 ../wml/program.tmpl:43 ../wml/search.tmpl:17
+#: ../html/mlist.tmpl:24 ../html/mlnavcontainer.tmpl:28 ../html/mlsearch.tmpl:46 ../html/search.tmpl:67 ../html/widgets/vtx.tmpl:28 ../lib/XXV/MODULES/AUTOTIMER.pm:1148 ../lib/XXV/MODULES/AUTOTIMER.pm:1173 ../wml/next.tmpl:15 ../wml/now.tmpl:15 ../wml/program.tmpl:43 ../wml/search.tmpl:17
msgid "Search"
msgstr "Suche"
@@ -827,27 +827,27 @@ msgid "more"
msgstr "mehr"
#--------------------
-#: ../html/mlnavcontainer.tmpl:75
+#: ../html/mlnavcontainer.tmpl:13
msgid "New"
msgstr "Neu"
#--------------------
-#: ../html/mlnavcontainer.tmpl:81
+#: ../html/mlnavcontainer.tmpl:19
msgid "Copy"
msgstr "Kopieren"
#--------------------
-#: ../html/mlnavcontainer.tmpl:84 ../wml/tlist.tmpl:49 ../wml/tsearch.tmpl:49
+#: ../html/mlnavcontainer.tmpl:22 ../wml/tlist.tmpl:49 ../wml/tsearch.tmpl:49
msgid "Delete"
msgstr "Löschen"
#--------------------
-#: ../html/mlnavcontainer.tmpl:87 ../html/rlist.tmpl:138 ../html/rlist.tmpl:142 ../html/rlist.tmpl:143 ../html/rsearch.tmpl:138 ../html/rsearch.tmpl:142 ../html/rsearch.tmpl:143 ../html/widgets/remote.tmpl:110
+#: ../html/mlnavcontainer.tmpl:25 ../html/rlist.tmpl:138 ../html/rlist.tmpl:142 ../html/rlist.tmpl:143 ../html/rsearch.tmpl:138 ../html/rsearch.tmpl:142 ../html/rsearch.tmpl:143 ../html/widgets/remote.tmpl:110
msgid "Back"
msgstr "Zurück"
#--------------------
-#: ../html/mlnavcontainer.tmpl:90
+#: ../html/mlnavcontainer.tmpl:5
msgid "Ranges"
msgstr "Bereiche"
@@ -1040,12 +1040,12 @@ msgid "Lifetime"
msgstr "Lebenszeit"
#--------------------
-#: ../html/rdisplay.tmpl:162 ../lib/XXV/MODULES/TIMERS.pm:1234
+#: ../html/rdisplay.tmpl:162 ../lib/XXV/MODULES/TIMERS.pm:1227
msgid "Priority"
msgstr "Priorität"
#--------------------
-#: ../html/rdisplay.tmpl:63 ../html/rlist.tmpl:103 ../html/rlist.tmpl:244 ../html/rsearch.tmpl:103 ../html/rsearch.tmpl:244 ../lib/XXV/MODULES/RECORDS.pm:1522 ../lib/XXV/MODULES/RECORDS.pm:1597
+#: ../html/rdisplay.tmpl:63 ../html/rlist.tmpl:103 ../html/rlist.tmpl:244 ../html/rsearch.tmpl:103 ../html/rsearch.tmpl:244 ../lib/XXV/MODULES/RECORDS.pm:1524 ../lib/XXV/MODULES/RECORDS.pm:1599
msgid "Duration"
msgstr "Dauer"
@@ -1055,7 +1055,7 @@ msgid "Recording list"
msgstr "Aufnahmeliste"
#--------------------
-#: ../html/rdisplay.tmpl:76 ../lib/XXV/MODULES/RECORDS.pm:1699
+#: ../html/rdisplay.tmpl:76 ../lib/XXV/MODULES/RECORDS.pm:1701
msgid "Would you like to delete this recording?"
msgstr "Wollen Sie diese Aufnahme löschen?"
@@ -1070,7 +1070,7 @@ msgid "Cut recording"
msgstr "Aufnahme schneiden"
#--------------------
-#: ../html/rdisplay.tmpl:84 ../lib/XXV/MODULES/RECORDS.pm:1905
+#: ../html/rdisplay.tmpl:84 ../lib/XXV/MODULES/RECORDS.pm:1907
msgid "Edit recording"
msgstr "Aufnahme bearbeiten"
@@ -1307,7 +1307,7 @@ msgid "Search for timers"
msgstr "Suche nach Timern"
#--------------------
-#: ../html/tlist.tmpl:82 ../html/tsearch.tmpl:82 ../lib/XXV/MODULES/TIMERS.pm:895
+#: ../html/tlist.tmpl:82 ../html/tsearch.tmpl:82 ../lib/XXV/MODULES/TIMERS.pm:893
msgid "Would you like to delete this timer?"
msgstr "Wollen Sie diesen Timer löschen?"
@@ -1532,32 +1532,32 @@ msgid "Next page"
msgstr "Nächste Seite"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1010
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1012
msgid "Autotimer saved!"
msgstr "Autotimer gespeichert!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1030
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1032
msgid "No autotimer defined for deletion! Please use adelete 'aid'!"
msgstr "Kein Autotimer zum Löschen definiert! Bitte verwende adelete 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1038 ../lib/XXV/MODULES/AUTOTIMER.pm:1068 ../lib/XXV/MODULES/AUTOTIMER.pm:1077 ../lib/XXV/MODULES/AUTOTIMER.pm:620
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1040 ../lib/XXV/MODULES/AUTOTIMER.pm:1070 ../lib/XXV/MODULES/AUTOTIMER.pm:1079 ../lib/XXV/MODULES/AUTOTIMER.pm:622
msgid "The autotimer '%s' does not exist in the database."
msgstr "Der Autotimer '%s' existiert nicht in der Datenbank!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1042
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1044
msgid "Autotimer %s deleted."
msgstr "Autotimer %s wurde gelöscht."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1060
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1062
msgid "No autotimer defined to toggle! Please use atoggle 'aid'!"
msgstr "Kein ID eines Autotimer zum Umschalten definiert! Bitte verwende atoggle 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1087
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1089
msgid "Couldn't toggle autotimer with ID '%s'!"
msgstr "Konnte Autotimer mit ID '%s' nicht umschalten!"
@@ -1567,32 +1567,32 @@ msgid "Create event entries if an autotimer has created a new timer."
msgstr "Erzeuge Eventeinträge, wenn eine neuer Timer durch einen Autotimer erzeugt wurde."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1098
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1100
msgid "disabled"
msgstr "Deaktiviert"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1099
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1101
msgid "activated"
msgstr "Aktiviert"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1100
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1102
msgid "Autotimer %s is %s."
msgstr "Autotimer %s ist %s."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1145
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1147
msgid "Activ"
msgstr "Aktiv"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1150
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1152
msgid "Directory"
msgstr "Verzeichnis"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:1151
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:1153
msgid "Minimum length"
msgstr "Minimale Länge"
@@ -1667,32 +1667,32 @@ msgid "Display status of autotimers."
msgstr "Status der Autotimer anzeigen."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:536
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:538
msgid "Could not save timer for '%s' : %s"
msgstr "Konnte Timer für '%s' nicht speichern : %s"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:541
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:543
msgid "Modified timer for '%s'."
msgstr "Timer für '%s' modifiziert."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:545
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:547
msgid "Timer for '%s' has been created."
msgstr "Timer für '%s' erzeugt."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:553
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:555
msgid "Created %d timer for '%s'."
msgstr "%d Timer für '%s' erzeugt. "
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:562
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:564
msgid "Modified %d timer for '%s'."
msgstr "%d Timer für '%s' modifiziert."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:577
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:579
msgid "Read new timers into database."
msgstr "Lese neue Timer in Datenbank."
@@ -1702,62 +1702,62 @@ msgid "Delete a autotimer 'aid'"
msgstr "Löschen eines Autotimer 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:642
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:644
msgid "Mon"
msgstr "Mo"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:643
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:645
msgid "Tue"
msgstr "Di"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:644
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:646
msgid "Wed"
msgstr "Mi"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:645
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:647
msgid "Thu"
msgstr "Do"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:646
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:648
msgid "Fri"
msgstr "Fr"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:647
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:649
msgid "Sat"
msgstr "Sa"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:648
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:650
msgid "Sun"
msgstr "So"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:658 ../wml/tlist.tmpl:26 ../wml/tlist.tmpl:67 ../wml/tsearch.tmpl:26 ../wml/tsearch.tmpl:67
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:660 ../wml/tlist.tmpl:26 ../wml/tlist.tmpl:67 ../wml/tsearch.tmpl:26 ../wml/tsearch.tmpl:67
msgid "Timer"
msgstr "Timer"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:659
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:661
msgid "Existing recording"
msgstr "Vorhandene Aufnahme"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:660
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:662
msgid "Recording chronicle"
msgstr "Aufnahmechronik"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:677
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:679
msgid "Activate this autotimer"
msgstr "Aktiviere diesen Autotimer"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:681
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:683
msgid ""
"Search terms to search for EPG entries.\n"
"You can also fine tune your search :\n"
@@ -1772,32 +1772,32 @@ msgstr ""
"* durch ein Minuszeichen zum Ausschliessen von Suchbegriffen z.B. 'Heute,-Morgen'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:689
-msgid "Search in this EPG fields"
-msgstr "Suche in diesen EPG-Feldern"
-
-#--------------------
#: ../lib/XXV/MODULES/AUTOTIMER.pm:69
msgid "Edit an autotimer 'aid'"
msgstr "Editieren eines Autotimer 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:710 ../lib/XXV/MODULES/AUTOTIMER.pm:760 ../lib/XXV/MODULES/AUTOTIMER.pm:837 ../lib/XXV/MODULES/USER.pm:398 ../lib/XXV/MODULES/USER.pm:405 ../lib/XXV/MODULES/USER.pm:421
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:691
+msgid "Search in this EPG fields"
+msgstr "Suche in diesen EPG-Feldern"
+
+#--------------------
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:712 ../lib/XXV/MODULES/AUTOTIMER.pm:762 ../lib/XXV/MODULES/AUTOTIMER.pm:839 ../lib/XXV/MODULES/USER.pm:398 ../lib/XXV/MODULES/USER.pm:405 ../lib/XXV/MODULES/USER.pm:421
msgid "You can choose: %s!"
msgstr "Sie können wählen: %s!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:725
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:727
msgid "Limit search to these channels"
msgstr "Begrenze Suche auf diese Kanäle"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:733
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:735
msgid "The channel '%s' does not exist!"
msgstr "Der Kanal '%s' existiert nicht!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:740
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:742
msgid "Ignore retries with same title?"
msgstr "Ignoriere Wiederholungen mit gleichen Titel?"
@@ -1807,32 +1807,32 @@ msgid "Search for autotimer with text 'aid'"
msgstr "Suche nach Autotimer mit Text 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:776 ../lib/XXV/MODULES/TIMERS.pm:721
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:778 ../lib/XXV/MODULES/TIMERS.pm:725
msgid "Start time in format 'HH:MM'"
msgstr "Startzeit im Format 'HH:MM'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:779
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:781
msgid "You set a start time without an end time!"
msgstr "Startzeitpunkt ohne Stoppzeitpunkt definiert!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:783 ../lib/XXV/MODULES/AUTOTIMER.pm:789 ../lib/XXV/MODULES/AUTOTIMER.pm:806 ../lib/XXV/MODULES/AUTOTIMER.pm:812 ../lib/XXV/MODULES/TIMERS.pm:725 ../lib/XXV/MODULES/TIMERS.pm:731 ../lib/XXV/MODULES/TIMERS.pm:744 ../lib/XXV/MODULES/TIMERS.pm:750
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:785 ../lib/XXV/MODULES/AUTOTIMER.pm:791 ../lib/XXV/MODULES/AUTOTIMER.pm:808 ../lib/XXV/MODULES/AUTOTIMER.pm:814 ../lib/XXV/MODULES/TIMERS.pm:729 ../lib/XXV/MODULES/TIMERS.pm:735 ../lib/XXV/MODULES/TIMERS.pm:748 ../lib/XXV/MODULES/TIMERS.pm:754
msgid "The time is incorrect!"
msgstr "Die Zeit ist nicht korrekt!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:799 ../lib/XXV/MODULES/TIMERS.pm:740
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:801 ../lib/XXV/MODULES/TIMERS.pm:744
msgid "End time in format 'HH:MM'"
msgstr "Endzeit im Format 'HH:MM'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:802
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:804
msgid "You set an end time without a start time!"
msgstr "Stoppzeitpunkt ohne Startzeitpunkt definiert!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:817
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:819
msgid "Only search these weekdays"
msgstr "Suche nur an diesen Wochentagen"
@@ -1842,22 +1842,22 @@ msgid "Show autotimer 'aid'"
msgstr "Zeige Autotimer 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:850
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:852
msgid "Use PDC time to control created timer"
msgstr "Verwende VPS zum Überwachen neuer Timer"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:854 ../lib/XXV/MODULES/TIMERS.pm:32
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:856 ../lib/XXV/MODULES/TIMERS.pm:32
msgid "Buffer time in minutes before the scheduled start of a recording"
msgstr "Pufferzeit in Minuten, vor dem zeitlichen Anfang der Aufnahme."
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:862 ../lib/XXV/MODULES/AUTOTIMER.pm:876 ../lib/XXV/MODULES/AUTOTIMER.pm:889 ../lib/XXV/MODULES/AUTOTIMER.pm:905 ../lib/XXV/MODULES/AUTOTIMER.pm:921 ../lib/XXV/MODULES/CHANNELS.pm:683 ../lib/XXV/MODULES/CHANNELS.pm:714 ../lib/XXV/MODULES/CHANNELS.pm:753 ../lib/XXV/MODULES/CHANNELS.pm:766 ../lib/XXV/MODULES/CHANNELS.pm:792 ../lib/XXV/MODULES/CHANNELS.pm:818 ../lib/XXV/MODULES/CHANNELS.pm:831 ../lib/XXV/MODULES/CHANNELS.pm:844 ../lib/XXV/MODULES/CHANNELS.pm:857 ../lib/XXV/MODULES/GRAB.pm:105 ../lib/XXV/MODULES/GRAB.pm:36 ../lib/XXV/MODULES/GRAB.pm:50 ../lib/XXV/MODULES/GRAB.pm:73 ../lib/XXV/MODULES/GRAB.pm:92 ../lib/XXV/MODULES/RECORDS.pm:1846 ../lib/XXV/MODULES/RECORDS.pm:1860 ../lib/XXV/MODULES/STREAM.pm:76 ../lib/XXV/MODULES/STREAM.pm:90 ../lib/XXV/MODULES/TIMERS.pm:766 ../lib/XXV/MODULES/TIMERS.pm:782
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:864 ../lib/XXV/MODULES/AUTOTIMER.pm:878 ../lib/XXV/MODULES/AUTOTIMER.pm:891 ../lib/XXV/MODULES/AUTOTIMER.pm:907 ../lib/XXV/MODULES/AUTOTIMER.pm:923 ../lib/XXV/MODULES/CHANNELS.pm:683 ../lib/XXV/MODULES/CHANNELS.pm:714 ../lib/XXV/MODULES/CHANNELS.pm:753 ../lib/XXV/MODULES/CHANNELS.pm:766 ../lib/XXV/MODULES/CHANNELS.pm:792 ../lib/XXV/MODULES/CHANNELS.pm:818 ../lib/XXV/MODULES/CHANNELS.pm:831 ../lib/XXV/MODULES/CHANNELS.pm:844 ../lib/XXV/MODULES/CHANNELS.pm:857 ../lib/XXV/MODULES/GRAB.pm:105 ../lib/XXV/MODULES/GRAB.pm:36 ../lib/XXV/MODULES/GRAB.pm:50 ../lib/XXV/MODULES/GRAB.pm:73 ../lib/XXV/MODULES/GRAB.pm:92 ../lib/XXV/MODULES/RECORDS.pm:1848 ../lib/XXV/MODULES/RECORDS.pm:1862 ../lib/XXV/MODULES/STREAM.pm:76 ../lib/XXV/MODULES/STREAM.pm:90 ../lib/XXV/MODULES/TIMERS.pm:770 ../lib/XXV/MODULES/TIMERS.pm:786
msgid "Value incorrect!"
msgstr "Der Wert ist nicht korrekt!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:868 ../lib/XXV/MODULES/TIMERS.pm:37
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:870 ../lib/XXV/MODULES/TIMERS.pm:37
msgid "Buffer time in minutes past the scheduled end of a recording"
msgstr "Pufferzeit in Minuten, nach dem zeitlichen Ende der Aufnahme."
@@ -1867,42 +1867,42 @@ msgid "Start autotimer search."
msgstr "Autotimersuche durchführen"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:882
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:884
msgid "Minimum play time in minutes"
msgstr "Mindestlänge in Minuten"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:895 ../lib/XXV/MODULES/RECORDS.pm:1853 ../lib/XXV/MODULES/TIMERS.pm:756
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:897 ../lib/XXV/MODULES/RECORDS.pm:1855 ../lib/XXV/MODULES/TIMERS.pm:760
msgid "Priority (%d ... %d)"
msgstr "Priorität (%d ... %d)"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:901 ../lib/XXV/MODULES/TIMERS.pm:762
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:903 ../lib/XXV/MODULES/TIMERS.pm:766
msgid "Sorry, but the maximum priority is limited to %d!"
msgstr "Entschuldigung, aber die maximale Priorität ist auf %d begrenzt!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:911 ../lib/XXV/MODULES/RECORDS.pm:1839 ../lib/XXV/MODULES/TIMERS.pm:772
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:913 ../lib/XXV/MODULES/RECORDS.pm:1841 ../lib/XXV/MODULES/TIMERS.pm:776
msgid "Lifetime (%d ... %d)"
msgstr "Lebenszeit (%d ... %d)"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:917 ../lib/XXV/MODULES/TIMERS.pm:778
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:919 ../lib/XXV/MODULES/TIMERS.pm:782
msgid "Sorry, but the maximum life time is limited to %d!"
msgstr "Entschuldigung, aber die maximale Lebenszeit ist auf %d begrenzt!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:927
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:929
msgid "Group all recordings into one directory"
msgstr "Gruppiere alle Aufnahmen in einem Verzeichnis"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:941 ../lib/XXV/MODULES/AUTOTIMER.pm:974
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:943 ../lib/XXV/MODULES/AUTOTIMER.pm:976
msgid "%Y-%m-%d %H:%M:%S"
msgstr "%d.%m.%Y %H:%M:%S"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:947
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:949
msgid "Start date as YYYY-MM-DD HH:MM:SS."
msgstr "Startdatum als DD.MM.YYYY HH:MM:SS."
@@ -1912,17 +1912,17 @@ msgid "Toggle autotimer on or off 'aid'"
msgstr "Umschalten der Autotimer zwischen Ein und Aus 'aid'"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:954 ../lib/XXV/MODULES/AUTOTIMER.pm:986 ../lib/XXV/MODULES/TIMERS.pm:698
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:956 ../lib/XXV/MODULES/AUTOTIMER.pm:988 ../lib/XXV/MODULES/TIMERS.pm:702
msgid "Language=English"
msgstr "Language=German,DateFormat=non-US"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:961 ../lib/XXV/MODULES/AUTOTIMER.pm:993 ../lib/XXV/MODULES/TIMERS.pm:712
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:963 ../lib/XXV/MODULES/AUTOTIMER.pm:995 ../lib/XXV/MODULES/TIMERS.pm:716
msgid "The day is incorrect or was in a wrong format!"
msgstr "Der Tag ist nicht korrekt oder hatte ein falsches Format!"
#--------------------
-#: ../lib/XXV/MODULES/AUTOTIMER.pm:980
+#: ../lib/XXV/MODULES/AUTOTIMER.pm:982
msgid "Stop date as YYYY-MM-DD HH:MM:SS."
msgstr "Enddatum als DD.MM.YYYY HH:MM:SS."
@@ -2082,7 +2082,7 @@ msgid "No channel defined for deletion!"
msgstr "Kein Kanal zum Löschen definiert!"
#--------------------
-#: ../lib/XXV/MODULES/CHRONICLE.pm:169 ../lib/XXV/MODULES/CHRONICLE.pm:208 ../lib/XXV/MODULES/TIMERS.pm:1229
+#: ../lib/XXV/MODULES/CHRONICLE.pm:169 ../lib/XXV/MODULES/CHRONICLE.pm:208 ../lib/XXV/MODULES/TIMERS.pm:1222
msgid "Day"
msgstr "Tag"
@@ -2226,7 +2226,12 @@ msgid "Modules loaded."
msgstr "Module neugeladen."
#--------------------
-#: ../lib/XXV/MODULES/EPG.pm:1125
+#: ../lib/XXV/MODULES/EPG.pm:1037 ../lib/XXV/MODULES/VTX.pm:1348
+msgid "No channel defined!"
+msgstr "Kein Kanal definiert!"
+
+#--------------------
+#: ../lib/XXV/MODULES/EPG.pm:1210
msgid "No event id defined!"
msgstr "Keine ID zum Event definiert!"
@@ -2301,7 +2306,7 @@ msgid "Display events currently showing."
msgstr "Zeigt Sendungen, welche aktuell laufen."
#--------------------
-#: ../lib/XXV/MODULES/EPG.pm:688 ../lib/XXV/MODULES/EPG.pm:691
+#: ../lib/XXV/MODULES/EPG.pm:696 ../lib/XXV/MODULES/EPG.pm:699
msgid "This channel '%s' does not exist in the database!"
msgstr "Dieser Kanal '%s' existiert nicht in der Datenbank!"
@@ -2311,7 +2316,7 @@ msgid "Display events showing next."
msgstr "Zeigt Sendungen, welche als nächstes laufen."
#--------------------
-#: ../lib/XXV/MODULES/EPG.pm:740
+#: ../lib/XXV/MODULES/EPG.pm:761
msgid "No ID defined to display this program! Please use display 'eid'!"
msgstr "Keine ID einer Sendung, zur Anzeige dieses Programmes, definiert! Bitte verwende display 'eid'"
@@ -2321,19 +2326,14 @@ msgid "Display events in a schematic way"
msgstr "Zeigt Sendungen in einer übersichtlichen Weise"
#--------------------
-#: ../lib/XXV/MODULES/EPG.pm:799
-msgid "Event '%d' does not exist in the database!"
-msgstr "Sendung '%d' existiert nicht in der Datenbank!"
-
-#--------------------
#: ../lib/XXV/MODULES/EPG.pm:83
msgid "Update EPG data."
msgstr "Aktualisiere EPG Daten"
#--------------------
-#: ../lib/XXV/MODULES/EPG.pm:979 ../lib/XXV/MODULES/VTX.pm:1348
-msgid "No channel defined!"
-msgstr "Kein Kanal definiert!"
+#: ../lib/XXV/MODULES/EPG.pm:835
+msgid "Event '%d' does not exist in the database!"
+msgstr "Sendung '%d' existiert nicht in der Datenbank!"
#--------------------
#: ../lib/XXV/MODULES/EPG.pm:98
@@ -2446,7 +2446,7 @@ msgid "Traffic on HTTPD socket since %s: transmitted: %s - received: %s - connec
msgstr "Datenverkehr des HTTPD Anschlusses seit %s: gesendet: %s - empfangen: %s - Verbindungen: %d."
#--------------------
-#: ../lib/XXV/MODULES/HTTPD.pm:569 ../lib/XXV/OUTPUT/Console.pm:676 ../lib/XXV/OUTPUT/Html.pm:810
+#: ../lib/XXV/MODULES/HTTPD.pm:569 ../lib/XXV/OUTPUT/Console.pm:676 ../lib/XXV/OUTPUT/Html.pm:806
msgid "Could not open file '%s'! : %s"
msgstr "Konnte Datei '%s' nicht öffnen : %s"
@@ -2841,7 +2841,7 @@ msgid "List rules to move timer between channels"
msgstr "Zeige Regel zum Verschieben von Timer zwischen Kanälen"
#--------------------
-#: ../lib/XXV/MODULES/MOVETIMER.pm:393 ../lib/XXV/MODULES/MOVETIMER.pm:415 ../lib/XXV/MODULES/RECORDS.pm:1880 ../lib/XXV/MODULES/STREAM.pm:170 ../lib/XXV/MODULES/TIMERS.pm:672
+#: ../lib/XXV/MODULES/MOVETIMER.pm:393 ../lib/XXV/MODULES/MOVETIMER.pm:415 ../lib/XXV/MODULES/RECORDS.pm:1882 ../lib/XXV/MODULES/STREAM.pm:170 ../lib/XXV/MODULES/TIMERS.pm:676
msgid "This channel '%s' does not exist!"
msgstr "Dieser Kanal '%s' existiert nicht in der Datenbank!"
@@ -3101,12 +3101,12 @@ msgid "Delete recording 'rid'"
msgstr "Aufnahme löschen 'rid'"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1360
+#: ../lib/XXV/MODULES/RECORDS.pm:1364
msgid "No recording defined for display! Please use rdisplay 'rid'"
msgstr "Keine Aufnahme zum Anzeigen definiert! Bitte verwende rdisplay 'rid'"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1398 ../lib/XXV/MODULES/RECORDS.pm:1432 ../lib/XXV/MODULES/RECORDS.pm:1474 ../lib/XXV/MODULES/RECORDS.pm:1727 ../lib/XXV/MODULES/RECORDS.pm:1816 ../lib/XXV/MODULES/RECORDS.pm:2077
+#: ../lib/XXV/MODULES/RECORDS.pm:1405 ../lib/XXV/MODULES/RECORDS.pm:1434 ../lib/XXV/MODULES/RECORDS.pm:1476 ../lib/XXV/MODULES/RECORDS.pm:1729 ../lib/XXV/MODULES/RECORDS.pm:1818 ../lib/XXV/MODULES/RECORDS.pm:2079
msgid "Recording '%s' does not exist in the database!"
msgstr "Aufnahme '%s' existiert nicht in der Datenbank!"
@@ -3116,7 +3116,7 @@ msgid "Edit recording 'rid'"
msgstr "Aufnahme bearbeiten 'rid'"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1423 ../lib/XXV/MODULES/RECORDS.pm:1467
+#: ../lib/XXV/MODULES/RECORDS.pm:1425 ../lib/XXV/MODULES/RECORDS.pm:1469
msgid "No recording defined for playback! Please use rplay 'rid'."
msgstr "Keine Aufnahme zum Wiedergabe definiert! Bitte verwende rplay 'rid'"
@@ -3136,12 +3136,12 @@ msgid "Cut recording 'rid' in vdr"
msgstr "Schneide Aufnahme 'rid' im VDR"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1660
+#: ../lib/XXV/MODULES/RECORDS.pm:1662
msgid "No recording defined for deletion! Please use rdelete 'id'."
msgstr "Keine Aufnahme zum Löschen definiert! Bitte verwende rdelete 'rid'."
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1733
+#: ../lib/XXV/MODULES/RECORDS.pm:1735
msgid "Recording '%s' to delete"
msgstr "Aufnahme '%s' wird gelöscht"
@@ -3151,62 +3151,62 @@ msgid "Create event entries if a recording has been deleted."
msgstr "Erzeuge Eventeinträge, wenn eine Aufnahme gelöscht wurde."
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1768
+#: ../lib/XXV/MODULES/RECORDS.pm:1770
msgid "No recording to delete!"
msgstr "Keine Aufnahme zum Löschen!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1794
+#: ../lib/XXV/MODULES/RECORDS.pm:1796
msgid "No recording defined for editing!"
msgstr "Keine Aufnahme-ID zum Bearbeiten!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1833 ../lib/XXV/MODULES/RECORDS.pm:2426 ../lib/XXV/MODULES/TIMERS.pm:656
+#: ../lib/XXV/MODULES/RECORDS.pm:1835 ../lib/XXV/MODULES/RECORDS.pm:2428 ../lib/XXV/MODULES/TIMERS.pm:660
msgid "Title of recording"
msgstr "Titel der Aufnahme"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1870
+#: ../lib/XXV/MODULES/RECORDS.pm:1872
msgid "Undefined"
msgstr "Unbestimmt"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1891
+#: ../lib/XXV/MODULES/RECORDS.pm:1893
msgid "Video"
msgstr "Video"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1895
+#: ../lib/XXV/MODULES/RECORDS.pm:1897
msgid "Audio"
msgstr "Audio"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1900
+#: ../lib/XXV/MODULES/RECORDS.pm:1902
msgid "Cut marks"
msgstr "Schnittmarken"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1931 ../lib/XXV/MODULES/RECORDS.pm:1938
+#: ../lib/XXV/MODULES/RECORDS.pm:1933 ../lib/XXV/MODULES/RECORDS.pm:1940
msgid "Couldn't write file '%s' : %s"
msgstr "Konnte Datei '%s' nicht schreiben : %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1957 ../lib/XXV/MODULES/RECORDS.pm:1975
+#: ../lib/XXV/MODULES/RECORDS.pm:1959 ../lib/XXV/MODULES/RECORDS.pm:1977
msgid "Recording: '%s', couldn't move to '%s' : %s"
msgstr "Aufnahme: '%s', konnte nicht nach '%s' verschoben werden : %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1971
+#: ../lib/XXV/MODULES/RECORDS.pm:1973
msgid "Recording: '%s', couldn't mkpath: '%s' : %s"
msgstr "Aufnahme: '%s', konnte nicht Verzeichnis '%s' nicht erstellen : %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:1982
+#: ../lib/XXV/MODULES/RECORDS.pm:1984
msgid "Recording: '%s', couldn't remove '%s' : %s"
msgstr "Aufnahme: '%s', konnte nicht '%s' nicht entfernen : %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2011 ../lib/XXV/MODULES/RECORDS.pm:2013
+#: ../lib/XXV/MODULES/RECORDS.pm:2013 ../lib/XXV/MODULES/RECORDS.pm:2015
msgid "Recording edited!"
msgstr "Aufnahme wurde bearbeitet!"
@@ -3216,7 +3216,7 @@ msgid "Recording deleted: %s"
msgstr "Aufnahme gelöscht: %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2021
+#: ../lib/XXV/MODULES/RECORDS.pm:2023
msgid "Recording was'nt changed!"
msgstr "Aufnahme wurde nicht verändert!"
@@ -3226,77 +3226,77 @@ msgid "Subtitle: %s"
msgstr "Serientitel: %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2060
+#: ../lib/XXV/MODULES/RECORDS.pm:2062
msgid "No reccmds.conf on your system!"
msgstr "Keine reccmds.conf auf dem System!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2065
+#: ../lib/XXV/MODULES/RECORDS.pm:2067
msgid "Please use rconvert 'cmdid_rid'"
msgstr "Bitte verwende rconvert 'cmdid_rid'"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2069
+#: ../lib/XXV/MODULES/RECORDS.pm:2071
msgid "Command"
msgstr "Kommando"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2076
+#: ../lib/XXV/MODULES/RECORDS.pm:2078
msgid "Couldn't find this command ID!"
msgstr "Kann diese Kommando-ID nicht finden!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2090
+#: ../lib/XXV/MODULES/RECORDS.pm:2092
msgid "Call %s '%s', standard error output :"
msgstr "Aufruf %s '%s', Standardfehlerausgabe :"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2093
+#: ../lib/XXV/MODULES/RECORDS.pm:2095
msgid "Call %s '%s', standard output :"
msgstr "Aufruf %s '%s', Ausgabe :"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2097
+#: ../lib/XXV/MODULES/RECORDS.pm:2099
msgid "Sorry! Couldn't call %s '%s'! %s"
msgstr "Entschuldigung! Konnte %s '%s' nicht aufrufen! %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2101
+#: ../lib/XXV/MODULES/RECORDS.pm:2103
msgid "Back to recording list"
msgstr "Zurück zur Aufnahmeliste"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2139
+#: ../lib/XXV/MODULES/RECORDS.pm:2141
msgid "%d new recordings since last report time %s"
msgstr "%d neue Aufnahmen seit der letzten Reportzeit %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2416
+#: ../lib/XXV/MODULES/RECORDS.pm:2418
msgid "There none recoverable recordings!"
msgstr "Es sind keine wiederherstellbaren Aufnahmen vorhanden!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2446
+#: ../lib/XXV/MODULES/RECORDS.pm:2448
msgid "Recover recording"
msgstr "Aufnahme wiederherstellen"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2452
+#: ../lib/XXV/MODULES/RECORDS.pm:2454
msgid "Can't recover recording, maybe was this in the meantime deleted!"
msgstr "Aufnahme konnte nicht wiederhergestellt werden, möglicherweise wurde sie in der zwischenzeit gelöscht!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2461
+#: ../lib/XXV/MODULES/RECORDS.pm:2463
msgid "Recover recording, couldn't rename '%s' to %s : %s"
msgstr "Wiederhergestellen der Aufnahme, konnte '%s' nicht in %s umbenennen : %s"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2474 ../lib/XXV/MODULES/RECORDS.pm:2476
+#: ../lib/XXV/MODULES/RECORDS.pm:2476 ../lib/XXV/MODULES/RECORDS.pm:2478
msgid "Recording recovered!"
msgstr "Aufnahme wiederhergestellt!"
#--------------------
-#: ../lib/XXV/MODULES/RECORDS.pm:2484
+#: ../lib/XXV/MODULES/RECORDS.pm:2486
msgid "None recording was'nt recovered!"
msgstr "Keine Aufnahme wurde wiederhergestellt!"
@@ -3965,7 +3965,7 @@ msgid "Delete timer 'tid'"
msgstr "Lösche Timer 'tid'"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:1028
+#: ../lib/XXV/MODULES/TIMERS.pm:1026
msgid "No timer to toggle!"
msgstr "Kein Timer zum Umschalten!"
@@ -3975,7 +3975,7 @@ msgid "Activate/Deactive timer 'tid'"
msgstr "Aktiviere/Deaktiviere Timer 'tid'"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:1158
+#: ../lib/XXV/MODULES/TIMERS.pm:1159
msgid "%d timer written to database."
msgstr "%d Timer in Datenbank geschrieben."
@@ -3990,12 +3990,12 @@ msgid "New timer found: %s"
msgstr "Neuer Timer gefunden: %s"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:1642
+#: ../lib/XXV/MODULES/TIMERS.pm:1609
msgid "Timer title '%s' has started the recording!"
msgstr "Timer mit Titel '%s' hat die Aufnahme gestartet!"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:1643
+#: ../lib/XXV/MODULES/TIMERS.pm:1610
msgid "on channel: %s to %s"
msgstr "auf Kanal: %s bis %s"
@@ -4070,7 +4070,7 @@ msgid "Use Programme Delivery Control (PDC) to control start time"
msgstr "Verwende Video Program System (VPS) zum Überwachen der Startzeit"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:587 ../lib/XXV/MODULES/TIMERS.pm:806
+#: ../lib/XXV/MODULES/TIMERS.pm:587 ../lib/XXV/MODULES/TIMERS.pm:804
msgid "New timer"
msgstr "Neuer Timer"
@@ -4080,37 +4080,37 @@ msgid "Change timers if EPG entries change"
msgstr "Timer justieren, wenn EPG Eintrag verändert wurde"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:628 ../lib/XXV/MODULES/TIMERS.pm:921 ../lib/XXV/MODULES/TIMERS.pm:999
+#: ../lib/XXV/MODULES/TIMERS.pm:632 ../lib/XXV/MODULES/TIMERS.pm:919 ../lib/XXV/MODULES/TIMERS.pm:997
msgid "Timer '%s' does not exist in the database!"
msgstr "Timer '%s' existiert nicht in der Datenbank!"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:648
+#: ../lib/XXV/MODULES/TIMERS.pm:652
msgid "Enable this timer"
msgstr "Aktiviere diesen Timer"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:653
+#: ../lib/XXV/MODULES/TIMERS.pm:657
msgid "Use PDC time to control timer"
msgstr "Verwende VPS Zeit zum Überwachen des Timers"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:664
+#: ../lib/XXV/MODULES/TIMERS.pm:668
msgid "Which channel should recorded"
msgstr "Welcher Kanal soll aufgezeichnet werden"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:686
-msgid "%Y-%m-%d"
-msgstr "%d.%m.%Y"
-
-#--------------------
#: ../lib/XXV/MODULES/TIMERS.pm:69
msgid "List timers 'tid'"
msgstr "Zeige Timer 'tid'"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:692
+#: ../lib/XXV/MODULES/TIMERS.pm:690
+msgid "%Y-%m-%d"
+msgstr "%d.%m.%Y"
+
+#--------------------
+#: ../lib/XXV/MODULES/TIMERS.pm:696
msgid "Enter a day (1 to 31) or weekday in format 'MTWTFSS'."
msgstr "Tag (1 - 31) oder Wochentag im Format 'MDMDFSS' eingeben."
@@ -4120,7 +4120,7 @@ msgid "Search timers 'text'"
msgstr "Suche Timer 'text'"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:805
+#: ../lib/XXV/MODULES/TIMERS.pm:803
msgid "Edit timer"
msgstr "Timer bearbeiten"
@@ -4130,7 +4130,7 @@ msgid "Read timers and write them to the database"
msgstr "Lese Timer und schreibe sie in die Datenbank"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:864
+#: ../lib/XXV/MODULES/TIMERS.pm:862
msgid "No timer defined for deletion! Please use tdelete 'tid'."
msgstr "Kein Timer zum Löschen definiert! Bitte verwende tdelete 'tid'."
@@ -4140,12 +4140,12 @@ msgid "Create timer 'eid'"
msgstr "Erzeuge Timer 'eid'"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:937
+#: ../lib/XXV/MODULES/TIMERS.pm:935
msgid "No timer to delete!"
msgstr "Kein Timer zum Löschen!"
#--------------------
-#: ../lib/XXV/MODULES/TIMERS.pm:949
+#: ../lib/XXV/MODULES/TIMERS.pm:947
msgid "No timer defined to toggle! Please use ttoggle 'id'."
msgstr "Kein Timer zum Umschalten definiert! Bitte verwende ttoggle 'tid'"
@@ -4537,7 +4537,7 @@ msgid "You can only use one of these elements: %s"
msgstr "Sie können nur einen von diesen Elementen verwenden: %s"
#--------------------
-#: ../lib/XXV/OUTPUT/Console.pm:640 ../lib/XXV/OUTPUT/Html.pm:768
+#: ../lib/XXV/OUTPUT/Console.pm:640 ../lib/XXV/OUTPUT/Html.pm:764
msgid "Module %s not found!"
msgstr "Modul %s nicht gefunden!"
@@ -4577,12 +4577,12 @@ msgid "Please wait ..."
msgstr "Bitte warten ..."
#--------------------
-#: ../lib/XXV/OUTPUT/Html.pm:786 ../lib/XXV/OUTPUT/Wml.pm:385
+#: ../lib/XXV/OUTPUT/Html.pm:782 ../lib/XXV/OUTPUT/Wml.pm:385
msgid "Back to configuration page."
msgstr "Zurück zur Konfigurationsseite"
#--------------------
-#: ../lib/XXV/OUTPUT/Html.pm:817
+#: ../lib/XXV/OUTPUT/Html.pm:813
msgid "File"
msgstr "Datei"