diff --git a/js/server_databases.js b/js/server_databases.js
deleted file mode 100644
index 2285619b74..0000000000
--- a/js/server_databases.js
+++ /dev/null
@@ -1,149 +0,0 @@
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * @fileoverview functions used on the server databases list page
- * @name Server Databases
- *
- * @requires jQuery
- * @requires jQueryUI
- * @required js/functions.js
- */
-
-/**
- * Unbind all event handlers before tearing down a page
- */
-AJAX.registerTeardown('server_databases.js', function () {
- $(document).off('submit', '#dbStatsForm');
- $(document).off('submit', '#create_database_form.ajax');
-});
-
-/**
- * AJAX scripts for server_databases.php
- *
- * Actions ajaxified here:
- * Drop Databases
- *
- */
-AJAX.registerOnload('server_databases.js', function () {
- /**
- * Attach Event Handler for 'Drop Databases'
- */
- $(document).on('submit', '#dbStatsForm', function (event) {
- event.preventDefault();
-
- var $form = $(this);
-
- /**
- * @var selected_dbs Array containing the names of the checked databases
- */
- var selected_dbs = [];
- // loop over all checked checkboxes, except the .checkall_box checkbox
- $form.find('input:checkbox:checked:not(.checkall_box)').each(function () {
- $(this).closest('tr').addClass('removeMe');
- selected_dbs[selected_dbs.length] = 'DROP DATABASE `' + escapeHtml($(this).val()) + '`;';
- });
- if (! selected_dbs.length) {
- PMA_ajaxShowMessage(
- $('
').text(
- PMA_messages.strNoDatabasesSelected
- ),
- 2000
- );
- return;
- }
- /**
- * @var question String containing the question to be asked for confirmation
- */
- var question = PMA_messages.strDropDatabaseStrongWarning + ' ' +
- PMA_sprintf(PMA_messages.strDoYouReally, selected_dbs.join(' '));
-
- var argsep = PMA_commonParams.get('arg_separator');
- $(this).PMA_confirm(
- question,
- $form.prop('action') + '?' + $(this).serialize() +
- argsep + 'drop_selected_dbs=1' + argsep + 'is_js_confirmed=1' + argsep + 'ajax_request=true',
- function (url) {
- PMA_ajaxShowMessage(PMA_messages.strProcessingRequest, false);
-
- var params = getJSConfirmCommonParam(this);
-
- $.post(url, params, function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- PMA_ajaxShowMessage(data.message);
-
- var $rowsToRemove = $form.find('tr.removeMe');
- var $databasesCount = $('#filter-rows-count');
- var newCount = parseInt($databasesCount.text(), 10) - $rowsToRemove.length;
- $databasesCount.text(newCount);
-
- $rowsToRemove.remove();
- $form.find('tbody').PMA_sort_table('.name');
- if ($form.find('tbody').find('tr').length === 0) {
- // user just dropped the last db on this page
- PMA_commonActions.refreshMain();
- }
- PMA_reloadNavigation();
- } else {
- $form.find('tr.removeMe').removeClass('removeMe');
- PMA_ajaxShowMessage(data.error, false);
- }
- }); // end $.post()
- }
- ); // end $.PMA_confirm()
- }); // end of Drop Database action
-
- /**
- * Attach Ajax event handlers for 'Create Database'.
- */
- $(document).on('submit', '#create_database_form.ajax', function (event) {
- event.preventDefault();
-
- var $form = $(this);
-
- // TODO Remove this section when all browsers support HTML5 "required" property
- var newDbNameInput = $form.find('input[name=new_db]');
- if (newDbNameInput.val() === '') {
- newDbNameInput.focus();
- alert(PMA_messages.strFormEmpty);
- return;
- }
- // end remove
-
- PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
- PMA_prepareForAjaxRequest($form);
-
- $.post($form.attr('action'), $form.serialize(), function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- PMA_ajaxShowMessage(data.message);
-
- var $databases_count_object = $('#filter-rows-count');
- var databases_count = parseInt($databases_count_object.text(), 10) + 1;
- $databases_count_object.text(databases_count);
- PMA_reloadNavigation();
-
- // make ajax request to load db structure page - taken from ajax.js
- var dbStruct_url = data.url_query;
- dbStruct_url = dbStruct_url.replace(/amp;/ig, '');
- var params = 'ajax_request=true' + PMA_commonParams.get('arg_separator') + 'ajax_page_request=true';
- if (! (history && history.pushState)) {
- params += PMA_MicroHistory.menus.getRequestParam();
- }
- $.get(dbStruct_url, params, AJAX.responseHandler);
- } else {
- PMA_ajaxShowMessage(data.error, false);
- }
- }); // end $.post()
- }); // end $(document).on()
-
- /* Don't show filter if number of databases are very few */
- var databasesCount = $('#filter-rows-count').html();
- if (databasesCount <= 10) {
- $('#tableFilter').hide();
- }
-
- var tableRows = $('.server_databases');
- $.each(tableRows, function (index, item) {
- $(this).on('click', function () {
- PMA_commonActions.setDb($(this).attr('data'));
- });
- });
-}); // end $()
diff --git a/js/server_plugins.js b/js/server_plugins.js
deleted file mode 100644
index 7baadabd82..0000000000
--- a/js/server_plugins.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * Functions used in server plugins pages
- */
-AJAX.registerOnload('server_plugins.js', function () {
- // Make columns sortable, but only for tables with more than 1 data row
- var $tables = $('#plugins_plugins table:has(tbody tr + tr)');
- $tables.tablesorter({
- sortList: [[0, 0]],
- headers: {
- 1: { sorter: false }
- }
- });
- $tables.find('thead th')
- .append('');
-});
diff --git a/js/server_privileges.js b/js/server_privileges.js
deleted file mode 100644
index d03d68f3df..0000000000
--- a/js/server_privileges.js
+++ /dev/null
@@ -1,426 +0,0 @@
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * @fileoverview functions used in server privilege pages
- * @name Server Privileges
- *
- * @requires jQuery
- * @requires jQueryUI
- * @requires js/functions.js
- *
- */
-
-/**
- * AJAX scripts for server_privileges page.
- *
- * Actions ajaxified here:
- * Add user
- * Revoke a user
- * Edit privileges
- * Export privileges
- * Paginate table of users
- * Flush privileges
- *
- * @memberOf jQuery
- * @name document.ready
- */
-
-/**
- * Unbind all event handlers before tearing down a page
- */
-AJAX.registerTeardown('server_privileges.js', function () {
- $('#fieldset_add_user_login').off('change', 'input[name=\'username\']');
- $(document).off('click', '#fieldset_delete_user_footer #buttonGo.ajax');
- $(document).off('click', 'a.edit_user_group_anchor.ajax');
- $(document).off('click', 'button.mult_submit[value=export]');
- $(document).off('click', 'a.export_user_anchor.ajax');
- $(document).off('click', '#initials_table a.ajax');
- $('#checkbox_drop_users_db').off('click');
- $(document).off('click', '.checkall_box');
- $(document).off('change', '#checkbox_SSL_priv');
- $(document).off('change', 'input[name="ssl_type"]');
- $(document).off('change', '#select_authentication_plugin');
-});
-
-AJAX.registerOnload('server_privileges.js', function () {
- /**
- * Display a warning if there is already a user by the name entered as the username.
- */
- $('#fieldset_add_user_login').on('change', 'input[name=\'username\']', function () {
- var username = $(this).val();
- var $warning = $('#user_exists_warning');
- if ($('#select_pred_username').val() === 'userdefined' && username !== '') {
- var href = $('form[name=\'usersForm\']').attr('action');
- var params = {
- 'ajax_request' : true,
- 'server' : PMA_commonParams.get('server'),
- 'validate_username' : true,
- 'username' : username
- };
- $.get(href, params, function (data) {
- if (data.user_exists) {
- $warning.show();
- } else {
- $warning.hide();
- }
- });
- } else {
- $warning.hide();
- }
- });
-
- /**
- * Indicating password strength
- */
- $('#text_pma_pw').on('keyup', function () {
- meter_obj = $('#password_strength_meter');
- meter_obj_label = $('#password_strength');
- username = $('input[name="username"]');
- username = username.val();
- checkPasswordStrength($(this).val(), meter_obj, meter_obj_label, username);
- });
-
- $('#text_pma_change_pw').on('keyup', function () {
- meter_obj = $('#change_password_strength_meter');
- meter_obj_label = $('#change_password_strength');
- checkPasswordStrength($(this).val(), meter_obj, meter_obj_label, PMA_commonParams.get('user'));
- });
-
- /**
- * Display a notice if sha256_password is selected
- */
- $(document).on('change', '#select_authentication_plugin', function () {
- var selected_plugin = $(this).val();
- if (selected_plugin === 'sha256_password') {
- $('#ssl_reqd_warning').show();
- } else {
- $('#ssl_reqd_warning').hide();
- }
- });
-
- /**
- * AJAX handler for 'Revoke User'
- *
- * @see PMA_ajaxShowMessage()
- * @memberOf jQuery
- * @name revoke_user_click
- */
- $(document).on('click', '#fieldset_delete_user_footer #buttonGo.ajax', function (event) {
- event.preventDefault();
-
- var $thisButton = $(this);
- var $form = $('#usersForm');
-
- $thisButton.PMA_confirm(PMA_messages.strDropUserWarning, $form.attr('action'), function (url) {
- var $drop_users_db_checkbox = $('#checkbox_drop_users_db');
- if ($drop_users_db_checkbox.is(':checked')) {
- var is_confirmed = confirm(PMA_messages.strDropDatabaseStrongWarning + '\n' + PMA_sprintf(PMA_messages.strDoYouReally, 'DROP DATABASE'));
- if (! is_confirmed) {
- // Uncheck the drop users database checkbox
- $drop_users_db_checkbox.prop('checked', false);
- }
- }
-
- PMA_ajaxShowMessage(PMA_messages.strRemovingSelectedUsers);
-
- var argsep = PMA_commonParams.get('arg_separator');
- $.post(url, $form.serialize() + argsep + 'delete=' + $thisButton.val() + argsep + 'ajax_request=true', function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- PMA_ajaxShowMessage(data.message);
- // Refresh navigation, if we droppped some databases with the name
- // that is the same as the username of the deleted user
- if ($('#checkbox_drop_users_db:checked').length) {
- PMA_reloadNavigation();
- }
- // Remove the revoked user from the users list
- $form.find('input:checkbox:checked').parents('tr').slideUp('medium', function () {
- var this_user_initial = $(this).find('input:checkbox').val().charAt(0).toUpperCase();
- $(this).remove();
-
- // If this is the last user with this_user_initial, remove the link from #initials_table
- if ($('#tableuserrights').find('input:checkbox[value^="' + this_user_initial + '"], input:checkbox[value^="' + this_user_initial.toLowerCase() + '"]').length === 0) {
- $('#initials_table').find('td > a:contains(' + this_user_initial + ')').parent('td').html(this_user_initial);
- }
-
- // Re-check the classes of each row
- $form
- .find('tbody').find('tr:odd')
- .removeClass('even').addClass('odd')
- .end()
- .find('tr:even')
- .removeClass('odd').addClass('even');
-
- // update the checkall checkbox
- $(checkboxes_sel).trigger('change');
- });
- } else {
- PMA_ajaxShowMessage(data.error, false);
- }
- }); // end $.post()
- });
- }); // end Revoke User
-
- $(document).on('click', 'a.edit_user_group_anchor.ajax', function (event) {
- event.preventDefault();
- $(this).parents('tr').addClass('current_row');
- var $msg = PMA_ajaxShowMessage();
- $.get(
- $(this).attr('href'),
- {
- 'ajax_request': true,
- 'edit_user_group_dialog': true
- },
- function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- PMA_ajaxRemoveMessage($msg);
- var buttonOptions = {};
- buttonOptions[PMA_messages.strGo] = function () {
- var usrGroup = $('#changeUserGroupDialog')
- .find('select[name="userGroup"]')
- .val();
- var $message = PMA_ajaxShowMessage();
- var argsep = PMA_commonParams.get('arg_separator');
- $.post(
- 'server_privileges.php',
- $('#changeUserGroupDialog').find('form').serialize() + argsep + 'ajax_request=1',
- function (data) {
- PMA_ajaxRemoveMessage($message);
- if (typeof data !== 'undefined' && data.success === true) {
- $('#usersForm')
- .find('.current_row')
- .removeClass('current_row')
- .find('.usrGroup')
- .text(usrGroup);
- } else {
- PMA_ajaxShowMessage(data.error, false);
- $('#usersForm')
- .find('.current_row')
- .removeClass('current_row');
- }
- }
- );
- $(this).dialog('close');
- };
- buttonOptions[PMA_messages.strClose] = function () {
- $(this).dialog('close');
- };
- var $dialog = $('')
- .attr('id', 'changeUserGroupDialog')
- .append(data.message)
- .dialog({
- width: 500,
- minWidth: 300,
- modal: true,
- buttons: buttonOptions,
- title: $('legend', $(data.message)).text(),
- close: function () {
- $(this).remove();
- }
- });
- $dialog.find('legend').remove();
- } else {
- PMA_ajaxShowMessage(data.error, false);
- $('#usersForm')
- .find('.current_row')
- .removeClass('current_row');
- }
- }
- );
- });
-
- /**
- * AJAX handler for 'Export Privileges'
- *
- * @see PMA_ajaxShowMessage()
- * @memberOf jQuery
- * @name export_user_click
- */
- $(document).on('click', 'button.mult_submit[value=export]', function (event) {
- event.preventDefault();
- // can't export if no users checked
- if ($(this.form).find('input:checked').length === 0) {
- PMA_ajaxShowMessage(PMA_messages.strNoAccountSelected, 2000, 'success');
- return;
- }
- var $msgbox = PMA_ajaxShowMessage();
- var button_options = {};
- button_options[PMA_messages.strClose] = function () {
- $(this).dialog('close');
- };
- var argsep = PMA_commonParams.get('arg_separator');
- $.post(
- $(this.form).prop('action'),
- $(this.form).serialize() + argsep + 'submit_mult=export' + argsep + 'ajax_request=true',
- function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- var $ajaxDialog = $('')
- .append(data.message)
- .dialog({
- title: data.title,
- width: 500,
- buttons: button_options,
- close: function () {
- $(this).remove();
- }
- });
- PMA_ajaxRemoveMessage($msgbox);
- // Attach syntax highlighted editor to export dialog
- PMA_getSQLEditor($ajaxDialog.find('textarea'));
- } else {
- PMA_ajaxShowMessage(data.error, false);
- }
- }
- ); // end $.post
- });
- // if exporting non-ajax, highlight anyways
- PMA_getSQLEditor($('textarea.export'));
-
- $(document).on('click', 'a.export_user_anchor.ajax', function (event) {
- event.preventDefault();
- var $msgbox = PMA_ajaxShowMessage();
- /**
- * @var button_options Object containing options for jQueryUI dialog buttons
- */
- var button_options = {};
- button_options[PMA_messages.strClose] = function () {
- $(this).dialog('close');
- };
- $.get($(this).attr('href'), { 'ajax_request': true }, function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- var $ajaxDialog = $('')
- .append(data.message)
- .dialog({
- title: data.title,
- width: 500,
- buttons: button_options,
- close: function () {
- $(this).remove();
- }
- });
- PMA_ajaxRemoveMessage($msgbox);
- // Attach syntax highlighted editor to export dialog
- PMA_getSQLEditor($ajaxDialog.find('textarea'));
- } else {
- PMA_ajaxShowMessage(data.error, false);
- }
- }); // end $.get
- }); // end export privileges
-
- /**
- * AJAX handler to Paginate the Users Table
- *
- * @see PMA_ajaxShowMessage()
- * @name paginate_users_table_click
- * @memberOf jQuery
- */
- $(document).on('click', '#initials_table a.ajax', function (event) {
- event.preventDefault();
- var $msgbox = PMA_ajaxShowMessage();
- $.get($(this).attr('href'), { 'ajax_request' : true }, function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- PMA_ajaxRemoveMessage($msgbox);
- // This form is not on screen when first entering Privileges
- // if there are more than 50 users
- $('div.notice').remove();
- $('#usersForm').hide('medium').remove();
- $('#fieldset_add_user').hide('medium').remove();
- $('#initials_table')
- .prop('id', 'initials_table_old')
- .after(data.message).show('medium')
- .siblings('h2').not(':first').remove();
- // prevent double initials table
- $('#initials_table_old').remove();
- } else {
- PMA_ajaxShowMessage(data.error, false);
- }
- }); // end $.get
- }); // end of the paginate users table
-
- $(document).on('change', 'input[name="ssl_type"]', function (e) {
- var $div = $('#specified_div');
- if ($('#ssl_type_SPECIFIED').is(':checked')) {
- $div.find('input').prop('disabled', false);
- } else {
- $div.find('input').prop('disabled', true);
- }
- });
-
- $(document).on('change', '#checkbox_SSL_priv', function (e) {
- var $div = $('#require_ssl_div');
- if ($(this).is(':checked')) {
- $div.find('input').prop('disabled', false);
- $('#ssl_type_SPECIFIED').trigger('change');
- } else {
- $div.find('input').prop('disabled', true);
- }
- });
-
- $('#checkbox_SSL_priv').trigger('change');
-
- /*
- * Create submenu for simpler interface
- */
- var addOrUpdateSubmenu = function () {
- var $topmenu2 = $('#topmenu2');
- var $edit_user_dialog = $('#edit_user_dialog');
- var submenu_label;
- var submenu_link;
- var link_number;
-
- // if submenu exists yet, remove it first
- if ($topmenu2.length > 0) {
- $topmenu2.remove();
- }
-
- // construct a submenu from the existing fieldsets
- $topmenu2 = $('
').prop('id', 'topmenu2');
-
- $('#edit_user_dialog .submenu-item').each(function () {
- submenu_label = $(this).find('legend[data-submenu-label]').data('submenu-label');
-
- submenu_link = $('')
- .prop('href', '#')
- .html(submenu_label);
-
- $('')
- .append(submenu_link)
- .appendTo($topmenu2);
- });
-
- // click handlers for submenu
- $topmenu2.find('a').on('click', function (e) {
- e.preventDefault();
- // if already active, ignore click
- if ($(this).hasClass('tabactive')) {
- return;
- }
- $topmenu2.find('a').removeClass('tabactive');
- $(this).addClass('tabactive');
-
- // which section to show now?
- link_number = $topmenu2.find('a').index($(this));
- // hide all sections but the one to show
- $('#edit_user_dialog .submenu-item').hide().eq(link_number).show();
- });
-
- // make first menu item active
- // TODO: support URL hash history
- $topmenu2.find('> :first-child a').addClass('tabactive');
- $edit_user_dialog.prepend($topmenu2);
-
- // hide all sections but the first
- $('#edit_user_dialog .submenu-item').hide().eq(0).show();
-
- // scroll to the top
- $('html, body').animate({ scrollTop: 0 }, 'fast');
- };
-
- $('input.autofocus').focus();
- $(checkboxes_sel).trigger('change');
- displayPasswordGenerateButton();
- if ($('#edit_user_dialog').length > 0) {
- addOrUpdateSubmenu();
- }
-
- var windowwidth = $(window).width();
- $('.jsresponsive').css('max-width', (windowwidth - 35) + 'px');
-});
diff --git a/js/server_status_advisor.js b/js/server_status_advisor.js
deleted file mode 100644
index d5f65c8f4b..0000000000
--- a/js/server_status_advisor.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * Server Status Advisor
- *
- * @package PhpMyAdmin
- */
-
-/**
- * Unbind all event handlers before tearing down a page
- */
-AJAX.registerTeardown('server_status_advisor.js', function () {
- $('a[href="#openAdvisorInstructions"]').off('click');
- $('#statustabs_advisor').html('');
- $('#advisorDialog').remove();
- $('#instructionsDialog').remove();
-});
-
-AJAX.registerOnload('server_status_advisor.js', function () {
- // if no advisor is loaded
- if ($('#advisorData').length === 0) {
- return;
- }
-
- /** ** Server config advisor ****/
- var $dialog = $('').attr('id', 'advisorDialog');
- var $instructionsDialog = $('')
- .attr('id', 'instructionsDialog')
- .html($('#advisorInstructionsDialog').html());
-
- $('a[href="#openAdvisorInstructions"]').on('click', function () {
- var dlgBtns = {};
- dlgBtns[PMA_messages.strClose] = function () {
- $(this).dialog('close');
- };
- $instructionsDialog.dialog({
- title: PMA_messages.strAdvisorSystem,
- width: 700,
- buttons: dlgBtns
- });
- });
-
- var $cnt = $('#statustabs_advisor');
- var $tbody;
- var $tr;
- var str;
- var even = true;
-
- data = JSON.parse($('#advisorData').text());
- $cnt.html('');
-
- if (data.parse.errors.length > 0) {
- $cnt.append('Rules file not well formed, following errors were found: - ');
- $cnt.append(data.parse.errors.join(' - '));
- $cnt.append('');
- }
-
- if (data.run.errors.length > 0) {
- $cnt.append('Errors occurred while executing rule expressions: - ');
- $cnt.append(data.run.errors.join(' - '));
- $cnt.append('');
- }
-
- if (data.run.fired.length > 0) {
- $cnt.append('
' + PMA_messages.strPerformanceIssues + '
');
- $cnt.append('
' +
- '
' + PMA_messages.strIssuse + '
' + PMA_messages.strRecommendation +
- '
');
- $tbody = $cnt.find('table#rulesFired');
-
- var rc_stripped;
-
- $.each(data.run.fired, function (key, value) {
- // recommendation may contain links, don't show those in overview table (clicking on them redirects the user)
- rc_stripped = $.trim($('
'
- );
- }
-
- // Set series' data as [0,0], smooth lines won't plot with data array having null values.
- // also chart won't plot initially with no data and data comes on refreshChartGrid()
- var series = [];
- for (i in chartObj.series) {
- series.push([[0, 0]]);
- }
-
- var tempTooltipContentEditor = function (str, seriesIndex, pointIndex, plot) {
- var j;
- // TODO: move style to theme CSS
- var tooltipHtml = '
';
- // x value i.e. time
- var timeValue = str.split(',')[0];
- var seriesValue;
- tooltipHtml += 'Time: ' + timeValue;
- tooltipHtml += '';
- // Add y values to the tooltip per series
- for (j in plot.series) {
- // get y value if present
- if (plot.series[j].data.length > pointIndex) {
- seriesValue = plot.series[j].data[pointIndex][1];
- } else {
- return;
- }
- var seriesLabel = plot.series[j].label;
- var seriesColor = plot.series[j].color;
- // format y value
- if (plot.series[0]._yaxis.tickOptions.formatter) {
- // using formatter function
- seriesValue = plot.series[0]._yaxis.tickOptions.formatter('%s', seriesValue);
- } else if (plot.series[0]._yaxis.tickOptions.formatString) {
- // using format string
- seriesValue = PMA_sprintf(plot.series[0]._yaxis.tickOptions.formatString, seriesValue);
- }
- tooltipHtml += ' ' +
- seriesLabel + ': ' + seriesValue + '';
- }
- tooltipHtml += '
';
- return tooltipHtml;
- };
-
- // set Tooltip for each series
- for (i in settings.series) {
- settings.series[i].highlighter = {
- show: true,
- tooltipContentEditor: tempTooltipContentEditor
- };
- }
-
- chartObj.chart = $.jqplot('gridchart' + runtime.chartAI, series, settings);
- // remove [0,0] after plotting
- for (i in chartObj.chart.series) {
- chartObj.chart.series[i].data.shift();
- }
-
- var $legend = $('').css('padding', '0.5em');
- for (i in chartObj.chart.series) {
- $legend.append(
- $('').append(
- $('