From 071033b835d39831c9d461d68b6b4178b59635ba Mon Sep 17 00:00:00 2001 From: benjamin Date: Fri, 9 Feb 2024 18:03:33 +0000 Subject: [PATCH] enable standaloneusers extension early in Standalone install --- setup/plugins/init/StandaloneUsers.civi-setup.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/setup/plugins/init/StandaloneUsers.civi-setup.php b/setup/plugins/init/StandaloneUsers.civi-setup.php index 8e5dcb32e95..7c81412acca 100644 --- a/setup/plugins/init/StandaloneUsers.civi-setup.php +++ b/setup/plugins/init/StandaloneUsers.civi-setup.php @@ -3,6 +3,8 @@ * @file * * On "Standalone" UF, default policy is to enable `standaloneusers` and create user with admin role. + * + * Note: we need to enable 'standaloneusers' early, because it provides the session handler */ if (!defined('CIVI_SETUP')) { @@ -32,6 +34,17 @@ $e->getModel()->extras = array_merge($defaults, $e->getModel()->extras); }); +\Civi\Setup::dispatcher() + ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) { + if ($e->getModel()->cms !== 'Standalone') { + return; + } + Civi\Setup::log()->info('Enabling Standaloneusers extension early'); + \civicrm_api3('Extension', 'enable', array( + 'keys' => ['standaloneusers'], + )); + }, \Civi\Setup::PRIORITY_MAIN - 150); + \Civi\Setup::dispatcher() ->addListener('civi.setup.installDatabase', function (\Civi\Setup\Event\InstallDatabaseEvent $e) { if ($e->getModel()->cms !== 'Standalone' || !in_array('standaloneusers', $e->getModel()->extensions)) {