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