From 2bb11658a8b032dc345b402de25265befa54608e Mon Sep 17 00:00:00 2001 From: Dave Zaikos Date: Mon, 12 May 2014 00:59:27 -0400 Subject: [PATCH] Added HOOK_FORMAT_ENCLOSURES plugin hook. Runs HTML and enclosures array through a plugin hook when rendering an article's enclosures in format_article_enclosures(). Allows plugins to override handling of how enclosures are presented by either filtering the array of enclosures, or generating the HTML to add to the article content. --- classes/pluginhost.php | 1 + include/functions2.php | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 4582c314..bd6afa81 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -40,6 +40,7 @@ class PluginHost { const HOOK_QUERY_HEADLINES = 23; const HOOK_HOUSE_KEEPING = 24; const HOOK_SEARCH = 25; + const HOOK_FORMAT_ENCLOSURES = 26; const KIND_ALL = 1; const KIND_SYSTEM = 2; diff --git a/include/functions2.php b/include/functions2.php index 959e7154..cf1fba17 100644 --- a/include/functions2.php +++ b/include/functions2.php @@ -1846,8 +1846,17 @@ $result = get_article_enclosures($id); $rv = ''; - if (count($result) > 0) { + foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_FORMAT_ENCLOSURES) as $plugin) { + $retval = $plugin->hook_format_enclosures($rv, $result, $id, $always_display_enclosures, $article_content, $hide_images); + if (is_array($retval)) { + $rv = $retval[0]; + $result = $retval[1]; + } else { + $rv = $retval; + } + } + if ($rv === '' && is_array($result)) { $entries_html = array(); $entries = array(); $entries_inline = array();