private function getSiteInfo()
{
if ($this->noInteraction) {
$this->line('passed');
return;
}
$this->line('Input information for site.');
$siteInfo = $this->defaultInfos['site'];
// site url
$siteInfo['url'] = $this->askValidation('site url', $siteInfo['url'], function ($url) {
$url = trim($url, "/");
if (!preg_match('/^(http(s)?\\:\\/\\/)/', $url)) {
$url = 'http://' . $url;
}
if (filter_var($url, FILTER_VALIDATE_URL) === false) {
throw new \Exception('Invalid URL Format.');
}
return $url;
});
// timezone
$siteInfo['timezone'] = $this->askValidation('Timezone', $siteInfo['timezone'], function ($timezone) {
if (in_array($timezone, timezone_identifiers_list()) === false) {
throw new \Exception('Inputted timezone do not exist.');
}
return $timezone;
});
// locale
$siteInfo['locale'] = $this->askValidation('Locale (ko or en)', $siteInfo['locale'], function ($locale) {
if ($locale !== 'ko') {
$locale = 'en';
}
return $locale;
});
$this->defaultInfos['site'] = $siteInfo;
}