From a9a3f0b2af399402ac42de261da79961f48854d1 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Fri, 11 Jan 2013 14:12:36 -0800 Subject: [PATCH] Fix saving of field options, like binary mode https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3600417&group_id=17457 --- mysql/edit_field.cgi | 14 ++++++++++---- mysql/save_field.cgi | 6 ++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/mysql/edit_field.cgi b/mysql/edit_field.cgi index 346152206..f0c8e5a38 100755 --- a/mysql/edit_field.cgi +++ b/mysql/edit_field.cgi @@ -79,9 +79,11 @@ else { if ($type =~ /int$/) { # Display unsigned/zerofill option + $opts = $extra =~ /unsigned/ ? 'unsigned' : + $extra =~ /zerofill/ ? 'zerofill' : ''; + print &ui_hidden("oldopts", $opts); print &ui_table_row($text{'field_opts'}, - &ui_radio("opts", $extra =~ /unsigned/ ? 'unsigned' : - $extra =~ /zerofill/ ? 'zerofill' : '', + &ui_radio("opts", $opts, [ [ '', $text{'field_none'} ], [ 'unsigned', $text{'field_unsigned'} ], [ 'zerofill', $text{'field_zerofill'} ] ])); @@ -95,15 +97,19 @@ if ($type =~ /int$/) { } elsif ($type eq 'float' || $type eq 'double' || $type eq 'decimal') { # Display zerofill option + $opts = $extra =~ /zerofill/ ? 'zerofill' : ''; + print &ui_hidden("oldopts", $opts); print &ui_table_row($text{'field_opts'}, - &ui_radio("opts", $extra =~ /zerofill/ ? 'zerofill' : '', + &ui_radio("opts", $opts, [ [ '', $text{'field_none'} ], [ 'zerofill', $text{'field_zerofill'} ] ])); } elsif ($type eq 'char' || $type eq 'varchar') { # Display binary option + $opts = $extra =~ /binary/ ? 'binary' : ''; + print &ui_hidden("oldopts", $opts); print &ui_table_row($text{'field_opts'}, - &ui_radio("opts", $extra =~ /binary/ ? 'binary' : '', + &ui_radio("opts", $opts, [ [ '', $text{'field_ascii'} ], [ 'binary', $text{'field_binary'} ] ])); } diff --git a/mysql/save_field.cgi b/mysql/save_field.cgi index bea7794ef..78611e789 100755 --- a/mysql/save_field.cgi +++ b/mysql/save_field.cgi @@ -54,9 +54,11 @@ else { $in{'ext'}; &execute_sql_logged($in{'db'}, $sql); if ($in{'old'} ne $in{'field'} || - $in{'type'} ne $in{'newtype'}) { + $in{'type'} ne $in{'newtype'} || + $in{'oldopts'} ne $in{'opts'}) { # Rename or retype field as well - if ($in{'type'} ne $in{'newtype'}) { + if ($in{'type'} ne $in{'newtype'} || + $in{'oldopts'} ne $in{'opts'}) { # Type has changed .. fix size if ($in{'newtype'} eq 'enum' || $in{'newtype'} eq 'set') {