/** * uninstall the module * * @since 2.6.0 */ public function uninstall() { if (array_key_exists('alias', static::$_moduleArray)) { Db::forTablePrefix('modules')->where('alias', static::$_moduleArray['alias'])->deleteMany(); /* drop from sql */ $directory = 'modules/' . static::$_moduleArray['alias'] . '/database'; if (is_dir($directory)) { $installer = new Installer(Config::getInstance()); $installer->init($directory); $installer->rawDrop(); } } }
$config = Config::getInstance(); /* config */ $dbUrl = getenv('DB_URL'); if ($dbUrl) { $config->parse($dbUrl); } else { $config->set('dbType', 'sqlite'); $config->set('dbHost', ':memory:'); } /* database */ Db::construct($config); Db::init(); /* installer */ $installer = new Installer($config); $installer->init(); $installer->rawDrop(); $installer->rawCreate(); $installer->insertData(['adminName' => 'Test', 'adminUser' => 'test', 'adminPassword' => 'test', 'adminEmail' => '*****@*****.**']); /* test user */ Db::forTablePrefix('users')->whereIdIs(1)->findOne()->set(['password' => 'test', 'description' => 'test', 'language' => 'en'])->save(); /* test module */ if (is_dir('modules/TestDummy')) { $testDummy = new Modules\TestDummy\TestDummy(); $testDummy->install(); } /* language */ $language = Language::getInstance(); $language->init(); /* hook */ Hook::construct($registry); Hook::init();