summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/dyndns.class4
-rw-r--r--etc/inc/services.inc8
-rwxr-xr-xusr/local/www/services_dyndns.php3
-rw-r--r--usr/local/www/services_dyndns_edit.php12
4 files changed, 13 insertions, 14 deletions
diff --git a/etc/inc/dyndns.class b/etc/inc/dyndns.class
index 5c853a9..beb3633 100644
--- a/etc/inc/dyndns.class
+++ b/etc/inc/dyndns.class
@@ -94,7 +94,7 @@
*/
function updatedns ($dnsService = '', $dnsHost = '', $dnsUser = '', $dnsPass = '',
$dnsWildcard = 'OFF', $dnsMX = '', $dnsIf = '', $dnsBackMX = '',
- $dnsServer = '', $dnsPort = '', $dnsUpdateURL = '') {
+ $dnsServer = '', $dnsPort = '', $dnsUpdateURL = '', $forceUpdate = false) {
global $config, $g;
@@ -140,7 +140,7 @@
$this->_debugID = rand(1000000, 9999999);
- if ($this->_detectChange() == false) {
+ if ($forceUpdate == false && $this->_detectChange() == false) {
$this->_error(10);
} else {
switch ($this->_dnsService) {
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index 2af9aa9..6693161 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -1309,8 +1309,12 @@ function services_dyndns_configure_client($conf) {
$dnsPass = $conf['password'],
$dnsWilcard = $conf['wildcard'],
$dnsMX = $conf['mx'],
- $dnsIf = "{$conf['interface']}");
-
+ $dnsIf = "{$conf['interface']}",
+ $dnsBackMX = NULL,
+ $dnsServer = NULL,
+ $dnsPort = NULL,
+ $dnsUpdateURL = NULL,
+ $forceUpdate = $conf['force']);
}
function services_dyndns_configure($int = "") {
diff --git a/usr/local/www/services_dyndns.php b/usr/local/www/services_dyndns.php
index 9b359f4..950733b 100755
--- a/usr/local/www/services_dyndns.php
+++ b/usr/local/www/services_dyndns.php
@@ -159,7 +159,8 @@ include("head.inc");
<td colspan="3" class="list"><p class="vexpl"><span class="red"><strong>
<?=gettext("Note:");?><br>
</strong></span>
- <?=gettext("IP addresses appearing in green are up to date with Dynamic DNS provider.");?>
+ <?=gettext("IP addresses appearing in green are up to date with Dynamic DNS provider.");?><br>
+ <?=gettext("You can force an update for an IP address on the edit page for that service.");?>
</td>
<td class="list">&nbsp;</td>
</tr>
diff --git a/usr/local/www/services_dyndns_edit.php b/usr/local/www/services_dyndns_edit.php
index 136d654..f09b9f6 100644
--- a/usr/local/www/services_dyndns_edit.php
+++ b/usr/local/www/services_dyndns_edit.php
@@ -104,6 +104,7 @@ if ($_POST) {
$dyndns['enable'] = $_POST['enable'] ? false : true;
$dyndns['interface'] = $_POST['interface'];
$dyndns['descr'] = $_POST['descr'];
+ $dyndns['force'] = isset($_POST['force']);
if($dyndns['username'] == "none")
$dyndns['username'] = "";
@@ -115,15 +116,7 @@ if ($_POST) {
write_config();
- $retval = 0;
-
- conf_mount_rw();
-
- unlink("{$g['conf_path']}/dyndns_{$dyndns['interface']}{$dyndns['type']}{$dyndns['host']}.cache");
-
- $retval = services_dyndns_configure_client($dyndns);
-
- conf_mount_ro();
+ services_dyndns_configure_client($dyndns);
header("Location: services_dyndns.php");
exit;
@@ -237,6 +230,7 @@ include("head.inc");
<a href="services_dyndns.php"><input name="cancel" type="button" class="formbtn" value="<?=gettext("Cancel");?>"></a>
<?php if (isset($id) && $a_dyndns[$id]): ?>
<input name="id" type="hidden" value="<?=htmlspecialchars($id);?>">
+ <input name="force" type="submit" class="formbtn" value="<?=gettext("Save & Force Update");?>" onClick="enable_change(true)">
<?php endif; ?>
</td>
</tr>
OpenPOWER on IntegriCloud