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 | |
| 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
| -rw-r--r-- | html/rdisplay.tmpl | 12 | ||||
| -rw-r--r-- | html/rlist.tmpl | 12 | ||||
| -rw-r--r-- | html/widgets/wait.tmpl | 2 | ||||
| -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 |
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; -%?> - <td bgcolor="white" width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) | format('%d') %?>" align='right'> - <font size='1'><?% Stunden | format('%02d') %?>:<?% Minuten | format('%02d') %?></font> + <td bgcolor="white" width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) div 1 %?>" align='right'> + <font size='1'><?% Stunden div 1 | format('%02d') %?>:<?% Minuten div 1 | format('%02d') %?></font> </td> <?% END %?> </tr> <tr> <?% c = 0 %?> <?% abstand = abstand div 3 %?> - <td bgcolor="white" colspan="<?% colspan %?>"><nobr><?%- WHILE c < range -%?><?%- c = c + abstand; percent = (abstand / data.Duration) * width -%?><img style="background:white" src='/images/blank.png' width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) | format('%d') %?>" height='10'><img style="background:<?% c % 900 ? "gray" : "black" %?>" src='/images/blank.png' width="<?% c % 3600 ? "1" : "2" %?>" height='<?% (c % 900 ? "5" : "10") %?>'><?%- END -%?></td> + <td bgcolor="white" colspan="<?% colspan %?>"><nobr><?%- WHILE c < range -%?><?%- c = c + abstand; percent = (abstand / data.Duration) * width -%?><img style="background:white" src='/images/blank.png' width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) div 1 %?>" height='10'><img style="background:<?% c % 900 ? "gray" : "black" %?>" src='/images/blank.png' width="<?% c % 3600 ? "1" : "2" %?>" height='<?% (c % 900 ? "5" : "10") %?>'><?%- END -%?></td> </tr> <tr> <td colspan="<?% colspan %?>"><nobr><?%- secold = 0; @@ -42,13 +42,13 @@ sec = sec + m.2; percent = ((sec-secold) / data.Duration) * width; bgcolor = (bgcolor == 'red' ? 'white' : 'red'); - -%?><img style="background:<?% bgcolor %?>" src='images/blank.png' width="<?% percent | format('%d') %?>" height='10' title="<?% (b < 0 ? "0:00:00.00" : ml.$b) %?> - <?% ml.$c %?>"> + -%?><img style="background:<?% bgcolor %?>" src='images/blank.png' width="<?% percent div 1 %?>" height='10' title="<?% (b < 0 ? "0:00:00.00" : ml.$b) %?> - <?% ml.$c %?>"> <?%- secold = sec; END; IF data.Duration > secold; bgcolor = (bgcolor == 'red' ? 'white' : 'red'); percent = ((data.Duration - secold) / data.Duration) * width; - -%?><img style="background:<?% bgcolor %?>" src="images/blank.png" width="<?% percent | format('%d') %?>" height="10" title="<?% (c < 0 ? "0:00:00.00" : ml.$c) %?> - <?% data.Duration div 3600 | format('%d') %?>:<?% data.Duration div 60 mod 60 | format('%02d') %?>:<?% data.Duration mod 60 | format('%02d') %?>" /> + -%?><img style="background:<?% bgcolor %?>" src="images/blank.png" width="<?% percent div 1 %?>" height="10" title="<?% (c < 0 ? "0:00:00.00" : ml.$c) %?> - <?% data.Duration div 3600 %?>:<?% data.Duration div 60 mod 60 div 1 | format('%02d') %?>:<?% data.Duration mod 60 div 1 | format('%02d') %?>" /> <?% END %?> </td> </tr> @@ -60,7 +60,7 @@ <?% Stunden = d div 3600 %?> <?% Minuten = d div 60 mod 60 %?> <?% Sekunden = d mod 60 %?> - <?% gettext('Duration') %?> : <?% Stunden | format('%d') %?>:<?% Minuten | format('%02d') %?>:<?% Sekunden | format('%02d') %?> + <?% gettext('Duration') %?> : <?% Stunden div 1 %?>:<?% Minuten div 1 | format('%02d') %?>:<?% Sekunden div 1 | format('%02d') %?> <?% END %?> <?% END %?> 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 @@ <td> <a href="?cmd=rlist&data=<?% url( fulltitle ) %?>"> <b><?% foldertitle %?></b><br /> - <?% IF new > 0 %?> + <?% IF new %?> <img src="images/newfolder.png" alt="" title="<?% gettext("New recording") %?>" /> <?% ELSE %?> <img src="images/foldericon.png" alt="" /> <?% END %?> - <?% folder %?><?% IF new > 0 %?> (<?% new %?>)<?% END %?> <?% gettext("more recordings") %?> ... + <?% folder %?><?% IF new %?> (<?% new %?>)<?% END %?> <?% gettext("more recordings") %?> ... </a> <img src="images/blank.png" height="1" width="200" alt="" /> </td> @@ -84,7 +84,7 @@ </div> <div style="height:3em; overflow:hidden;"> <?% INCLUDE bloecke/tooltip.tmpl cmd="rdisplay" linkid=id ttp_offset=0 %?> - <?% IF new > 0 %?><img src="images/new.png" alt="" title="<?% gettext("New recording") %?>" /><?% END %?> + <?% IF new %?><img src="images/new.png" alt="" title="<?% gettext("New recording") %?>" /><?% END %?> <b><?% (title.match('[a-z]') ? title : fulltitle) %?></b> <?% IF subtitle %?> <br> <?% subtitle %?> @@ -181,12 +181,12 @@ <?% IF folder > 1 %?> <td colspan="4"> <a href="?cmd=rlist&data=<?% url( fulltitle ) %?>"> - <?% IF new > 0 %?> + <?% IF new %?> <img src="images/newfolder.png" alt="" title="<?% gettext("New recording") %?>" /> <?% ELSE %?> <img src="images/foldericon.png" alt="" /> <?% END %?> - <b><?% foldertitle.split('~').last %?></b> <?% folder %?><?% IF new > 0 %?> (<?% new %?>)<?% END %?> <?% gettext("more recordings") %?> ... + <b><?% foldertitle.split('~').last %?></b> <?% folder %?><?% IF new %?> (<?% new %?>)<?% END %?> <?% gettext("more recordings") %?> ... </a> </td> <?% ELSE %?> @@ -207,7 +207,7 @@ <?% PROCESS dur d=field %?> <?% ELSIF c == 2 # title %?> <?% INCLUDE bloecke/tooltip.tmpl cmd="rdisplay" linkid=id ttp_offset=0 %?> - <?% IF new > 0 %?><img src="images/new.png" alt="" title="<?% gettext("New recording") %?>" /> <?% END %?> + <?% IF new %?><img src="images/new.png" alt="" title="<?% gettext("New recording") %?>" /> <?% END %?> <?% var = (field.split('~').last.match('[a-z]') ? field.split('~').last : zeile.9);chop(var,30) %?> </a> <?% ELSE %?> 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 @@ <?% color = (step * c) <= data.current ? "red" : "white" %?> <td bgcolor="<?% color %?>"> </td> <?% END %?> - <td> <b><?% percent | format "%02d" %?>%</b> (<?% data.eta %?>)</td> + <td> <b><?% percent div 1 | format "%02d" %?>%</b> (<?% data.eta %?>)</td> </table> </center> </body> 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; } |
