diff --git a/core/modules/modDoliMeet.class.php b/core/modules/modDoliMeet.class.php index c61e5cb..53672a7 100644 --- a/core/modules/modDoliMeet.class.php +++ b/core/modules/modDoliMeet.class.php @@ -32,6 +32,11 @@ */ class modDoliMeet extends DolibarrModules { + /** + * @var int[] Minimum version of Saturne required by module, same format as need_dolibarr_version: checked by init() and by the Saturne index page + */ + public $need_saturne_version = [23, 6]; + /** * Constructor. Define names, constants, directories, boxes, permissions. * @@ -580,6 +585,16 @@ public function init($options = ''): int return -1; } + // Saturne ships separately: refuse one older than need_saturne_version, it lacks functions this release calls + require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php'; + dol_include_once('/saturne/core/modules/modSaturne.class.php'); + $saturneVersion = class_exists('modSaturne') ? (new modSaturne($this->db))->version : ''; + if (versioncompare(explode('.', $saturneVersion), $this->need_saturne_version) < 0) { + $langs->load('admin'); // activateModuleDependNotSatisfied, not loaded when the Saturne index page runs init() + $this->error = $langs->trans('activateModuleDependNotSatisfied', $this->name, 'modSaturne >= ' . versiontostring($this->need_saturne_version) . ' (' . ($saturneVersion ?: '-') . ')', $this->name); + return -1; + } + // Dolibarr runs init() before activating $this->depends : activate them first, isModEnabled('project') is tested below if (function_exists('saturne_activate_module_dependencies') && saturne_activate_module_dependencies($this) < 0) { return -1;