public function testConfiguration()
{
if (!Helper::isInstallAvailable()) {
return sprintf(__('Please remove content from %s file.', 'Install', false), 'config.php');
}
// Validating input
$errors = array();
// Website name
if (!Helper::validateWebsiteName(ipRequest()->getPost('configWebsiteName'))) {
$errors[] = __('Please enter website name.', 'Install', false);
}
// Website email
if (!Helper::validateWebsiteEmail(ipRequest()->getPost('configWebsiteEmail'))) {
$errors[] = __('Please enter correct website email.', 'Install', false);
}
// Website timezone
if (!Helper::validateTimezone(ipRequest()->getPost('configTimezone'))) {
$errors[] = __('Please choose website time zone.', 'Install', false);
}
// Support
// ipRequest()->getPost('configSupport')
// Let's save config data to user session
if (ipRequest()->getPost('configWebsiteName')) {
$_SESSION['config']['websiteName'] = ipRequest()->getPost('configWebsiteName');
}
if (ipRequest()->getPost('configWebsiteEmail')) {
$_SESSION['config']['websiteEmail'] = ipRequest()->getPost('configWebsiteEmail');
}
if (ipRequest()->getPost('configTimezone')) {
$_SESSION['config']['timezone'] = ipRequest()->getPost('configTimezone');
}
if (ipRequest()->getPost('configSupport') !== null) {
$_SESSION['config']['support'] = ipRequest()->getPost('configSupport');
}
// Send usage statistics
$usageStatistics = Helper::setUsageStatistics('Install.configuration', $errors);
\Ip\Internal\System\Model::sendUsageStatistics($usageStatistics);
if (!empty($errors)) {
return \Ip\Response\JsonRpc::error(__('Please correct errors.', 'Install', false))->addErrorData('errors', $errors);
}
return \Ip\Response\JsonRpc::result(array('redirect' => 'index.php?step=2'));
}