diff --git a/includes/functions.php b/includes/functions.php index 54a7d71..2ef9a5c 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -1,38 +1,46 @@ $val) { - if(is_array($val)) { + foreach ($array as $key => $val) { + if (is_array($val)) { $res[] = "[$key]"; - foreach($val as $skey => $sval) $res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"'); + foreach ($val as $skey => $sval) { + $res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"'); + } + } else { + $res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"'); } - else $res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"'); } - if(safefilerewrite($file, implode("\r\n", $res))) { + if (safefilerewrite($file, implode("\r\n", $res))) { return true; } else { return false; } } -function safefilerewrite($fileName, $dataToSave) { +function safefilerewrite($fileName, $dataToSave) +{ if ($fp = fopen($fileName, 'w')) { - $startTime = microtime(TRUE); + $startTime = microtime(true); do { $canWrite = flock($fp, LOCK_EX); // If lock not obtained sleep for 0 - 100 milliseconds, to avoid collision and CPU load - if(!$canWrite) usleep(round(rand(0, 100)*1000)); - } while ((!$canWrite)and((microtime(TRUE)-$startTime) < 5)); + if (!$canWrite) { + usleep(round(rand(0, 100)*1000)); + } + } while ((!$canWrite)and((microtime(true)-$startTime) < 5)); //file was locked so now we can store information if ($canWrite) { @@ -53,9 +61,11 @@ function safefilerewrite($fileName, $dataToSave) { * Add CSRF Token to form * */ -function CSRFToken() { -?> - +function CSRFToken() +{ + ?> + ' , PHP_EOL; - foreach ( $options as $opt => $label) { - $select = ''; - $key = isAssoc($options) ? $opt : $label; - if( $key == $selected ) { - $select = ' selected="selected"'; +function SelectorOptions($name, $options, $selected = null, $id = null) +{ + echo '' , PHP_EOL; + echo '' , PHP_EOL; } /** @@ -118,9 +131,10 @@ function SelectorOptions($name, $options, $selected = null, $id = null) { * @param string $separator * @return $string */ -function GetDistString( $input,$string,$offset,$separator ) { - $string = substr( $input,strpos( $input,$string )+$offset,strpos( substr( $input,strpos( $input,$string )+$offset ), $separator ) ); - return $string; +function GetDistString($input, $string, $offset, $separator) +{ + $string = substr($input, strpos($input, $string)+$offset, strpos(substr($input, strpos($input, $string)+$offset), $separator)); + return $string; } /** @@ -128,16 +142,17 @@ function GetDistString( $input,$string,$offset,$separator ) { * @param array $arrConfig * @return $config */ -function ParseConfig( $arrConfig ) { - $config = array(); - foreach( $arrConfig as $line ) { - $line = trim($line); - if( $line != "" && $line[0] != "#" ) { - $arrLine = explode( "=",$line ); - $config[$arrLine[0]] = ( count($arrLine) > 1 ? $arrLine[1] : true ); - } - } - return $config; +function ParseConfig($arrConfig) +{ + $config = array(); + foreach ($arrConfig as $line) { + $line = trim($line); + if ($line != "" && $line[0] != "#") { + $arrLine = explode("=", $line); + $config[$arrLine[0]] = (count($arrLine) > 1 ? $arrLine[1] : true); + } + } + return $config; } /** @@ -145,21 +160,22 @@ function ParseConfig( $arrConfig ) { * @param string $freq * @return $channel */ -function ConvertToChannel( $freq ) { - if ($freq >= 2412 && $freq <= 2484) { - $channel = ($freq - 2407)/5; - } elseif ($freq >= 4915 && $freq <= 4980) { - $channel = ($freq - 4910)/5 + 182; - } elseif ($freq >= 5035 && $freq <= 5865) { - $channel = ($freq - 5030)/5 + 6; - } else { - $channel = -1; - } - if ($channel >= 1 && $channel <= 196) { - return $channel; - } else { - return 'Invalid Channel'; - } +function ConvertToChannel($freq) +{ + if ($freq >= 2412 && $freq <= 2484) { + $channel = ($freq - 2407)/5; + } elseif ($freq >= 4915 && $freq <= 4980) { + $channel = ($freq - 4910)/5 + 182; + } elseif ($freq >= 5035 && $freq <= 5865) { + $channel = ($freq - 5030)/5 + 6; + } else { + $channel = -1; + } + if ($channel >= 1 && $channel <= 196) { + return $channel; + } else { + return 'Invalid Channel'; + } } /** @@ -167,65 +183,65 @@ function ConvertToChannel( $freq ) { * @param string $security * @return string */ -function ConvertToSecurity( $security ) { - $options = array(); - preg_match_all('/\[([^\]]+)\]/s', $security, $matches); - foreach($matches[1] as $match) { - if (preg_match('/^(WPA\d?)/', $match, $protocol_match)) { - $protocol = $protocol_match[1]; - $matchArr = explode('-', $match); - if (count($matchArr) > 2) { - $options[] = htmlspecialchars($protocol . ' ('. $matchArr[2] .')', ENT_QUOTES); - } else { - $options[] = htmlspecialchars($protocol, ENT_QUOTES); - } +function ConvertToSecurity($security) +{ + $options = array(); + preg_match_all('/\[([^\]]+)\]/s', $security, $matches); + foreach ($matches[1] as $match) { + if (preg_match('/^(WPA\d?)/', $match, $protocol_match)) { + $protocol = $protocol_match[1]; + $matchArr = explode('-', $match); + if (count($matchArr) > 2) { + $options[] = htmlspecialchars($protocol . ' ('. $matchArr[2] .')', ENT_QUOTES); + } else { + $options[] = htmlspecialchars($protocol, ENT_QUOTES); + } + } + } + + if (count($options) === 0) { + // This could also be WEP but wpa_supplicant doesn't have a way to determine + // this. + // And you shouldn't be using WEP these days anyway. + return 'Open'; + } else { + return implode('
', $options); } - } - - if (count($options) === 0) { - // This could also be WEP but wpa_supplicant doesn't have a way to determine - // this. - // And you shouldn't be using WEP these days anyway. - return 'Open'; - } else { - return implode('
', $options); - } } /** * * */ -function DisplayOpenVPNConfig() { - - exec( 'cat '. RASPI_OPENVPN_CLIENT_CONFIG, $returnClient ); - exec( 'cat '. RASPI_OPENVPN_SERVER_CONFIG, $returnServer ); - exec( 'pidof openvpn | wc -l', $openvpnstatus); - - if( $openvpnstatus[0] == 0 ) { - $status = '
OpenVPN is not running +function DisplayOpenVPNConfig() +{ + exec('cat '. RASPI_OPENVPN_CLIENT_CONFIG, $returnClient); + exec('cat '. RASPI_OPENVPN_SERVER_CONFIG, $returnServer); + exec('pidof openvpn | wc -l', $openvpnstatus); + + if ($openvpnstatus[0] == 0) { + $status = '
OpenVPN is not running
'; - } else { - $status = '
OpenVPN is running + } else { + $status = '
OpenVPN is running
'; - } - - // parse client settings - foreach( $returnClient as $a ) { - if( $a[0] != "#" ) { - $arrLine = explode( " ",$a) ; - $arrClientConfig[$arrLine[0]]=$arrLine[1]; - } - } - - // parse server settings - foreach( $returnServer as $a ) { - if( $a[0] != "#" ) { - $arrLine = explode( " ",$a) ; - $arrServerConfig[$arrLine[0]]=$arrLine[1]; - } - } - ?> + } + + // parse client settings + foreach ($returnClient as $a) { + if ($a[0] != "#") { + $arrLine = explode(" ", $a) ; + $arrClientConfig[$arrLine[0]]=$arrLine[1]; + } + } + + // parse server settings + foreach ($returnServer as $a) { + if ($a[0] != "#") { + $arrLine = explode(" ", $a) ; + $arrServerConfig[$arrLine[0]]=$arrLine[1]; + } + } ?>
@@ -305,12 +321,11 @@ function DisplayOpenVPNConfig() {
' , PHP_EOL; - } else { - echo '' , PHP_EOL; - } -?> + if ($hostapdstatus[0] == 0) { + echo '' , PHP_EOL; + } else { + echo '' , PHP_EOL; + } ?>
@@ -326,18 +341,17 @@ function DisplayOpenVPNConfig() { */ /*LOKINET FUNCTIONS ADDED HERE*/ -function DisplayLokinetConfig(){ - - exec( 'pidof lokinet | wc -l', $lokinetstatus); +function DisplayLokinetConfig() +{ + exec('pidof lokinet | wc -l', $lokinetstatus); - if( $lokinetstatus[0] == 0 ) { - $status = '
Lokinet daemon is not running + if ($lokinetstatus[0] == 0) { + $status = '
Lokinet daemon is not running
'; - } else { - $status = '
Lokinet is running + } else { + $status = '
Lokinet is running
'; - } -?> + } ?>
@@ -375,20 +389,19 @@ function DisplayLokinetConfig(){
Contact Loki user groups for the latest bootstrap file location
' , PHP_EOL; - } else { - echo '' , PHP_EOL; - } - - $filename = '/home/pi/loki-network/lokinet.ini'; - - if ( file_exists($filename)) { - echo '' , PHP_EOL; - } else { - echo '' , PHP_EOL; - } - ?> + if ($lokinetstatus[0] == 0) { + echo '' , PHP_EOL; + } else { + echo '' , PHP_EOL; + } + + $filename = '/home/pi/loki-network/lokinet.ini'; + + if (file_exists($filename)) { + echo '' , PHP_EOL; + } else { + echo '' , PHP_EOL; + } ?>
@@ -403,15 +416,14 @@ function DisplayLokinetConfig(){
-
+
-

This is Loki

-
- +

This is Loki

+
+
-
@@ -420,35 +432,33 @@ function DisplayLokinetConfig(){
TOR is not running + if ($torproxystatus[0] == 0) { + $status = '
TOR is not running
'; - } else { - $status = '
TOR is running + } else { + $status = '
TOR is running
'; - } - - $arrConfig = array(); - foreach( $return as $a ) { - if( $a[0] != "#" ) { - $arrLine = explode( " ",$a) ; - $arrConfig[$arrLine[0]]=$arrLine[1]; - } - } + } -?> + $arrConfig = array(); + foreach ($return as $a) { + if ($a[0] != "#") { + $arrLine = explode(" ", $a) ; + $arrConfig[$arrLine[0]]=$arrLine[1]; + } + } ?>
@@ -549,12 +559,11 @@ function DisplayTorProxyConfig(){ ' , PHP_EOL; - } else { - echo '' , PHP_EOL; - }; - ?> + if ($torproxystatus[0] == 0) { + echo '' , PHP_EOL; + } else { + echo '' , PHP_EOL; + }; ?>
@@ -569,75 +578,73 @@ function DisplayTorProxyConfig(){ * * */ -function SaveTORAndVPNConfig(){ - if( isset($_POST['SaveOpenVPNSettings']) ) { - // TODO - } elseif( isset($_POST['SaveTORProxySettings']) ) { - // TODO - } elseif( isset($_POST['StartOpenVPN']) ) { - echo "Attempting to start openvpn"; - exec( 'sudo /etc/init.d/openvpn start', $return ); - foreach( $return as $line ) { - echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; - } - } elseif( isset($_POST['StopOpenVPN']) ) { - echo "Attempting to stop openvpn"; - exec( 'sudo /etc/init.d/openvpn stop', $return ); - foreach( $return as $line ) { - echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; - } - } elseif( isset($_POST['StartTOR']) ) { - echo "Attempting to start TOR"; - exec( 'sudo /etc/init.d/tor start', $return ); - foreach( $return as $line ) { - echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; - } - } elseif( isset($_POST['StopTOR']) ) { - echo "Attempting to stop TOR"; - exec( 'sudo /etc/init.d/tor stop', $return ); - foreach( $return as $line ) { - echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; - } - } elseif( isset($_POST['StartLokinet']) ) { - exec( 'sudo /home/pi/loki-network/lokilaunch.sh "start" > /dev/null &', $return); - ?> +function SaveTORAndVPNConfig() +{ + if (isset($_POST['SaveOpenVPNSettings'])) { + // TODO + } elseif (isset($_POST['SaveTORProxySettings'])) { + // TODO + } elseif (isset($_POST['StartOpenVPN'])) { + echo "Attempting to start openvpn"; + exec('sudo /etc/init.d/openvpn start', $return); + foreach ($return as $line) { + echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; + } + } elseif (isset($_POST['StopOpenVPN'])) { + echo "Attempting to stop openvpn"; + exec('sudo /etc/init.d/openvpn stop', $return); + foreach ($return as $line) { + echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; + } + } elseif (isset($_POST['StartTOR'])) { + echo "Attempting to start TOR"; + exec('sudo /etc/init.d/tor start', $return); + foreach ($return as $line) { + echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; + } + } elseif (isset($_POST['StopTOR'])) { + echo "Attempting to stop TOR"; + exec('sudo /etc/init.d/tor stop', $return); + foreach ($return as $line) { + echo htmlspecialchars($line, ENT_QUOTES).'
' , PHP_EOL; + } + } elseif (isset($_POST['StartLokinet'])) { + exec('sudo /home/pi/loki-network/lokilaunch.sh "start" > /dev/null &', $return); ?>
Starting Lokinet background daemon process.
/dev/null &', $return); - ?> + } elseif (isset($_POST['StopLokinet'])) { + exec('sudo /home/pi/loki-network/lokilaunch.sh "stop" > /dev/null &', $return); ?>
Stopping Lokinet background daemon process.
+ } elseif (isset($_POST['GenerateLokinet'])) { + ?>
Generating Lokinet Configuration
$output"; - } elseif( isset($_POST['ReGenerateLokinet']) ) { - ?> + echo "
$output
"; + } elseif (isset($_POST['ReGenerateLokinet'])) { + ?>
Regenerating Lokinet Configuration
$output"; - } elseif( isset($_POST['ApplyLokinetSettings']) ) { - $bootstrap = $_POST['lokinetbootstrap']; - ?> + echo "
$output
"; + } elseif (isset($_POST['ApplyLokinetSettings'])) { + $bootstrap = $_POST['lokinetbootstrap']; ?>
Applying Bootstrap
$output"; - } + $output = shell_exec('sudo /home/pi/./loki-network/lokilaunch.sh bootstrap '.$bootstrap.''); + echo "
$output
"; + } } ?>