bpm/upload/index.php_bak
2023-04-25 13:16:13 +02:00

1011 lines
38 KiB
Plaintext
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
header("Expires: Mon, 12 Jul 1995 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H.i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
$verz = "upload/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen
## INDEX gegen DB
if(!isset($_SESSION)) { session_start(); }
include_once '../classes/TestProjektSmarty.class_subdir.php';
require_once("../config.inc.php");
require_once("../config/datenbankanbindung.php");
require_once("../func_get_parameter.php");
require_once("../config/func_cryption.php");
require_once("../func_standard_hs.php");
require_once("../func_tangen.php");
$smarty = new SmartyAdmin();
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
require_once "../language/german.inc.php";
$action = $_GET['action'];
if ($action == '') {
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('index_error', 1);
if ($errorno == 1) {
$smarty->assign('index_error_text', "Es m&uuml;ssen alle Felder ausgef&uuml;llt werden");
}
if ($errorno == 2) {
$smarty->assign('index_error_text', "Der Benutzername ist im System nicht vorhanden");
}
if ($errorno == 3) {
$smarty->assign('index_error_text', "Der Benutzername oder das Passwort ist nicht korrekt.");
}
if ($errorno == 4) {
$smarty->assign('index_error_text', "Es wurden bereits Dateien hochgeladen. Melden Sie sich bitte bei der Hochschule, falls Änderungen gewünscht sind.");
}
if ($errorno == 5) {
$smarty->assign('index_error_text', "Es sind noch keine Testergebnisse vorhanden. Daher kann dieser Schritt noch nicht ausgeführt werden.");
}
if ($errorno == 6) {
$smarty->assign('index_error_text', "Es liegt aktuell kein bestandenes Testergebnis vor. Daher kann dieser Schritt nicht ausgeführt werden.");
}
# Daten aufbereiten bei Fehler
if (isset($_SESSION["global_username"])) {
$smarty->assign('index_user', $_SESSION["global_username"]);
}
}
# Uploadverzeichnis aufräumen. Temporäre Dateien, die älter als 2 Wochen sind, werden gelöscht
$dir = $_SERVER["DOCUMENT_ROOT"].dirname($_SERVER['PHP_SELF'])."/$verz";
$folder = dir($dir);
while ($dateiname = $folder->read()) {
if (filetype($dir.$dateiname) != "dir") {
if (strtotime("-2 weeks") > @filemtime($dir.$dateiname)) {
if (@unlink($dir.$dateiname) != false){
# echo $dateiname.' wurde gelöscht<br>';
$filedel = "$dir.$dateiname";
$result_deldoc = $db->query("SELECT up_id, ka_id
FROM dvm_upload
WHERE file ='$filedel'
AND upload_dat = '0000-00-00 00:00:00'
LIMIT 1");
$row_deldoc = $result_deldoc->fetch_array();
$sql1 = $db->query("DELETE FROM dvm_upload
WHERE up_id = $row_deldoc[up_id]
");
$sql1 = $db->query("DELETE FROM dvm_note
WHERE ka_id = $row_deldoc[ka_id]
");
$sql1 = $db->query("DELETE FROM dvm_dst_wunsch
WHERE ka_id = $row_deldoc[ka_id]
AND sendedat = '0000-00-00 00:00:00'
AND datum < DATE_SUB( NOW() , INTERVAL 10 DAY )
");
}else{
# echo $dateiname.' konnte nichtgelöscht werden<br>';
}
}
}
}
}
if ($action == 'anmeld') {
if (isset($_POST['user'])) {
$username_kand = mb_strtoupper($_POST["user"]); //remove case sensitivity on the username
} else {
$username_kand = $_SESSION["username_kand"];
}
if (isset($_POST['password'])) {
$tan = $_POST["password"];
} else {
$tan = $_SESSION["tan"];
}
$_SESSION["username_kand"] = $username_kand;
$_SESSION["tan"] = $tan;
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
} else {
$db = dbconnect();
$result_best = $db->query("SELECT bestanden
FROM dvm_kandidat a, dvm_term_kand b, dvm_tanpool c, dvm_ergebnisse d
WHERE a.ka_id = b.ka_id
AND b.tp_id = c.tp_id
AND c.tan = d.tan
AND a.id = '$username_kand'
AND c.tan= '$tan'
AND c.aktiv = 'A'
ORDER BY b.tk_id DESC
LIMIT 1");
$row_best = $result_best->fetch_array();
$result_anzerg = $db->query("SELECT count(*) Anz
FROM dvm_kandidat a, dvm_term_kand b, dvm_tanpool c, dvm_ergebnisse d
WHERE a.ka_id = b.ka_id
AND b.tp_id = c.tp_id
AND c.tan = d.tan
AND a.id = '$username_kand'
AND c.tan= '$tan'
AND c.aktiv = 'A'
ORDER BY b.tk_id DESC
LIMIT 1");
$row_anzerg = $result_anzerg->fetch_array();
if($row_anzerg['Anz'] == 0){
# Keine Ergebnisse erfasst
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=5\">";
exit;
}
if($row_best['bestanden'] == 0){
# Durchgefallen
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=6\">";
exit;
}
$result = $db->query("SELECT a.ka_id, a.id, c.tp_id, c.tan, c.tinyurl
FROM dvm_kandidat a, dvm_term_kand b, dvm_tanpool c
WHERE a.ka_id = b.ka_id
AND b.tp_id = c.tp_id
AND a.id = '$username_kand'
AND c.tan= '$tan'
AND c.aktiv = 'A'
LIMIT 1");
$row = $result->fetch_array();
$_SESSION["ka_id"] = $row['ka_id'];
$result_fin = $db->query("SELECT max(upload_dat) upload_dat
FROM dvm_upload
WHERE ka_id = '$row[ka_id]'");
$row_fin = $result_fin->fetch_array();
if ($username_kand != strtoupper($row['id'])) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
exit;
}
// Passwort falsch
elseif ($tan != $row['tan']) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
exit;
}
// Schon hochgeladen
elseif ($row_fin['upload_dat'] != "" AND $row_fin['upload_dat'] != '0000-00-00 00:00:00') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=4\">";
exit;
}
}
# Fehler beim Upload anzeigen
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('index_error', 1);
if ($errorno == 1) {
$smarty->assign('index_error_text', "Es dürfen nur PDF Dateien hochgeladen werden.");
}
if ($errorno == 2) {
# Tabelle dvm_parameter
$size_mb = trim(get_parameter(12));
$smarty->assign('index_error_text', "Die Datei ist zu groß. Die Dateigröße darf max. $size_mb MB betragen.");
}
if ($errorno == 3) {
$smarty->assign('index_error_text', "Die Datei mit diesem Namen wurde bereits hochgeladen.");
}
if ($errorno == 4) {
# Tabelle dvm_parameter
$anz_dok = trim(get_parameter(13));
$smarty->assign('index_error_text', "Es dürfen maximal $anz_dok Dateien hochgeladen werden.");
}
if ($errorno == 5) {
$smarty->assign('index_error_text', "Es ist ein Fehler aufgetreten. Versuchen Sie es erneut oder kontaktieren Sie die Hochschule.");
}
if ($errorno == 10) {
$smarty->assign('index_error_text', "Sie müssen zunächst Dokumente hochloaden, bevor Sie zum nächsten Schritt gelangen.");
}
if ($errorno == 11) {
$smarty->assign('index_error_text', "Sie müssen allen Dokumenten eine Beschreibung zuweisen");
}
if ($errorno == 12) {
$smarty->assign('index_error_text', "Sie müssen den Bereich zur HZB Note korrekt ausfüllen");
}
if ($errorno == 13) {
$smarty->assign('index_error_text', "Es muss laut Dokumentenbeschreibung das Zeugnis mit der HZB Note hochgeladen sein, oder falls noch nicht vorhanden die letzten beiden Schulzeugnisse. Das HZB Zeugnis muss dennoch bis Bewerbungsschluss nachgereicht werden, sonst ist keine Zulassung möglich.");
}
if ($errorno == 14) {
$smarty->assign('index_error_text', "Es muss laut Dokumentenbeschreibung der Lebenslauf erfasst sein");
}
if ($errorno == 15) {
$smarty->assign('index_error_text', "Sie haben eine HZB Note erfasst. Sie müssen Schritt 3 mit Ja beantworten und eine Note eintragen");
}
if ($errorno == 16) {
$smarty->assign('index_error_text', "Sie haben eine zwei Zeugisse erfasst. Sie müssen Schritt 3 mit Nein beantworten und eine Note eintragen");
}
}
# Gespeicherte Werte
$query1 = "SELECT up_id, ka_id, file, beschreibung
FROM dvm_upload
WHERE ka_id = $row[ka_id]";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$basename = basename($row1['file']);
$username_kand = $_SESSION["username_kand"];
$rep = $username_kand . "_";
$row1['basename'] = str_replace($rep, '', $basename);
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
# Note / HZB erfasst?
$query_note = $db->query("SELECT hzb, zeugnisschnitt
FROM dvm_note
WHERE ka_id = $row[ka_id]");
$row_note = $query_note->fetch_array();
$row_cnt = $query_note->num_rows;
if($row_note['hzb'] == "0.00" AND $row_cnt > 0){
# Keine HZB Note erfasst
$durchschnitt = $row_note['zeugnisschnitt'];
$radio = "n";
$smarty->assign('hzb_radio', $radio);
$smarty->assign('hzb_durchschnitt', $durchschnitt);
$smarty->assign('hzb_hzbnote', "");
}elseif($row_note['zeugnisschnitt'] == "0.00" AND $row_cnt > 0){
$hzb = $row_note['hzb'];
$radio = "j";
$smarty->assign('hzb_radio', $radio);
$smarty->assign('hzb_durchschnitt', "");
$smarty->assign('hzb_hzbnote', $hzb);
}else{
$smarty->assign('hzb_radio', "");
$smarty->assign('hzb_hzbnote', "");
}
}
if ($action == 'upload') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
// https://www.tutorials.de/tutorials65420.html
#echo '<pre>', print_r($_POST, true), '</pre>';
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$einheit = "Byte"; // F&uuml;r die Efolgsmeldung.
$limitedext = array(
".pdf"
); //Erlaubte Dateieindung beim Upload
$extlimit = "yes"; //Do you want to limit the extensions of files uploaded
$ext = strrchr($name, '.');
if (($extlimit == "yes") && (!in_array($ext, $limitedext))) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=1\">";
exit;
}
# Tabelle dvm_parameter
$size_mb = trim(get_parameter(12));
$size_bt = $size_mb*1024*1024;
if ($size > $size_bt) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=2\">";
exit;
}
$name = str_replace(array("ä","ö","ü","ß","Ä","Ü","Ü"," "), array("ae","oe","ue","ss","Ae","Oe","Ue","_"), $name);
$ka_id = $_SESSION["ka_id"];
$neu = $username_kand . "_" . $name;
$result_exists = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE file = '$verz$neu'
AND ka_id = '$ka_id'");
$row_exists = $result_exists->fetch_array();
$result_anz = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE ka_id = '$ka_id'");
$row_anz = $result_anz->fetch_array();
if ($row_exists['Anz'] > 0) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=3\">";
exit;
}
# Tabelle dvm_parameter
$anz_dok = trim(get_parameter(13));
if ($row_anz['Anz'] >= $anz_dok) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=4\">";
exit;
}
# Datei hochladen
$datum_db =date("Y-m-d H:i:s");
move_uploaded_file("$tempname", "$verz$neu"); // Unterverzeichnisse wie folgt: copy("$tempname", "pdf/$neu");
$sql1 = $db->query("insert into dvm_upload (ka_id, file, dok_dat) VALUES('$ka_id', '$verz$neu', '$datum_db')");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld\">";
}
if ($action == 'del') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
function deleteFiles($datei)
{
if (@unlink($datei)) {
$error = TRUE;
} else {
$error = FALSE;
}
return $error;
}
$up_id = $_GET["up_id"];
$username_kand = $_SESSION["username_kand"];
$ka_id = $_SESSION["ka_id"];
$result_del = $db->query("SELECT file
FROM dvm_upload
WHERE ka_id = $ka_id
AND up_id= $up_id
AND ka_id IN (SELECT ka_id
FROM dvm_kandidat
WHERE id='$username_kand')
LIMIT 1;
");
$row_del = $result_del->fetch_array();
$del = deleteFiles($row_del['file']); // Dateien werden im Uploadverzeichnis gel&ouml;scht, falls noch welche darin w&auml;ren
if ($del) {
$sql1 = $db->query("DELETE FROM dvm_upload
WHERE ka_id = $ka_id
AND up_id= $up_id
AND ka_id IN (SELECT ka_id
FROM dvm_kandidat
WHERE id='$username_kand')");
}
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld\">";
}
if ($action == 'descr') {
################################################
# Speicherung der Dokumentenbeschreibung
################################################
// https://www.tutorials.de/tutorials65420.html
#echo '<pre>', print_r($_POST, true), '</pre>';
$username_kand = $_SESSION["username_kand"];
$query1 = "SELECT up_id
FROM dvm_upload
WHERE ka_id IN (SELECT ka_id
FROM dvm_kandidat
WHERE id='$username_kand')
AND upload_dat = '0000-00-00 00:00:00'";
$result1 = $db->query($query1) or die("Cannot execute query1c");
while ($row1 = $result1->fetch_array()) {
$id = "desc_".$row1['up_id'];
$beschreibung = $_POST[$id];
$sql1 = $db->query("UPDATE dvm_upload
SET beschreibung = '$beschreibung'
WHERE up_id = $row1[up_id]
");
}
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld\">";
}
if ($action == 'stelle') {
#echo '<pre>', print_r($_POST, true), '</pre>';
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
$ka_id = $_SESSION["ka_id"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
$result_anz = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE ka_id = '$ka_id'");
$row_anz = $result_anz->fetch_array();
if ($row_anz['Anz'] == 0) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=10\">";
exit;
}
#Dokumentenbeschreibung prüfen
$result_anzdescr = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE ka_id = $ka_id
AND beschreibung = ''");
$row_anzdescr = $result_anzdescr->fetch_array();
if($row_anzdescr['Anz'] > 0){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=11\">";
exit;
}
# HZB Frage ja / nein beantwortet
$result_anznote = $db->query("SELECT count(*) Anz
FROM dvm_note
WHERE ka_id = $ka_id");
$row_anznote = $result_anznote->fetch_array();
if($row_anznote['Anz'] == ""){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=12\">";
exit;
}
# Pflichtdokumente prüfen. Entweder letzte 2 Zeugnisse oder HZB Note
$result_anzzeug = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE ka_id = $ka_id
AND beschreibung = 'Zeugnis'");
$row_anzzeug = $result_anzzeug->fetch_array();
$result_anzhzb = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE ka_id = $ka_id
AND beschreibung = 'HZB'");
$row_anzhzb = $result_anzhzb->fetch_array();
if($row_anzzeug['Anz'] < 2 AND $row_anzhzb['Anz'] <> 1){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=13\">";
exit;
}
# Lebenslauf vorhanden
$result_anzleben = $db->query("SELECT count(*) Anz
FROM dvm_upload
WHERE ka_id = $ka_id
AND beschreibung = 'Lebenslauf'");
$row_anzleben = $result_anzleben->fetch_array();
if($row_anzleben['Anz'] < 1){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=14\">";
exit;
}
# Wenn HZB dann Ja in Schritt 3
# Wenn keine HZB dann Nein in Schritt 3
$result_hzbnote = $db->query("SELECT hzb
FROM dvm_note
WHERE ka_id = $ka_id");
$row_hzbnote = $result_hzbnote->fetch_array();
if($row_hzbnote['hzb'] == "0.00" AND $row_anzhzb['Anz'] > 0){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=15\">";
exit;
}
$result_schnitt = $db->query("SELECT zeugnisschnitt
FROM dvm_note
WHERE ka_id = $ka_id");
$row_schnitt = $result_schnitt->fetch_array();
if($row_schnitt['zeugnisschnitt'] == "0.00" AND $row_anzzeug['Anz'] > 0 AND $row_anzhzb['Anz'] == 0){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=16\">";
exit;
}
$query1 = "SELECT a.dst_id, bez, plz, ort
FROM dvm_dienststellen a
WHERE a.dst_id NOT IN (SELECT dst_id
FROM dvm_dst_wunsch
WHERE ka_id = '$ka_id'
)
AND (gueltig_von <= date_format(now(), '%Y-%m-%d') OR gueltig_von = '0000-00-00')
AND (gueltig_bis >= date_format(now(), '%Y-%m-%d') OR gueltig_bis = '0000-00-00')
ORDER BY bez ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
# Gespeicherte Werte
$query2 = "SELECT a.wu_id, b.bez, b.str, b.plz, b.ort, b.mail
FROM dvm_dst_wunsch a, dvm_dienststellen b
WHERE a.dst_id = b.dst_id
AND a.ka_id = $ka_id";
$result2 = $db->query($query2) or die("Cannot execute query2b");
while ($row2 = $result2->fetch_array()) {
$table_data2[] = $row2;
}
$smarty->assign('table_data2', $table_data2);
# Tabelle dvm_parameter
$anz_stellen = trim(get_parameter(14));
$smarty->assign('index_stelle_anz', $anz_stellen);
# Ggf. Wahl der Standardhochschule wenn diese nicht über PLZ zugeordnet werden kann.
$result_hs = $db->query("SELECT a.ka_id, anrede, vorname, nachname, str, plz, ort, date_format(login_dat, '%d.%m.%Y - %H:%i') login_dat_form, a.id, c.tan
FROM dvm_kandidat a, dvm_term_kand b, dvm_tanpool c
WHERE a.ka_id = b.ka_id
AND b.tp_id = c.tp_id
AND a.id = '$username_kand'
AND c.tan= '$tan'
LIMIT 1");
$row_hs = $result_hs->fetch_array();
$hochschule = standard_hs($row_hs['plz']);
if($hochschule == 'NA'){
$smarty->assign('index_wahl_prx', 1);
}else{
$smarty->assign('index_wahl_prx', 0);
}
# Fehler bei Praxisstellenwahl anzeigen
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('index_error', 1);
if ($errorno == 1) {
$smarty->assign('index_error_text', "Es dürfen maximal $anz_stellen Stellen gewählt werden.");
}
if ($errorno == 2) {
$smarty->assign('index_error_text', "Sie müssen zuerst eine Stelle aud der Dropdownliste markieren.");
}
}
}
if ($action == 'save_praxis') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
$ka_id = $_SESSION["ka_id"];
$dst_id = $_POST["stelle"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
// https://www.tutorials.de/tutorials65420.html
$result_anz = $db->query("SELECT count(*) Anz
FROM dvm_dst_wunsch
WHERE ka_id = '$ka_id'");
$row_anz = $result_anz->fetch_array();
# Tabelle dvm_parameter
$anz_stellen = trim(get_parameter(14));
if ($row_anz['Anz'] >= $anz_stellen) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle&error=1\">";
exit;
}
if ($dst_id == '') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle&error=2\">";
exit;
}
$heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: https://de2.php.net/manual/de/function.date.php
$datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll
$sql1 = $db->query("insert into dvm_dst_wunsch (dst_id, ka_id, datum) VALUES('$dst_id', '$ka_id', '$datum_db')");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle\">";
}
if ($action == 'del_stelle') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
$ka_id = $_SESSION["ka_id"];
$wu_id = $_GET["wu_id"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
$sql1 = $db->query("DELETE FROM dvm_dst_wunsch
WHERE ka_id = $ka_id
AND wu_id= $wu_id
AND ka_id IN (SELECT ka_id
FROM dvm_kandidat
WHERE id='$username_kand')");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle\">";
}
if ($action == 'hswahl') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
$ka_id = $_SESSION["ka_id"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
$smarty->assign('hsw_value_hs', $_SESSION["hochschule"]);
## Fehlerhandling
$error1 = $_GET['error1'];
if($error1 == 1){
$smarty->assign('index_error', 1);
if($error1 == 1){
$smarty->assign('index_error_text', 'Bitte wählen Sie zuerst eine Hochschule!');
}
}
}
if ($action == 'overview') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
$ka_id = $_SESSION["ka_id"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
# Ggf. Hat Wahl der Standardhochschule stattgefunden, wenn diese nicht über PLZ zugeordnet werden kann.
$result_hs = $db->query("SELECT a.ka_id, anrede, vorname, nachname, str, plz, ort, date_format(login_dat, '%d.%m.%Y - %H:%i') login_dat_form, a.id, c.tan
FROM dvm_kandidat a, dvm_term_kand b, dvm_tanpool c
WHERE a.ka_id = b.ka_id
AND b.tp_id = c.tp_id
AND a.id = '$username_kand'
AND c.tan= '$tan'
LIMIT 1");
$row_hs = $result_hs->fetch_array();
$hochschule = standard_hs($row_hs['plz']);
if($hochschule == 'NA'){
$smarty->assign('index_wahl_prx', 1);
if(isset($_POST['hs'])){
$hochschule = trim($_POST['hs']);
}else{
$hochschule = $_SESSION["hochschule"];
}
$smarty->assign('index_wahl_hs', $hochschule);
$_SESSION["hochschule"] = $hochschule;
if ($hochschule == '') {
$error1=1;
$error=true;
}
if(isset($error)){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=hswahl&error1=$error1\">";
exit;
}
}else{
$smarty->assign('index_wahl_prx', 0);
}
# Gespeicherte Werte
$query1 = "SELECT up_id, ka_id, file, beschreibung
FROM dvm_upload
WHERE ka_id = $ka_id";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$basename = basename($row1['file']);
$username_kand = $_SESSION["username_kand"];
$rep = $username_kand . "_";
$row1['basename'] = str_replace($rep, '', $basename);
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
# Gespeicherte Werte
$query2 = "SELECT a.wu_id, b.bez, b.str, b.plz, b.ort, b.mail
FROM dvm_dst_wunsch a, dvm_dienststellen b
WHERE a.dst_id = b.dst_id
AND a.ka_id = $ka_id";
$result2 = $db->query($query2) or die("Cannot execute query2c");
while ($row2 = $result2->fetch_array()) {
$table_data2[] = $row2;
}
$smarty->assign('table_data2', $table_data2);
}
if ($action == 'save') {
$username_kand = $_SESSION["username_kand"];
$tan = $_SESSION["tan"];
if ($username_kand == "" OR $tan == "") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
exit;
}
$ka_id = $_SESSION["ka_id"];
$query2 = "SELECT up_id, ka_id, file, beschreibung
FROM dvm_upload
WHERE ka_id = $ka_id";
$result2 = $db->query($query2) or die("Cannot execute query2d");
$heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: https://de2.php.net/manual/de/function.date.php
$datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll
while ($row2 = $result2->fetch_array()) {
$files = $row2['file'];
$basename = basename($files);
$destination = '../uploads/';
$rename_file = $destination . $basename;
$admindir = '../uploads/' . $basename;
rename($files, $rename_file);
$sql1 = $db->query("UPDATE dvm_upload
SET file = '$admindir'
, upload_dat = '$datum_db'
WHERE up_id = $row2[up_id]
");
if (!$sql1) {
$err = 1;
}
}
# Mailversand
$query1 = "SELECT a.wu_id, b.bez, b.str, b.plz, b.ort, b.mail, init_tan, b.dst_id, register_dat
FROM dvm_dst_wunsch a, dvm_dienststellen b
WHERE a.dst_id = b.dst_id
AND a.ka_id = $ka_id";
$result1 = $db->query($query1) or die("Cannot execute query1");
$result_hs = $db->query("SELECT anrede, plz
FROM dvm_kandidat
WHERE ka_id = '$ka_id'");
$row_hs = $result_hs->fetch_array();
# Standardhochschule
$hochschule = standard_hs($row_hs['plz']);
if($hochschule == 'NA'){
$hochschule = $_SESSION["hochschule"];
}else{
$hochschule = $hochschule;
}
# Initialtan erforderlich für Login?
$result_tan = $db->query("SELECT anrede, plz
FROM dvm_kandidat
WHERE ka_id = '$ka_id'");
$row_tan = $result_tan->fetch_array();
$sql0 = $db->query("UPDATE dvm_kandidat
SET hochschule = '$hochschule'
WHERE ka_id = '$ka_id'
");
if($hochschule == 'Ludwigsburg'){
$anschrift = 'Reuteallee 36<br>71634 Ludwigsburg';
$sender = "Hochschule Ludwigsburg";
$sendermail = get_parameter(8);
}elseif($hochschule == 'Kehl'){
$anschrift = 'Kinzigallee 1<br>77694 Kehl';
$sender = "Hochschule Kehl";
$sendermail = get_parameter(7);
}
$link_arzt = 'https://www.gesundheitsamt-bw.de/lga/DE/Service/Gesundheitliche_Eignung_Verbeamtung/Seiten/default.aspx';
$link = 'https://www.hs-ludwigsburg.de/kurs/dvm/praxisstelle/index.php';
$link_register = 'https://www.hs-ludwigsburg.de/kurs/dvm/praxisstelle/register.php';
#########################################################
## dieselbe Mail ist auch in /admin/bewerber_daten.php
#########################################################
while ($row1 = $result1->fetch_array()) {
# Initialtan erforderlich für Login?
if ($row1['init_tan'] == ''){
$tan = tangen();
$sql0 = $db->query("UPDATE dvm_dienststellen
SET init_tan = '$tan'
WHERE dst_id = '$row1[dst_id]'
");
}else{
$tan = "";
}
$empfaenger = "$row1[mail]";
$betreff = "Bewerbung zur praktischen Ausbildung DVM";
if($row_hs['anrede'] != 'W'){
# männliche Version
$text = "Sehr geehrte Damen und Herren,<br>
<br>
an unserer Hochschule ist eine Bewerbung für den Studiengang Digitales Verwaltungsmanagement (DVM) eingegangen.
Der Bewerber hat Sie als eine seiner Wunschausbildungsstellen angegeben. ";
if($tan == ""){
$text .="
Sie erhalten einen Link für den Download der Bewerbungsunterlagen:
<br>
<br>
<a href='$link'>$link</a>";
}
if($tan != ""){
$text .="
<br>
<br>
Bitte registrieren Sie Ihre Praxisstelle zunächst mit folgenden Logindaten:<br>
<b>Registrierung:</b> $link_register<br>
<b>Benutzername:</b> $empfaenger<br>
<b>Einmalpasswort:</b> $tan
";
}
$text .="
<br>
<br>
Nach § 7 Absatz 4 APrOdigVwm gD führen die Ausbildungsstellen vor ihrer Auswahlentscheidung ein persönliches Gespräch mit den Bewerberinnen und Bewerbern.
Die Einladung zur Vorstellung (§ 7 Absatz 3 APrOdigVwm gD) erfolgt durch die Wunschausbildungsstellen. Sie teilen der zuständigen Hochschule unverzüglich schriftlich ihre Entscheidung mit.
<br>
Sollten Sie sich für den Bewerber entscheiden, ist dieser darauf hinzuweisen, unverzüglich
<ul>
<li>ein ärztliches Zeugnis über die erforderliche gesundheitliche Eignung (nicht älter als sechs Monate, eine Übersicht der hierfür zugelassenen Ärzte finden Sie unter
<a href='$link_arzt'>$link_arzt</a>) sowie</li>
<li>ein Führungszeugnis zur Vorlage bei einer Behörde (§ 30 Absatz 5 des Bundeszentralregistergesetzes) nicht älter als drei Monate,</li>
</ul>
der Hochschule zu übermitteln.
<br><br>
Bitte teilen Sie dem Bewerber mit, dass er nur dann einen Ausbildungsplatz bei Ihnen erhalten kann, wenn er eine endgültige Zulassung für einen Studienplatz durch die Hochschule erhält.
<br><br>
Freundliche Grüße
<br><br>
Ihre Hochschule $hochschule
<br>
$anschrift
<br>
<p>
Diese Mail wurde automatisch generiert!<br />
Antworten Sie daher nicht auf diese Mail.<br />
<br />
Vielen Dank!
</body>
</html>";
}else{
# weibliche Version
$text = "Sehr geehrte Damen und Herren,<br>
<br>
an unserer Hochschule ist eine Bewerbung für den Studiengang Digitales Verwaltungsmanagement (DVM) eingegangen.
Die Bewerberin hat Sie als eine ihrer Wunschausbildungsstellen angegeben. ";
if($tan == ""){
$text .="
Sie erhalten einen Link für den Download der Bewerbungsunterlagen:
<br>
<br>
<a href='$link'>$link</a>";
}
if($tan != ""){
$text .="
<br>
<br>
Bitte registrieren Sie Ihre Praxisstelle zunächst mit folgenden Logindaten:<br>
<b>Registrierung:</b> $link_register<br>
<b>Benutzername:</b> $empfaenger<br>
<b>Einmalpasswort:</b> $tan
";
}
$text .="
<br>
<br>
Nach § 7 Absatz 4 APrOdigVwm gD führen die Ausbildungsstellen vor ihrer Auswahlentscheidung ein persönliches Gespräch mit den Bewerberinnen und Bewerbern.
Die Einladung zur Vorstellung (§ 7 Absatz 3 APrOdigVwm gD) erfolgt durch die Wunschausbildungsstellen. Sie teilen der zuständigen Hochschule unverzüglich schriftlich ihre Entscheidung mit.
<br>
Sollten Sie sich für die Bewerberin entscheiden, ist diese darauf hinzuweisen, unverzüglich
<ul>
<li>ein ärztliches Zeugnis über die erforderliche gesundheitliche Eignung (nicht älter als sechs Monate, eine Übersicht der hierfür zugelassenen Ärzte finden Sie unter
<a href='$link_arzt'>$link_arzt</a>) sowie</li>
<li>ein Führungszeugnis zur Vorlage bei einer Behörde (§ 30 Absatz 5 des Bundeszentralregistergesetzes) nicht älter als drei Monate,</li>
</ul>
der Hochschule zu übermitteln.
<br><br>
Bitte teilen Sie der Bewerberin mit, dass sie nur dann einen Ausbildungsplatz bei Ihnen erhalten kann, wenn sie eine endgültige Zulassung für einen Studienplatz durch die Hochschule erhält.
<br><br>
Freundliche Grüße
<br><br>
Ihre Hochschule $hochschule
<br>
$anschrift
<br>
<p>
Diese Mail wurde automatisch generiert!<br />
Antworten Sie daher nicht auf diese Mail.<br />
<br />
Vielen Dank!
</body>
</html>";
}
#echo "
#From: $sender - $sendermail<br>
#$empfaenger<br>
#$betreff<br>
#$text<br><hr>";
## Mailversand:
$headers = "From: $sender <$sendermail>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$return = @mail($empfaenger, $betreff, $text, $headers);
$datum_db =date("Y-m-d H:i:s");
$text_db = addslashes($text);
if($return){
$sql1 = $db->query("UPDATE dvm_dst_wunsch
SET mail_text = '$text_db'
, mail_betreff = '$betreff'
, status = 'V'
, sendedat = '$datum_db'
WHERE wu_id = $row1[wu_id]
");
}else{
$sql1 = $db->query("UPDATE dvm_dst_wunsch
SET mail_text = '$text_db'
, mail_betreff = '$betreff'
, status = 'F'
WHERE wu_id = $row1[wu_id]
");
$err = 2;
}
}
if (!isset($err)) {
#echo "destroy1";
session_destroy();
} else {
#echo "destroy2";
session_destroy();
# echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=5\">";
# exit;
}
}
$smarty->assign('action', "$action");
$smarty->display("$template/upload/$templatename");
?>