diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 82565257..3c2d7931 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -51,6 +51,7 @@ class PluginHost { const HOOK_ARTICLE_FILTER_ACTION = 30; const HOOK_ARTICLE_EXPORT_FEED = 31; const HOOK_MAIN_TOOLBAR_BUTTON = 32; + const HOOK_ENCLOSURE_ENTRY = 33; const KIND_ALL = 1; const KIND_SYSTEM = 2; diff --git a/include/functions2.php b/include/functions2.php index 96274b6a..21fe805f 100644 --- a/include/functions2.php +++ b/include/functions2.php @@ -1944,6 +1944,10 @@ foreach ($result as $line) { + foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ENCLOSURE_ENTRY) as $plugin) { + $line = $plugin->hook_render_enclosure($line); + } + $url = $line["content_url"]; $ctype = $line["content_type"]; $title = $line["title"]; diff --git a/plugins/af_zz_imgproxy/init.php b/plugins/af_zz_imgproxy/init.php index 6d7954c3..923f8173 100644 --- a/plugins/af_zz_imgproxy/init.php +++ b/plugins/af_zz_imgproxy/init.php @@ -18,10 +18,19 @@ class Af_Zz_ImgProxy extends Plugin { $host->add_hook($host::HOOK_RENDER_ARTICLE, $this); $host->add_hook($host::HOOK_RENDER_ARTICLE_CDM, $this); $host->add_hook($host::HOOK_RENDER_ARTICLE_API, $this); + $host->add_hook($host::HOOK_ENCLOSURE_ENTRY, $this); $host->add_hook($host::HOOK_PREFS_TAB, $this); } + function hook_enclosure_entry($enc) { + $proxy_all = $this->host->get($this, "proxy_all"); + + $enc["url"] = $this->rewrite_url_if_needed($enc["url"], $proxy_all); + + return $enc; + } + function hook_render_article($article) { return $this->hook_render_article_cdm($article); }