Редакция 3 | Редакция 9 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
2 | diffor | 1 | <?php |
2 | require_once dirname(__FILE__)."/lib/init.php"; |
||
3 | include "./inc/header.htm"; |
||
4 | ?> |
||
5 | <h2>niX-FILES</h2> |
||
6 | <h1>любые файлы *nix тематики в локальных сетях Барнаула</h1> |
||
7 | <h3><i>изучай/пользуй/обновляй линукс вместе с nix-files.org.ru</i></h3> |
||
8 | <?php |
||
9 | // table header |
||
10 | $nets =& $db->query("SELECT * FROM networks"); |
||
11 | echo "<table>"; |
||
12 | echo "<tr>"; |
||
13 | echo "<th> </th><th> </th><th>Ресурс</th>"; |
||
14 | |||
15 | $netlist = array(); |
||
16 | $netcount = $nets->numRows(); |
||
17 | $n = 0; |
||
18 | while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) { |
||
19 | // network name & link |
||
20 | if ($info_nets['link']=="") { echo "<th>".$info_nets['network']."</th>"; } |
||
21 | else { echo "<th><a href='".$info_nets['link']."'>".$info_nets['network']."</a></th>"; } |
||
22 | // netlist |
||
23 | $netlist[$n] = $info_nets['id']; |
||
24 | $n++; |
||
25 | } |
||
26 | |||
27 | echo "</tr>"; |
||
28 | // table body |
||
29 | $cats =& $db->query("SELECT * FROM categories"); |
||
30 | while ($cats->fetchInto($info_cats, DB_FETCHMODE_ASSOC)) { |
||
31 | $res =& $db->query("SELECT * FROM resources WHERE category_id=".$info_cats['id']); |
||
32 | $first = true; |
||
33 | while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) { |
||
34 | echo "<tr>"; |
||
35 | |||
36 | // add rowspan on first resource on category |
||
37 | if ($first) { |
||
38 | echo "<td rowspan='".$res->numRows()."'>".$info_cats['category']."</td>"; |
||
39 | $first = false; |
||
40 | } |
||
41 | |||
42 | // resource picture |
||
43 | echo "<td><img src='".$info_res['picture']."' alt='".$info_res['resource']."'></td>"; |
||
44 | |||
45 | // resource name & link |
||
3 | diffor | 46 | if ($info_res['link_talk']=="") { echo "<td>".$info_res['resource']."</td>"; } |
47 | else { echo "<td><a href='".$info_res['link_talk']."'>".$info_res['resource']."</a></td>"; } |
||
2 | diffor | 48 | |
49 | // resource state by network |
||
50 | for ($i=0;$i<$netcount;$i++) { |
||
51 | $curstate =& $db->getOne("SELECT state_id FROM res_net_stat WHERE resource_id=".$info_res['id']." AND network_id=".$netlist[$i]); |
||
52 | $curimg = "./img/state/unknown.png"; |
||
53 | if ($curstate == null) { |
||
54 | echo "<td>—</td>"; |
||
55 | } |
||
56 | else { |
||
57 | // !replace in future! |
||
58 | switch ($curstate) { |
||
59 | case '1': |
||
60 | $curimg = "./img/state/main.png"; |
||
61 | break; |
||
62 | case '2': |
||
63 | $curimg = "./img/state/mirror.png"; |
||
64 | break; |
||
65 | case '3': |
||
66 | $curimg = "./img/state/access.png"; |
||
67 | break; |
||
68 | case '4': |
||
69 | $curimg = "./img/state/freeze.png"; |
||
70 | break; |
||
71 | } |
||
3 | diffor | 72 | echo "<td><a href='".$info_res['link_res']."'><img src='".$curimg."' alt='nop'></a></td>"; |
2 | diffor | 73 | } |
74 | } |
||
75 | echo "</tr>"; |
||
76 | } |
||
77 | } |
||
78 | // table footer |
||
79 | echo "</table>"; |
||
4 | diffor | 80 | ?> |
81 | <br> |
||
82 | <table id="legend"> |
||
83 | <tr><td><img src="./img/state/main.png" alt="main"></td><td>Основной ресурс.</td></tr> |
||
84 | <tr><td><img src="./img/state/mirror.png" alt="mirror"></td><td>Зеркало ресурса.</td></tr> |
||
85 | <tr><td><img src="./img/state/access.png" alt="access"></td><td>Есть свободный высокоскоростной доступ к ресурсу.</td></tr> |
||
86 | <tr><td><img src="./img/state/freeze.png" alt="freeze"></td><td>Проект временно недоступен.</td></tr> |
||
87 | </table> |
||
88 | |||
89 | <?php |
||
2 | diffor | 90 | include "./inc/footer.htm"; |
91 | ?> |