This commit is contained in:
2024-11-19 12:27:52 +03:00
parent 202d265cab
commit 772ad48961
7 changed files with 45 additions and 53 deletions

View File

@ -189,8 +189,8 @@ class ModuleService
*/
public function runInitScript($mod_info): void
{
if (isset($mod_info['module_class'])){
if (isset($mod_info['module_class_file'])){
if (isset($mod_info['module_class'])) {
if (isset($mod_info['module_class_file'])) {
require_once $mod_info['module_class_file'];
}
$moduleClass = new $mod_info['module_class']();
@ -204,8 +204,8 @@ class ModuleService
*/
public function runDeactivateScript($mod_info): void
{
if (isset($mod_info['module_class'])){
if (isset($mod_info['module_class_file'])){
if (isset($mod_info['module_class'])) {
if (isset($mod_info['module_class_file'])) {
require_once $mod_info['module_class_file'];
}
$moduleClass = new $mod_info['module_class']();
@ -233,11 +233,11 @@ class ModuleService
foreach ($dirs as $dir) {
foreach (new DirectoryIterator($dir) as $fileInfo) {
if($fileInfo->isDot() or !in_array($fileInfo->getFilename(), $active_modules['modules'])) continue;
if ($fileInfo->isDot() or !in_array($fileInfo->getFilename(), $active_modules['modules'])) continue;
$modules[] = $this->getModuleInfo($fileInfo->getPathname());
}
}
return $modules;
}
@ -248,8 +248,8 @@ class ModuleService
{
$routs = [];
$modules = $this->getActiveModules();
foreach ($modules as $module){
if (isset($module['routs'])){
foreach ($modules as $module) {
if (isset($module['routs'])) {
$routs[] = $module['path'] . "/" . $module['routs'];
}
}
@ -264,8 +264,8 @@ class ModuleService
{
$migrationsPaths = [];
$modules = $this->getActiveModules();
foreach ($modules as $module){
if (isset($module['migration_path'])){
foreach ($modules as $module) {
if (isset($module['migration_path'])) {
$migrationsPaths[] = $module['path'] . "/" . $module['migration_path'];
}
}
@ -326,7 +326,7 @@ class ModuleService
$fileHelper = new Files();
if (file_exists(APP_DIR . '/modules/' . $moduleInfo['slug'])) {
$fileHelper->recursiveRemoveDir(APP_DIR . '/modules/'. $moduleInfo['slug']);
$fileHelper->recursiveRemoveDir(APP_DIR . '/modules/' . $moduleInfo['slug']);
}
if (file_exists(KERNEL_APP_MODULES_DIR . '/' . $moduleInfo['slug'])) {
$fileHelper->recursiveRemoveDir(KERNEL_APP_MODULES_DIR . '/' . $moduleInfo['slug']);
@ -345,10 +345,9 @@ class ModuleService
$fileHelper = new Files();
$fileHelper->copy_folder(ROOT_DIR . $path, $tmpModuleDirFull . 'app/');
if (file_exists(KERNEL_APP_MODULES_DIR . '/' . $moduleName)){
if (file_exists(KERNEL_APP_MODULES_DIR . '/' . $moduleName)) {
$fileHelper->copy_folder(KERNEL_APP_MODULES_DIR . '/' . $moduleName, $tmpModuleDirFull . 'kernel/');
}
else {
} else {
mkdir($tmpModuleDirFull . 'kernel/');
}
@ -419,15 +418,15 @@ class ModuleService
{
$module_paths = Option::where("key", "module_paths")->first();
$dirs = [];
if ($module_paths){
if ($module_paths) {
$path = json_decode($module_paths->value);
foreach ($path->paths as $p){
foreach ($path->paths as $p) {
$dirs[] = getConst($p);
}
}
foreach ($dirs as $dir){
foreach ($dirs as $dir) {
foreach (new DirectoryIterator($dir) as $fileInfo) {
if($fileInfo->isDot()) continue;
if ($fileInfo->isDot()) continue;
if ($this->getModuleInfo($fileInfo->getPathname())['slug'] === $slug) {
return true;
};
@ -454,17 +453,25 @@ class ModuleService
public function isKernelModule(string $slug): bool
{
$modules_info = RESTClient::request($_ENV['MODULE_SHOP_URL'] . '/api/module_shop/gb_slug');
$modules_info = json_decode($modules_info->getBody()->getContents(), true);
$mod_info = $this->getModuleInfoBySlug($slug);
$modules_info = $this->getKernelModules();
foreach ($modules_info as $mod) {
if ($mod['slug'] === $mod_info['slug']) {
return false;
if ($mod['slug'] === $slug) {
return true;
}
}
return true;
return false;
}
public function getKernelModules(): array
{
$modules_info = [];
foreach (new DirectoryIterator(KERNEL_MODULES_DIR) as $fileInfo) {
if ($fileInfo->isDot()) continue;
$modules_info[] = $this->getModuleInfo($fileInfo->getPathname());
}
return $modules_info;
}
}