From 64227a9675b72cbca1b6a05800d08812fc2ba271 Mon Sep 17 00:00:00 2001
From: James Silver <jamsilver@gmail.com>
Date: Mon, 9 May 2011 15:42:51 +0100
Subject: [PATCH] Issue #1149226: Fixed If log message is an array, feeds_log() produces error

---
 feeds.module |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/feeds.module b/feeds.module
index bbd7f1c..623eba2 100644
--- a/feeds.module
+++ b/feeds.module
@@ -828,6 +828,9 @@ function feeds_dbg($msg) {
  * Writes to feeds log.
  */
 function feeds_log($importer_id, $feed_nid, $type, $message, $variables = array(), $severity = WATCHDOG_NOTICE) {
+  if (is_array ($message)) {
+    $message = _feeds_log_tidy_message($message);
+  }
   if ($severity < WATCHDOG_NOTICE) {
     $error = &drupal_static('feeds_log_error', FALSE);
     $error = TRUE;
@@ -846,6 +849,16 @@ function feeds_log($importer_id, $feed_nid, $type, $message, $variables = array(
     ->execute();
 }
 
+function _feeds_log_tidy_message($message) {
+  foreach ($message as $k => $v) {
+    if (is_array ($v)) {
+      $message[$k] = _feeds_log_tidy_message($v);
+    }
+    $message[$k] = $k . ': ' . $message[$k];
+  }
+  return implode(",\n", $message);
+}
+
 /**
  * Loads an item info object.
  *
-- 
1.7.1

