pluginhost: add helper methods to get private/public pluginmethod endpoint URLs
This commit is contained in:
parent
e46ed1ff97
commit
10c63ed582
|
@ -491,4 +491,34 @@ class PluginHost {
|
||||||
function get_owner_uid() {
|
function get_owner_uid() {
|
||||||
return $this->owner_uid;
|
return $this->owner_uid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handled by classes/pluginhandler.php, requires valid session
|
||||||
|
function get_method_url($sender, $method, $params) {
|
||||||
|
return get_self_url_prefix() . "/backend.php?" .
|
||||||
|
http_build_query(
|
||||||
|
array_merge(
|
||||||
|
[
|
||||||
|
"op" => "pluginhandler",
|
||||||
|
"plugin" => strtolower(get_class($sender)),
|
||||||
|
"pmethod" => $method
|
||||||
|
],
|
||||||
|
$params));
|
||||||
|
}
|
||||||
|
|
||||||
|
// WARNING: endpoint in public.php, exposed to unauthenticated users
|
||||||
|
function get_public_method_url($sender, $method, $params) {
|
||||||
|
if ($sender->is_public_method($method)) {
|
||||||
|
return get_self_url_prefix() . "/public.php?" .
|
||||||
|
http_build_query(
|
||||||
|
array_merge(
|
||||||
|
[
|
||||||
|
"op" => "pluginhandler",
|
||||||
|
"plugin" => strtolower(get_class($sender)),
|
||||||
|
"pmethod" => $method
|
||||||
|
],
|
||||||
|
$params));
|
||||||
|
} else {
|
||||||
|
user_error("get_public_method_url: requested method '$method' of '" . get_class($sender) . "' is private.");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,8 +141,7 @@ class Af_Proxy_Http extends Plugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return get_self_url_prefix() . "/public.php?op=pluginhandler&plugin=af_proxy_http&pmethod=imgproxy&url=" .
|
return $this->host->get_public_method_url($this, "imgproxy", ["url" => $url]);
|
||||||
urlencode($url);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue