| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/arni-solutions.de/web/test/ |
Upload File : |
<?php
declare(strict_types=1);
require __DIR__ . '/includes/bootstrap.php';
$user = require_user();
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
redirect_to('dashboard.php');
}
$slug = trim((string)($_POST['slug'] ?? ''));
$test = load_test_by_slug($slug);
if (!$test || empty($test['meta']['active'])) {
set_flash('danger', 'Test nicht gefunden.');
redirect_to('dashboard.php');
}
$postAnswers = $_POST['answers'] ?? [];
if (!is_array($postAnswers)) {
$postAnswers = [];
}
$validation = validate_submission($test, $postAnswers);
if ($validation['errors'] !== []) {
$_SESSION['old_answers'][$slug] = $postAnswers;
set_flash('danger', implode(' | ', $validation['errors']));
redirect_to('test.php?slug=' . urlencode($slug));
}
$evaluation = evaluate_test($test, $validation['answers']);
$submission = [
'meta' => [
'slug' => $slug,
'test_title' => (string)$test['meta']['title'],
'updated_at' => date('Y-m-d H:i:s'),
'created_at' => date('Y-m-d H:i:s'),
],
'participant' => [
'name' => $user['name'],
'email' => $user['email'],
'email_key' => email_key($user['email']),
],
'status' => 'completed',
'answers' => $validation['answers'],
'result' => $evaluation,
];
$existing = load_submission($slug, $user['email']);
if (!empty($existing['meta']['created_at'])) {
$submission['meta']['created_at'] = (string)$existing['meta']['created_at'];
}
$saved = save_submission($slug, $user['email'], $submission);
if (!$saved) {
set_flash('danger', 'Das Ergebnis konnte nicht gespeichert werden. Prüfe Schreibrechte im Ordner data/submissions.');
redirect_to('test.php?slug=' . urlencode($slug));
}
set_flash('success', 'Test gespeichert und ausgewertet.');
redirect_to('result.php?slug=' . urlencode($slug));