diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2008-01-20 22:37:27 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2008-01-20 22:37:27 +0000 |
| commit | cc7b504abf7ebc6a6623fd207661f6380c721310 (patch) | |
| tree | f06a2d4fcaed4360a8d71389d6bdd99fc818e556 /lib | |
| parent | 61e5e7a14cce8aea66e2296f81211b7e1c32d328 (diff) | |
| download | xxv-cc7b504abf7ebc6a6623fd207661f6380c721310.tar.gz xxv-cc7b504abf7ebc6a6623fd207661f6380c721310.tar.bz2 | |
* contrib/upgrade-xxv-db.sql dump always database before update executed
* Bug #12986, upgrade failed if remote mysql server used
* CHANNELS: Merge twice SQL to single query
* RECORDS: Fix typo
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/XXV/MODULES/CHANNELS.pm | 17 | ||||
| -rw-r--r-- | lib/XXV/MODULES/RECORDS.pm | 18 |
2 files changed, 17 insertions, 18 deletions
diff --git a/lib/XXV/MODULES/CHANNELS.pm b/lib/XXV/MODULES/CHANNELS.pm index 438d46a..3713c24 100644 --- a/lib/XXV/MODULES/CHANNELS.pm +++ b/lib/XXV/MODULES/CHANNELS.pm @@ -603,18 +603,17 @@ sub getChannelType { # ------------------ my $obj = shift || return error('No object defined!'); my $id = shift || return undef; - my $pos = $obj->ChannelToPos($id); - if($pos and $pos >= 1) - { - my $data = $obj->ChannelHash('POS', sprintf('POS = %d', $pos)); - if(exists $data->{$pos}) { - my $ch = $data->{$pos}; - if($ch->{VPID}) { + + my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE VPID,APID from CHANNELS where Id = ?'); + $sth->execute($id) + or return error sprintf("Couldn't execute query: %s.",$sth->errstr); + my $erg = $sth->fetchrow_hashref(); + if($erg) { + if(exists $erg->{VPID}) { return 'TV'; - } elsif($ch->{APID}) { + } elsif(exists $erg->{APID}) { return 'RADIO'; } - } } error sprintf("Unknown channel! Couldn't identify type of channel with id: %s", $id); return 'UNKNOWN'; diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm index a4412ae..7b9f4d8 100644 --- a/lib/XXV/MODULES/RECORDS.pm +++ b/lib/XXV/MODULES/RECORDS.pm @@ -1663,8 +1663,8 @@ sub delete { my $answer = shift || 0; my @rcs = split(/_/, $record); - my @todelete; - my @md5delete; + my $todelete; + my $md5delete; my %rec; foreach my $item (@rcs) { @@ -1711,8 +1711,8 @@ sub delete { $obj->{svdrp}->queue_cmds(sprintf("delr %s",$r->{Id})); - push(@todelete,$r->{Title}); # Remember title - push(@md5delete,$r->{MD5}); # Remember hash + push(@{$todelete},$r->{Title}); # Remember title + push(@{$md5delete},$r->{MD5}); # Remember hash # Delete recordings from request, if found in database my $i = 0; @@ -1732,7 +1732,7 @@ sub delete { if($obj->{svdrp}->queue_cmds('COUNT')) { - my $msg = sprintf(gettext("Recording '%s' to delete"),join('\',\'',@todelete)); + my $msg = sprintf(gettext("Recording '%s' to delete"),join('\',\'',@{$todelete})); my $erg = $obj->{svdrp}->queue_cmds("CALL"); # Aufrufen der Kommandos @@ -1746,10 +1746,10 @@ sub delete { }else { con_msg($console,$msg); } - - my $dsql = sprintf("DELETE FROM RECORDS WHERE RecordMD5 IN (%s)", join(',' => ('?') x @md5delete)); +#dumper($md5delete); + my $dsql = sprintf("DELETE FROM RECORDS WHERE RecordMD5 IN (%s)", join(',' => ('?') x @{$md5delete})); my $dsth = $obj->{dbh}->prepare($dsql); - $sth->execute(@md5delete) + $sth->execute(@{$md5delete}) or return con_err($console, sprintf("Couldn't execute query: %s.",$sth->errstr)); } @@ -1758,7 +1758,7 @@ sub delete { unless($obj->{inotify}); if(ref $console && $console->typ eq 'HTML') { - my @t = split('~', $todelete[0]); + my @t = split('~', $todelete->[0]); if(scalar @t > 1) { # Remove subtitle delete $t[-1]; $console->redirect({url => sprintf('?cmd=rlist&data=%s',url(join('~',@t))), wait => 1}); |
