summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Beaver <sbeaver@netgate.com>2017-08-15 16:19:34 -0400
committerSteve Beaver <sbeaver@netgate.com>2017-08-15 16:20:05 -0400
commitdf8d3033b60da87fcb1d1bf2441335165af55dee (patch)
treee17bebed3137704ad6d358c3816d54aea2ce6543
parent1fead8adce8d972d5dd00b823f10cd857b25db1c (diff)
downloadpfsense-df8d3033b60da87fcb1d1bf2441335165af55dee.zip
pfsense-df8d3033b60da87fcb1d1bf2441335165af55dee.tar.gz
COnvert dyndns widget to central refresh system
(cherry picked from commit 5efa7cae2f2df4974c7de19f00fe5b669fb73485)
-rw-r--r--src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php54
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>
OpenPOWER on IntegriCloud