diff --git a/ChangeLog b/ChangeLog index 14b802eed6..66ecec14b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ phpMyAdmin - ChangeLog + rfe #1525 Generate keys one per line + rfe #347 allow table with transformed column anywhere in FROM clause + rfe #1591 Shortcut link to search page +- bug #4705 Table structure: adding primary key doesn't refresh page 4.3.7.0 (not yet released) - bug #4694 js error on marking table as favorite in Safari (in private mode) diff --git a/js/tbl_structure.js b/js/tbl_structure.js index 583adfc64b..846046f83d 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -71,9 +71,7 @@ function reloadFieldForm() { */ AJAX.registerTeardown('tbl_structure.js', function () { $(document).off('click', "a.drop_column_anchor.ajax"); - $(document).off('click', "a.add_primary_key_anchor.ajax"); - $(document).off('click', "a.add_index_anchor.ajax"); - $(document).off('click', "a.add_unique_anchor.ajax"); + $(document).off('click', "a.add_key.ajax"); $(document).off('click', "#move_columns_anchor"); $(document).off('submit', ".append_fields_form.ajax"); $('body').off('click', '#fieldsForm.ajax button[name="submit_mult"], #fieldsForm.ajax input[name="submit_mult"]'); @@ -201,141 +199,35 @@ AJAX.registerOnload('tbl_structure.js', function () { }); //end of Drop Column Anchor action /** - * Ajax Event handler for 'Add Primary Key' + * Ajax Event handler for adding keys */ - $(document).on('click', "a.add_primary_key_anchor.ajax", function (event) { + $(document).on('click', "a.add_key.ajax", function (event) { event.preventDefault(); - /** - * @var curr_table_name String containing the name of the current table - */ - var curr_table_name = $(this).closest('form').find('input[name=table]').val(); - /** - * @var curr_column_name String containing name of the field referred to by {@link curr_row} - */ - var curr_column_name = $(this).parents('tr').children('th').children('label').text(); - /** - * @var question String containing the question to be asked for confirmation - */ - var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` ADD PRIMARY KEY(`' + escapeHtml(curr_column_name) + '`);'); - $(this).PMA_confirm(question, $(this).attr('href'), function (url) { - var $msg = PMA_ajaxShowMessage(PMA_messages.strAddingPrimaryKey, false); - $.get(url, - {'is_js_confirmed' : 1, 'ajax_request' : true, 'index_change' : true}, - function (data) { - if (typeof data !== 'undefined' && data.success === true) { - PMA_ajaxRemoveMessage($msg); - $(this).remove(); - if (typeof data.reload != 'undefined') { - PMA_commonActions.refreshMain(false, function () { - if ($('.result_query').length) { - $('.result_query').remove(); - } - if (data.sql_query) { - $('
') - .html(data.sql_query) - .prependTo('#page_content'); - PMA_highlightSQL($('#page_content')); - } - }); - PMA_reloadNavigation(); - } - if (data.indexes_list) { - $('.index_info').replaceWith(data.indexes_list); - } - } else { - PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); - } - }); // end $.get() - }); // end $.PMA_confirm() - }); //end Add Primary Key - /** - * Ajax Event handler for 'Add Index' - */ - $(document).on('click', "a.add_index_anchor.ajax", function (event) { - event.preventDefault(); - /** - * @var curr_table_name String containing the name of the current table - */ - var curr_table_name = $(this).closest('form').find('input[name=table]').val(); - /** - * @var curr_column_name String containing name of the field referred to by {@link curr_row} - */ - var curr_column_name = $(this).parents('tr').children('th').children('label').text(); - /** - * @var question String containing the question to be asked for confirmation - */ - var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` ADD INDEX(`' + escapeHtml(curr_column_name) + '`);'); - $(this).PMA_confirm(question, $(this).attr('href'), function (url) { - var $msg = PMA_ajaxShowMessage(PMA_messages.strAddingIndex, false); - $.get(url, - {'is_js_confirmed' : 1, 'ajax_request' : true, 'index_change' : true}, - function (data) { - if (typeof data !== 'undefined' && data.success === true) { - PMA_ajaxRemoveMessage($msg); - if ($('.result_query').length) { - $('.result_query').remove(); - } - if (data.sql_query) { - $('') - .html(data.sql_query) - .prependTo('#page_content'); - PMA_highlightSQL($('#page_content')); - } - if (data.indexes_list) { - $('.index_info').replaceWith(data.indexes_list); - } - PMA_reloadNavigation(); - } else { - PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); - } - }); // end $.get() - }); // end $.PMA_confirm() - }); //end Add Index + $this = $(this); + var curr_table_name = $this.closest('form').find('input[name=table]').val(); + var curr_column_name = $this.parents('tr').children('th').children('label').text(); + + var add_cluase = ''; + if ($this.is('.add_primary_key_anchor')) { + add_cluase = 'ADD PRIMARY KEY'; + } else if ($this.is('.add_index_anchor')) { + add_cluase = 'ADD INDEX'; + } else if ($this.is('.add_unique_anchor')) { + add_cluase = 'ADD UNIQUE'; + } else if ($this.is('.add_spatial_anchor')) { + add_cluase = 'ADD SPATIAL'; + } else if ($this.is('.add_fulltext_anchor')) { + add_cluase = 'ADD FULLTEXT'; + } + var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + + escapeHtml(curr_table_name) + '` ' + add_cluase + '(`' + escapeHtml(curr_column_name) + '`);'); - /** - * Ajax Event handler for 'Add Unique' - */ - $(document).on('click', "a.add_unique_anchor.ajax", function (event) { - event.preventDefault(); - /** - * @var curr_table_name String containing the name of the current table - */ - var curr_table_name = $(this).closest('form').find('input[name=table]').val(); - /** - * @var curr_column_name String containing name of the field referred to by {@link curr_row} - */ - var curr_column_name = $(this).parents('tr').children('th').children('label').text(); - /** - * @var question String containing the question to be asked for confirmation - */ - var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` ADD UNIQUE(`' + escapeHtml(curr_column_name) + '`);'); $(this).PMA_confirm(question, $(this).attr('href'), function (url) { - var $msg = PMA_ajaxShowMessage(PMA_messages.strAddingUnique, false); - $.get(url, - {'is_js_confirmed' : 1, 'ajax_request' : true, 'index_change' : true}, - function (data) { - if (typeof data !== 'undefined' && data.success === true) { - PMA_ajaxRemoveMessage($msg); - if ($('.result_query').length) { - $('.result_query').remove(); - } - if (data.sql_query) { - $('') - .html(data.sql_query) - .prependTo('#page_content'); - PMA_highlightSQL($('#page_content')); - } - if (data.indexes_list) { - $('.index_info').replaceWith(data.indexes_list); - } - PMA_reloadNavigation(); - } else { - PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); - } - }); // end $.get() + PMA_ajaxShowMessage(); + $.get(url, {'ajax_request' : true, 'ajax_page_request' : true}, AJAX.responseHandler); }); // end $.PMA_confirm() - }); //end Add Unique + }); //end Add key /** * Inline move columns diff --git a/libraries/sql.lib.php b/libraries/sql.lib.php index 363c54fd20..4a0f3168dc 100644 --- a/libraries/sql.lib.php +++ b/libraries/sql.lib.php @@ -2121,7 +2121,6 @@ function PMA_executeQueryAndSendQueryResponse($analyzed_sql_results, $response = PMA_Response::getInstance(); $response->addHTML($html_output); - exit(); } /** diff --git a/libraries/structure.lib.php b/libraries/structure.lib.php index efc7288f46..a649d51d48 100644 --- a/libraries/structure.lib.php +++ b/libraries/structure.lib.php @@ -1950,13 +1950,20 @@ function PMA_getHtmlForActionRowInStructureTable($type, $tbl_storage_engine, ) { $html_output .= $titles['No' . $action]; } else { - $html_output .= '