protected function setUp() { $module = new Module(); $events = new EventManager(); $sharedEvents = new SharedEventManager(); $events->setSharedManager($sharedEvents); $plugins = new ControllerPluginManager(); $this->serviceManager = new ServiceManager(); $this->serviceManager->setService('Zend\\ServiceManager\\ServiceLocatorInterface', $this->serviceManager); $this->serviceManager->setService('EventManager', $events); $this->serviceManager->setService('SharedEventManager', $sharedEvents); $this->serviceManager->setService('ControllerPluginManager', $plugins); $this->controllerManager = new ControllerManager(new Config($module->getControllerConfig())); $this->controllerManager->setServiceLocator($this->serviceManager); $this->controllerManager->addPeeringServiceManager($this->serviceManager); }
public static function install() { $database_settings = Config::get("database.connections.default"); $core_modules = self::get_core_modules_list(); require path('sys') . 'cli' . DS . 'dependencies' . EXT; $mig = \Laravel\CLI\Command::run(array('migrate:install')); if (!empty($core_modules)) { //copy every module to the bundles folder foreach ($core_modules as $module => $module_path) { static::migrate($module); } Bundle::register('modules'); Bundle::start('modules'); foreach ($core_modules as $module => $module_path) { $mod = \Modules\Module::make($module)->is_valid(); $new_bundle = new \Modules\Model\Module(); $new_bundle->name = $mod->name; $new_bundle->slug = $mod->slug; $new_bundle->description = isset($mod->description) ? $mod->description : ''; $new_bundle->version = $mod->version; $new_bundle->is_frontend = isset($mod->is_frontend) ? $mod->is_frontend : 0; $new_bundle->is_backend = isset($mod->is_backend) ? $mod->is_backend : 0; $new_bundle->is_core = isset($mod->is_core) ? 1 : 0; $new_bundle->required = $mod->decode('required'); $new_bundle->recommended = $mod->decode('recommended'); $new_bundle->options = $mod->decode('options'); $new_bundle->roles = $mod->decode('roles'); $new_bundle->menu = $mod->decode('menu'); $new_bundle->enabled = 1; $new_bundle->save(); } Bundle::disable('modules'); foreach ($core_modules as $module => $module_path) { static::schema('install', $module); // // Publish module assets if any // static::publish($module); } } return true; }
public static function disable($module_slug) { $module = Module::make($module_slug); if (!$module->is_valid()) { static::$errors = $module->errors; return false; } $dependencies = $module->has_dependencies(); if (empty($dependencies)) { $db_module = Model\Module::where('slug', '=', $module_slug)->first(); if (isset($db_module) and !empty($db_module)) { $db_module->enabled = 0; $db_module->save(); \Bundle::disable($module_slug); return true; } else { static::$errors->add('installer', 'Module [' . $module_slug . '] must be installed.'); return false; } } else { foreach ($dependencies as $dependency_slug => $module) { static::$errors->add('installer', 'Module [' . $module_slug . '] cannot be disabled. Please disable ' . $dependency_slug . ' module first.'); } return false; } }
public function get_all() { $modules_folders = glob(path('bundle') . '*', GLOB_ONLYDIR); $modules = array(); foreach ($modules_folders as $mod) { $module_name = basename($mod); $module = Module::make($module_name); if ($module->is_valid() !== false) { $modules[$module_name] = $module; } } return $modules; }