mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-13 16:45:55 +00:00
implement plugin API version compatibility check
This commit is contained in:
@@ -13,6 +13,8 @@ class PluginHost {
|
||||
private $last_registered;
|
||||
private static $instance;
|
||||
|
||||
const API_VERSION = 1;
|
||||
|
||||
const HOOK_ARTICLE_BUTTON = 1;
|
||||
const HOOK_ARTICLE_FILTER = 2;
|
||||
const HOOK_PREFS_TAB = 3;
|
||||
@@ -137,6 +139,13 @@ class PluginHost {
|
||||
if (class_exists($class) && is_subclass_of($class, "Plugin")) {
|
||||
$plugin = new $class($this);
|
||||
|
||||
$plugin_api = $plugin->api_version();
|
||||
|
||||
if ($plugin_api < PluginHost::API_VERSION) {
|
||||
user_error("Plugin $class is not compatible with current API version (need: " . PluginHost::API_VERSION . ", got: $plugin_api)", E_USER_WARNING);
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->last_registered = $class;
|
||||
|
||||
switch ($kind) {
|
||||
|
||||
Reference in New Issue
Block a user