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

Редакция

Редакция 16 | Редакция 27 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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
22 diffor 51
                echo " <td><a href='./details.php?res=".$info_res['id']."'>".$info_res['resource']."</a></td>\n";
2 diffor 52
 
53
                // resource state by network
54
                for ($i=0;$i<$netcount;$i++) {
55
                    $curstate =& $db->getOne("SELECT state_id FROM res_net_stat WHERE resource_id=".$info_res['id']." AND network_id=".$netlist[$i]);
56
                    $curimg = "./img/state/unknown.png";
57
                    if ($curstate == null) {
13 diffor 58
                        echo " <td>&mdash;</td>\n";
2 diffor 59
                    }
60
                    else {
61
                        // !replace in future!
62
                        switch ($curstate) {
63
                            case '1':
64
                                $curimg = "./img/state/main.png";
14 diffor 65
                                $curalt = "Основной ресурс";
2 diffor 66
                            break;
67
                            case '2':
68
                                $curimg = "./img/state/mirror.png";
14 diffor 69
                                $curalt = "Зеркало";
2 diffor 70
                            break;
71
                            case '3':
72
                                $curimg = "./img/state/access.png";
14 diffor 73
                                $curalt = "Скоростной доступ";
2 diffor 74
                            break;
75
                            case '4':
76
                                $curimg = "./img/state/freeze.png";
14 diffor 77
                                $curalt = "Заморожен";
2 diffor 78
                            break;
79
                        }
14 diffor 80
                        echo " <td><a href='".$info_res['link_res']."'><img src='".$curimg."' alt='".$curalt."'></a></td>\n";
2 diffor 81
                    }
82
                }
13 diffor 83
                echo "</tr>\n";
2 diffor 84
            }
85
        }
86
        // table footer
87
        echo "</table>";
9 diffor 88
        include "./inc/legend.htm";
89
    break;
90
    case 1:
91
        $nets =& $db->query("SELECT * FROM networks");
92
        echo "<table>";
93
        echo "<tr>";
94
        echo "<th>Сеть</th><th>Описание</th><th>Подсети</th><th>Ресурсы</th>";
95
        while ($nets->fetchInto($info_nets, DB_FETCHMODE_ASSOC)) {
96
            $res =& $db->query("SELECT *
97
            FROM res_net_stat
98
            JOIN resources ON resources.id = res_net_stat.resource_id
99
            WHERE res_net_stat.network_id=".$info_nets['id']);
100
            $reslist = "";
101
            while ($res->fetchInto($info_res, DB_FETCHMODE_ASSOC)) {
102
                $reslist .= $info_res['resource']."<br>";
103
            }
104
            echo "<tr><td>".$info_nets['network']."</td><td></td><td></td><td>".$reslist."</td></tr>";
105
        }
106
        echo "</table>";
107
    break;
108
    case 2:
109
        $mems =& $db->query("SELECT * FROM members");
110
        echo "<table>";
111
        echo "<tr>";
112
        echo "<th>Ник</th><th>Аватар</th><th>Контакты</th><th>Ресурсы</th>";
113
        while ($mems->fetchInto($info_mems, DB_FETCHMODE_ASSOC)) {
114
            $ranks =& $db->query("SELECT *
115
            FROM res_mem_rank
116
            JOIN resources ON resources.id = res_mem_rank.resource_id
117
            JOIN networks ON networks.id = res_mem_rank.network_id
118
            JOIN members ON members.id = res_mem_rank.member_id
119
            WHERE member_id=".$info_mems['id']);
120
            $ranklist = "";
121
            while ($ranks->fetchInto($info_ranks, DB_FETCHMODE_ASSOC)) {
122
                $ranklist .= $info_ranks['resource']." ".$info_ranks['network']."<br>";
123
            }
124
            echo "<tr><td>".$info_mems['nick']."</td><td><img src='".$info_mems['avatar']."'</td><td>".$info_mems['jabber']."</td><td>".$ranklist."</td></tr>";
125
        }
126
        echo "</table>";
127
    break;
128
}
4 diffor 129
 
2 diffor 130
        include "./inc/footer.htm";
131
?>