summaryrefslogtreecommitdiff
path: root/plugins/cache_starred_images
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/cache_starred_images')
-rw-r--r--plugins/cache_starred_images/init.php20
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/cache_starred_images/init.php b/plugins/cache_starred_images/init.php
index 4e5f2d4f7..b851479c0 100644
--- a/plugins/cache_starred_images/init.php
+++ b/plugins/cache_starred_images/init.php
@@ -1,5 +1,5 @@
<?php
-class Cache_Starred_Images extends Plugin {
+class Cache_Starred_Images extends Plugin implements IHandler {
private $host;
private $cache_dir;
@@ -11,6 +11,18 @@ class Cache_Starred_Images extends Plugin {
true);
}
+ function csrf_ignore($method) {
+ return false;
+ }
+
+ function before($method) {
+ return true;
+ }
+
+ function after() {
+ return true;
+ }
+
function init($host) {
$this->host = $host;
@@ -29,6 +41,8 @@ class Cache_Starred_Images extends Plugin {
$host->add_hook($host::HOOK_UPDATE_TASK, $this);
$host->add_hook($host::HOOK_HOUSE_KEEPING, $this);
$host->add_hook($host::HOOK_SANITIZE, $this);
+ $host->add_handler("public", "cache_starred_images_getimage", $this);
+
} else {
user_error("Starred cache directory is not writable.", E_USER_WARNING);
}
@@ -38,7 +52,7 @@ class Cache_Starred_Images extends Plugin {
}
}
- function image() {
+ function cache_starred_images_getimage() {
ob_end_clean();
$hash = basename($_REQUEST["hash"]);
@@ -109,7 +123,7 @@ class Cache_Starred_Images extends Plugin {
if (file_exists($local_filename)) {
$entry->setAttribute("src", get_self_url_prefix() .
- "/backend.php?op=pluginhandler&plugin=cache_starred_images&method=image&hash=" .
+ "/public.php?op=cache_starred_images_getimage&method=image&hash=" .
$article_id . "-" . sha1($src));
}