From ca91e96f12cc4cee53f35272ea75161f400ed4f2 Mon Sep 17 00:00:00 2001
From: Alex Barth <alex_b@53995.no-reply.drupal.org>
Date: Sun, 16 May 2010 20:59:13 +0000
Subject: [PATCH] #778416 clemens.tolboom: Better message when plugin is
 missing.

---
 CHANGELOG.txt | 1 +
 feeds.module  | 9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index fec00b3d..39de96e8 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -3,6 +3,7 @@
 Feeds 6.x 1.0 xxxxxxxxxxxxxxxxxxxx
 ----------------------------------
 
+- #778416 clemens.tolboom: Better message when plugin is missing.
 - #760140 lyricnz: FeedsBatch->total not updated when addItem($item) is called.
 - #755544 Monkey Master: Keep batch processing when mapping fails.
 - alex_b: Reset import schedule after deleting items from feed.
diff --git a/feeds.module b/feeds.module
index 2c89ddb9..a0317477 100644
--- a/feeds.module
+++ b/feeds.module
@@ -700,7 +700,14 @@ function feeds_plugin_instance($plugin, $id) {
   if ($class = ctools_plugin_load_class('feeds', 'plugins', $plugin, 'handler')) {
     return FeedsConfigurable::instance($class, $id);
   }
-  drupal_set_message(t('Missing Feeds plugin. Check whether all required libraries and modules are installed properly.'), 'warning');
+  $args = array( '%plugin' => $plugin);
+  if (user_access('administer feeds')) {
+    $args['!link'] = l($id, 'admin/build/feeds/edit/' . $id);
+    drupal_set_message(t('Missing Feeds plugin %plugin. See !link. Check whether all required libraries and modules are installed properly.', $args), 'warning');
+  }
+  else {
+    drupal_set_message(t('Missing Feeds plugin %plugin. Please contact your site administrator.', $args), 'warning');
+  }
   $class = ctools_plugin_load_class('feeds', 'plugins', 'FeedsMissingPlugin', 'handler');
   return FeedsConfigurable::instance($class, $id);
 }
-- 
GitLab