diff --git a/library/Director/Hook/PropertyModifierHook.php b/library/Director/Hook/PropertyModifierHook.php index aa846911..7c93f160 100644 --- a/library/Director/Hook/PropertyModifierHook.php +++ b/library/Director/Hook/PropertyModifierHook.php @@ -199,6 +199,11 @@ abstract class PropertyModifierHook return $this; } + public function exportSettings() + { + return (object) $this->settings; + } + /** * Override this method if you want to extend the settings form * diff --git a/library/Director/Objects/ImportRowModifier.php b/library/Director/Objects/ImportRowModifier.php index d0dfb416..36688ee4 100644 --- a/library/Director/Objects/ImportRowModifier.php +++ b/library/Director/Objects/ImportRowModifier.php @@ -62,7 +62,7 @@ class ImportRowModifier extends DbObjectWithSettings $properties = $this->getProperties(); unset($properties['id']); unset($properties['source_id']); - $properties['settings'] = (object) $this->getSettings(); + $properties['settings'] = $this->getInstance()->exportSettings(); ksort($properties); return (object) $properties; diff --git a/library/Director/Objects/ImportSource.php b/library/Director/Objects/ImportSource.php index 45172410..8f6bcb29 100644 --- a/library/Director/Objects/ImportSource.php +++ b/library/Director/Objects/ImportSource.php @@ -308,6 +308,9 @@ class ImportSource extends DbObjectWithSettings implements ExportInterface protected function applyPropertyModifierToRow(PropertyModifierHook $modifier, $key, $row) { + if (! is_object($row)) { + throw new InvalidArgumentException('Every imported row MUST be an object'); + } if ($modifier->requiresRow()) { $modifier->setRow($row); }