Submit
Path:
~
/
/
opt
/
psa
/
phpMyAdmin
/
js
/
src
/
server
/
status
/
File Content:
processes.js
/** * 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 = 'index.php?route=/server/status/processes/refresh'; } if (processList.refreshInterval === null) { processList.refreshInterval = $('#id_refreshRate').val(); } else { $('#id_refreshRate').val(processList.refreshInterval); } }, /** * Handles killing of a process * * @param {object} event the event object * * @return {void} */ killProcessHandler: function (event) { event.preventDefault(); var argSep = CommonParams.get('arg_separator'); var params = $(this).getPostData(); params += argSep + 'ajax_request=1' + argSep + 'server=' + CommonParams.get('server'); // Get row element of the process to be killed. var $tr = $(this).closest('tr'); $.post($(this).attr('href'), params, 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.each(function (index) { if (index >= 0 && index % 2 === 0) { $(this).removeClass('odd').addClass('even'); } else if (index >= 0 && index % 2 !== 0) { $(this).removeClass('even').addClass('odd'); } }); // Show process killed message Functions.ajaxShowMessage(data.message, false); } else { // Show process error message Functions.ajaxShowMessage(data.error, false); } }, 'json'); }, /** * Handles Auto Refreshing * @return {void} */ refresh: function () { // 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) { // Only fetch the table contents processList.refreshUrl = 'index.php?route=/server/status/processes/refresh'; var interval = parseInt(processList.refreshInterval, 10) * 1000; var urlParams = processList.getUrlParams(); processList.refreshRequest = $.post(processList.refreshUrl, urlParams, function (data) { if (data.hasOwnProperty('success') && data.success) { var $newTable = $(data.message); $('#tableprocesslist').html($newTable.html()); Functions.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'; var label = Messages.strStartRefresh; if (processList.autoRefresh) { img = 'pause'; label = Messages.strStopRefresh; processList.refresh(); } $('a#toggleRefresh').html(Functions.getImage(img) + Functions.escapeHtml(label)); }, /** * Return the Url Parameters * for autorefresh request, * includes showExecuting if the filter is checked * * @return {object} urlParams - url parameters with autoRefresh request */ getUrlParams: function () { var urlParams = { 'server': CommonParams.get('server'), 'ajax_request': true, 'refresh': true, 'full': $('input[name="full"]').val(), 'order_by_field': $('input[name="order_by_field"]').val(), 'column_name': $('input[name="column_name"]').val(), 'sort_order': $('input[name="sort_order"]').val() }; 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 () { 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(); });
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
monitor.js
90440 bytes
0644
processes.js
6877 bytes
0644
queries.js
1375 bytes
0644
sorter.js
2055 bytes
0644
variables.js
3309 bytes
0644
N4ST4R_ID | Naxtarrr