public function loadActiveModules($isAdmin) { $moduleManager = LuLu::getService('modularityService'); $this->activeModules = $moduleManager->getActiveModules($isAdmin); $module = $isAdmin ? 'AdminModule' : 'HomeModule'; foreach ($this->activeModules as $m) { $moduleId = $m['id']; $moduleDir = $m['dir']; $ModuleClassName = $m['dir_class']; $this->setModule($moduleId, [ 'class' => 'source\modules\\' . $moduleDir . '\\' . $module ]); $serviceFile= LuLu::getAlias('@source').'\modules\\' .$moduleDir.'\\'.$ModuleClassName.'Service.php'; if(FileHelper::exist($serviceFile)) { $serviceClass = 'source\modules\\' .$moduleDir.'\\'.$ModuleClassName.'Service.php'; $serviceInstance = new $serviceClass(); $this->set($serviceInstance->getServiceId(), $serviceInstance); } } }
public static function checkHomeThemeFile($fileName, $checkDefault = true) { $currentTheme = Resource::getHomeTheme(); $path = LuLu::getAlias('statics') . '/themes/' . $currentTheme . $fileName . '.php'; if (!FileHelper::exist($path) && $checkDefault) { $currentTheme = 'd'; $path = LuLu::getAlias('statics') . '/themes/' . $currentTheme . $fileName . '.php'; } else { return $currentTheme; } if (!FileHelper::exist($path)) { return false; } return $currentTheme; }
private function loadAllModules() { if ($this->allModules !== null) { return $this->allModules; } $this->allModules = []; $moduleRootPath = LuLu::getAlias('@source') . '/modules'; if ($moduleRootDir = @dir($moduleRootPath)) { while (($moduleFolder = $moduleRootDir->read()) !== false) { $currentModuleDir = $moduleRootPath . '/' . $moduleFolder; if (preg_match('|^\\.+$|', $moduleFolder) || !is_dir($currentModuleDir)) { continue; } $moduleClassName = ucwords($moduleFolder); if (FileHelper::exist($currentModuleDir . '/' . $moduleClassName . 'Info.php')) { $class = 'source\\modules\\' . $moduleFolder . '\\' . $moduleClassName . 'Info'; } else { continue; } $instance = null; try { // $moduleObj = LuLu::createObject($class); $instance = new $class(); if (empty($instance->id)) { $instance->id = $moduleFolder; } if (empty($instance->name)) { $instance->name = $moduleFolder; } } catch (Exception $e) { $instance = null; } if ($instance !== null) { $has_admin = FileHelper::exist($currentModuleDir . '/admin/AdminModule.php') ? true : false; $has_home = FileHelper::exist($currentModuleDir . '/home/HomeModule.php') ? true : false; $this->allModules[$instance->id] = ['id' => $instance->id, 'dir' => $moduleFolder, 'dir_class' => $moduleClassName, 'class' => $class, 'instance' => $instance, 'can_install' => true, 'can_uninstall' => true, 'has_admin' => $has_admin, 'has_home' => $has_home, 'can_active_admin' => false, 'can_active_home' => false]; } } } return $this->allModules; }
private function executeSql($db, $file) { $file = LuLu::getAlias('@data/sql') . '/' . $file . '.sql'; if (!FileHelper::exist($file)) { self::_appendLog('SQL文件:' . $file . '不存在', true); return false; } $tbPre = $db->tablePrefix; $content = @file_get_contents($file); $sqls = self::_splitsql($content); if (is_array($sqls)) { foreach ($sqls as $sql) { if (trim($sql) != '') { $db->createCommand(str_replace('#@__', $tbPre, $sql))->execute(); } } } else { $db->createCommand(str_replace('#@__', $tbPre, $sql))->execute(); } return true; }