Merge remote-tracking branch 'origin/master'

This commit is contained in:
Pootle server 2012-01-22 08:40:19 +01:00
commit 4477af8618
3 changed files with 10 additions and 4 deletions

View File

@ -76,6 +76,7 @@ phpMyAdmin - ChangeLog
- bug #3463933 [display] SELECT DISTINCT displays wrong total records found
- patch #3458944 [operations] copy table data missing SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'
- bug #3469254 [edit] Setting data to NULL and drop-downs
- bug #3477063 [edit] Missing set fields and values in generated INSERT query
3.4.9.0 (2011-12-21)
- bug #3442028 [edit] Inline editing enum fields with null shows no dropdown

View File

@ -59,17 +59,19 @@ if (false !== $possibly_uploaded_val) {
}
// $key contains the md5() of the fieldname
if (0 === strlen($val) && $type != 'protected') {
if ($type != 'protected' && $type != 'set' && 0 === strlen($val)) {
// best way to avoid problems in strict mode (works also in non-strict mode)
if (isset($me_auto_increment) && isset($me_auto_increment[$key])) {
$val = 'NULL';
} else {
$val = "''";
}
}
} elseif ($type == 'set') {
if (! empty($_REQUEST['fields']['multi_edit'][$rownumber][$key])) {
$val = implode(',', $_REQUEST['fields']['multi_edit'][$rownumber][$key]);
$val = "'" . PMA_sqlAddSlashes($val) . "'";
} else {
$val = "''";
}
} elseif ($type == 'protected') {
// here we are in protected mode (asked in the config)

View File

@ -223,7 +223,7 @@ foreach ($loop_array as $rownumber => $where_clause) {
if ($is_insert && $using_key && isset($me_fields_type) && is_array($me_fields_type) && isset($where_clause)) {
$prot_row = PMA_DBI_fetch_single_row('SELECT * FROM ' . PMA_backquote($table) . ' WHERE ' . $where_clause . ';');
}
// When a select field is nullified, it's not present in $_REQUEST
// so initialize it; this way, the foreach($me_fields) will process it
foreach ($me_fields_name as $key => $val) {
@ -232,7 +232,10 @@ foreach ($loop_array as $rownumber => $where_clause) {
}
}
foreach ($me_fields as $key => $val) {
// Iterate in the order of $me_fields_name, not $me_fields, to avoid problems
// when inserting multiple entries
foreach ($me_fields_name as $key => $field_name) {
$val = $me_fields[$key];
// Note: $key is an md5 of the fieldname. The actual fieldname is available in $me_fields_name[$key]