summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-11-18 09:34:02 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-11-18 09:34:02 +0000
commitccf5f81f64ac65a9926a5f597a28b868eb3aa5c1 (patch)
tree9224552b3452d5a903eca1fe066eb7dfe9237b6c /lib
parent5a42246e9309641278c119528133fb1bf0416f1e (diff)
downloadxxv-ccf5f81f64ac65a9926a5f597a28b868eb3aa5c1.tar.gz
xxv-ccf5f81f64ac65a9926a5f597a28b868eb3aa5c1.tar.bz2
* AUTOTIMER/TIMERS: Create timer with wrong day by event with vps at midnight (00:00)
Diffstat (limited to 'lib')
-rw-r--r--lib/XXV/MODULES/AUTOTIMER.pm7
-rw-r--r--lib/XXV/MODULES/TIMERS.pm27
2 files changed, 18 insertions, 16 deletions
diff --git a/lib/XXV/MODULES/AUTOTIMER.pm b/lib/XXV/MODULES/AUTOTIMER.pm
index edeec62..f22c60a 100644
--- a/lib/XXV/MODULES/AUTOTIMER.pm
+++ b/lib/XXV/MODULES/AUTOTIMER.pm
@@ -375,13 +375,15 @@ sub autotimer {
my $m = 0;
foreach my $Id (sort keys %$events) {
$events->{$Id}->{Activ} = 'y';
- $events->{$Id}->{VPS} = ($events->{$Id}->{VpsStart} && $a->{VPS} eq 'y') ? 'y' : '';
+ $events->{$Id}->{VPS} = '';
$events->{$Id}->{Priority} = $a->{Priority};
$events->{$Id}->{Lifetime} = $a->{Lifetime};
$events->{$Id}->{File} = $obj->_placeholder($events->{$Id}, $a);
- if($events->{$Id}->{VPS} eq 'y') {
+ if($events->{$Id}->{VpsStart} and $a->{VPS}) {
+ $events->{$Id}->{VPS} = 'y';
+ $events->{$Id}->{Day} = $events->{$Id}->{VpsDay};
$events->{$Id}->{Start} = $events->{$Id}->{VpsStart};
$events->{$Id}->{Stop} = $events->{$Id}->{VpsStop};
}
@@ -1121,6 +1123,7 @@ SELECT SQL_CACHE
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) - $prev ), '%d') as Day,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) - $prev ), '%H%i') as Start,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration + $after ), '%H%i') as Stop,
+ DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.vpstime)), '%d') as VpsDay,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.vpstime)), '%H%i') as VpsStart,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(e.vpstime) + e.duration), '%H%i') as VpsStop
FROM
diff --git a/lib/XXV/MODULES/TIMERS.pm b/lib/XXV/MODULES/TIMERS.pm
index 50f7442..91e1f09 100644
--- a/lib/XXV/MODULES/TIMERS.pm
+++ b/lib/XXV/MODULES/TIMERS.pm
@@ -479,31 +479,28 @@ sub newTimer {
my $epgid = shift || 0;
my $epg = shift || 0;
-
+ my $dayFormat = $obj->{newTimerFormat}?"%Y-%m-%d":"%d";
if($epgid and not ref $epg) {
- my $sth = $obj->{dbh}->prepare(
-qq|
+ my $sql = qq|
SELECT SQL_CACHE
eventid,
channel_id,
description as Summary,
CONCAT_WS('~', title, subtitle) as File,
- IF(? = 'y' and vpstime,
- DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(vpstime)), '%d'),
- DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) - ? ), '%d'))
- as Day,
+ DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) - ? ), '$dayFormat') as Day,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) - ? ), '%H%i') as Start,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + duration + ? ), '%H%i') as Stop,
+ DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(vpstime)), '$dayFormat') as VpsDay,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(vpstime)), '%H%i') as VpsStart,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(vpstime) + duration), '%H%i') as VpsStop
FROM
EPG
WHERE
- eventid = ?
-|);
- $sth->execute($obj->{usevpstime}, $obj->{prevminutes} * 60, $obj->{prevminutes} * 60, $obj->{afterminutes} * 60, $epgid)
- or return $console->err(sprintf(gettext("Event '%s' does not exist in the database!"),$epgid));
- $epg = $sth->fetchrow_hashref();
+ eventid = ?|;
+ my $sth = $obj->{dbh}->prepare($sql);
+ $sth->execute($obj->{prevminutes} * 60, $obj->{prevminutes} * 60, $obj->{afterminutes} * 60, $epgid)
+ or return $console->err(sprintf(gettext("Event '%s' does not exist in the database!"),$epgid));
+ $epg = $sth->fetchrow_hashref();
}
if(not ref $epg) {
my $t = time;
@@ -511,7 +508,7 @@ WHERE
channel_id => '',
File => '',
Summary => '',
- Day => $obj->{newTimerFormat}?my_strftime("%Y-%m-%d",$t):my_strftime("%d",$t),
+ Day => my_strftime($dayFormat,$t),
Start => my_strftime("%H%M",$t),
Stop => my_strftime("%H%M",$t)
};
@@ -529,6 +526,7 @@ WHERE
}
if($epg->{VpsStart} && $obj->{usevpstime} eq 'y') {
$epg->{Status} |= 4;
+ $epg->{Day} = $epg->{VpsDay};
$epg->{Start} = $epg->{VpsStart};
$epg->{Stop} = $epg->{VpsStop};
}
@@ -1254,6 +1252,7 @@ SELECT SQL_CACHE t.Id as Id, t.Status as Status,t.ChannelID as ChannelID,
|;
my $erg = $obj->{dbh}->selectall_hashref($sql, 'Id');
+ my $dayFormat = $obj->{newTimerFormat}?"%Y-%m-%d":"%d";
foreach my $t (keys %$erg) {
my %tt;
@@ -1280,7 +1279,7 @@ SELECT SQL_CACHE t.Id as Id, t.Status as Status,t.ChannelID as ChannelID,
ChannelID => $erg->{$t}->{ChannelID},
File => $erg->{$t}->{File},
Summary => $erg->{$t}->{Summary},
- Day => $obj->{newTimerFormat}?my_strftime("%Y-%m-%d",$start):my_strftime("%d",$start),
+ Day => my_strftime($dayFormat,$start),
Start => my_strftime("%H%M",$start),
Stop => my_strftime("%H%M",$stop),
Priority => $erg->{$t}->{Priority},