From cbc89a70a66001976256c84a3d5b8145e52cfe07 Mon Sep 17 00:00:00 2001
From: megachriz <megachriz@654114.no-reply.drupal.org>
Date: Tue, 16 Apr 2013 21:15:33 -0700
Subject: [PATCH] Issue #1953008 by MegaChriz | carn1x: Fixed PHP Fatal error: 
 Nesting level too deep - recursive dependency? in FeedsProcessor.inc on line
 199.

---
 plugins/FeedsProcessor.inc | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/plugins/FeedsProcessor.inc b/plugins/FeedsProcessor.inc
index 57f98b7e..bf8c3fb8 100755
--- a/plugins/FeedsProcessor.inc
+++ b/plugins/FeedsProcessor.inc
@@ -252,11 +252,7 @@ abstract class FeedsProcessor extends FeedsPlugin {
       catch (Exception $e) {
         $state->failed++;
         drupal_set_message($e->getMessage(), 'warning');
-        $message = $e->getMessage();
-        $message .= '<h3>Original item</h3>';
-        $message .= '<pre>' . var_export($item, TRUE) . '</pre>';
-        $message .= '<h3>Entity</h3>';
-        $message .= '<pre>' . var_export($entity, TRUE) . '</pre>';
+        $message = $this->createLogMessage($e, $entity, $item);
         $source->log('import', $message, array(), WATCHDOG_ERROR);
       }
     }
@@ -784,6 +780,30 @@ abstract class FeedsProcessor extends FeedsPlugin {
     }
     return '';
   }
+
+  /**
+   * Creates a log message for when an exception occured during import.
+   *
+   * @param Exception $e
+   *   The exception that was throwned during processing the item.
+   * @param $entity
+   *   The entity object.
+   * @param $item
+   *   The parser result for this entity.
+   *
+   * @return string
+   *   The message to log.
+   */
+  protected function createLogMessage(Exception $e, $entity, $item) {
+    include_once DRUPAL_ROOT . '/includes/utility.inc';
+    $message = $e->getMessage();
+    $message .= '<h3>Original item</h3>';
+    $message .= '<pre>' . drupal_var_export($item). '</pre>';
+    $message .= '<h3>Entity</h3>';
+    $message .= '<pre>' . drupal_var_export($entity) . '</pre>';
+    return $message;
+  }
+
 }
 
 class FeedsProcessorBundleNotDefined extends Exception {}
-- 
GitLab