1006
правок
Kekaloav (обсуждение | вклад) |
Kekaloav (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Строка 665: | Строка 666: | ||
<?php | <?php | ||
$myip=$_SERVER['SERVER_ADDR']; | |||
$webroot="/var/www/html/"; | $webroot="/var/www/html/"; | ||
$base=$webroot."base/"; | $base=$webroot."base/"; | ||
#ссылка на установленный webssh | |||
$webssh="http://".$myip.":8081"; | |||
#ссылка на установленный novnc | |||
$novnc="http://".$myip.":6080"; | |||
#Список компьютерных классов | |||
$cc=array("КАБ34" => "m648-1-34a","КАБ21"=>"m648-1-21a","КАБ41"=>"m648-1-41","КАБ42"=>"m648-1-42"); | |||
#файл токенов novnc | |||
$confignovnc="/etc/novnc/token.list"; | |||
#сохранение именив "базе" | |||
function save_name($nm,$ip) | function save_name($nm,$ip) | ||
{ | { | ||
Строка 678: | Строка 689: | ||
}; | }; | ||
#вернуть текстовый файл | |||
function rettext($text,$name){ | function rettext($text,$name){ | ||
header("Content-Type: text/plain"); | header("Content-Type: text/plain"); | ||
Строка 687: | Строка 698: | ||
exit(); | exit(); | ||
}; | }; | ||
#вывод одного раздела таблицф | |||
function print_table($mask) | |||
{ | |||
global $base; | |||
global $webssh; | |||
global $novnc; | |||
echo "<table> <tr> <th>NAME</th> <th>IP</th> <th>LAST TIME</th><th>SSH</th> <th>VNC</th></tr>"; | |||
$dir=`ls $base/$mask`; | |||
foreach (explode("\n",$dir) as $n) { | |||
$name=basename($n); | |||
$ip=file_get_contents($base.$name); | |||
$ssh=$webssh."/?hostname=$ip&username=root&privatekey=localfile"; | |||
$vnc=$novnc."/vnc_lite.html?p=&scale=true&path=websockify/?token=$name"; | |||
$tm=date ("d/m H:i:s", filemtime($base.$name)); | |||
if($name !="") | |||
{ | |||
echo "<tr> <th>$name</th> <th>$ip</th> <th>$tm</th> <th><a href=\"$ssh\">SSH</a></th> <th><a href=\"$vnc\">VNC</a></th> </tr>\n"; | |||
}; | |||
}; | |||
echo "</table>"; | |||
}; | |||
#обновление таблицы novnc | |||
function renewvnc() | |||
{ | |||
global $confignovnc; | |||
global $base; | |||
$dir=`ls $base/?*`; | |||
foreach (explode("\n",$dir) as $n) { | |||
$name=basename($n); | |||
$ip=file_get_contents($base.$name); | |||
$ar[]=$name.": ".$ip.":5900"; | |||
}; | |||
asort($ar);$s=join("\n",$ar); | |||
$x=file_get_contents($confignovnc); | |||
if($s!=$x) { file_put_contents($confignovnc,$s); }; | |||
}; | |||
Строка 718: | Строка 771: | ||
exit(); | exit(); | ||
}; | }; | ||
renewvnc(); | |||
?> | ?> | ||
<!DOCTYPE html><html> | <!DOCTYPE html><html> | ||
Строка 739: | Строка 796: | ||
</head> | </head> | ||
<body> | <body> | ||
<?php | |||
echo "<h1>Ссылки на оборудование</h1>"; | |||
echo "<h2>Доски</h2>"; | |||
print_table("p*"); | |||
echo "<h2>Моноблоки</h2>"; | |||
foreach ($cc as $k=>$v) { | |||
echo "<h3>$k</h3>"; | |||
print_table($v."*"); | |||
} | |||
echo "<h2>Ноутбуки</h2>"; | |||
print_table("n*"); | |||
?> | ?> | ||
</body> | </body> | ||
</html> | </html> | ||
</syntaxhighlight> | </syntaxhighlight> | ||