cgView->viewPath = KERNEL_DIR . "/views/module/"; $this->moduleService = new ModuleService(); } public function actionIndex(): void { $admin_theme_paths = Option::where("key", "module_paths")->first(); $dirs = []; if ($admin_theme_paths){ $path = json_decode($admin_theme_paths->value); foreach ($path->paths as $p){ $dirs[] = getConst($p); } } $modules_info = []; foreach ($dirs as $dir){ $i = 1; foreach (new DirectoryIterator($dir) as $fileInfo) { $info = []; if($fileInfo->isDot()) continue; $info['id'] = $i; $modules_info[] = array_merge($info, $this->moduleService->getModuleInfo($fileInfo->getPathname())); $i++; } } $this->cgView->render("index.php", ['modules_info' => $modules_info, 'moduleService' => $this->moduleService]); } public function actionActivate(): void { $request = new Request(); $this->moduleService->setActiveModule($request->get("slug")); $this->cgView->render("view.php", ['data' => $this->moduleService->getModuleInfo(KERNEL_MODULES_DIR . '/' . $request->get("slug"))]); } }