diff options
author | Steve Beaver <sbeaver@netgate.com> | 2017-08-15 16:19:34 -0400 |
---|---|---|
committer | Steve Beaver <sbeaver@netgate.com> | 2017-08-15 16:20:05 -0400 |
commit | df8d3033b60da87fcb1d1bf2441335165af55dee (patch) | |
tree | e17bebed3137704ad6d358c3816d54aea2ce6543 /src/usr/local | |
parent | 1fead8adce8d972d5dd00b823f10cd857b25db1c (diff) | |
download | pfsense-df8d3033b60da87fcb1d1bf2441335165af55dee.zip pfsense-df8d3033b60da87fcb1d1bf2441335165af55dee.tar.gz |
COnvert dyndns widget to central refresh system
(cherry picked from commit 5efa7cae2f2df4974c7de19f00fe5b669fb73485)
Diffstat (limited to 'src/usr/local')
-rw-r--r-- | src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php b/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php index b8f7ba1..3d60ab7 100644 --- a/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php +++ b/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php @@ -292,34 +292,40 @@ function get_dyndns_service_text($dyndns_type) { <script type="text/javascript"> //<![CDATA[ - function dyndns_getstatus() { - scroll(0,0); - var url = "/widgets/widgets/dyn_dns_status.widget.php"; - var pars = 'getdyndnsstatus=yes'; - $.ajax( - url, - { - type: 'get', - data: pars, - complete: dyndnscallback - }); + events.push(function(){ - } - function dyndnscallback(transport) { - // The server returns a string of statuses separated by vertical bars - var responseStrings = transport.responseText.split("|"); - for (var count=0; count<responseStrings.length; count++) { - var divlabel = '#dyndnsstatus' + count; - $(divlabel).prop('innerHTML',responseStrings[count]); + // --------------------- centralized widget refresh system ------------------------------ + + // Callback function called by refresh system when data is retrieved + function dyndnscallback(s) { + // The server returns a string of statuses separated by vertical bars + var responseStrings = s.split("|"); + for (var count=0; count<responseStrings.length; count++) { + var divlabel = '#dyndnsstatus' + count; + $(divlabel).prop('innerHTML',responseStrings[count]); + } } - // Refresh the status every 5 minutes - setTimeout('dyndns_getstatus()', 5*60*1000); - } - events.push(function(){ + // POST data to send via AJAX + var postdata = { + ajax: "ajax", + getdyndnsstatus : "yes" + }; + + // Create an object defining the widget refresh AJAX call + var dyndnsObject = new Object(); + dyndnsObject.name = "DynDNS"; + dyndnsObject.url = "/widgets/widgets/dyn_dns_status.widget.php"; + dyndnsObject.callback = dyndnscallback; + dyndnsObject.parms = postdata; + dyndnsObject.freq = 20; + + // Register the AJAX object + register_ajax(dyndnsObject); + + // --------------------------------------------------------------------------------------------------- set_widget_checkbox_events("#widget-<?=$widgetname?>_panel-footer [id^=show]", "showalldyndns"); }); - // Do the first status check 2 seconds after the dashboard opens - setTimeout('dyndns_getstatus()', 2000); + //]]> </script> |