From 1acb7bfd3d1ef3d4c45218c2d797341e1f34a816 Mon Sep 17 00:00:00 2001 From: Andreas Brachold Date: Sat, 1 Dec 2007 07:59:52 +0000 Subject: * 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 --- html/rdisplay.tmpl | 12 ++++++------ html/rlist.tmpl | 12 ++++++------ html/widgets/wait.tmpl | 2 +- lib/XXV/MODULES/RECORDS.pm | 41 ++++++++++++++++++++++++++++++----------- lib/XXV/MODULES/STREAM.pm | 2 +- lib/XXV/MODULES/SVDRP.pm | 13 ++++++++++++- 6 files changed, 56 insertions(+), 26 deletions(-) diff --git a/html/rdisplay.tmpl b/html/rdisplay.tmpl index 8cdb4ce..112c447 100644 --- a/html/rdisplay.tmpl +++ b/html/rdisplay.tmpl @@ -19,15 +19,15 @@ Stunden = c div 3600; Minuten = c div 60 mod 60; -%?> - - : + + : - " src='/images/blank.png' width="" height=''> + " src='/images/blank.png' width="" height=''> - "> + -%?> - "> secold; bgcolor = (bgcolor == 'red' ? 'white' : 'red'); percent = ((data.Duration - secold) / data.Duration) * width; - -%?> - ::" /> + -%?> - ::" /> @@ -60,7 +60,7 @@ - : :: + : :: diff --git a/html/rlist.tmpl b/html/rlist.tmpl index 6158f0f..5b3ae79 100644 --- a/html/rlist.tmpl +++ b/html/rlist.tmpl @@ -57,12 +57,12 @@
- 0 %?> + " /> -   0 %?> ()  ... +   ()  ...
@@ -84,7 +84,7 @@
- 0 %?>" /> + " />
  @@ -181,12 +181,12 @@ 1 %?> - 0 %?> + " /> -   0 %?> ()  ... +   ()  ... @@ -207,7 +207,7 @@ - 0 %?>" />  + " />  diff --git a/html/widgets/wait.tmpl b/html/widgets/wait.tmpl index cc814c0..333fa91 100644 --- a/html/widgets/wait.tmpl +++ b/html/widgets/wait.tmpl @@ -26,7 +26,7 @@     -  % () +  % () 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; } -- cgit v1.2.3