Browse Source

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.
Dave Zaikos 10 years ago
parent
commit
2bb11658a8
2 changed files with 11 additions and 1 deletions
  1. 1 0
      classes/pluginhost.php
  2. 10 1
      include/functions2.php

+ 1 - 0
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;

+ 10 - 1
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();