From c55fb22bcdca061146403af2462b73945c61d563 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 14 Feb 2017 18:48:40 +0300 Subject: [PATCH] af_zz_imgproxy: rewrite to absolute url; add on-parse article filter hook to handle redirect situation in case frontend has open_basedir (disabled currently) --- plugins/af_zz_imgproxy/init.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/af_zz_imgproxy/init.php b/plugins/af_zz_imgproxy/init.php index 0bd14cab9..53d3bf3ed 100644 --- a/plugins/af_zz_imgproxy/init.php +++ b/plugins/af_zz_imgproxy/init.php @@ -18,6 +18,7 @@ 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_ENCLOSURE_ENTRY, $this); + //$host->add_hook($host::HOOK_ARTICLE_FILTER, $this); $host->add_hook($host::HOOK_PREFS_TAB, $this); } @@ -32,6 +33,10 @@ class Af_Zz_ImgProxy extends Plugin { return $enc; } + function hook_article_filter($article) { + return $this->hook_render_article_cdm($article); + } + function hook_render_article($article) { return $this->hook_render_article_cdm($article); } @@ -63,7 +68,7 @@ class Af_Zz_ImgProxy extends Plugin { readfile($local_filename); } else { - $data = fetch_file_contents(array("url" => $url, "useragent" => "Mozilla/5.0")); + $data = fetch_file_contents(array("url" => $url)); if ($data) { if (file_put_contents($local_filename, $data)) { @@ -77,7 +82,7 @@ class Af_Zz_ImgProxy extends Plugin { global $fetch_last_error_code; global $fetch_last_error_content; - if (function_exists("imagecreate")) { + if (function_exists("imagecreate") && !isset($_REQUEST["text"])) { $img = imagecreate(450, 75); $bg = imagecolorallocate($img, 255, 255, 255); @@ -121,7 +126,7 @@ class Af_Zz_ImgProxy extends Plugin { if (($scheme != 'https' && $scheme != "") || $is_remote) { if (strpos($url, "data:") !== 0) { - $url = "public.php?op=pluginhandler&plugin=af_zz_imgproxy&pmethod=imgproxy&kind=$kind&url=" . + $url = get_self_url_prefix() . "/public.php?op=pluginhandler&plugin=af_zz_imgproxy&pmethod=imgproxy&kind=$kind&url=" . urlencode($url); } } @@ -144,6 +149,7 @@ class Af_Zz_ImgProxy extends Plugin { if ($new_src != $img->getAttribute("src")) { $img->setAttribute("src", $new_src); + $img->removeAttribute("srcset"); $need_saving = true; }