diff --git a/assets/functions/docredir.php b/assets/functions/docredir.php index 7aa1cc94..c16fbded 100644 --- a/assets/functions/docredir.php +++ b/assets/functions/docredir.php @@ -1,16 +1,51 @@ prepare("SELECT * FROM intra_mitarbeiter_dokumente WHERE docid = :docid"); +$stmt->execute(['docid' => $_GET['docid']]); +$row = $stmt->fetch(PDO::FETCH_ASSOC); -$docId = isset($_GET['docid']) ? (int) $_GET['docid'] : null; +$docType = $row['type']; -if (!$docId) { - http_response_code(400); - exit('Fehlende Dokument-ID.'); +// Abmahnungen +if ($docType == 10) { + header("Location: /dokumente/schreiben/abmahnung.php?dok=" . $openedID); +} +// Dienstenthebungen +if ($docType == 11) { + header("Location: /dokumente/schreiben/dienstenthebung.php?dok=" . $openedID); +} +// Dienstentfernungen +if ($docType == 12) { + header("Location: /dokumente/schreiben/dienstentfernung.php?dok=" . $openedID); +} +// Kündigung +if ($docType == 13) { + header("Location: /dokumente/schreiben/kuendigung.php?dok=" . $openedID); +} +// Ernennungsurkunde +if ($docType == 0) { + header("Location: /dokumente/urkunden/ernennung.php?dok=" . $openedID); +} +// Beförderungsurkunde +if ($docType == 1) { + header("Location: /dokumente/urkunden/befoerderung.php?dok=" . $openedID); +} +// Entlassungsurkunde +if ($docType == 2) { + header("Location: /dokumente/urkunden/entlassung.php?dok=" . $openedID); +} +// Ausbildungszertifikat +if ($docType == 5) { + header("Location: /dokumente/zertifikate/ausbildung.php?dok=" . $openedID); +} +// Lehrgangszertifikat +if ($docType == 6) { + header("Location: /dokumente/zertifikate/lehrgang.php?dok=" . $openedID); +} +// Fachlehrgangszertifikat +if ($docType == 7) { + header("Location: /dokumente/zertifikate/fachlehrgang.php?dok=" . $openedID); } - -$redirector = new DocRedirector($pdo); -$redirector->redirect($docId); diff --git a/src/Helpers/DocRedirector.php b/src/Helpers/DocRedirector.php deleted file mode 100644 index 7638e6df..00000000 --- a/src/Helpers/DocRedirector.php +++ /dev/null @@ -1,55 +0,0 @@ -pdo = $pdo; - } - - public function redirect(int $docId): void - { - try { - $stmt = $this->pdo->prepare("SELECT type FROM intra_mitarbeiter_dokumente WHERE docid = :docid"); - $stmt->execute(['docid' => $docId]); - $row = $stmt->fetch(PDO::FETCH_ASSOC); - - if (!$row) { - http_response_code(404); - exit('Dokument nicht gefunden.'); - } - - $docType = (int) $row['type']; - $routes = [ - 10 => "/dokumente/schreiben/abmahnung/", - 11 => "/dokumente/schreiben/dienstenthebung/", - 12 => "/dokumente/schreiben/dienstentfernung/", - 13 => "/dokumente/schreiben/kuendigung/", - 0 => "/dokumente/urkunden/ernennung/", - 1 => "/dokumente/urkunden/befoerderung/", - 2 => "/dokumente/urkunden/entlassung/", - 5 => "/dokumente/zertifikate/ausbildung/", - 6 => "/dokumente/zertifikate/lehrgang/", - 7 => "/dokumente/zertifikate/fachlehrgang/", - ]; - - if (isset($routes[$docType])) { - header("Location: " . $routes[$docType] . $docId); - exit; - } - - http_response_code(400); - exit('Ungültiger Dokumenttyp.'); - } catch (PDOException $e) { - http_response_code(500); - exit('Datenbankfehler: ' . htmlspecialchars($e->getMessage())); - } - } -}