diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2007-11-18 09:34:02 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2007-11-18 09:34:02 +0000 |
| commit | ccf5f81f64ac65a9926a5f597a28b868eb3aa5c1 (patch) | |
| tree | 9224552b3452d5a903eca1fe066eb7dfe9237b6c /lib | |
| parent | 5a42246e9309641278c119528133fb1bf0416f1e (diff) | |
| download | xxv-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.pm | 7 | ||||
| -rw-r--r-- | lib/XXV/MODULES/TIMERS.pm | 27 |
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}, |
