* verify install post values directly on config page and display error

* first usage report will be send after 7 days
This commit is contained in:
slawkens1 2017-11-14 21:11:32 +01:00
parent 37f792d9ce
commit 7d6bbb3385
7 changed files with 32 additions and 9 deletions

View File

@ -230,7 +230,7 @@ $config = array(
'status_port' => '',
// other
'anonymous_usage_statistics' => false,
'anonymous_usage_statistics' => true,
'email_lai_sec_interval' => 60, // time in seconds between e-mails to one account from lost account interface, block spam
'google_analytics_id' => '', // e.g.: UA-XXXXXXX-X
'experiencetable_columns' => 5, // how many columns to display in experience table page. * experiencetable_rows, 5 = 500 (will show up to 500 level)

View File

@ -211,7 +211,8 @@ if(isset($config['anonymous_usage_statistics']) && $config['anonymous_usage_stat
}
}
else {
registerDatabaseConfig('last_usage_report', time());
registerDatabaseConfig('last_usage_report', time() - ($report_time - (7 * 24 * 60 * 60))); // first report after a week
$should_report = false;
}
}

View File

@ -30,16 +30,30 @@ $steps = array(1 => 'welcome', 2 => 'license', 3 => 'requirements', 4 => 'config
if(!in_array($step, $steps)) // check if step is valid
die('ERROR: Unknown step.');
$errors = array();
if($step == 'database')
{
foreach($_POST['vars'] as $key => $value)
{
if(empty($value))
if($key != 'usage' && empty($value))
{
$step = 'config';
$errors = '<p class="error">' . $locale['please_fill_all'] . '</p>';
$errors[] = $locale['please_fill_all'];
break;
}
else if($key == 'mail_admin' && !Validator::email($value))
{
$errors[] = $locale['step_config_mail_admin_error'];
break;
}
else if($key == 'mail_address' && !Validator::email($value))
{
$errors[] = $locale['step_config_mail_address_error'];
break;
}
}
if(!empty($errors)) {
$step = 'config';
}
}

View File

@ -79,6 +79,7 @@ echo $twig->render('install.config.html.twig', array(
'clients' => $clients,
'locale' => $locale,
'session' => $_SESSION,
'errors' => isset($errors) ? $errors : null,
'buttons' => next_buttons()
));
?>

View File

@ -10,7 +10,7 @@
*/
defined('MYAAC') or die('Direct access not allowed!');
$guild_name = urldecode($_REQUEST['guild']);
$guild_name = isset($_REQUEST['guild']) ? urldecode($_REQUEST['guild']) : null;
if(!Validator::guildName($guild_name)) {
$errors[] = Validator::get;
}

View File

@ -10,7 +10,7 @@
*/
defined('MYAAC') or die('Direct access not allowed!');
$guild_name = urldecode($_REQUEST['guild']);
$guild_name = isset($_REQUEST['guild']) ? urldecode($_REQUEST['guild']) : null;
if(!Validator::guildName($guild_name))
$errors[] = Validator::getLastError();
@ -21,6 +21,7 @@ if(empty($errors))
if(!$guild->isLoaded())
$errors[] = 'Guild with name <b>'.$guild_name.'</b> doesn\'t exist.';
}
if(!empty($errors))
{
echo $twig->render('error_box.html.twig', array('errors' => $errors));

View File

@ -20,7 +20,7 @@
<label for="vars_client">
<span>{{ locale.step_config_client }}</span>
</label>
<br>
<br/>
<select name="vars[client]" id="vars_client">
{% for id, version in clients %}
<option value="{{ id }}">{{ version }}</option>
@ -36,7 +36,8 @@
<label for="vars_usage">
<span>{{ locale.step_config_usage }}</span>
</label>
<br>
<br/>
<input type="hidden" value="0" name="vars[usage]">
<input type="checkbox" name="vars[usage]" id="vars_usage" value="1" checked/>
</td>
<td>
@ -45,5 +46,10 @@
</tr>
</table>
{% if errors is defined %}
{% for error in errors %}
<p class="error">{{ error }}</p>
{% endfor %}
{% endif %}
{{ buttons|raw }}
</form>