Changeset 1163 for trunk/www/ports.php


Ignore:
Timestamp:
Oct 28, 2002, 7:50:49 AM (18 years ago)
Author:
kevin
Message:

Fixed portfile select statement.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/ports.php

    r1026 r1163  
    7171<?
    7272        if ($by && ($substr || $by == "all")) {
    73                 $query = "SELECT DISTINCT name,path,version,description,maintainer FROM darwinports.portfiles p, ".
    74                 "darwinports.maintainers m, darwinports.categories c, darwinports.variants v, darwinports.platforms pl ".
    75                 "WHERE p.name=m.portfile AND p.name=v.portfile AND p.name=pl.portfile AND p.name=c.portfile AND m.is_primary=1";
     73                $fields = "name, path, version, description";
     74                $query = "1";
     75                $tables = "darwinports.portfiles p";
    7676                if ($by == "name") {
    7777                        $query = $query . " AND p.name LIKE '%" . addslashes($substr) . "%'";
     
    8181                }
    8282                if ($by == "cat") {
    83                         $query = $query . " AND c.category='" . addslashes($substr) . "'";
     83                        $tables = $tables . ", darwinports.categories c";
     84                        $query = $query . " AND c.portfile=p.name AND c.category='" . addslashes($substr) . "'";
    8485                }
    8586                if ($by == "variant") {
    86                         $query = $query . " AND v.variant='" . addslashes($substr) . "'";
     87                        $tables = $tables . ", darwinports.variants v";
     88                        $query = $query . " AND v.portfile=p.name AND v.variant='" . addslashes($substr) . "'";
    8789                }
    8890                if ($by == "platform") {
    89                         $query = $query . " AND pl.platform ='" . addslashes($substr) . "'";
     91                        $tables = $tables . ", darwinports.platforms pl";
     92                        $query = $query . " AND pl.portfile=p.name AND pl.platform ='" . addslashes($substr) . "'";
    9093                }
    9194                if ($by == "maintainer") {
    92                         $query = $query . " AND m.maintainer LIKE '%" . addslashes($substr) . "%'";
    93                 }
    94                 $query = $query . " ORDER BY name";
     95                        $tables = $tables . ", darwinports.maintainers m";
     96                        $query = $query . " AND m.portfile=p.name AND m.maintainer LIKE '%" . addslashes($substr) . "%'";
     97                }
     98                $query = "SELECT DISTINCT $fields FROM $tables WHERE $query ORDER BY name";
    9599                $result = mysql_query($query);
    96100                if($result) {
     
    106110        <dd>
    107111        <?= $row['description']; ?><br />
    108         <i>Maintained by:</i> <a href="mailto:<?= $row['maintainer']; ?>"><?= $row['maintainer']; ?></a><br />
    109112        <?
     113// MAINTAINERS
     114                                $nquery = "SELECT maintainer FROM darwinports.maintainers WHERE portfile='" . $row['name'] . "' ORDER BY is_primary DESC, maintainer";
     115                                $nresult = mysql_query($nquery);
     116                                if ($nresult) {
     117?>
     118        <i>Maintained by:</i>
     119<?
     120                                        $primary = 1;
     121                                        while ( $nrow = mysql_fetch_array($nresult) ) {
     122                                                if ($primary) { echo "<b>"; }
     123                                        ?>
     124                                                <a href="mailto:<?= $nrow[0]; ?>"><?= $nrow[0]; ?></a>
     125                                        <?
     126                                                if ($primary) { echo "</b>"; }
     127                                                $primary = 0;
     128                                        }
     129                                }
     130
    110131// CATEGORIES
    111132                                $nquery = "SELECT category FROM darwinports.categories WHERE portfile='" . $row['name'] . "' ORDER BY is_primary DESC, category";
     
    113134                                if ($nresult) {
    114135?>
     136        <br />
    115137        <i>Categories:</i>
    116138<?
Note: See TracChangeset for help on using the changeset viewer.