Редакция 13 | Редакция 16 | К новейшей редакции | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS
<?php
require_once dirname(__FILE__)."/lib/init.php";
include "./inc/header.htm";
?>
<h2>niX-FILES</h2>
<h1>любые файлы *nix тематики в локальных сетях Барнаула</h1>
<h3><i>изучай/пользуй/обновляй линукс вместе с nix-files.org.ru</i></h3>
<?php
$mod = abs(intval($_GET["mod"]));
switch($mod) {
case 0:
// table header
$nets =& $db->query("SELECT * FROM networks");
echo "<table>";
echo "<tr>";
echo "<th> </th><th> </th><th>Ресурс</th>\n";
$netlist = array();
$netcount = $nets->numRows();
$n = 0;
while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) {
// network name & link
if ($info_nets['link']=="") { echo " <th>".$info_nets['network']."</th>\n"; }
else { echo " <th><a href='".$info_nets['link']."'>".$info_nets['network']."</a></th>\n"; }
// netlist
$netlist[$n] = $info_nets['id'];
$n++;
}
echo "</tr>\n";
// table body
$cats =& $db->query("SELECT * FROM categories");
while ($cats->fetchInto($info_cats, DB_FETCHMODE_ASSOC)) {
$res =& $db->query("SELECT * FROM resources WHERE category_id=".$info_cats['id']);
$first = true;
while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) {
echo "<tr>\n";
// add rowspan on first resource on category
if ($first) {
echo " <td rowspan='".$res->numRows()."'>".$info_cats['category']."</td>\n";
$first = false;
}
// resource picture
echo " <td><img src='".$info_res['picture']."' alt='".$info_res['resource']."'></td>\n";
// resource name & link
if ($info_res['link_talk']=="") { echo "<td>".$info_res['resource']."</td>"; }
else { echo " <td><a href='".$info_res['link_talk']."'>".$info_res['resource']."</a></td>\n"; }
// resource state by network
for ($i=0;$i<$netcount;$i++) {
$curstate =& $db->getOne("SELECT state_id FROM res_net_stat WHERE resource_id=".$info_res['id']." AND network_id=".$netlist[$i]);
$curimg = "./img/state/unknown.png";
if ($curstate == null) {
echo " <td>—</td>\n";
}
else {
// !replace in future!
switch ($curstate) {
case '1':
$curimg = "./img/state/main.png";
$curalt = "Основной ресурс";
break;
case '2':
$curimg = "./img/state/mirror.png";
$curalt = "Зеркало";
break;
case '3':
$curimg = "./img/state/access.png";
$curalt = "Скоростной доступ";
break;
case '4':
$curimg = "./img/state/freeze.png";
$curalt = "Заморожен";
break;
}
echo " <td><a href='".$info_res['link_res']."'><img src='".$curimg."' alt='".$curalt."'></a></td>\n";
}
}
echo "</tr>\n";
}
}
// table footer
echo "</table>";
include "./inc/legend.htm";
break;
case 1:
$nets =& $db->query("SELECT * FROM networks");
echo "<table>";
echo "<tr>";
echo "<th>Сеть</th><th>Описание</th><th>Подсети</th><th>Ресурсы</th>";
while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) {
$res =& $db->query("SELECT *
FROM res_net_stat
JOIN resources ON resources.id = res_net_stat.resource_id
WHERE res_net_stat.network_id=".$info_nets['id']);
$reslist = "";
while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) {
$reslist .= $info_res['resource']."<br>";
}
echo "<tr><td>".$info_nets['network']."</td><td></td><td></td><td>".$reslist."</td></tr>";
}
echo "</table>";
break;
case 2:
$mems =& $db->query("SELECT * FROM members");
echo "<table>";
echo "<tr>";
echo "<th>Ник</th><th>Аватар</th><th>Контакты</th><th>Ресурсы</th>";
while ($mems->fetchInto($info_mems, DB_FETCHMODE_ASSOC)) {
$ranks =& $db->query("SELECT *
FROM res_mem_rank
JOIN resources ON resources.id = res_mem_rank.resource_id
JOIN networks ON networks.id = res_mem_rank.network_id
JOIN members ON members.id = res_mem_rank.member_id
WHERE member_id=".$info_mems['id']);
$ranklist = "";
while ($ranks->fetchInto($info_ranks, DB_FETCHMODE_ASSOC)) {
$ranklist .= $info_ranks['resource']." ".$info_ranks['network']."<br>";
}
echo "<tr><td>".$info_mems['nick']."</td><td><img src='".$info_mems['avatar']."'</td><td>".$info_mems['jabber']."</td><td>".$ranklist."</td></tr>";
}
echo "</table>";
break;
}
include "./inc/footer.htm";
?>