403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/arni-solutions.de/web/test/save_test.php
<?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));

Youez - 2016 - github.com/yon3zu
LinuXploit