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 = $('