source: trunk/www/emit_portfile.php @ 28314

Last change on this file since 28314 was 28314, checked in by jmpp@…, 13 years ago

Fix svn props across the board.

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