Server IP : 85.214.239.14 / Your IP : 3.22.217.176 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/task/2/cwd/proc/2/cwd/proc/3/root/srv/modoboa/instance/sitestatic/js/ |
Upload File : |
/* * Simple poller plugin. * * Sends a request at a given frequency. */ var Poller = function(url, options) { this.initialize(url, options); }; Poller.prototype = { constructor: Poller, defaults: { interval: 2000, success_cb: null, error_cb: null }, initialize: function(url, options) { this.url = url; this.options = $.extend({}, this.defaults, options); this.running_request = false; this.paused = false; this.reset(); }, reset: function() { if (!this.paused) { this.tid = setTimeout($.proxy(this.send_request, this), this.options.interval); } }, pause: function() { this.paused = true; if (!this.tid) { return; } clearTimeout(this.tid); }, resume: function() { if (!this.paused) { return; } this.paused = false; this.reset(); }, send_request: function() { var poller = this; var args = ""; if (this.options.args != undefined) { args = "?"; if (typeof this.options.args === "function") { args += this.options.args(); } else { args += this.options.args; } } this.running_request = true; $.ajax({ url: this.url + args, dataType: 'json', global: false }).done(function(data) { poller.running_request = false; if (poller.options.success_cb) { poller.options.success_cb(data); } poller.reset(); }).fail(function(jqxhr) { var data = $.parseJSON(jqxhr.responseText); $("body").notify("error", data); if (poller.options.error_cb) { poller.options.error_cb(data); } }); } };