1 contributor
<?php
include_once( 'includes/status_messages.php' );
/**
*
* Manage DHCP configuration
*
*/
function DisplayPing() {
$status = new StatusMessages();
exec( 'ifconfig eth0 | wc -l',$output );
$output_state = ($output[0] > 0);
$ActiveDigTab=isset( $_POST['Dig'] );
$value="";
if( isset( $_POST['Ping'] ) ) {
if (CSRFValidate()) {
$value=$_POST['Ping'];
exec('sudo /bin/ping -c 1 -w 2 '.$_POST['Ping'], $output, $return);
if ($return == 0) {
$status->addMessage('Ping <em><b>'.$_POST['Ping'].'</b></em><br>'.$output[2].'<br>'.$output[6], 'success');
} else {
$status->addMessage('Failed to ping <em><b>'.$_POST['Ping'].'</b></em>', 'danger');
}
} else {
error_log('CSRF violation');
}
} else if( isset( $_POST['Dig'] ) ) {
if (CSRFValidate()) {
$value=$_POST['Dig'];
exec('/usr/bin/dig '.$_POST['record'].' '.$_POST['Dig'], $output, $return);
$Lines=count($output);
$DigMessage='Dig '.$_POST['record'].' <em><b>'.$_POST['Dig'].'</b></em><br>';
for($i=1;$i<$Lines;$i++) {
$DigMessage=$DigMessage.$output[$i].'<br>';
}
$status->addMessage($DigMessage, 'success');
} else {
error_log('CSRF violation');
}
} else {
if( $output_state ) {
$status->addMessage('Eth0 is Up and Running', 'success');
} else {
$status->addMessage('Eth0 is Down', 'danger');
}
}
?>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-primary">
<div class="panel-heading"><i class="fa fa-refresh fa-fw"></i> Ping & Dig
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<p><?php $status->showMessages(); ?></p>
<!-- Nav tabs -->
<ul class="nav nav-tabs">
<?php
if(!$ActiveDigTab) {
echo '<li class="active"><a href="#test-ping" data-toggle="tab">Ping</a></li>';
echo '<li><a href="#test-dig" data-toggle="tab">Dig</a></li>';
} else {
echo '<li><a href="#test-ping" data-toggle="tab">Ping</a></li>';
echo '<li class="active"><a href="#test-dig" data-toggle="tab">Dig</a></li>';
}
?>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<?php
if(!$ActiveDigTab) {
echo '<div class="tab-pane fade in active" id="test-ping">';
} else {
echo '<div class="tab-pane fade in" id="test-ping">';
}
?>
<h4>Ping IP or Domain</h4>
<form method="POST" action="?page=ping">
<?php CSRFToken() ?>
<div class="row">
<div class="form-group col-md-4">
<label for="code">IP or Domain</label>
<input type="text" class="form-control"name="Ping" value="<?php echo $value; ?>" />
</div>
</div>
<input type="submit" class="btn btn-success" value="Ping" name="ping" />
</form>
</div><!-- /.tab-pane -->
<?php
if(!$ActiveDigTab) {
echo '<div class="tab-pane fade in" id="test-dig">';
} else {
echo '<div class="tab-pane fade in active" id="test-dig">';
}
?>
<h4>DNS Looking Glass</h4>
<form method="POST" action="?page=ping">
<?php CSRFToken() ?>
<div class="row">
<div class="form-group col-md-4">
<label for="code">DNS Record</label>
<input type="text" class="form-control"name="Dig" value="<?php echo $value; ?>" />
</div>
</div>
<div class="row">
<div class="form-group col-md-4">
<label for="code">Record Type</label>
<select class="form-control" name="record">
<option value="A">A</option>
<option value="CNAME">CNAME</option>
<option value="MX">MX</option>
<option value="NS">NS</option>
<option value="TXT">TXT</option>
<option value="PTR">PTR</option>
</select>
</div>
</div>
<input type="submit" class="btn btn-success" value="Dig" name="dig" />
</form>
<div class="col-lg-12">
</div><!-- /.col-lg-6 -->
</div><!-- /.tab-pane -->
</div><!-- /.tab-content -->
</div><!-- ./ Panel body -->
<div class="panel-footer"> Information provided by Ping and Dig</div>
</div><!-- /.panel-primary -->
</div><!-- /.col-lg-12 -->
</div><!-- /.row -->
<?php
}
?>