private static function buildBootstrap($event, $bootstrap, $extras, $webDirectory, $ciBasePath) { $io = $event->getIO(); if (file_exists($bootstrap)) { $writeMode = "Updating"; $confirmMsg = Colors::confirm("Re-Write Bootstrap File(yes,no)?[no]") . " :"; $writeBootstrap = $io->askConfirmation($confirmMsg, FALSE); if ($writeBootstrap) { $data = file_get_contents($bootstrap); preg_match("/define\\('ENVIRONMENT',(\\s)*'([a-z]+)'\\);/", $data, $matches); if (isset($matches[2])) { self::$environment = $matches[2]; } } } else { $writeMode = "Writing"; $writeBootstrap = TRUE; } if ($writeBootstrap) { $confirmMsg = sprintf("Set application environment to(production,development,testing)?[%s] :", Colors::info(self::$environment)); $env = $io->ask($confirmMsg, self::$environment); if (in_array($env, self::$validEnvironments)) { self::$environment = $env; } else { $msg = Colors::error("Invalid selection!") . PHP_EOL; $msg .= Colors::message("Setting the environment to : ") . Colors::highlight(self::$environment); $io->write($msg); } $io->write(Colors::message(sprintf("%s Bootstrap File ", $writeMode)) . PHP_EOL); self::writeBootstrap($bootstrap, $extras, $webDirectory, $ciBasePath); } }
private static function getWritableDatabaseConfigurationValues(Event $event, $dist_config, $current_config) { $changed_config = array(); $io = $event->getIO(); $firstEntry = TRUE; foreach ($dist_config as $key => $config) { if (!isset(self::$configurableDatabaseOptions[$key]) && $config !== '~') { continue; } if (!isset($current_config[$key]) || $current_config[$key] == '~') { if ($firstEntry) { $message = Colors::message("%s ") . Colors::info('"%s"') . Colors::message(" File"); if (empty($current_config)) { $typeStr = "Writting"; $message2 = Colors::info("Enter Database Configuration options :"); } else { $typeStr = "Updating"; $message2 = Colors::info("Some parameters are missing. Please provide them :"); } $io->write(PHP_EOL . sprintf($message, $typeStr, 'config/database.php')); $io->write($message2); $firstEntry = FALSE; } $default_value = $config == "~" || $config == "" ? 'null' : $config; $question = sprintf('Enter value for "%s" [%s] :', Colors::highlight($key), Colors::info($default_value)); $data = $io->ask($question, $config); if (!self::validateDatabaseConfiguration($data, $key)) { $data = $config; } $changed_config[$key] = $data; } } if (!empty($changed_config)) { $changed_config = array_merge($dist_config, $current_config, $changed_config); } return $changed_config; }