diff --git a/synchro/synchrodatasource.class.inc.php b/synchro/synchrodatasource.class.inc.php index 5ae90539c..817d4bd9c 100644 --- a/synchro/synchrodatasource.class.inc.php +++ b/synchro/synchrodatasource.class.inc.php @@ -1348,9 +1348,10 @@ EOF } else { - foreach ($oAttDef->GetImportColumns() as $sField => $sDBFieldType) - { - $aColumns[$sField] = $sDBFieldType; + if (is_iterable($oAttDef->GetImportColumns())) { + foreach ($oAttDef->GetImportColumns() as $sField => $sDBFieldType) { + $aColumns[$sField] = $sDBFieldType; + } } } } diff --git a/test/core/AttributeDefTest.inc.php b/test/core/AttributeDefTest.inc.php new file mode 100644 index 000000000..d2b4b3f7a --- /dev/null +++ b/test/core/AttributeDefTest.inc.php @@ -0,0 +1,33 @@ +GetImportColumns(); + var_dump($aImportColumns); + + $this->assertTrue(is_array($aImportColumns), var_export($aImportColumns, true)); + $this->assertEquals(["status" => "ENUM('active','inactive') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"], + $aImportColumns); + } + +} \ No newline at end of file