summaryrefslogtreecommitdiff
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
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
-rw-r--r--html/rdisplay.tmpl12
-rw-r--r--html/rlist.tmpl12
-rw-r--r--html/widgets/wait.tmpl2
-rw-r--r--lib/XXV/MODULES/RECORDS.pm41
-rw-r--r--lib/XXV/MODULES/STREAM.pm2
-rw-r--r--lib/XXV/MODULES/SVDRP.pm13
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&amp;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 %?>
- &nbsp;<?% folder %?><?% IF new > 0 %?>&nbsp;(<?% new %?>)<?% END %?>&nbsp;<?% gettext("more recordings") %?>&nbsp;...
+ &nbsp;<?% folder %?><?% IF new %?>&nbsp;(<?% new %?>)<?% END %?>&nbsp;<?% gettext("more recordings") %?>&nbsp;...
</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>&nbsp;<?% subtitle %?>
@@ -181,12 +181,12 @@
<?% IF folder > 1 %?>
<td colspan="4">
<a href="?cmd=rlist&amp;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>&nbsp;<?% folder %?><?% IF new > 0 %?>&nbsp;(<?% new %?>)<?% END %?>&nbsp;<?% gettext("more recordings") %?>&nbsp;...
+ <b><?% foldertitle.split('~').last %?></b>&nbsp;<?% folder %?><?% IF new %?>&nbsp;(<?% new %?>)<?% END %?>&nbsp;<?% gettext("more recordings") %?>&nbsp;...
</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") %?>" />&nbsp;<?% END %?>
+ <?% IF new %?><img src="images/new.png" alt="" title="<?% gettext("New recording") %?>" />&nbsp;<?% 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 %?>">&nbsp;&nbsp;&nbsp;</td>
<?% END %?>
- <td>&nbsp;<b><?% percent | format "%02d" %?>%</b> (<?% data.eta %?>)</td>
+ <td>&nbsp;<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&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;
}