diff --git a/classes/plugin-template.php b/classes/plugin-template.php index ad6d07ee0..12437525b 100644 --- a/classes/plugin-template.php +++ b/classes/plugin-template.php @@ -5,53 +5,57 @@ abstract class PluginTemplate { /** @var PDO $pdo */ protected $pdo; - abstract function init(PluginHost $host); + abstract function init(PluginHost $host) : void; - abstract function about(); + /** @return array */ + abstract function about() : array; // return array(1.0, "plugin", "No description", "No author", false); function __construct() { $this->pdo = Db::pdo(); } - function flags() { + /** @return array */ + function flags() : array { /* associative array, possible keys: needs_curl = boolean */ return array(); } - function is_public_method($method) { + function is_public_method(string $method) : bool { return false; } - function csrf_ignore($method) { + function csrf_ignore(string $method) : bool { return false; } - function get_js() { + function get_js() : string { return ""; } - function get_prefs_js() { + function get_prefs_js() : string { return ""; } - function api_version() { + function api_version() : int { return Plugin::API_VERSION_COMPAT; } /* gettext-related helpers */ - function __($msgid) { + function __(string $msgid) : string { + /** @var Plugin $this -- this is a strictly template-related hack */ return _dgettext(PluginHost::object_to_domain($this), $msgid); } - function _ngettext($singular, $plural, $number) { + function _ngettext(string $singular, string $plural, int $number) : string { + /** @var Plugin $this -- this is a strictly template-related hack */ return _dngettext(PluginHost::object_to_domain($this), $singular, $plural, $number); } - function T_sprintf() { + function T_sprintf() : string { $args = func_get_args(); $msgid = array_shift($args); diff --git a/classes/plugin.php b/classes/plugin.php index 1b6702d72..08a122023 100644 --- a/classes/plugin.php +++ b/classes/plugin.php @@ -5,53 +5,57 @@ abstract class Plugin { /** @var PDO $pdo */ protected $pdo; - abstract function init(PluginHost $host); + abstract function init(PluginHost $host) : void; - abstract function about(); + /** @return array */ + abstract function about() : array; // return array(1.0, "plugin", "No description", "No author", false); function __construct() { $this->pdo = Db::pdo(); } - function flags() { + /** @return array */ + function flags() : array { /* associative array, possible keys: needs_curl = boolean */ return array(); } - function is_public_method($method) { + function is_public_method(string $method) : bool { return false; } - function csrf_ignore($method) { + function csrf_ignore(string $method) : bool { return false; } - function get_js() { + function get_js() : string { return ""; } - function get_prefs_js() { + function get_prefs_js() : string { return ""; } - function api_version() { + function api_version() : int { return Plugin::API_VERSION_COMPAT; } /* gettext-related helpers */ - function __($msgid) { + function __(string $msgid) : string { + /** @var Plugin $this -- this is a strictly template-related hack */ return _dgettext(PluginHost::object_to_domain($this), $msgid); } - function _ngettext($singular, $plural, $number) { + function _ngettext(string $singular, string $plural, int $number) : string { + /** @var Plugin $this -- this is a strictly template-related hack */ return _dngettext(PluginHost::object_to_domain($this), $singular, $plural, $number); } - function T_sprintf() { + function T_sprintf() : string { $args = func_get_args(); $msgid = array_shift($args);