diff --git a/modules/pi_control/bootstrap.php b/modules/pi_control/bootstrap.php index 432939a..127b161 100644 --- a/modules/pi_control/bootstrap.php +++ b/modules/pi_control/bootstrap.php @@ -2,14 +2,15 @@ use App\ModuleConfigException; $moduleName = 'pi_control'; +$mm = isset($modules) && $modules instanceof App\ModuleManager ? $modules : modules(); -modules()->registerFunction($moduleName, 'table', function (string $name): string { +$mm->registerFunction($moduleName, 'table', function (string $name): string { $prefix = 'picontrol_'; $sanitized = preg_replace('/[^a-zA-Z0-9_]/', '', $name); return $prefix . $sanitized; }); -modules()->registerFunction($moduleName, 'pdo', function () use ($moduleName): \PDO { +$mm->registerFunction($moduleName, 'pdo', function () use ($moduleName): \PDO { $settings = modules()->settings($moduleName); $useSeparate = !empty($settings['use_separate_db']); @@ -31,7 +32,7 @@ modules()->registerFunction($moduleName, 'pdo', function () use ($moduleName): \ return $base; }); -modules()->registerFunction($moduleName, 'ensure_schema', function () use ($moduleName): void { +$mm->registerFunction($moduleName, 'ensure_schema', function () use ($moduleName): void { $pdo = module_fn($moduleName, 'pdo'); $table = fn(string $name) => module_fn($moduleName, 'table', $name); diff --git a/src/App/ModuleManager.php b/src/App/ModuleManager.php index fae5206..0c11c8d 100644 --- a/src/App/ModuleManager.php +++ b/src/App/ModuleManager.php @@ -198,6 +198,7 @@ final class ModuleManager if (!empty($module['enabled'])) { $bootstrap = $module['path'] . '/bootstrap.php'; if (is_file($bootstrap)) { + $modules = $this; require_once $bootstrap; } }