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

Редакция

Редакция 177 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

Редакция Автор № строки Строка
2 diffor 1
<?php
2
	require_once dirname(__FILE__)."/lib/init.php";
3
	include "./inc/header.htm";
174 diffor 4
 
5
	// detect network
6
	$addr=$_SERVER['REMOTE_ADDR'];
7
	$snets =& $db->query("SELECT * FROM subnets");
8
	$is_addr_found = false;
9
	while ($snets->fetchInto($info_snets, DB_FETCHMODE_ASSOC)&&!$is_addr_found) {
10
	    list($ip,$mask) = explode('/',$info_snets['subnet']);
176 diffor 11
	    if (ip2long($addr) >> (32 - $mask) == ip2long($ip) >> (32 - $mask)) {
12
		$is_addr_found = true;
13
		$curnet = $info_snets['network_id'];
174 diffor 14
	    }
15
	}
16
 
2 diffor 17
	// table header
18
	echo "<table>";
19
 
20
	$netlist = array();
42 diffor 21
	$netcount = 0;
22
 
23
	$theader1 = "<tr>\n<th rowspan='2'>&nbsp;</th><th rowspan='2'>&nbsp;</th><th rowspan='2'>Ресурс</th>\n"; // category header
24
	$theader2 = "<tr>\n"; // networks header
25
 
26
	$ncats =& $db->query("SELECT * FROM netcats");
27
	while ($ncats->fetchInto($info_ncats, DB_FETCHMODE_ASSOC)) {
28
	    $ccnc = 0; // Count networks of current category
29
	    $nets =& $db->query("SELECT * FROM networks WHERE netcat_id=".$info_ncats['id']);
30
	    while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) {
31
		// network name & link
32
		if ($info_nets['link']=="") { $theader2 .= " <th>".$info_nets['network']."</th>\n"; }
33
		else { $theader2 .= " <th><a href='./networks.php?net=".$info_nets['id']."'>".$info_nets['network']."</a></th>\n"; }
34
		// netlist
35
		$netlist[$netcount] = $info_nets['id'];
36
		$netcount++;
37
		$ccnc++;
38
	    }
39
	    $theader1 .= "<th colspan='".$ccnc."'>".$info_ncats['netcat']."</th>";
2 diffor 40
	}
42 diffor 41
	echo $theader1."\n</tr>\n";
42
	echo $theader2."\n</tr>\n";
2 diffor 43
 
44
	// table body
45
	$cats =& $db->query("SELECT * FROM categories");
46
	while ($cats->fetchInto($info_cats, DB_FETCHMODE_ASSOC)) {
47
	    $res =& $db->query("SELECT * FROM resources WHERE category_id=".$info_cats['id']);
48
	    $first = true;
49
	    while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) {
13 diffor 50
		echo "<tr>\n";
2 diffor 51
 
52
		// add rowspan on first resource on category
53
		if ($first) {
13 diffor 54
		    echo " <td rowspan='".$res->numRows()."'>".$info_cats['category']."</td>\n";
2 diffor 55
		    $first = false;
56
		}
57
 
58
		// resource picture
13 diffor 59
		echo " <td><img src='".$info_res['picture']."' alt='".$info_res['resource']."'></td>\n";
2 diffor 60
 
61
		// resource name & link
22 diffor 62
		echo " <td><a href='./details.php?res=".$info_res['id']."'>".$info_res['resource']."</a></td>\n";
2 diffor 63
 
64
		// resource state by network
65
		for ($i=0;$i<$netcount;$i++) {
66
		    $curstate =& $db->getOne("SELECT state_id FROM res_net_stat WHERE resource_id=".$info_res['id']." AND network_id=".$netlist[$i]);
178 diffor 67
		    if($netlist[$i]==$curnet) { echo " <td bgcolor='#CFE79F'>"; }
177 diffor 68
		    else { echo " <td>"; };
69
 
2 diffor 70
		    $curimg = "./img/state/unknown.png";
71
		    if ($curstate == null) {
177 diffor 72
			echo "&mdash;";
2 diffor 73
		    }
74
		    else {
75
			// !replace in future!
76
			switch ($curstate) {
77
			    case '1':
43 diffor 78
				$curimg = "./img/state/tick_gold.png";
14 diffor 79
				$curalt = "Основной ресурс";
2 diffor 80
			    break;
81
			    case '2':
43 diffor 82
				$curimg = "./img/state/tick_blue.png";
14 diffor 83
				$curalt = "Зеркало";
2 diffor 84
			    break;
85
			    case '3':
43 diffor 86
				$curimg = "./img/state/tick_green.png";
14 diffor 87
				$curalt = "Скоростной доступ";
2 diffor 88
			    break;
89
			    case '4':
43 diffor 90
				$curimg = "./img/state/tick_gray.png";
44 diffor 91
				$curalt = "Доступен";
92
			    break;
93
			    case '5':
94
				$curimg = "./img/state/snowflake.png";
14 diffor 95
				$curalt = "Заморожен";
2 diffor 96
			    break;
97
			}
177 diffor 98
			echo "<a href='".$info_res['link_res']."'><img src='".$curimg."' alt='".$curalt."'></a>";
2 diffor 99
		    }
177 diffor 100
		    echo "</td>\n";
2 diffor 101
		}
13 diffor 102
		echo "</tr>\n";
2 diffor 103
	    }
104
	}
105
	// table footer
106
	echo "</table>";
43 diffor 107
	include "./inc/legend.php";
30 diffor 108
 
2 diffor 109
	include "./inc/footer.htm";
110
?>