ossp-web/SHARE/ossp_pkg.wml
1.1
##
## ossp_pkg.wml -- Package Macros
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
# define a process bar
<define-tag pbar>
<preserve width pdone cdone ctext ctodo/>
<set-var %attributes/>
<set-var ptodo=<substract 100 <get-var pdone/>/>/>
<set-var wdone=<divide <multiply <get-var width/> <get-var pdone/>/> 100/>/>
<set-var wtodo=<divide <multiply <get-var width/> <get-var ptodo/>/> 100/>/>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<ifeq <get-var wdone/> 0 "" <group
<td width="<get-var wdone/>" bgcolor="<get-var cdone/>" align=right>
<imgdot width=<get-var wdone>><br>
<font color="<get-var ctext/>" face="arial,helvetica"><b>
<get-var pdone/>%
</b></font>
</td>/>/>
<ifeq <get-var wtodo/> 0 "" <group
<td width="<get-var wtodo/>" bgcolor="<get-var ctodo/>">
<imgdot width=<get-var wtodo>>
</td>/>/>
</tr>
</table>
<restore width pdone cdone ctext ctodo/>
</define-tag>
# define a <filelist> tag which can be used to create a file listing which
# is optically more compact than the stuff Apache's mod_autoindex creates.
# Especially the current version is marked red, too.
<define-tag pkg_files>
<preserve url>
<preserve directory>
<preserve files>
<set-var %attributes>
<table width=100% cellspacing=1 cellpadding=0 border=0>
<tr>
<td>File</td>
<td align=right>Bytes</td><td align=right>Timestamp</td>
</tr>
<:
my $url = "<get-var url>";
$url =~ s|/+$||sg;
my $directory = "<get-var directory>";
my $files = "<get-var files>";
my $highlight = "<get-var highlight>";
my $odir = chdir($directory) || die;
my @F = reverse sort { (stat($a))[9] <=> (stat($b))[9]; } (glob($files));
chdir($odir);
my $O = '';
@COL = (
'#e5e5e0',
'NONE',
);
$ncol = 1;
foreach my $f (@F) {
my @S = stat($f);
$f = "$f/" if (-d $f);
my @T = localtime($S[9]);
my @moy = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
$f = "<a href=\"".$url."/".$f."\">$f</a>";
$ncol = ($ncol + 1) % 2;
$col = $COL[$ncol];
my $e = ($col eq "NONE" ? "<tr>" : "<tr bgcolor=\"$col\">").
"<td width=100%>".$f." </td>" .
"<td align=right> ".$S[7]."</td>" .
"<td align=right> ".sprintf("%"."02d-%"."s-%"."04d", $T[3], $moy[$T[4]], 1900+$T[5]) . "</td>".
"</tr>";
$O .= $e . "\n";
}
print $O;
:>
</table>
<restore url>
<restore directory>
<restore files>
</define-tag>
# define a package summary list
<define-tag pkg_list endtag=required>
<table width=100% cellspacing=1 cellpadding=0 border=0>
%body
<tr>
<td colspan=3 height=1 bgcolor="#b5b5b0"><imgdot height=1></td>
</tr>
<tr>
<td colspan=3>
<b>*</b> derived from external sources
</td>
</tr>
</table>
</define-tag>
<define-tag pkg_item>
<preserve name>
<preserve longname>
<preserve desc>
<preserve done>
<preserve tag>
<preserve stable>
<preserve unstable>
<preserve derived>
<set-var %attributes>
<tr>
<td colspan=3 height=1 bgcolor="#b5b5b0"><imgdot height=1></td>
</tr>
<tr>
<td width=100%>
<a href="<get-var name>/"><b><get-var longname></b></a>
<ifeq "<get-var derived>" "yes" " <b>*</b>">
</td>
<td>stable:
<ifeq "<get-var stable>" "none" "none"
<a href="ftp://ftp.ossp.org/pkg/tool/<get-var name>/<get-var name>-<get-var stable>.tar.gz"><get-var stable></a>
>
</td>
<td>unstable:
<ifeq "<get-var unstable>" "none" "none"
<a href="ftp://ftp.ossp.org/pkg/tool/<get-var name>/<get-var name>-<get-var unstable>.tar.gz"><get-var unstable></a>
>
</td>
</tr>
<tr>
<td><get-var desc></td>
<td colspan=2>
<pbar width=200 pdone="<get-var done>" cdone="#b5b5b0" ctext="#f5f5f0" ctodo="#996666">
</td>
</tr>
<restore name>
<restore longname>
<restore desc>
<restore done>
<restore stable>
<restore unstable>
<restore derived>
</define-tag>
<define-tag pkg_status>
<preserve stable>
<preserve unstable>
<preserve stable_date>
<preserve unstable_date>
<preserve done>
<set-var %attributes>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td>Stable Version:</td><td><get-var stable></td><td> (<get-var stable_date>)</td>
</tr>
<tr>
<td>Unstable Version: </td><td><get-var unstable></td><td> (<get-var unstable_date>)</td>
</tr>
<tr>
<td>Done:</td><td colspan=2><pbar width=100 pdone="<get-var done>" cdone="#b5b5b0" ctext="#f5f5f0" ctodo="#996666"></td>
</tr>
</table>
<restore stable>
<restore unstable>
<restore stable_date>
<restore unstable_date>
<restore done>
</define-tag>