OSSP CVS Repository

ossp - ossp-web/SHARE/ossp_pkg.wml 1.1
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

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."&nbsp;&nbsp;</td>" .
		      "<td align=right>&nbsp;&nbsp;".$S[7]."</td>" .
	          "<td align=right>&nbsp;&nbsp;".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" "&nbsp;<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>&nbsp;(<get-var stable_date>)</td>
  </tr>
  <tr>
    <td>Unstable Version:&nbsp;&nbsp;</td><td><get-var unstable></td><td>&nbsp;(<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>


CVSTrac 2.0.1