Admin/page/common/functions.pl
author wenzelm
Mon, 11 Sep 2000 20:23:24 +0200
changeset 9925 40f02ebcb3c0
parent 9920 9734f2717203
child 10085 a9704bf90031
permissions -rw-r--r--
tuned;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
     1
<!-- _GP_
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
     2
# undef all the functions we're defining. This stops lots of
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
     3
# complaining about re-defining the sub for each content file that's
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
     4
# processed.
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
     5
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
     6
       if (defined(&me)) { undef &me; }
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
     7
       if (defined(&distname)) { undef &distname; }
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
     8
       if (defined(&href)) { undef &href; }
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
     9
       if (defined(&twodig)) { undef &twodig; }
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    10
       if (defined(&when)) { undef &when; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    11
       if (defined(&size)) { undef &size; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    12
       if (defined(&page)) { undef &page; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    13
       if (defined(&empty_line)) { undef &empty_line; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    14
       if (defined(&setnavcolor)) { undef &setnavcolor; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    15
       if (defined(&twodig)) { undef &twodig; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    16
       if (defined(&setdowncolor)) { undef &setdowncolor; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    17
       if (defined(&download)) { undef &download; }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    18
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    19
 -->
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    20
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    21
<!--  _GP_ 
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    22
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    23
    sub distname {
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    24
      return $ENV{"DISTNAME"};
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    25
    }
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    26
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    27
    sub href {
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    28
	return "<a href=\"" . $_[0] . "\">" . $_[1] . "</a>";
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    29
    }
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    30
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    31
    sub twodig {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    32
      if ($_[0] < 10) {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    33
        return "0$_[0]";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    34
      }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    35
      return "$_[0]";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    36
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    37
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    38
# ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);     
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    39
    sub when { 
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    40
      my @s = stat $inputfile;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    41
      my @t = gmtime($s[9]);      
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    42
      my $year  = $t[5]+1900;      
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    43
      my $month = twodig($t[4]+1);
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    44
      my $day   = twodig($t[3]);
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    45
      return "$month/$day/$year";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    46
#      my $hour  = twodig($t[2]);
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    47
#      my $min   = twodig($t[1]);
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    48
#      return "$month/$day/$year $hour:$min UTC";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    49
    }  
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    50
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    51
    sub setnavcolor {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    52
      $navcolor = $_[0];
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    53
      return "";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    54
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    55
    
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    56
    # page(name, file)
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    57
    sub page {    
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    58
      my $retval = "";      
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    59
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    60
      if ("$_[1].html" eq substr($outputfile,rindex($outputfile,"/")+1)) {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    61
        $retval = <<EOF;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    62
        <table width="100%" border="0" cellspacing="0" cellpadding="5">
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    63
        <tr> 
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    64
          <td align=center bgcolor="$navcolor">
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    65
            <b><font face="Arial,Helvetica"><A HREF="$_[1].html" target="_top">$_[0]</A></font></b>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    66
          </td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    67
        </tr>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    68
        </table>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    69
EOF
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    70
      }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    71
      else {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    72
        $retval = <<EOF;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    73
        <table width="100%" border="0" cellspacing="0" cellpadding="5">
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    74
        <tr> 
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    75
          <td width="8">&nbsp;</td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    76
          <td width="150" align=center bgcolor="$navcolor">
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    77
            <b><font face="Arial,Helvetica"><A HREF="$_[1].html" target="_top">$_[0]</A></font></b>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    78
          </td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    79
          <td width="8">&nbsp;</td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    80
        </tr>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    81
        </table>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    82
EOF
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    83
      }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    84
      return $retval;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    85
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    86
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    87
    # empty_line(numcols)
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    88
    sub empty_line {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    89
      my $retval = <<EOF;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    90
      <p>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    91
EOF
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    92
      return $retval;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    93
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    94
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    95
    # size(filename)
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    96
    sub size {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    97
      my $filename = $_[0];
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
    98
      my @s = stat $filename;
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
    99
      my $size = defined $s[7] ? $s[7]/1024 : 0;
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   100
9925
wenzelm
parents: 9920
diff changeset
   101
      return sprintf("%d", $size);
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   102
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   103
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   104
    sub setdowncolor {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   105
      $downcolor = $_[0];
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   106
      return "";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   107
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   108
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
   109
   # download(description, url, prefix)
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   110
    sub download {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   111
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   112
      my $descr = $_[0];
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   113
      my $url   = $_[1];
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
   114
      my $prefix  = $_[2];
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   115
9920
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
   116
      my $size = size("$prefix/$url");
9734f2717203 improved WWW page generation (still somewhat experimental);
wenzelm
parents: 8056
diff changeset
   117
      $size = "$size K";
8056
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   118
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   119
      my $filename = $path;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   120
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   121
      if ($url =~ /([^\/]*\/)*([^\/]+)/) {
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   122
	$filename = $2;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   123
      }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   124
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   125
      my $td   = "nowrap bgcolor=$downcolor";
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   126
      
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   127
      my $retval = <<EOF;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   128
      <tr>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   129
        <td align="left" $td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   130
          &nbsp; $descr
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   131
        </td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   132
        <td align="left" $td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   133
          &nbsp; <A HREF="$url">$filename</A>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   134
        </td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   135
        <td align="right" $td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   136
          &nbsp; $size &nbsp;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   137
        </td>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   138
      </tr>
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   139
EOF
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   140
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   141
      return $retval;
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   142
    }
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   143
3c587e7b8fe5 new webpage layout
kleing
parents:
diff changeset
   144
 -->