/** * */ public function generateAction() { $moduleCanonicalName = InputOutput::prompt(_("Type the module canonical name here (in CamelCase, it must not contains Module at the ends)"), function ($params, &$result) { call_user_func_array(array('\\Centreon\\Internal\\Module\\Informations', 'isCanonicalNameValid'), array($params, &$result)); }); // Display Name and short name $moduleDisplayName = CamelCaseTransformation::camelCaseToCustom($moduleCanonicalName, " "); $moduleShortname = strtolower(CamelCaseTransformation::camelCaseToCustom($moduleCanonicalName, "-")); $moduleGenerator = new Generator($moduleCanonicalName); $moduleGenerator->setModuleShortName($moduleShortname); $moduleGenerator->setModuleDisplayName($moduleDisplayName); // Get Module ShortName set by user $userAnswer = InputOutput::prompt(_("Type the module shortname here (seperate by -) [" . $moduleShortname . "]")); if (!empty($userAnswer)) { $moduleShortname = $userAnswer; } // Type User Name $moduleAuthor = InputOutput::prompt(_("Type your name here")); $moduleGenerator->setModuleAuthor($moduleAuthor); // Ask For generating Directory Structure InputOutput::display(_("Generating module full structure... "), false); $moduleGenerator->generateModuleStructure(); $moduleGenerator->generateConfigFile(); $moduleGenerator->createSampleInstaller(); InputOutput::display(_("Done\n"), true, "bgreen"); // Ask For sample Controller/View $generateController = InputOutput::prompt(_("Generate sample controller/view (yes/no)? [yes]")); if (empty($generateController) || $generateController == "yes" || $generateController == "y") { $moduleGenerator->createSampleController(); $moduleGenerator->createSampleView(); } // Ask to install the module $installModule = InputOutput::prompt(_("Install the module(yes/no)? [no] ")); if (!empty($installModule) && ($installModule == "yes" || $installModule == "y")) { $moduleInstaller = Informations::getModuleInstaller($moduleShortname); $moduleInstaller->install(); } }
/** * * @param string $object * @param array $params * @cmdObject string module the host * @cmdParam boolean|true verbose optional is verbose ? */ public function uninstallAction($object, $params = null) { $moduleInstaller = Informations::getModuleInstaller('console', $object['module']); $moduleInstaller->uninstall($params['verbose']); }