source: trunk/www/ports.php @ 928

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

Display categories.

  • Property svn:eol-style set to native
File size: 3.2 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.
13        </p>
14       
15        <form action="<?= $PHP_SELF; ?>">
16        <table>
17                <tr>
18                        <th>Search by:</th>
19                        <td>
20                                <select name="by">
21                                <option value="name"<? if ($by == "name") { echo " selected=\"selected\""; } ?>>Software Title</option>
22                                <option value="desc"<? if ($by == "desc") { echo " selected=\"selected\""; } ?>>Description</option>
23                                <option value="cat"<? if ($by == "cateogry") { echo " selected=\"selected\""; } ?>>Category</option>
24                                </select>
25                        </td>
26                        <td><input type="text" name="substr" size="40" /></td>
27                        <td><input type="submit" name="Search" /></td>
28                </tr>
29                <tr><td colspan="4"><hr size="1" noshade="noshade" /></td></tr>
30                <tr>
31                        <td colspan="4" align="left"><a href="<?= $PHP_SELF; ?>?by=all">View All Software Titles</a></td>
32                </tr>
33                <?
34                        if (!$by || (!$substr && $by != "all")) {
35                ?>
36                <tr><td colspan="4"><hr size="1" noshade="noshade" /></td></tr>
37                <tr><th colspan="4" align="left">View By Category:</th></tr>
38                <?
39                                $query = "SELECT DISTINCT category FROM darwinports.categories ORDER BY category";
40                                $result = mysql_query($query);
41                                if($result) {
42                                        while( $row = mysql_fetch_assoc($result) ) {
43                ?>
44                <tr><td colspan="4"><a href="<?= $PHP_SELF; ?>?by=cat&substr=<?= $row['category']; ?>"><?= $row['category']; ?></a></td></tr>
45                <?
46                                        }
47                                }
48                        }
49                ?>
50        </table>
51        </form>
52
53        <dl>
54<?
55        if ($by && ($substr || $by == "all")) {
56                $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";
57                if ($by == "name") {
58                        $query = $query . " AND p.name LIKE '%" . addslashes($substr) . "%'";
59                }
60                if ($by == "desc") {
61                        $query = $query . " AND p.description LIKE '%" . addslashes($substr) . "%'";
62                }
63                if ($by == "cat") {
64                        $query = $query . " AND c.category='" . addslashes($substr) . "'";
65                }
66                $query = $query . " ORDER BY name";
67                $result = mysql_query($query);
68                if($result) {
69                        while( $row = mysql_fetch_assoc($result) ) {
70?>
71        <dt><b><a href="http://www.opendarwin.org/projects/darwinports/darwinports/dports/<?= $row['path']; ?>/Portfile"><?= $row['name']; ?></a></b> <?= $row['version']; ?></dt>
72        <dd>
73        <?= $row['description']; ?><br />
74        <i>Maintained by:</i> <a href="mailto:<?= $row['maintainer']; ?>"><?= $row['maintainer']; ?></a><br />
75        <i>Categories:</i>
76        <?
77                                $nquery = "SELECT category FROM darwinports.categories WHERE portfile='" . $row['name'] . "' ORDER BY is_primary DESC, category";
78                                $nresult = mysql_query($nquery);
79                                if ($nresult) {
80                                        $primary = 1;
81                                        while ( $nrow = mysql_fetch_assoc($nresult) ) {
82                                                if ($primary) { echo "<b>"; }
83                                        ?>
84                                                <a href="<?= $PHP_SELF; ?>?by=cat&substr=<?= $nrow['category']; ?>"><?= $nrow['category']; ?></a>
85                                        <?
86                                                if ($primary) { echo "</b>"; }
87                                                $primary = 0;
88                                        }
89                                }
90        ?>
91        <br />
92        </dd>
93        <br />
94<?     
95                        } 
96                } else {
97                        echo "An Error Occurred. (501)";
98                }
99        }
100?>
101        </dl>
102<?
103        od_print_footer("en"); 
104?>
Note: See TracBrowser for help on using the repository browser.