56 |
use wireshark; |
use wireshark; |
57 |
use syslogd; |
use syslogd; |
58 |
use nmap; |
use nmap; |
59 |
|
use ping; |
60 |
|
use wol; |
61 |
|
|
62 |
use CouchDB; |
use CouchDB; |
63 |
|
|
244 |
my @table = ( |
my @table = ( |
245 |
'ip' => qq|<input type=text name=change_ip value="$ip" onChange="document.getElementById('old_ip').style.display = '';"><span id=old_ip style="display: none; color: #888;">old: $ip<span>|, |
'ip' => qq|<input type=text name=change_ip value="$ip" onChange="document.getElementById('old_ip').style.display = '';"><span id=old_ip style="display: none; color: #888;">old: $ip<span>|, |
246 |
'hostname' => qq|<input type=text name=hostname value="$hostname">|, |
'hostname' => qq|<input type=text name=hostname value="$hostname">|, |
247 |
|
'ping' => ping::host($ip) ? qq|<span style="color:green">up</span>| : qq|<a href=/wol/$ip title=wol>down</a>|, |
248 |
); |
); |
249 |
|
|
250 |
my $deploy; |
my $config; |
251 |
|
|
252 |
if ( my $mac = client::mac_from_ip( $ip ) ) { |
if ( my $mac = client::mac_from_ip( $ip ) ) { |
253 |
$deploy = client::conf( $ip, 'deploy' => $param->{deploy} ); |
my $deploy = client::conf( $ip, 'deploy' => $param->{deploy} ); |
254 |
push @table, ( |
push @table, ( |
255 |
'mac' => format::mac( $mac => 'html' ), |
'mac' => format::mac( $mac => 'html' ), |
256 |
'deploy' => html::select( 'deploy', $deploy, config::available ) |
'deploy' => html::select( 'deploy', $deploy, config::available ) |
257 |
); |
); |
258 |
if ( my $pxelinux = config::for_ip( $ip ) ) { |
if ( $config = config::for_ip( $ip ) ) { |
259 |
$deploy = qq|<h2>PXElinux</h2>| . html::pre( $pxelinux ); |
$config = qq|<h2>config</h2>| . html::pre( $config ); |
260 |
} |
} |
261 |
} |
} |
262 |
|
|
267 |
<input type=submit name=action value=change> |
<input type=submit name=action value=change> |
268 |
<input type=submit name=action value=remove style="color: red"> |
<input type=submit name=action value=remove style="color: red"> |
269 |
</form>| |
</form>| |
270 |
, $deploy |
, $config |
271 |
; |
; |
272 |
|
|
273 |
if ( my $amt = client::conf( $ip, 'amt' ) ) { |
if ( my $amt = client::conf( $ip, 'amt' ) ) { |
347 |
</form> |
</form> |
348 |
|; |
|; |
349 |
} |
} |
350 |
|
} elsif ( $path =~ m{^/wol/(\S+)} ) { |
351 |
|
print $client redirect( "$url/client/$1" ), wol::power_on($1); |
352 |
} elsif ( $path =~ m{^/our/(\w+)/(\S+)} ) { |
} elsif ( $path =~ m{^/our/(\w+)/(\S+)} ) { |
353 |
eval 'our $' . $1 . ' = ' . $2; |
eval 'our $' . $1 . ' = ' . $2; |
354 |
warn $@ if $@; |
warn $@ if $@; |