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.
This commit is contained in:
Dave Zaikos 2014-05-12 00:59:27 -04:00
parent 1fd733c8ff
commit 2bb11658a8
2 changed files with 11 additions and 1 deletions

View File

@ -40,6 +40,7 @@ class PluginHost {
const HOOK_QUERY_HEADLINES = 23; const HOOK_QUERY_HEADLINES = 23;
const HOOK_HOUSE_KEEPING = 24; const HOOK_HOUSE_KEEPING = 24;
const HOOK_SEARCH = 25; const HOOK_SEARCH = 25;
const HOOK_FORMAT_ENCLOSURES = 26;
const KIND_ALL = 1; const KIND_ALL = 1;
const KIND_SYSTEM = 2; const KIND_SYSTEM = 2;

View File

@ -1846,8 +1846,17 @@
$result = get_article_enclosures($id); $result = get_article_enclosures($id);
$rv = ''; $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_html = array();
$entries = array(); $entries = array();
$entries_inline = array(); $entries_inline = array();