New Filestructure for Docker
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
header('Content-Type: application/json');
|
||||
|
||||
if (!isset($baseDir)) {
|
||||
$baseDir = $_SERVER['DOCUMENT_ROOT'];
|
||||
}
|
||||
|
||||
require_once $baseDir . '/../scripts/session_functions.php';
|
||||
|
||||
ini_wkvs_session();
|
||||
|
||||
check_user_permission('wk_leitung');
|
||||
|
||||
verify_csrf();
|
||||
|
||||
$name = trim($_POST['name'] ?? '');
|
||||
$slug = trim($_POST['slug'] ?? '');
|
||||
|
||||
if ($name === '') {
|
||||
http_response_code(400);
|
||||
echo json_encode(['success' => false, 'message' => 'Name ist leer']);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($slug === ''){
|
||||
http_response_code(400);
|
||||
echo json_encode(['success' => false, 'message' => 'Slug ist leer']);
|
||||
exit;
|
||||
}
|
||||
|
||||
if (preg_match('/\s/', $slug)) {
|
||||
http_response_code(400);
|
||||
echo json_encode(['success' => false, 'message' => 'Der Slug darf keine Leerzeichen enthalten']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Optional: Ensure the slug only contains lowercase letters, numbers, and hyphens
|
||||
if (!preg_match('/^[a-z0-9-]+$/', $slug)) {
|
||||
http_response_code(400);
|
||||
echo json_encode(['success' => false, 'message' => 'Der Slug darf nur Kleinbuchstaben, Zahlen und Bindestriche enthaltenn']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$type = 'wkl';
|
||||
|
||||
$data = include $baseDir . '/../scripts/db/db-verbindung-script.php';
|
||||
|
||||
if ($data['success'] === false){
|
||||
echo json_encode(['success' => false, 'message' => $data['message']]);
|
||||
exit;
|
||||
}
|
||||
|
||||
require $baseDir . '/../scripts/db/db-tables.php';
|
||||
require $baseDir . '/../scripts/db/db-functions.php';
|
||||
|
||||
$stmt = $mysqli->prepare("INSERT INTO $db_tabelle_wettkaempfe (`name`, `slug`) VALUES (?, ?)");
|
||||
|
||||
$stmt->bind_param("ss", $name, $slug);
|
||||
|
||||
try {
|
||||
$stmt->execute();
|
||||
} catch (mysqli_sql_exception $e) {
|
||||
|
||||
if ($e->getCode() === 1062) {
|
||||
http_response_code(400);
|
||||
echo json_encode(['success' => false, 'message' => 'Dieser Slug existiert bereits']);
|
||||
exit;
|
||||
}
|
||||
|
||||
http_response_code(500);
|
||||
echo json_encode(['success' => false, 'message' => 'Ein Datenbankfehler ist aufgetreten']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt->close();
|
||||
|
||||
$insert_id = $mysqli->insert_id;
|
||||
|
||||
// Return JSON
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'message' => 'Wettkampf hinzugefügt',
|
||||
'id' => $insert_id
|
||||
]);
|
||||
exit;
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
header('Content-Type: application/json');
|
||||
|
||||
if (!isset($baseDir)) {
|
||||
$baseDir = $_SERVER['DOCUMENT_ROOT'];
|
||||
}
|
||||
|
||||
require_once $baseDir . '/../scripts/session_functions.php';
|
||||
|
||||
ini_wkvs_session();
|
||||
|
||||
check_user_permission('wk_leitung');
|
||||
|
||||
require_once $baseDir . '/../scripts/delete_request_type_functions.php';
|
||||
|
||||
parse_input_to_delete();
|
||||
|
||||
verify_delete_csrf($_DELETE);
|
||||
|
||||
$id = (int) ($_DELETE['id'] ?? 0);
|
||||
|
||||
if ($id <= 0) {
|
||||
echo json_encode(['success' => false, 'message' => 'No valid ID']);
|
||||
}
|
||||
|
||||
require $baseDir . '/../scripts/db/db-functions.php';
|
||||
require $baseDir . '/../scripts/db/db-tables.php';
|
||||
|
||||
|
||||
$type = 'wkl';
|
||||
|
||||
$dbconnection = require $baseDir . '/../scripts/db/db-verbindung-script.php';
|
||||
|
||||
if ($dbconnection['success'] !== true){
|
||||
echo 'Critical DB Error.';
|
||||
exit;
|
||||
}
|
||||
|
||||
$entrys = db_select($mysqli, $db_tabelle_wettkaempfe, "1", '`id` = ?', [$id]);
|
||||
|
||||
if (count($entrys) < 1) {
|
||||
echo json_encode(['success' => true, 'message' => 'Wettkampf bereits gelöscht']);
|
||||
http_response_code(410);
|
||||
exit;
|
||||
}
|
||||
|
||||
db_delete($mysqli, $db_tabelle_wettkaempfe, ['id' => $id]);
|
||||
|
||||
echo json_encode(['success' => true, 'message' => 'Wettkampf gelöscht']);
|
||||
http_response_code(200);
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
header('Content-Type: application/json');
|
||||
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
if (!isset($baseDir)) {
|
||||
$baseDir = $_SERVER['DOCUMENT_ROOT'];
|
||||
}
|
||||
|
||||
require_once $baseDir . '/../scripts/session_functions.php';
|
||||
|
||||
ini_wkvs_session();
|
||||
|
||||
check_user_permission('wk_leitung');
|
||||
|
||||
verify_csrf();
|
||||
|
||||
|
||||
$id = (int) $_POST['id'] ?? 0;
|
||||
|
||||
if ($id < 1) {
|
||||
echo json_encode(['success' => false, 'message' => 'Nicht valide ID']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
require $baseDir . '/../scripts/db/db-functions.php';
|
||||
require $baseDir . '/../scripts/db/db-tables.php';
|
||||
|
||||
$type = 'wkl';
|
||||
|
||||
$dbconnection = require $baseDir . '/../scripts/db/db-verbindung-script.php';
|
||||
|
||||
$id_row = db_select($mysqli, $db_tabelle_wettkaempfe, "1", "`id` = ?", [$id]);
|
||||
|
||||
if (count($id_row) !== 1) {
|
||||
echo json_encode(['success' => false, 'message' => 'Diese ID existiert nicht']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt = $mysqli->prepare("INSERT INTO $db_tabelle_var (`name`, `value`) VALUES ('current_wk_id', ?) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`)");
|
||||
|
||||
$stmt->bind_param("i", $id);
|
||||
|
||||
try {
|
||||
$stmt->execute();
|
||||
} catch (mysqli_sql_exception $e) {
|
||||
|
||||
echo json_encode(['success' => false, 'message' => 'Ein Datenbankfehler ist aufgetreten']);
|
||||
http_response_code(500);
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt->close();
|
||||
|
||||
// Return JSON
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'message' => 'Wert geändert'
|
||||
]);
|
||||
exit;
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
header('Content-Type: application/json');
|
||||
|
||||
if (!isset($baseDir)) {
|
||||
$baseDir = $_SERVER['DOCUMENT_ROOT'];
|
||||
}
|
||||
|
||||
require_once $baseDir . '/../scripts/session_functions.php';
|
||||
|
||||
ini_wkvs_session();
|
||||
|
||||
check_user_permission('wk_leitung');
|
||||
|
||||
verify_csrf();
|
||||
|
||||
|
||||
$id = (int) $_POST['id'] ?? 0;
|
||||
$field_name = trim($_POST['inputType'] ?? '');
|
||||
$value = trim($_POST['value'] ?? '');
|
||||
|
||||
$allowed_field_names = ['name', 'slug'];
|
||||
|
||||
if (!in_array($field_name, $allowed_field_names)) {
|
||||
echo json_encode(['success' => false, 'message' => 'Nicht valides Feld']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($id < 1) {
|
||||
echo json_encode(['success' => false, 'message' => 'Nicht valide ID']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($value === '') {
|
||||
echo json_encode(['success' => false, 'message' => 'Inhalt ist leer']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($field_name === 'slug'){
|
||||
if (preg_match('/\s/', $slug)) {
|
||||
echo json_encode(['success' => false, 'message' => 'Der Slug darf keine Leerzeichen enthalten']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Optional: Ensure the slug only contains lowercase letters, numbers, and hyphens
|
||||
if (!preg_match('/^[a-z0-9-]+$/', $slug)) {
|
||||
echo json_encode(['success' => false, 'message' => 'Der Slug darf nur Kleinbuchstaben, Zahlen und Bindestriche enthaltenn']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
require $baseDir . '/../scripts/db/db-functions.php';
|
||||
require $baseDir . '/../scripts/db/db-tables.php';
|
||||
|
||||
$type = 'wkl';
|
||||
|
||||
$dbconnection = require $baseDir . '/../scripts/db/db-verbindung-script.php';
|
||||
|
||||
$id_row = db_select($mysqli, $db_tabelle_wettkaempfe, "1", "`id` = ?", [$id]);
|
||||
|
||||
if (count($id_row) !== 1) {
|
||||
echo json_encode(['success' => false, 'message' => 'Diese ID existiert nicht']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt = $mysqli->prepare("UPDATE $db_tabelle_wettkaempfe SET `$field_name` = ? WHERE `id` = ?");
|
||||
|
||||
$stmt->bind_param("si", $value, $id);
|
||||
|
||||
try {
|
||||
$stmt->execute();
|
||||
} catch (mysqli_sql_exception $e) {
|
||||
|
||||
// Error 1062: Duplicate entry
|
||||
if ($e->getCode() === 1062) {
|
||||
echo json_encode(['success' => false, 'message' => 'Dieser Slug existiert bereits']);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Error 1054: Unknown column (e.g., $field_name doesn't exist)
|
||||
if ($e->getCode() === 1054) {
|
||||
echo json_encode(['success' => false, 'message' => "Das Feld '$field_name' existiert nicht"]);
|
||||
http_response_code(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Fallback for other database errors
|
||||
echo json_encode(['success' => false, 'message' => 'Ein Datenbankfehler ist aufgetreten']);
|
||||
http_response_code(500);
|
||||
exit;
|
||||
}
|
||||
|
||||
$stmt->close();
|
||||
|
||||
// Return JSON
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'message' => 'Wert geändert'
|
||||
]);
|
||||
exit;
|
||||
Reference in New Issue
Block a user