Пример #1
0
 /**
  * 
  */
 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();
     }
 }