mirror of
				https://github.com/billz/raspap-webgui.git
				synced 2025-03-01 10:31:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			141 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
*
 | 
						|
*
 | 
						|
*/
 | 
						|
function DisplayDashboard(){
 | 
						|
 | 
						|
  $status = new StatusMessages();
 | 
						|
 | 
						|
  exec( 'ifconfig wlan0', $return );
 | 
						|
  exec( 'iwconfig wlan0', $return );
 | 
						|
 | 
						|
  $strWlan0 = implode( " ", $return );
 | 
						|
  $strWlan0 = preg_replace( '/\s\s+/', ' ', $strWlan0 );
 | 
						|
 | 
						|
  // Parse results from ifconfig/iwconfig
 | 
						|
  preg_match( '/HWaddr ([0-9a-f:]+)/i',$strWlan0,$result );
 | 
						|
  $strHWAddress = $result[1];
 | 
						|
  preg_match( '/inet addr:([0-9.]+)/i',$strWlan0,$result );
 | 
						|
  $strIPAddress = $result[1];
 | 
						|
  preg_match( '/Mask:([0-9.]+)/i',$strWlan0,$result );
 | 
						|
  $strNetMask = $result[1];
 | 
						|
  preg_match( '/RX packets:(\d+)/',$strWlan0,$result );
 | 
						|
  $strRxPackets = $result[1];
 | 
						|
  preg_match( '/TX packets:(\d+)/',$strWlan0,$result );
 | 
						|
  $strTxPackets = $result[1];
 | 
						|
  preg_match( '/RX bytes:(\d+ \(\d+.\d+ [K|M|G]iB\))/i',$strWlan0,$result );
 | 
						|
  $strRxBytes = $result[1];
 | 
						|
  preg_match( '/TX Bytes:(\d+ \(\d+.\d+ [K|M|G]iB\))/i',$strWlan0,$result );
 | 
						|
  $strTxBytes = $result[1];
 | 
						|
  preg_match( '/ESSID:\"([a-zA-Z0-9\s]+)\"/i',$strWlan0,$result );
 | 
						|
  $strSSID = str_replace( '"','',$result[1] );
 | 
						|
  preg_match( '/Access Point: ([0-9a-f:]+)/i',$strWlan0,$result );
 | 
						|
  $strBSSID = $result[1];
 | 
						|
  preg_match( '/Bit Rate=([0-9\.]+ Mb\/s)/i',$strWlan0,$result );
 | 
						|
  $strBitrate = $result[1];
 | 
						|
  preg_match( '/Tx-Power=([0-9]+ dBm)/i',$strWlan0,$result );
 | 
						|
  $strTxPower = $result[1];
 | 
						|
  preg_match( '/Link Quality=([0-9]+)/i',$strWlan0,$result );
 | 
						|
  $strLinkQuality = $result[1];
 | 
						|
  preg_match( '/Signal level=(-?[0-9]+ dBm)/i',$strWlan0,$result );
 | 
						|
  $strSignalLevel = $result[1];
 | 
						|
  preg_match('/Frequency:(\d+.\d+ GHz)/i',$strWlan0,$result);
 | 
						|
  $strFrequency = $result[1];
 | 
						|
 | 
						|
  if(strpos( $strWlan0, "UP" ) !== false && strpos( $strWlan0, "RUNNING" ) !== false ) {
 | 
						|
    $status->addMessage('Interface is up', 'success');
 | 
						|
    $wlan0up = true;
 | 
						|
  } else {
 | 
						|
    $status->addMessage('Interface is down', 'warning');
 | 
						|
  }
 | 
						|
 | 
						|
  if( isset($_POST['ifdown_wlan0']) ) {
 | 
						|
    exec( 'ifconfig wlan0 | grep -i running | wc -l',$test );
 | 
						|
    if($test[0] == 1) {
 | 
						|
      exec( 'sudo ifdown wlan0',$return );
 | 
						|
    } else {
 | 
						|
      echo 'Interface already down';
 | 
						|
    }
 | 
						|
  } elseif( isset($_POST['ifup_wlan0']) ) {
 | 
						|
    exec( 'ifconfig wlan0 | grep -i running | wc -l',$test );
 | 
						|
    if($test[0] == 0) {
 | 
						|
      exec( 'sudo ifup wlan0',$return );
 | 
						|
    } else {
 | 
						|
      echo 'Interface already up';
 | 
						|
    }
 | 
						|
  }
 | 
						|
  ?>
 | 
						|
  <div class="row">
 | 
						|
      <div class="col-lg-12">
 | 
						|
          <div class="panel panel-primary">
 | 
						|
            <div class="panel-heading"><i class="fa fa-dashboard fa-fw"></i> Dashboard   </div>
 | 
						|
              <div class="panel-body">
 | 
						|
                <p><?php $status->showMessages(); ?></p>
 | 
						|
                  <div class="row">
 | 
						|
                        <div class="col-md-6">
 | 
						|
                        <div class="panel panel-default">
 | 
						|
                  <div class="panel-body">
 | 
						|
                      <h4>Interface Information</h4>
 | 
						|
          <div class="info-item">Interface Name</div> wlan0</br>
 | 
						|
          <div class="info-item">IP Address</div>     <?php echo $strIPAddress ?></br>
 | 
						|
          <div class="info-item">Subnet Mask</div>    <?php echo $strNetMask ?></br>
 | 
						|
          <div class="info-item">Mac Address</div>    <?php echo $strHWAddress ?></br></br>
 | 
						|
 | 
						|
                      <h4>Interface Statistics</h4>
 | 
						|
          <div class="info-item">Received Packets</div>    <?php echo $strRxPackets ?></br>
 | 
						|
          <div class="info-item">Received Bytes</div>      <?php echo $strRxBytes ?></br></br>
 | 
						|
          <div class="info-item">Transferred Packets</div> <?php echo $strTxPackets ?></br>
 | 
						|
          <div class="info-item">Transferred Bytes</div>   <?php echo $strTxBytes ?></br>
 | 
						|
        </div><!-- /.panel-body -->
 | 
						|
        </div><!-- /.panel-default -->
 | 
						|
                        </div><!-- /.col-md-6 -->
 | 
						|
 | 
						|
        <div class="col-md-6">
 | 
						|
                    <div class="panel panel-default">
 | 
						|
              <div class="panel-body wireless">
 | 
						|
                            <h4>Wireless Information</h4>
 | 
						|
          <div class="info-item">Connected To</div>   <?php echo $strSSID ?></br>
 | 
						|
          <div class="info-item">AP Mac Address</div> <?php echo $strBSSID ?></br>
 | 
						|
          <div class="info-item">Bitrate</div>        <?php echo $strBitrate ?></br>
 | 
						|
          <div class="info-item">Signal Level</div>        <?php echo $strSignalLevel ?></br>
 | 
						|
          <div class="info-item">Transmit Power</div> <?php echo $strTxPower ?></br>
 | 
						|
          <div class="info-item">Frequency</div>      <?php echo $strFrequency ?></br></br>
 | 
						|
          <div class="info-item">Link Quality</div>
 | 
						|
            <div class="progress">
 | 
						|
            <div class="progress-bar progress-bar-info progress-bar-striped active"
 | 
						|
              role="progressbar"
 | 
						|
              aria-valuenow="<?php echo $strLinkQuality ?>" aria-valuemin="0" aria-valuemax="100"
 | 
						|
              style="width: <?php echo $strLinkQuality ?>%;"><?php echo $strLinkQuality ?>%
 | 
						|
            </div>
 | 
						|
          </div>
 | 
						|
        </div><!-- /.panel-body -->
 | 
						|
        </div><!-- /.panel-default -->
 | 
						|
                        </div><!-- /.col-md-6 -->
 | 
						|
      </div><!-- /.row -->
 | 
						|
 | 
						|
                  <div class="col-lg-12">
 | 
						|
                 <div class="row">
 | 
						|
                    <form action="?page=wlan0_info" method="POST">
 | 
						|
                    <?php if ( !$wlan0up ) {
 | 
						|
                      echo '<input type="submit" class="btn btn-success" value="Start wlan0" name="ifup_wlan0" />';
 | 
						|
                    } else {
 | 
						|
                echo '<input type="submit" class="btn btn-warning" value="Stop wlan0" name="ifdown_wlan0" />';
 | 
						|
              }
 | 
						|
              ?>
 | 
						|
              <input type="button" class="btn btn-outline btn-primary" value="Refresh" onclick="document.location.reload(true)" />
 | 
						|
              </form>
 | 
						|
            </div>
 | 
						|
              </div>
 | 
						|
 | 
						|
                </div><!-- /.panel-body -->
 | 
						|
                <div class="panel-footer">Information provided by ifconfig and iwconfig</div>
 | 
						|
            </div><!-- /.panel-default -->
 | 
						|
        </div><!-- /.col-lg-12 -->
 | 
						|
    </div><!-- /.row -->
 | 
						|
  <?php 
 | 
						|
}
 | 
						|
 | 
						|
?>
 |