bug #3049209 [import] Import from ODS ignores cell that is the same as cell before

This commit is contained in:
Madhura Jayaratne
2011-12-24 21:31:08 +05:30
parent d3207af8af
commit cd294e5b97
2 changed files with 25 additions and 18 deletions

View File

@@ -4,6 +4,7 @@ phpMyAdmin - ChangeLog
3.4.10.0 (not yet released)
- bug #3460090 [interface] TextareaAutoSelect feature broken
- patch #3375984 [export] PHP Array export might generate invalid php code
- bug #3049209 [import] Import from ODS ignores cell that is the same as cell before
3.4.9.0 (2011-12-21)
- bug #3442028 [edit] Inline editing enum fields with null shows no dropdown

View File

@@ -118,25 +118,31 @@ foreach ($sheets as $sheet) {
$cell_attrs = $cell->attributes('office', true);
if (count($text) != 0) {
if (! $col_names_in_first_row) {
if ($_REQUEST['ods_recognize_percentages'] && !strcmp('percentage', $cell_attrs['value-type'])) {
$tempRow[] = (double)$cell_attrs['value'];
} elseif ($_REQUEST['ods_recognize_currency'] && !strcmp('currency', $cell_attrs['value-type'])) {
$tempRow[] = (double)$cell_attrs['value'];
} else {
$tempRow[] = (string)$text;
}
} else {
if ($_REQUEST['ods_recognize_percentages'] && !strcmp('percentage', $cell_attrs['value-type'])) {
$col_names[] = (double)$cell_attrs['value'];
} else if ($_REQUEST['ods_recognize_currency'] && !strcmp('currency', $cell_attrs['value-type'])) {
$col_names[] = (double)$cell_attrs['value'];
} else {
$col_names[] = (string)$text;
}
}
$attr = $cell->attributes('table', true);
$num_repeat = (int) $attr['number-columns-repeated'];
$num_iterations = $num_repeat ? $num_repeat : 1;
++$col_count;
for ($k = 0; $k < $num_iterations; $k++) {
if (! $col_names_in_first_row) {
if ($_REQUEST['ods_recognize_percentages'] && !strcmp('percentage', $cell_attrs['value-type'])) {
$tempRow[] = (double)$cell_attrs['value'];
} elseif ($_REQUEST['ods_recognize_currency'] && !strcmp('currency', $cell_attrs['value-type'])) {
$tempRow[] = (double)$cell_attrs['value'];
} else {
$tempRow[] = (string)$text;
}
} else {
if ($_REQUEST['ods_recognize_percentages'] && !strcmp('percentage', $cell_attrs['value-type'])) {
$col_names[] = (double)$cell_attrs['value'];
} else if ($_REQUEST['ods_recognize_currency'] && !strcmp('currency', $cell_attrs['value-type'])) {
$col_names[] = (double)$cell_attrs['value'];
} else {
$col_names[] = (string)$text;
}
}
++$col_count;
}
} else {
/* Number of blank columns repeated */
if ($col_count < count($row->children('table', true)) - 1) {