summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-01-20 22:37:27 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-01-20 22:37:27 +0000
commitcc7b504abf7ebc6a6623fd207661f6380c721310 (patch)
treef06a2d4fcaed4360a8d71389d6bdd99fc818e556 /lib
parent61e5e7a14cce8aea66e2296f81211b7e1c32d328 (diff)
downloadxxv-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.pm17
-rw-r--r--lib/XXV/MODULES/RECORDS.pm18
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});