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() {
|
||||
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=" .
|
||||
urlencode($url);
|
||||
return $this->host->get_public_method_url($this, "imgproxy", ["url" => $url]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue