Редакция 14 | Редакция 22 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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 | diffor | 9 | |
10 | $mod = abs(intval($_GET["mod"])); |
||
11 | |||
12 | switch($mod) { |
||
13 | case 0: |
||
2 | diffor | 14 | // table header |
15 | $nets =& $db->query("SELECT * FROM networks"); |
||
16 | echo "<table>"; |
||
17 | echo "<tr>"; |
||
13 | diffor | 18 | echo "<th> </th><th> </th><th>Ресурс</th>\n"; |
2 | diffor | 19 | |
20 | $netlist = array(); |
||
21 | $netcount = $nets->numRows(); |
||
22 | $n = 0; |
||
23 | while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) { |
||
24 | // network name & link |
||
13 | diffor | 25 | if ($info_nets['link']=="") { echo " <th>".$info_nets['network']."</th>\n"; } |
26 | else { echo " <th><a href='".$info_nets['link']."'>".$info_nets['network']."</a></th>\n"; } |
||
2 | diffor | 27 | // netlist |
28 | $netlist[$n] = $info_nets['id']; |
||
29 | $n++; |
||
30 | } |
||
31 | |||
13 | diffor | 32 | echo "</tr>\n"; |
2 | diffor | 33 | // table body |
34 | $cats =& $db->query("SELECT * FROM categories"); |
||
35 | while ($cats->fetchInto($info_cats, DB_FETCHMODE_ASSOC)) { |
||
36 | $res =& $db->query("SELECT * FROM resources WHERE category_id=".$info_cats['id']); |
||
37 | $first = true; |
||
38 | while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) { |
||
13 | diffor | 39 | echo "<tr>\n"; |
2 | diffor | 40 | |
41 | // add rowspan on first resource on category |
||
42 | if ($first) { |
||
13 | diffor | 43 | echo " <td rowspan='".$res->numRows()."'>".$info_cats['category']."</td>\n"; |
2 | diffor | 44 | $first = false; |
45 | } |
||
46 | |||
47 | // resource picture |
||
13 | diffor | 48 | echo " <td><img src='".$info_res['picture']."' alt='".$info_res['resource']."'></td>\n"; |
2 | diffor | 49 | |
50 | // resource name & link |
||
3 | diffor | 51 | if ($info_res['link_talk']=="") { echo "<td>".$info_res['resource']."</td>"; } |
16 | diffor | 52 | else { echo " <td><a href='./details.php?res=".$info_res['id']."'>".$info_res['resource']."</a></td>\n"; } |
2 | diffor | 53 | |
54 | // resource state by network |
||
55 | for ($i=0;$i<$netcount;$i++) { |
||
56 | $curstate =& $db->getOne("SELECT state_id FROM res_net_stat WHERE resource_id=".$info_res['id']." AND network_id=".$netlist[$i]); |
||
57 | $curimg = "./img/state/unknown.png"; |
||
58 | if ($curstate == null) { |
||
13 | diffor | 59 | echo " <td>—</td>\n"; |
2 | diffor | 60 | } |
61 | else { |
||
62 | // !replace in future! |
||
63 | switch ($curstate) { |
||
64 | case '1': |
||
65 | $curimg = "./img/state/main.png"; |
||
14 | diffor | 66 | $curalt = "Основной ресурс"; |
2 | diffor | 67 | break; |
68 | case '2': |
||
69 | $curimg = "./img/state/mirror.png"; |
||
14 | diffor | 70 | $curalt = "Зеркало"; |
2 | diffor | 71 | break; |
72 | case '3': |
||
73 | $curimg = "./img/state/access.png"; |
||
14 | diffor | 74 | $curalt = "Скоростной доступ"; |
2 | diffor | 75 | break; |
76 | case '4': |
||
77 | $curimg = "./img/state/freeze.png"; |
||
14 | diffor | 78 | $curalt = "Заморожен"; |
2 | diffor | 79 | break; |
80 | } |
||
14 | diffor | 81 | echo " <td><a href='".$info_res['link_res']."'><img src='".$curimg."' alt='".$curalt."'></a></td>\n"; |
2 | diffor | 82 | } |
83 | } |
||
13 | diffor | 84 | echo "</tr>\n"; |
2 | diffor | 85 | } |
86 | } |
||
87 | // table footer |
||
88 | echo "</table>"; |
||
9 | diffor | 89 | include "./inc/legend.htm"; |
90 | break; |
||
91 | case 1: |
||
92 | $nets =& $db->query("SELECT * FROM networks"); |
||
93 | echo "<table>"; |
||
94 | echo "<tr>"; |
||
95 | echo "<th>Сеть</th><th>Описание</th><th>Подсети</th><th>Ресурсы</th>"; |
||
96 | while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) { |
||
97 | $res =& $db->query("SELECT * |
||
98 | FROM res_net_stat |
||
99 | JOIN resources ON resources.id = res_net_stat.resource_id |
||
100 | WHERE res_net_stat.network_id=".$info_nets['id']); |
||
101 | $reslist = ""; |
||
102 | while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) { |
||
103 | $reslist .= $info_res['resource']."<br>"; |
||
104 | } |
||
105 | echo "<tr><td>".$info_nets['network']."</td><td></td><td></td><td>".$reslist."</td></tr>"; |
||
106 | } |
||
107 | echo "</table>"; |
||
108 | break; |
||
109 | case 2: |
||
110 | $mems =& $db->query("SELECT * FROM members"); |
||
111 | echo "<table>"; |
||
112 | echo "<tr>"; |
||
113 | echo "<th>Ник</th><th>Аватар</th><th>Контакты</th><th>Ресурсы</th>"; |
||
114 | while ($mems->fetchInto($info_mems, DB_FETCHMODE_ASSOC)) { |
||
115 | $ranks =& $db->query("SELECT * |
||
116 | FROM res_mem_rank |
||
117 | JOIN resources ON resources.id = res_mem_rank.resource_id |
||
118 | JOIN networks ON networks.id = res_mem_rank.network_id |
||
119 | JOIN members ON members.id = res_mem_rank.member_id |
||
120 | WHERE member_id=".$info_mems['id']); |
||
121 | $ranklist = ""; |
||
122 | while ($ranks->fetchInto($info_ranks, DB_FETCHMODE_ASSOC)) { |
||
123 | $ranklist .= $info_ranks['resource']." ".$info_ranks['network']."<br>"; |
||
124 | } |
||
125 | echo "<tr><td>".$info_mems['nick']."</td><td><img src='".$info_mems['avatar']."'</td><td>".$info_mems['jabber']."</td><td>".$ranklist."</td></tr>"; |
||
126 | } |
||
127 | echo "</table>"; |
||
128 | break; |
||
129 | } |
||
4 | diffor | 130 | |
2 | diffor | 131 | include "./inc/footer.htm"; |
132 | ?> |