コード例 #1
0
ファイル: ListControllerTest.php プロジェクト: t4web/Modules
 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);
 }
コード例 #2
0
ファイル: installer.php プロジェクト: juaniiie/mwi
 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;
 }
コード例 #3
0
ファイル: installer.php プロジェクト: juaniiie/mwi
 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;
     }
 }
コード例 #4
0
ファイル: module.php プロジェクト: juaniiie/mwi
 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;
 }