From 1b5901f45e55adb6bef004c7ed3732f038fb3a10 Mon Sep 17 00:00:00 2001 From: Smita Kumari Date: Fri, 6 Jun 2014 01:03:59 +0530 Subject: [PATCH] Bug fix:Query error on submitting column change form containing disabled input Signed-off-by: Smita Kumari --- libraries/tbl_columns_definition_form.inc.php | 14 ++++++------ libraries/tbl_columns_definition_form.lib.php | 22 ++++++++++++++----- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/libraries/tbl_columns_definition_form.inc.php b/libraries/tbl_columns_definition_form.inc.php index a8db58d7f3..48237c1982 100644 --- a/libraries/tbl_columns_definition_form.inc.php +++ b/libraries/tbl_columns_definition_form.inc.php @@ -128,13 +128,6 @@ for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) { $length = $submit_length; } - // old column attributes - if ($is_backup) { - $_form_params = PMA_getFormParamsForOldColumn( - $columnMeta, $length, $_form_params, $columnNumber, $type, - $extracted_columnspec - ); - } // Variable tell if current column is bound in a foreign key constraint or not. if (isset($columnMeta['Field']) && isset($_form_params['table'])) { $columnMeta['column_status'] = PMA_checkChildForeignReferences( @@ -143,6 +136,13 @@ for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) { $columnMeta['Field'] ); } + // old column attributes + if ($is_backup) { + $_form_params = PMA_getFormParamsForOldColumn( + $columnMeta, $length, $_form_params, $columnNumber, $type, + $extracted_columnspec + ); + } $content_cells[$columnNumber] = PMA_getHtmlForColumnAttributes( $columnNumber, isset($columnMeta) ? $columnMeta : null, strtoupper($type), diff --git a/libraries/tbl_columns_definition_form.lib.php b/libraries/tbl_columns_definition_form.lib.php index d268de5f6a..6786353437 100644 --- a/libraries/tbl_columns_definition_form.lib.php +++ b/libraries/tbl_columns_definition_form.lib.php @@ -513,7 +513,7 @@ function PMA_handleRegeneration($columnNumber, $submit_fulltext, $comments_map, } /** - * Function to update default value info in $columnMeta and get this array + * Function to update default value info in $columnMeta and get this array * * @param array $columnMeta column meta * @param bool $isDefault whether the row value is default @@ -1297,7 +1297,7 @@ function PMA_getHtmlForColumnAttributes($columnNumber, $columnMeta, $type_upper, * @param array $form_params form parameters * @param int $columnNumber column/field number * @param string $type type in lowercase without the length - * @param array $extracted_columnspec details about the column spec + * @param array $extracted_columnspec details about the column spec * * @return array */ @@ -1309,6 +1309,12 @@ function PMA_getFormParamsForOldColumn( if (isset($columnMeta['Field'])) { $form_params['field_orig[' . $columnNumber . ']'] = $columnMeta['Field']; + if (isset($columnMeta['column_status']) + && !$columnMeta['column_status']['isEditable'] + ) { + $form_params['field_name[' . $columnNumber . ']'] + = $columnMeta['Field']; + } } else { $form_params['field_orig[' . $columnNumber . ']'] = ''; } @@ -1317,6 +1323,12 @@ function PMA_getFormParamsForOldColumn( // keep in uppercase because the new type will be in uppercase $form_params['field_type_orig[' . $columnNumber . ']'] = strtoupper($type); + if (isset($columnMeta['column_status']) + && !$columnMeta['column_status']['isEditable'] + ) { + $form_params['field_type[' . $columnNumber . ']'] + = strtoupper($type); + } } else { $form_params['field_type_orig[' . $columnNumber . ']'] = ''; } @@ -1346,7 +1358,7 @@ function PMA_getFormParamsForOldColumn( $form_params['field_attribute_orig[' . $columnNumber . ']'] = ''; } - // old column null + // old column null if (isset($columnMeta['Null'])) { $form_params['field_null_orig[' . $columnNumber . ']'] = $columnMeta['Null']; @@ -1354,7 +1366,7 @@ function PMA_getFormParamsForOldColumn( $form_params['field_null_orig[' . $columnNumber . ']'] = ''; } - // old column extra (for auto_increment) + // old column extra (for auto_increment) if (isset($columnMeta['Extra'])) { $form_params['field_extra_orig[' . $columnNumber . ']'] = $columnMeta['Extra']; @@ -1362,7 +1374,7 @@ function PMA_getFormParamsForOldColumn( $form_params['field_extra_orig[' . $columnNumber . ']'] = ''; } - // old column comment + // old column comment if (isset($columnMeta['Comment'])) { $form_params['field_comments_orig[' . $columnNumber . ']'] = $columnMeta['Comment'];