Server IP : 127.0.0.2 / Your IP : 18.222.25.95 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/js/ |
Upload File : |
/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Server Status Processes * * @package PhpMyAdmin */ // object to store process list state information var processList = { // denotes whether auto refresh is on or off autoRefresh: false, // stores the GET request which refresh process list refreshRequest: null, // stores the timeout id returned by setTimeout refreshTimeout: null, // the refresh interval in seconds refreshInterval: null, // the refresh URL (required to save last used option) // i.e. full or sorting url refreshUrl: null, /** * Handles killing of a process * * @return void */ init: function() { processList.setRefreshLabel(); if (processList.refreshUrl === null) { processList.refreshUrl = 'server_status_processes.php' + PMA_commonParams.get('common_query'); } if (processList.refreshInterval === null) { processList.refreshInterval = $('#id_refreshRate').val(); } else { $('#id_refreshRate').val(processList.refreshInterval); } }, /** * Handles killing of a process * * @param object the event object * * @return void */ killProcessHandler: function(event) { event.preventDefault(); var url = $(this).attr('href'); // Get row element of the process to be killed. var $tr = $(this).closest('tr'); $.getJSON(url, function(data) { // Check if process was killed or not. if (data.hasOwnProperty('success') && data.success) { // remove the row of killed process. $tr.remove(); // As we just removed a row, reapply odd-even classes // to keep table stripes consistent var $tableProcessListTr = $('#tableprocesslist').find('> tbody > tr'); $tableProcessListTr.filter(':even').removeClass('odd').addClass('even'); $tableProcessListTr.filter(':odd').removeClass('even').addClass('odd'); // Show process killed message PMA_ajaxShowMessage(data.message, false); } else { // Show process error message PMA_ajaxShowMessage(data.error, false); } }); }, /** * Handles Auto Refreshing * * @param object the event object * * @return void */ refresh: function(event) { // abort any previous pending requests // this is necessary, it may go into // multiple loops causing unnecessary // requests even after leaving the page. processList.abortRefresh(); // if auto refresh is enabled if (processList.autoRefresh) { var interval = parseInt(processList.refreshInterval, 10) * 1000; var urlParams = processList.getUrlParams(); processList.refreshRequest = $.get(processList.refreshUrl, urlParams, function(data) { if (data.hasOwnProperty('success') && data.success) { $newTable = $(data.message); $('#tableprocesslist').html($newTable.html()); PMA_highlightSQL($('#tableprocesslist')); } processList.refreshTimeout = setTimeout( processList.refresh, interval ); }); } }, /** * Stop current request and clears timeout * * @return void */ abortRefresh: function() { if (processList.refreshRequest !== null) { processList.refreshRequest.abort(); processList.refreshRequest = null; } clearTimeout(processList.refreshTimeout); }, /** * Set label of refresh button * change between play & pause * * @return void */ setRefreshLabel: function() { var img = 'play.png'; var label = PMA_messages.strStartRefresh; if (processList.autoRefresh) { img = 'pause.png'; label = PMA_messages.strStopRefresh; processList.refresh(); } $('a#toggleRefresh').html(PMA_getImage(img) + escapeHtml(label)); }, /** * Return the Url Parameters * for autorefresh request, * includes showExecuting if the filter is checked * * @return urlParams - url parameters with autoRefresh request */ getUrlParams: function() { var urlParams = { 'ajax_request': true, 'refresh': true }; if ($('#showExecuting').is(":checked")) { urlParams['showExecuting'] = true; return urlParams; } return urlParams; } }; AJAX.registerOnload('server_status_processes.js', function() { processList.init(); // Bind event handler for kill_process $('#tableprocesslist').on( 'click', 'a.kill_process', processList.killProcessHandler ); // Bind event handler for toggling refresh of process list $('a#toggleRefresh').on('click', function(event) { event.preventDefault(); processList.autoRefresh = !processList.autoRefresh; processList.setRefreshLabel(); }); // Bind event handler for change in refresh rate $('#id_refreshRate').on('change', function(event) { processList.refreshInterval = $(this).val(); processList.refresh(); }); // Bind event handler for table header links $('#tableprocesslist').on('click', 'thead a', function() { processList.refreshUrl = $(this).attr('href'); }); }); /** * Unbind all event handlers before tearing down a page */ AJAX.registerTeardown('server_status_processes.js', function() { $('#tableprocesslist').off('click', 'a.kill_process'); $('a#toggleRefresh').off('click'); $('#id_refreshRate').off('change'); $('#tableprocesslist').off('click', 'thead a'); // stop refreshing further processList.abortRefresh(); });