summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-12-01 07:59:52 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-12-01 07:59:52 +0000
commit1acb7bfd3d1ef3d4c45218c2d797341e1f34a816 (patch)
tree3416ed73eb749df6d008696a08853b7f866979bb /lib
parent3ba6e3f9e409abc60f56065d07dee7d45f3b031b (diff)
downloadxxv-1acb7bfd3d1ef3d4c45218c2d797341e1f34a816.tar.gz
xxv-1acb7bfd3d1ef3d4c45218c2d797341e1f34a816.tar.bz2
* rlist/rdisplay: Fix isn't numeric in sprintf at Filters.pm
* rdelete: redirect to parent folder, instead root folder * rcut/rplay: redirect to redisplay * rupdate: remove double redirect
Diffstat (limited to 'lib')
-rw-r--r--lib/XXV/MODULES/RECORDS.pm41
-rw-r--r--lib/XXV/MODULES/STREAM.pm2
-rw-r--r--lib/XXV/MODULES/SVDRP.pm13
3 files changed, 43 insertions, 13 deletions
diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm
index 60c61a7..f356748 100644
--- a/lib/XXV/MODULES/RECORDS.pm
+++ b/lib/XXV/MODULES/RECORDS.pm
@@ -634,11 +634,8 @@ DELETE FROM OLDEPG
lg join("\n", @$err);
$console->err($err);
}
-
- $console->redirect({url => '?cmd=rlist', wait => 1})
- if($console->typ eq 'HTML');
}
- return 1;
+ return (scalar @{$err} == 0);
}
# Routine um Callbacks zu registrieren und
@@ -679,7 +676,11 @@ sub refresh {
}
}
- return $obj->readData($watcher,$console,$waiter,1);
+ if($obj->readData($watcher,$console,$waiter,1)
+ && ref $console) {
+ $console->redirect({url => '?cmd=rlist', wait => 1})
+ if($console->typ eq 'HTML');
+ }
}
# ------------------
@@ -1247,7 +1248,7 @@ sub play {
my $console = shift || return error('No console defined!');
my $recordid = shift || return $console->err(gettext("No recording defined for playback! Please use rplay 'rid'."));
- my $sql = qq|SELECT SQL_CACHE RecordID FROM RECORDS WHERE RecordMD5 = ?|;
+ my $sql = qq|SELECT SQL_CACHE RecordID,RecordMD5 FROM RECORDS WHERE RecordMD5 = ?|;
my $sth = $obj->{dbh}->prepare($sql);
my $rec;
if(!$sth->execute($recordid)
@@ -1256,7 +1257,12 @@ sub play {
}
my $cmd = sprintf('PLAY %d begin', $rec->{RecordID});
- return $obj->{svdrp}->scommand($watcher, $console, $cmd);
+ if($obj->{svdrp}->scommand($watcher, $console, $cmd)) {
+ $console->redirect({url => sprintf('?cmd=rdisplay&amp;data=%s',$rec->{RecordMD5}), wait => 1})
+ if(ref $console and $console->typ eq 'HTML');
+ return 1;
+ }
+ return 0;
}
# ------------------
@@ -1267,7 +1273,7 @@ sub cut {
my $console = shift || return error('No console defined!');
my $recordid = shift || return $console->err(gettext("No recording defined for playback! Please use rplay 'rid'."));
- my $sql = qq|SELECT SQL_CACHE RecordID FROM RECORDS WHERE RecordMD5 = ?|;
+ my $sql = qq|SELECT SQL_CACHE RecordID,RecordMD5 FROM RECORDS WHERE RecordMD5 = ?|;
my $sth = $obj->{dbh}->prepare($sql);
my $rec;
if(!$sth->execute($recordid)
@@ -1276,7 +1282,12 @@ sub cut {
}
my $cmd = sprintf('EDIT %d', $rec->{RecordID});
- return $obj->{svdrp}->scommand($watcher, $console, $cmd);
+ if($obj->{svdrp}->scommand($watcher, $console, $cmd)) {
+ $console->redirect({url => sprintf('?cmd=rdisplay&amp;data=%s',$rec->{RecordMD5}), wait => 1})
+ if(ref $console and $console->typ eq 'HTML');
+ return 1;
+ }
+ return 0;
}
# ------------------
@@ -1537,8 +1548,16 @@ sub delete {
}
sleep(1);
- $obj->readData($watcher,$console,$waiter);
-
+ if($obj->readData($watcher,$console,$waiter)
+ && ref $console && $console->typ eq 'HTML') {
+ my @t = split('~', $todelete[0]);
+ if(scalar @t > 1) { # Remove subtitle
+ delete $t[-1];
+ $console->redirect({url => sprintf('?cmd=rlist&amp;data=%s',join('~',@t)), wait => 1});
+ } else {
+ $console->redirect({url => '?cmd=rlist', wait => 1});
+ }
+ }
} else {
$console->err(gettext("No recording to delete!"));
}
diff --git a/lib/XXV/MODULES/STREAM.pm b/lib/XXV/MODULES/STREAM.pm
index e2c4aa2..1e9c01f 100644
--- a/lib/XXV/MODULES/STREAM.pm
+++ b/lib/XXV/MODULES/STREAM.pm
@@ -169,7 +169,7 @@ sub play_record {
$console->{noFooter} = 1;
my $arg;
- $arg->{'attachment'} = sprintf("playrecord%d.m3u", $recid);
+ $arg->{'attachment'} = sprintf("%s.m3u", $recid);
$arg->{'Content-Length'} = length($data);
$console->out($data, $obj->{mimetyp}, %{$arg} );
diff --git a/lib/XXV/MODULES/SVDRP.pm b/lib/XXV/MODULES/SVDRP.pm
index 9fe4b3f..a29601a 100644
--- a/lib/XXV/MODULES/SVDRP.pm
+++ b/lib/XXV/MODULES/SVDRP.pm
@@ -206,6 +206,9 @@ sub status {
my $erg = $obj->command('stat disk');
$console->msg($erg, $obj->err)
if(ref $console);
+ return 1
+ unless($obj->{ERROR});
+ return 0;
}
# ------------------
@@ -217,7 +220,15 @@ sub scommand {
my $text = shift || return $console->err(gettext("No command defined! Please use scommand 'cmd'."));
my $erg = $obj->command($text);
- $console->msg($erg, $obj->err);
+
+ return 0
+ unless($erg || $obj->{ERROR});
+
+ $console->msg($erg, $obj->{ERROR});
+
+ return 1
+ unless($obj->{ERROR});
+ return 0;
}