diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2007-12-01 07:59:52 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2007-12-01 07:59:52 +0000 |
| commit | 1acb7bfd3d1ef3d4c45218c2d797341e1f34a816 (patch) | |
| tree | 3416ed73eb749df6d008696a08853b7f866979bb /lib | |
| parent | 3ba6e3f9e409abc60f56065d07dee7d45f3b031b (diff) | |
| download | xxv-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.pm | 41 | ||||
| -rw-r--r-- | lib/XXV/MODULES/STREAM.pm | 2 | ||||
| -rw-r--r-- | lib/XXV/MODULES/SVDRP.pm | 13 |
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&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&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&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; } |
