50 |
use log; |
use log; |
51 |
use x11; |
use x11; |
52 |
use amt; |
use amt; |
|
use boolean; |
|
53 |
use daemons; |
use daemons; |
54 |
|
|
55 |
use kvm; |
use kvm; |
62 |
use ping; |
use ping; |
63 |
use wol; |
use wol; |
64 |
|
|
65 |
use CouchDB; |
use store; |
66 |
|
|
67 |
|
|
68 |
sub menu { |
sub menu { |
116 |
my $buff; |
my $buff; |
117 |
my $pos = 0; |
my $pos = 0; |
118 |
|
|
119 |
CouchDB::audit( 'static', { pid => $$, path => $path, type => $type, size => $size, block => $block, peerhost => $client->peerhost }); |
store::audit( 'static', { pid => $$, path => $path, type => $type, size => $size, block => $block, peerhost => $client->peerhost }); |
120 |
|
|
121 |
progress_bar::start; |
progress_bar::start; |
122 |
|
|
144 |
qq|HTTP/1.1 302 Found\r\nContent-type: text/html\r\nLocation: $to\r\n\r\n| |
qq|HTTP/1.1 302 Found\r\nContent-type: text/html\r\nLocation: $to\r\n\r\n| |
145 |
} |
} |
146 |
|
|
147 |
|
sub toggle { |
148 |
|
my $v = shift; |
149 |
|
return $v ? 0 : 1; |
150 |
|
} |
151 |
|
|
152 |
sub get_request { |
sub get_request { |
153 |
my ( $client, $path, $param ) = @_; |
my ( $client, $path, $param ) = @_; |
154 |
|
|
155 |
server->refresh; |
server->refresh; |
156 |
|
|
157 |
CouchDB::audit( 'request', { path => $path, param => $param, peerhost => $client->peerhost } ); |
store::audit( 'request', { path => $path, param => $param, peerhost => $client->peerhost } ); |
158 |
|
|
159 |
$title = $path; |
$title = $path; |
160 |
|
|
245 |
eval '$server::' . $name . '= $param->{$name}'; |
eval '$server::' . $name . '= $param->{$name}'; |
246 |
} |
} |
247 |
my @table = ( |
my @table = ( |
248 |
'debug' => qq|<a href=/our/debug/| . boolean::toggle($debug) . qq|>$debug</a>|, |
'debug' => qq|<a href=/our/debug/| . toggle($debug) . qq|>$debug</a>|, |
249 |
, 'new_clients' => qq|<input type=text name=new_clients size=3 value="$server::new_clients">| |
, 'new_clients' => qq|<input type=text name=new_clients size=3 value="$server::new_clients">| |
250 |
); |
); |
251 |
|
|
360 |
|
|
361 |
my $conf = client::all_conf( $ip ); |
my $conf = client::all_conf( $ip ); |
362 |
my $mac = delete $conf->{mac} || ''; |
my $mac = delete $conf->{mac} || ''; |
363 |
|
my $dev = $arp->{$mac}; |
364 |
|
|
365 |
next unless $arp->{$mac} || $param->{all}; |
next unless $dev || $param->{all}; |
366 |
|
|
367 |
my $style |
my $style |
368 |
= 'style="color:' |
= 'style="color:' |
374 |
my $ip_text = qq|<tt>$ip</tt>|; |
my $ip_text = qq|<tt>$ip</tt>|; |
375 |
$ip_text = qq|<tt><b>$ip</b></tt>| if ip::in_dhcp_range($ip); |
$ip_text = qq|<tt><b>$ip</b></tt>| if ip::in_dhcp_range($ip); |
376 |
|
|
377 |
|
$dev = qq|<tt>$dev</tt>| if $dev; |
378 |
|
|
379 |
push @clients |
push @clients |
380 |
, qq|<a $style name=$ip target=client href=/client/$ip>$ip_text</a>| |
, qq|<a $style name=$ip target=client href=/client/$ip>$ip_text</a>| |
381 |
, format::mac( $mac => 'html' ) |
, format::mac( $mac => 'html' ) |
382 |
, $arp->{$mac} |
, $dev |
383 |
, delete $conf->{hostname} |
, delete $conf->{hostname} |
384 |
, html::conf( $ip, $conf, 'inline' ) |
, html::conf( $ip, $conf, 'inline' ) |
385 |
; |
; |