source: trunk/www/ru/ports.php @ 8292

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

Removed footer as this causes some display problem...

  • Property svn:eol-style set to native
File size: 6.6 KB
Line 
1<?
2    $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
3    include_once("$DOCUMENT_ROOT/ru/includes/common.inc");
4    include_once("$DOCUMENT_ROOT/includes/db_portslisting.inc");
5    print_header('Текущая база портов', 'utf-8');
6?>
7        <center>
8        <h1>Текущая база портов DarwinPorts</h1>
9        </center>
10
11        <p>С помощью этой формы Вы можете осуществлять поиск по текущей базе данных проекта DarwinPorts<br />
12        <i>Последний раз данные обновлены: </i>
13        <?
14                $sql = "SELECT UNIX_TIMESTAMP(activity_time) FROM darwinports.log ORDER BY UNIX_TIMESTAMP(activity_time) DESC";
15                $result = mysql_query($sql);
16                if($result && $row = mysql_fetch_row($result)) {
17                                echo date("d-M-Y H:i:s", $row[0]);
18                }
19        ?>
20        </p>
21       
22        <form action="<?= $PHP_SELF; ?>">
23        <table>
24                <tr>
25                        <th>Искать по:</th>
26                        <td>
27                                <select name="by">
28                                <option value="name"<? if ($by == "name") { echo " selected=\"selected\""; } ?>>Названию</option>
29                                <option value="desc"<? if ($by == "desc") { echo " selected=\"selected\""; } ?>>Описанию</option>
30                                <option value="cat"<? if ($by == "cat") { echo " selected=\"selected\""; } ?>>Категориям</option>
31                                <option value="maintainer"<? if ($by == "maintainer") { echo " selected=\"selected\""; } ?>>Разработчику</option>
32                                </select>
33                        </td>
34                        <td><input type="text" name="substr" size="40" /></td>
35                        <td><input type="submit" name="Search" value="Поиск" /></td>
36                </tr>
37                <tr><td colspan="4"><hr size="1" noshade="noshade" /></td></tr>
38                <tr>
39<?
40                $result = mysql_query("SELECT count(*) from darwinports.portfiles");
41                if ($result) {
42                        $row = mysql_fetch_array($result);
43                        $count = $row[0];
44                } else {
45                        $count = 0;
46                }
47?>
48                        <td colspan="4" align="left"><a href="<?= $PHP_SELF; ?>?by=all">Посмотреть все названия (<?= $count; ?>)</a></td>
49                </tr>
50                <?
51                        if (!$by || (!$substr && $by != "all")) {
52                ?>
53                <tr><td colspan="4"><hr size="1" noshade="noshade" /></td></tr>
54                <tr><th colspan="4" align="left">Просмотр по категориям:</th></tr>
55                <?
56                                $query = "SELECT DISTINCT category FROM darwinports.categories ORDER BY category";
57                                $result = mysql_query($query);
58                                if($result) {
59                                        while( $row = mysql_fetch_assoc($result) ) {
60                ?>
61                <tr><td colspan="4"><a href="<?= $PHP_SELF; ?>?by=cat&substr=<?= $row['category']; ?>"><?= $row['category']; ?></a></td></tr>
62                <?
63                                        }
64                                }
65                        }
66                ?>
67        </table>
68        </form>
69
70<?
71        if ($by && ($substr || $by == "all")) {
72                $fields = "name, path, version, description";
73                $query = "1";
74                $tables = "darwinports.portfiles p";
75                if ($by == "name") {
76                        $query = $query . " AND p.name LIKE '%" . addslashes($substr) . "%'";
77                }
78                if ($by == "desc") {
79                        $query = $query . " AND p.description LIKE '%" . addslashes($substr) . "%'";
80                }
81                if ($by == "cat") {
82                        $tables = $tables . ", darwinports.categories c";
83                        $query = $query . " AND c.portfile=p.name AND c.category='" . addslashes($substr) . "'";
84                }
85                if ($by == "variant") {
86                        $tables = $tables . ", darwinports.variants v";
87                        $query = $query . " AND v.portfile=p.name AND v.variant='" . addslashes($substr) . "'";
88                }
89                if ($by == "platform") {
90                        $tables = $tables . ", darwinports.platforms pl";
91                        $query = $query . " AND pl.portfile=p.name AND pl.platform ='" . addslashes($substr) . "'";
92                }
93                if ($by == "maintainer") {
94                        $tables = $tables . ", darwinports.maintainers m";
95                        $query = $query . " AND m.portfile=p.name AND m.maintainer LIKE '%" . addslashes($substr) . "%'";
96                }
97                $query = "SELECT DISTINCT $fields FROM $tables WHERE $query ORDER BY name";
98                $result = mysql_query($query);
99                if($result) {
100?>
101        <p>
102        <i><?= mysql_num_rows($result); ?> Portfile<? if (mysql_num_rows($result) != 1) { echo "s"; } ?> Selected</i>
103        </p>
104        <dl>
105<?             
106                        while( $row = mysql_fetch_assoc($result) ) {
107?>
108        <dt><b><a href="http://darwinports.opendarwin.org/darwinports/dports/<?= $row['path']; ?>/Portfile"><?= $row['name']; ?></a></b> <?= $row['version']; ?></dt>
109        <dd>
110        <?= $row['description']; ?><br />
111        <?
112// MAINTAINERS
113                                $nquery = "SELECT maintainer FROM darwinports.maintainers WHERE portfile='" . $row['name'] . "' ORDER BY is_primary DESC, maintainer";
114                                $nresult = mysql_query($nquery);
115                                if ($nresult) {
116?>
117        <i>Разработчик:</i>
118<?
119                                        $primary = 1;
120                                        while ( $nrow = mysql_fetch_array($nresult) ) {
121                                                if ($primary) { echo "<b>"; }
122                                        ?>
123                                                <a href="mailto:<?= $nrow[0]; ?>"><?= $nrow[0]; ?></a>
124                                        <?
125                                                if ($primary) { echo "</b>"; }
126                                                $primary = 0;
127                                        }
128                                }
129
130// CATEGORIES
131                                $nquery = "SELECT category FROM darwinports.categories WHERE portfile='" . $row['name'] . "' ORDER BY is_primary DESC, category";
132                                $nresult = mysql_query($nquery);
133                                if ($nresult) {
134?>
135        <br />
136        <i>Категории:</i>
137<?
138                                        $primary = 1;
139                                        while ( $nrow = mysql_fetch_assoc($nresult) ) {
140                                                if ($primary) { echo "<b>"; }
141                                        ?>
142                                                <a href="<?= $PHP_SELF; ?>?by=cat&substr=<?= $nrow['category']; ?>"><?= $nrow['category']; ?></a>
143                                        <?
144                                                if ($primary) { echo "</b>"; }
145                                                $primary = 0;
146                                        }
147                                }
148
149// PLATFORMS
150                                $nquery = "SELECT platform FROM darwinports.platforms WHERE portfile='" . $row['name'] . "' ORDER BY platform";
151                                $nresult = mysql_query($nquery);
152                                if ($nresult && mysql_num_rows($nresult) > 0) {
153?>
154        <br />
155        <i>Платформы:</i>
156<?
157                                        while ( $nrow = mysql_fetch_array($nresult) ) {
158                                                $platform = $nrow[0];
159                                        ?>
160                                                <a href="<?= $PHP_SELF; ?>?by=platform&substr=<?= $platform; ?>"><?= $platform; ?></a>
161                                        <?
162                                        }
163                                }
164
165// DEPENDENCIES
166                                $nquery = "SELECT library FROM darwinports.dependencies WHERE portfile='" . $row['name'] . "' ORDER BY library";
167                                $nresult = mysql_query($nquery);
168                                if ($nresult && mysql_num_rows($nresult) > 0) {
169?>
170        <br />
171        <i>Зависимости:</i>
172<?
173                                        while ( $nrow = mysql_fetch_array($nresult) ) {
174                                                // lib:libpng.3:libpng -> libpng
175                                                $library = eregi_replace("^[^:]*:[^:]*:", "", $nrow[0]);
176                                        ?>
177                                                <a href="<?= $PHP_SELF; ?>?by=name&substr=<?= $library; ?>"><?= $library; ?></a>
178                                        <?
179                                        }
180                                }
181/*
182// VARIANTS
183                                $nquery = "SELECT variant FROM darwinports.variants WHERE portfile='" . $row['name'] . "' ORDER BY variant";
184                                $nresult = mysql_query($nquery);
185                                if ($nresult && mysql_num_rows($nresult) > 0) {
186?>
187        <br />
188        <i>Варианты:</i>
189<?
190                                        while ( $nrow = mysql_fetch_array($nresult) ) {
191                                                $variant = $nrow[0];
192                                        ?>
193                                                <a href="<?= $PHP_SELF; ?>?by=variant&substr=<?= $variant; ?>"><?= $variant; ?></a>
194                                        <?
195                                        }
196                                }
197*/
198        ?>
199        <br />
200        </dd>
201        <br />
202<?     
203                        } 
204                } else {
205                        echo "В ходе работы произошла ошибка. (501)";
206                }
207        }
208?>
209        </dl>
Note: See TracBrowser for help on using the repository browser.