From 74ca833119d85137e4a2fe72b73a759cd3228fcd Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 9 Nov 2016 17:08:48 +0100 Subject: [PATCH] dyndns: fix previous widget race in actual page code again --- src/www/services_dyndns.php | 52 +++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/www/services_dyndns.php b/src/www/services_dyndns.php index 7e5debfcc..bd97504cb 100644 --- a/src/www/services_dyndns.php +++ b/src/www/services_dyndns.php @@ -141,31 +141,37 @@ $main_buttons = array( $cached_ip) { - echo ""; - } else { - echo ""; - } - echo htmlspecialchars($cached_ip); - echo ""; - } elseif (file_exists($filename_v6) && !empty($dyndns['enable'])) { - $ipv6addr = get_interface_ipv6($dyndns['interface']); - $cached_ipv6_s = explode("|", file_get_contents($filename_v6)); - $cached_ipv6 = $cached_ipv6_s[0]; - if ($ipv6addr <> $cached_ipv6) { - echo ""; - } else { - echo ""; - } - echo htmlspecialchars($cached_ipv6); - echo ""; + $ipaddr = dyndnsCheckIP($dyndns['interface']); + $fdata = @file_get_contents($filename); + } + + $filename_v6 = "/conf/dyndns_{$dyndns['interface']}{$dyndns['type']}" . escapeshellarg($dyndns['host']) . "{$dyndns['id']}_v6.cache"; + $fdata6 = ''; + if (file_exists($filename_v6) && !empty($dyndns['enable'])) { + $ipv6addr = get_interface_ipv6($dyndns['interface']); + $fdata6 = @file_get_contents($filename_v6); + } + + if (!empty($fdata)) { + $cached_ip_s = explode(':', $fdata); + $cached_ip = $cached_ip_s[0]; + echo sprintf( + '%s', + $ipaddr != $cached_ip ? 'red' : 'green', + htmlspecialchars($cached_ip) + ); + } elseif (!empty($fdata6)) { + $cached_ipv6_s = explode('|', $fdata6); + $cached_ipv6 = $cached_ipv6_s[0]; + echo sprintf( + '%s', + $ipv6addr != $cached_ipv6 ? 'red' : 'green', + htmlspecialchars($cached_ipv6) + ); } else { - echo gettext('N/A'); + echo sprintf('%s', gettext('N/A')); }?>