diff --git a/ChangeLog b/ChangeLog index 7317ee63b..fb91c9ad9 100755 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ phpMyAdmin - Changelog $Id$ $Source$ +2003-12-11 Garvin Hicking + * tbl_replace.php, tbl_replace_fields.php: Fixed #857445, #857684 + where non-existant fields caused PHP notices. + 2003-12-10 Garvin Hicking * db_datadict.php: Bug 857186: Real fix for the problem. The '@' delimiter slipped to the replacement's end instead of the expression's diff --git a/tbl_replace.php b/tbl_replace.php index b9781aa8c..5b4d23398 100644 --- a/tbl_replace.php +++ b/tbl_replace.php @@ -86,11 +86,11 @@ if (isset($primary_key) && ($submit_type != $strInsertAsNewRow)) { $valuelist = ''; // Map multi-edit keys to single-level arrays, dependent on how we got the fields - $me_fields = (isset($fields['multi_edit']) ? $fields['multi_edit'][$enc_primary_key] : $fields); - $me_fields_prev = (isset($fields_prev['multi_edit']) ? $fields_prev['multi_edit'][$enc_primary_key] : $fields_prev); - $me_funcs = (isset($funcs['multi_edit']) ? $funcs['multi_edit'][$enc_primary_key] : $funcs); - $me_fields_type = (isset($fields_type['multi_edit']) ? $fields_type['multi_edit'][$enc_primary_key] : $fields_type); - $me_fields_null = (isset($fields_null['multi_edit']) ? $fields_null['multi_edit'][$enc_primary_key] : $fields_null); + $me_fields = (isset($fields['multi_edit']) ? $fields['multi_edit'][$enc_primary_key] : isset($fields) ? $fields : null); + $me_fields_prev = (isset($fields_prev['multi_edit']) ? $fields_prev['multi_edit'][$enc_primary_key] : isset($fields_prev) ? $fields_prev : null); + $me_funcs = (isset($funcs['multi_edit']) ? $funcs['multi_edit'][$enc_primary_key] : isset($funcs) ? $funcs : null); + $me_fields_type = (isset($fields_type['multi_edit']) ? $fields_type['multi_edit'][$enc_primary_key] : isset($fields_type) ? $fields_type : null); + $me_fields_null = (isset($fields_null['multi_edit']) ? $fields_null['multi_edit'][$enc_primary_key] : isset($fields_null) ? $fields_null : null); foreach($me_fields AS $key => $val) { $encoded_key = $key; @@ -153,11 +153,11 @@ else { $fieldlist = ''; $valuelist = ''; - $me_fields = (isset($fields['multi_edit']) ? $fields['multi_edit'][$enc_primary_key] : $fields); - $me_fields_prev = (isset($fields_prev['multi_edit']) ? $fields_prev['multi_edit'][$enc_primary_key] : $fields_prev); - $me_funcs = (isset($funcs['multi_edit']) ? $funcs['multi_edit'][$enc_primary_key] : $funcs); - $me_fields_type = (isset($fields_type['multi_edit']) ? $fields_type['multi_edit'][$enc_primary_key] : $fields_type); - $me_fields_null = (isset($fields_null['multi_edit']) ? $fields_null['multi_edit'][$enc_primary_key] : $fields_null); + $me_fields = (isset($fields['multi_edit']) ? $fields['multi_edit'][$enc_primary_key] : isset($fields) ? $fields : null); + $me_fields_prev = (isset($fields_prev['multi_edit']) ? $fields_prev['multi_edit'][$enc_primary_key] : isset($fields_prev) ? $fields_prev : null); + $me_funcs = (isset($funcs['multi_edit']) ? $funcs['multi_edit'][$enc_primary_key] : isset($funcs) ? $funcs : null); + $me_fields_type = (isset($fields_type['multi_edit']) ? $fields_type['multi_edit'][$enc_primary_key] : isset($fields_type) ? $fields_type : null); + $me_fields_null = (isset($fields_null['multi_edit']) ? $fields_null['multi_edit'][$enc_primary_key] : isset($fields_null) ? $fields_null : null); // garvin: Get, if sent, any protected fields to insert them here: if (isset($me_fields_type) && is_array($me_fields_type) && isset($enc_primary_key)) { diff --git a/tbl_replace_fields.php b/tbl_replace_fields.php index 9dde6b349..919c5b418 100644 --- a/tbl_replace_fields.php +++ b/tbl_replace_fields.php @@ -28,8 +28,8 @@ PMA_checkParameters(array('db','encoded_key')); $check_stop = false; // Check if a multi-edit row was found -${'me_fields_upload_' . $encoded_key} = (isset($enc_primary_key) && isset(${'fields_upload_' . $encoded_key}['multi_edit']) ? ${'fields_upload_' . $encoded_key}['multi_edit'][$enc_primary_key] : ${'fields_upload_' . $encoded_key}); -${'me_fields_uploadlocal_' . $encoded_key} = (isset($enc_primary_key) && isset(${'fields_uploadlocal_' . $encoded_key}['multi_edit']) ? ${'fields_uploadlocal_' . $encoded_key}['multi_edit'][$enc_primary_key] : ${'fields_uploadlocal_' . $encoded_key}); +${'me_fields_upload_' . $encoded_key} = (isset($enc_primary_key) && isset(${'fields_upload_' . $encoded_key}['multi_edit']) ? ${'fields_upload_' . $encoded_key}['multi_edit'][$enc_primary_key] : isset(${'fields_upload_' . $encoded_key}) ? ${'fields_upload_' . $encoded_key} : null); +${'me_fields_uploadlocal_' . $encoded_key} = (isset($enc_primary_key) && isset(${'fields_uploadlocal_' . $encoded_key}['multi_edit']) ? ${'fields_uploadlocal_' . $encoded_key}['multi_edit'][$enc_primary_key] : isset(${'fields_uploadlocal_' . $encoded_key}) ? ${'fields_uploadlocal_' . $encoded_key} : null); if (isset(${'me_fields_upload_' . $encoded_key}) && ${'me_fields_upload_' . $encoded_key} != 'none'){ // garvin: This fields content is a blob-file upload. @@ -119,9 +119,9 @@ if (!$check_stop) { else $type = ''; $f = 'field_' . md5($key); - $t_fval = $$f; + $t_fval = (isset($$f) ? $$f : null); - if (isset($t_fval['multi_edit'][$enc_primary_key])) { + if (isset($t_fval['multi_edit']) && isset($t_fval['multi_edit'][$enc_primary_key])) { $fval = &$t_fval['multi_edit'][$enc_primary_key]; } else { $fval = &$t_fval;