Check and load required plugins during install and activation

This commit is contained in:
Terranom674
2026-08-16 13:00:36 +02:00
parent f5747a8369
commit bfee6b1d5d

View File

@@ -6,23 +6,37 @@ if (!defined('PHPWG_ROOT_PATH'))
require_once(dirname(__FILE__) . '/include/database.class.php'); require_once(dirname(__FILE__) . '/include/database.class.php');
require_once(dirname(__FILE__) . '/tools/watermark_profiles.inc.php'); require_once(dirname(__FILE__) . '/tools/watermark_profiles.inc.php');
require_once(dirname(__FILE__) . '/include/dependencies.inc.php');
class bratonien_tools_maintain extends PluginMaintain class bratonien_tools_maintain extends PluginMaintain
{ {
private function prepare() private function prepare(&$errors = array())
{ {
bratonien_tools_create_tables(); bratonien_tools_create_tables();
bratonien_tools_create_default_watermark_profiles(); bratonien_tools_create_default_watermark_profiles();
$dependency_messages = array();
bratonien_tools_ensure_dependencies($dependency_messages);
// Dependency failures must not disable unrelated Bratonien Tools features.
// Store the current result so the administration can surface it later.
if (function_exists('conf_update_param'))
{
conf_update_param('bratonien_dependency_status', json_encode(array(
'checked_at' => time(),
'messages' => $dependency_messages,
)));
}
} }
public function install($plugin_version, &$errors = array()) public function install($plugin_version, &$errors = array())
{ {
$this->prepare(); $this->prepare($errors);
} }
public function activate($plugin_version, &$errors = array()) public function activate($plugin_version, &$errors = array())
{ {
$this->prepare(); $this->prepare($errors);
} }
public function deactivate() public function deactivate()
@@ -31,7 +45,7 @@ class bratonien_tools_maintain extends PluginMaintain
public function update($old_version, $new_version, &$errors = array()) public function update($old_version, $new_version, &$errors = array())
{ {
$this->prepare(); $this->prepare($errors);
} }
public function uninstall() public function uninstall()