From 3ac0e8cbbc0d655234c863291585a7e40d905147 Mon Sep 17 00:00:00 2001 From: Silvio Date: Mon, 9 Aug 2010 12:24:41 -0300 Subject: Adding method skipExisting at sfIsisImporter --- lib/sfIsisImporter.class.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'lib/sfIsisImporter.class.php') diff --git a/lib/sfIsisImporter.class.php b/lib/sfIsisImporter.class.php index 22541e3..d0d9a9f 100644 --- a/lib/sfIsisImporter.class.php +++ b/lib/sfIsisImporter.class.php @@ -142,20 +142,42 @@ class sfIsisImporter extends IsisConnector if ($id) { - if (!call_user_func(array($base_model, 'getById'), $id)) + $existing = call_user_func(array($base_model, 'getById'), $id); + + if (!$existing) { $this->setBaseModelId($model); return $model; } - else + elseif ($this->skipExisting()) { return false; } + else + { + return $existing; + } } return $model; } + /** + * Check if ISIS database configuration is set to not skip existing + * entries during an import. + * + * @return boolean + */ + public function skipExisting() + { + if (isset($this->format['import']['skip_existing'])) + { + return $this->format['import']['skip_existing']; + } + + return true; + } + /** * Set the primary key for the model by getting it or just saving it. * -- cgit v1.2.3