Хранилища Subversion www_nix-files

Редакция

Редакция 13 | Редакция 16 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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>&nbsp;</th><th>&nbsp;</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>"; }
13 diffor 52
		else { echo " <td><a href='".$info_res['link_talk']."'>".$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>&mdash;</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
?>