Revise handlePageAction for multiple plugin instances

This commit is contained in:
billz 2024-11-07 23:25:19 -08:00
parent ce72d2a0ab
commit b33ac6ffa3

View File

@ -80,14 +80,17 @@ class PluginManager
{ {
foreach ($this->getInstalledPlugins() as $pluginClass) { foreach ($this->getInstalledPlugins() as $pluginClass) {
$plugin = new $pluginClass($this->pluginPath, $pluginClass); $plugin = new $pluginClass($this->pluginPath, $pluginClass);
if ($plugin instanceof PluginInterface && $plugin->handlePageAction($page)) {
return true; if ($plugin instanceof PluginInterface) {
} else { // Check if this plugin can handle the page action
continue; if ($plugin->handlePageAction($page)) {
return true;
}
} }
} }
return false; // no plugins handled the page
} }
// Returns all installed plugins with full class names // Returns all installed plugins with full class names
public function getInstalledPlugins(): array public function getInstalledPlugins(): array
{ {