From 7e6679d20b989cfb36ba86c3cc1e6670db9d7398 Mon Sep 17 00:00:00 2001 From: Chris Leppanen <chris.leppanen@gmail.com> Date: Thu, 16 May 2013 11:54:27 -0700 Subject: [PATCH] Issue #1989196 by beeradb: Fixed Never Pass FeedsDateTime objects into date_create(). --- mappers/date.inc | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/mappers/date.inc b/mappers/date.inc index 9344d279..8ff4cbb0 100644 --- a/mappers/date.inc +++ b/mappers/date.inc @@ -46,23 +46,28 @@ function date_feeds_processor_targets_alter(&$targets, $entity_type, $bundle_nam */ function date_feeds_set_target($source, $entity, $target, $feed_element) { list($field_name, $sub_field) = explode(':', $target, 2); - if (!($feed_element instanceof FeedsDateTimeElement)) { - if (!is_array($feed_element)) { - $feed_element = array($feed_element); - } - $delta = 0; - foreach ($feed_element as $f) { - if (empty($f) || !is_numeric($f) && !date_create($f)) { - $array_element = new FeedsDateTimeElement(NULL, NULL); + + if (!is_array($feed_element)) { + $feed_element = array($feed_element); + } + + $delta = 0; + foreach ($feed_element as $f) { + + if (!($feed_element instanceof FeedsDateTimeElement)) { + + if (empty($f) || !is_numeric($f) && is_string($f) && !date_create($f)) { + $f = new FeedsDateTimeElement(NULL, NULL); } elseif ($sub_field == 'end') { - $array_element = new FeedsDateTimeElement(NULL, $f); + $f = new FeedsDateTimeElement(NULL, $f); } else { - $array_element = new FeedsDateTimeElement($f, NULL); + $f = new FeedsDateTimeElement($f, NULL); } - $array_element->buildDateField($entity, $field_name, $delta); - $delta++; } + + $f->buildDateField($entity, $field_name, $delta); + $delta++; } } -- GitLab