source: trunk/www/ru/emit_portfile.php @ 9572

Last change on this file since 9572 was 9572, checked in by matt, 16 years ago

Make use of the new email obfuscation process.
it/includes/lang.inc and it/archives.php are now utf-8.

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1<?php
2
3$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
4include_once("$DOCUMENT_ROOT/includes/email.inc");
5
6$portname = basename(dirname($_SERVER['PATH_INFO']));
7?>
8
9<html>
10        <head>
11                <title><?=$portname?> Portfile</title>
12        </head>
13        <body>
14
15<?php
16
17//      Read the file as an array of lines
18$target = "${DOCUMENT_ROOT}/..${_SERVER['PATH_INFO']}";
19$lines = @file($target);
20if ($lines)
21{
22        print "<pre>";
23        foreach ($lines as $line)
24        {
25                $out = $line;
26
27                //      Replace tabs with spaces to maintain proper spacing
28                $tabs = 4;
29                $pos = 0;
30                $out = '';
31                for ($i = 0; $i < strlen($line); ++$i)
32                {
33                        $char = $line{$i};
34                        switch ($char)
35                        {
36                        case "\t":
37                                $cnt = $tabs - ($pos % $tabs);
38                                $out .= str_repeat(" ", $cnt);
39                                $pos += $cnt;
40                                break;
41                        default:
42                                $out .= $char;
43                                ++$pos;
44                                break;
45                        }
46                }
47
48                //      Clean up any html-unfriendly characters
49                $out = htmlspecialchars($out);
50
51                //      Special handling for email addresses
52                if (preg_match('/\s*(maintainers\s+)(.*)/i', $out, $matches))
53                {
54                        $func = $matches[1];
55                        $params = $matches[2];
56                       
57                        $addresses = preg_split('/\s+/', $params);
58                       
59                        foreach ($addresses as $addr)
60                                $emails[] = obfuscate_email($addr);
61                       
62                        $out = $func.(count($emails) ? join(' ', $emails) : '')."\n";
63                }
64               
65                //      Output line
66                print $out;
67        }
68        print "</pre>";
69}
70else
71        print "Couldn't open file $target";
72?>
73
74        </body>
75</html>
Note: See TracBrowser for help on using the repository browser.