diff --git a/README.md b/README.md
index 604708ef..34b28953 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
![](http://i.imgur.com/xeKD93p.png)
-# `$ raspap-webgui` [![Release 1.3.1](https://img.shields.io/badge/Release-1.3.1-green.svg)](https://github.com/billz/raspap-webgui/releases) [![Awesome](https://awesome.re/badge.svg)](https://github.com/thibmaek/awesome-raspberry-pi)
+# `$ raspap-webgui` [![Release 1.3.1](https://img.shields.io/badge/Release-1.3.1-green.svg)](https://github.com/billz/raspap-webgui/releases) [![Awesome](https://awesome.re/badge.svg)](https://github.com/thibmaek/awesome-raspberry-pi) [![Beerpay](https://img.shields.io/beerpay/hashdog/scrapfy-chrome-extension.svg)](https://beerpay.io/billz/raspap-webgui)
+
A simple, responsive web interface to control wifi, hostapd and related services on the Raspberry Pi.
This project was inspired by a [**blog post**](http://sirlagz.net/2013/02/06/script-web-configuration-page-for-raspberry-pi/) by SirLagz about using a web page rather than ssh to configure wifi and hostapd settings on the Raspberry Pi. I mostly just prettified the UI by wrapping it in [**SB Admin 2**](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2), a Bootstrap based admin theme. Since then, the project has evolved to include greater control over many aspects of a networked RPi, better security, authentication, a Quick Installer, support for themes and more. RaspAP has been featured on sites such as [Instructables](http://www.instructables.com/id/Raspberry-Pi-As-Completely-Wireless-Router/), [Adafruit](https://blog.adafruit.com/2016/06/24/raspap-wifi-configuration-portal-piday-raspberrypi-raspberry_pi/), [Raspberry Pi Weekly](https://www.raspberrypi.org/weekly/commander/) and [Awesome Raspberry Pi](https://project-awesome.org/thibmaek/awesome-raspberry-pi) and implemented in countless projects.
diff --git a/includes/dhcp.php b/includes/dhcp.php
index 0ffb096b..5c7752a1 100755
--- a/includes/dhcp.php
+++ b/includes/dhcp.php
@@ -29,7 +29,7 @@ function DisplayDHCPConfig() {
$errors .= _('Invalid DHCP range end.').'
'.PHP_EOL;
}
- if (!ctype_digit($_POST['RangeLeaseTime'])) {
+ if (!ctype_digit($_POST['RangeLeaseTime']) && $_POST['RangeLeaseTimeUnits'] !== 'infinite') {
$errors .= _('Invalid DHCP lease time, not a number.').'
'.PHP_EOL;
}
@@ -41,7 +41,12 @@ function DisplayDHCPConfig() {
if (empty($errors)) {
$config = 'interface='.$_POST['interface'].PHP_EOL.
'dhcp-range='.$_POST['RangeStart'].','.$_POST['RangeEnd'].
- ',255.255.255.0,'.$_POST['RangeLeaseTime'].$_POST['RangeLeaseTimeUnits'];
+ ',255.255.255.0,';
+ if ($_POST['RangeLeaseTimeUnits'] !== 'infinite') {
+ $config .= $_POST['RangeLeaseTime'];
+ }
+
+ $config .= $_POST['RangeLeaseTimeUnits'];
exec('echo "'.$config.'" > /tmp/dhcpddata', $temp);
system('sudo cp /tmp/dhcpddata '.RASPI_DNSMASQ_CONFIG, $return);
} else {
@@ -107,25 +112,30 @@ function DisplayDHCPConfig() {
$RangeStart = $arrRange[0];
$RangeEnd = $arrRange[1];
$RangeMask = $arrRange[2];
- preg_match( '/([0-9]*)([a-z])/i', $arrRange[3], $arrRangeLeaseTime );
+ $leaseTime = $arrRange[3];
$hselected = '';
$mselected = '';
$dselected = '';
-
- switch( $arrRangeLeaseTime[2] ) {
- case 'h':
- $hselected = ' selected="selected"';
- break;
- case 'm':
- $mselected = ' selected="selected"';
- break;
- case 'd':
- $dselected = ' selected="selected"';
- break;
+ $infiniteselected = '';
+ preg_match( '/([0-9]*)([a-z])/i', $leaseTime, $arrRangeLeaseTime );
+ if ($leaseTime === 'infinite') {
+ $infiniteselected = ' selected="selected"';
+ } else {
+ switch( $arrRangeLeaseTime[2] ) {
+ case 'h':
+ $hselected = ' selected="selected"';
+ break;
+ case 'm':
+ $mselected = ' selected="selected"';
+ break;
+ case 'd':
+ $dselected = ' selected="selected"';
+ break;
+ }
}
- ?>
+?>