source: trunk/www/ports.php @ 931

Last change on this file since 931 was 931, checked in by kevin, 18 years ago

Print when index was last updated.

  • Property svn:eol-style set to native
File size: 3.5 KB
Line 
1<?
2        require_once("$DOCUMENT_ROOT/en/includes/od_lib.inc.php");
3        require_once("$DOCUMENT_ROOT/includes/od_db.inc.php");
4
5        od_print_header("DarwinPorts Portfiles", "en", "iso-8859-1", "", 0);
6?>
7        <center>
8        <h1>DarwinPorts Portfiles</h1>
9        </center>
10
11        <p>
12        This form allows you to search the current index of DarwinPorts software. <br />
13        <i>Index last updated: </i>
14        <?
15                $sql = "SELECT UNIX_TIMESTAMP(activity_time) FROM darwinports.log ORDER BY UNIX_TIMESTAMP(activity_time) DESC";
16                $result = mysql_query($sql);
17                if($result && $row = mysql_fetch_row($result)) {
18                                echo date("d-M-Y H:i:s", $row[0]);
19                }
20        ?>
21        </p>
22       
23        <form action="<?= $PHP_SELF; ?>">
24        <table>
25                <tr>
26                        <th>Search by:</th>
27                        <td>
28                                <select name="by">
29                                <option value="name"<? if ($by == "name") { echo " selected=\"selected\""; } ?>>Software Title</option>
30                                <option value="desc"<? if ($by == "desc") { echo " selected=\"selected\""; } ?>>Description</option>
31                                <option value="cat"<? if ($by == "cateogry") { echo " selected=\"selected\""; } ?>>Category</option>
32                                </select>
33                        </td>
34                        <td><input type="text" name="substr" size="40" /></td>
35                        <td><input type="submit" name="Search" /></td>
36                </tr>
37                <tr><td colspan="4"><hr size="1" noshade="noshade" /></td></tr>
38                <tr>
39                        <td colspan="4" align="left"><a href="<?= $PHP_SELF; ?>?by=all">View All Software Titles</a></td>
40                </tr>
41                <?
42                        if (!$by || (!$substr && $by != "all")) {
43                ?>
44                <tr><td colspan="4"><hr size="1" noshade="noshade" /></td></tr>
45                <tr><th colspan="4" align="left">View By Category:</th></tr>
46                <?
47                                $query = "SELECT DISTINCT category FROM darwinports.categories ORDER BY category";
48                                $result = mysql_query($query);
49                                if($result) {
50                                        while( $row = mysql_fetch_assoc($result) ) {
51                ?>
52                <tr><td colspan="4"><a href="<?= $PHP_SELF; ?>?by=cat&substr=<?= $row['category']; ?>"><?= $row['category']; ?></a></td></tr>
53                <?
54                                        }
55                                }
56                        }
57                ?>
58        </table>
59        </form>
60
61        <dl>
62<?
63        if ($by && ($substr || $by == "all")) {
64                $query = "SELECT DISTINCT name,path,version,description,maintainer FROM darwinports.portfiles p, darwinports.maintainers m, darwinports.categories c WHERE p.name=m.portfile AND p.name=c.portfile AND m.is_primary=1";
65                if ($by == "name") {
66                        $query = $query . " AND p.name LIKE '%" . addslashes($substr) . "%'";
67                }
68                if ($by == "desc") {
69                        $query = $query . " AND p.description LIKE '%" . addslashes($substr) . "%'";
70                }
71                if ($by == "cat") {
72                        $query = $query . " AND c.category='" . addslashes($substr) . "'";
73                }
74                $query = $query . " ORDER BY name";
75                $result = mysql_query($query);
76                if($result) {
77                        while( $row = mysql_fetch_assoc($result) ) {
78?>
79        <dt><b><a href="http://www.opendarwin.org/projects/darwinports/darwinports/dports/<?= $row['path']; ?>/Portfile"><?= $row['name']; ?></a></b> <?= $row['version']; ?></dt>
80        <dd>
81        <?= $row['description']; ?><br />
82        <i>Maintained by:</i> <a href="mailto:<?= $row['maintainer']; ?>"><?= $row['maintainer']; ?></a><br />
83        <i>Categories:</i>
84        <?
85                                $nquery = "SELECT category FROM darwinports.categories WHERE portfile='" . $row['name'] . "' ORDER BY is_primary DESC, category";
86                                $nresult = mysql_query($nquery);
87                                if ($nresult) {
88                                        $primary = 1;
89                                        while ( $nrow = mysql_fetch_assoc($nresult) ) {
90                                                if ($primary) { echo "<b>"; }
91                                        ?>
92                                                <a href="<?= $PHP_SELF; ?>?by=cat&substr=<?= $nrow['category']; ?>"><?= $nrow['category']; ?></a>
93                                        <?
94                                                if ($primary) { echo "</b>"; }
95                                                $primary = 0;
96                                        }
97                                }
98        ?>
99        <br />
100        </dd>
101        <br />
102<?     
103                        } 
104                } else {
105                        echo "An Error Occurred. (501)";
106                }
107        }
108?>
109        </dl>
110<?
111        od_print_footer("en"); 
112?>
Note: See TracBrowser for help on using the repository browser.