[Phpmyadmin-git] [SCM] phpMyAdmin branch, QA_3_4, updated. RELEASE_3_4_9-14-gcd294e5
Madhura Jayaratne
madhuracj at users.sourceforge.net
Sat Dec 24 17:05:26 CET 2011
The branch, QA_3_4 has been updated
via cd294e5b97c723fa85e29d2b2c43eaa48e60c60a (commit)
from d3207af8af2641fc7e6f6ad7371f8a93f18454a2 (commit)
- Log -----------------------------------------------------------------
commit cd294e5b97c723fa85e29d2b2c43eaa48e60c60a
Author: Madhura Jayaratne <madhura.cj at gmail.com>
Date: Sat Dec 24 21:31:08 2011 +0530
bug #3049209 [import] Import from ODS ignores cell that is the same as cell before
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
libraries/import/ods.php | 38 ++++++++++++++++++++++----------------
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2c39a56..8cbd325 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/libraries/import/ods.php b/libraries/import/ods.php
index cd48f68..03736e2 100644
--- a/libraries/import/ods.php
+++ b/libraries/import/ods.php
@@ -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'];
+ $attr = $cell->attributes('table', true);
+ $num_repeat = (int) $attr['number-columns-repeated'];
+ $num_iterations = $num_repeat ? $num_repeat : 1;
+
+ 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 {
- $col_names[] = (string)$text;
+ 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;
+ ++$col_count;
+ }
} else {
/* Number of blank columns repeated */
if ($col_count < count($row->children('table', true)) - 1) {
hooks/post-receive
--
phpMyAdmin
More information about the Git
mailing list