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

1349 lines
54 KiB
PHP
Executable File

<?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 bpm_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 bpm_upload
WHERE up_id = $row_deldoc[up_id]
");
$sql1 = $db->query("DELETE FROM bpm_note
WHERE ka_id = $row_deldoc[ka_id]
");
$sql1 = $db->query("DELETE FROM bpm_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 bpm_kandidat a, bpm_term_kand b, bpm_tanpool c, bpm_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 bpm_kandidat a, bpm_term_kand b, bpm_tanpool c, bpm_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 bpm_kandidat a, bpm_term_kand b, bpm_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'];
# Notenskala oder Punkteskala anzeigen
if (isset($_SESSION["skala_j"]) OR isset($_SESSION["skala_n"])) {
$smarty->assign('skala_value_j', "Noten");
$smarty->assign('skala_value_n', $_SESSION["skala_n"]);
} else {
$result_note = $db->query("SELECT erfdat_hzb, erfdat_schnitt
FROM bpm_note
WHERE ka_id =$row[ka_id]");
$row_note = $result_note->fetch_array();
if ($row_note['erfdat_hzb'] != '0000-00-00 00:00:00') {
$smarty->assign('skala_value_n', "Noten");
} elseif ($row_note['erfdat_schnitt'] != '0000-00-00 00:00:00') {
$smarty->assign('skala_value_n', "Punkte");
} else {
# Defaultwert Notenskala
$smarty->assign('skala_value_n', "Noten");
}
}
$result_fin = $db->query("SELECT max(upload_dat) upload_dat
FROM bpm_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 bpm_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 bpm_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 Ihre letzten zwei Zeugnisse erfasst. Sie müssen Schritt 3 mit Nein beantworten und eine Note eintragen");
}
if ($errorno == 17) {
$smarty->assign('index_error_text', "Bitte prüfen Sie Ihre Eingabe. Die Werte müssen zwischen 1 und 15 Punkten liegen");
}
if ($errorno == 18) {
$smarty->assign('index_error_text', "Bitte prüfen Sie Ihre Eingabe. Die Note muss zwischen 1,0 und 6,0 liegen");
}
if ($errorno == 19) {
$smarty->assign('index_error_text', "Sie müssen bei vorliegender Schwerbehinderung ein Nachweis hochladen und ihn in der Dokumentenbeschreibung entsprechend kennzeichnen.");
}
if ($errorno == 20) {
$smarty->assign('index_error_text', "Sie müssen bei vorliegender Schwerbehinderung das entsprechende Häkchen in Schritt 1 setzen.");
}
if ($errorno == 21) {
$smarty->assign('index_error_text', "Sie müssen bei einer Verkürzung ein Nachweis hochladen und ihn in der Dokumentenbeschreibung entsprechend kennzeichnen.");
}
if ($errorno == 22) {
$smarty->assign('index_error_text', "Sie müssen bei einer Verkürzung das entsprechende Häkchen in Schritt 1 setzen.");
}
}
# Gespeicherte Werte
$query_zusatz = $db->query("SELECT behinderung, verkuerzung
FROM bpm_kandidat
WHERE ka_id = $row[ka_id]");
$row_zusatz = $query_zusatz->fetch_array();
$smarty->assign('zusatz_value_behinderung', $row_zusatz['behinderung']);
$smarty->assign('zusatz_value_verkuerzung', $row_zusatz['verkuerzung']);
$query1 = "SELECT up_id, ka_id, file, beschreibung
FROM bpm_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, hzb_punkte, zeugnisschnitt, zeugnisschnitt_punkte, erfdat_hzb, erfdat_schnitt
FROM bpm_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 AND $row_note['erfdat_schnitt'] != "0000-00-00 00:00:00") {
# Keine HZB Note erfasst
$radio = "n";
$smarty->assign('hzb_radio', $radio);
$smarty->assign('hzb_hzbnote', "");
if ($row_note['zeugnisschnitt_punkte'] == "0.00") {
$durchschnitt = $row_note['zeugnisschnitt'];
$smarty->assign('hzb_durchschnitt', $durchschnitt);
} else {
$durchschnitt = $row_note['zeugnisschnitt_punkte'];
$smarty->assign('hzb_durchschnitt', $durchschnitt);
}
} elseif ($row_note['zeugnisschnitt'] == "0.00" AND $row_cnt > 0 AND $row_note['erfdat_hzb'] != "0000-00-00 00:00:00") {
$radio = "j";
$smarty->assign('hzb_radio', $radio);
$smarty->assign('hzb_durchschnitt', "");
if ($row_note['hzb_punkte'] == "0.00") {
$hzb = $row_note['hzb'];
$smarty->assign('hzb_hzbnote', $hzb);
} else {
$hzb = $row_note['hzb_punkte'];
$smarty->assign('hzb_hzbnote', $hzb);
}
} elseif ($row_note['zeugnisschnitt'] == "0.00" AND $row_note['hzb'] == "0.00" AND $row_cnt > 0 AND $row_note['erfdat_hzb'] == "0000-00-00 00:00:00" AND $row_note['erfdat_schnitt'] == "0000-00-00 00:00:00") {
# Es wurde von Punkte auf Note oder umgekehrt gewechselt, dann übergabe
$hzbjn = $_GET['hzbjn'];
if ($hzbjn == 'j') {
$hzb = $row_note['hzb'];
$radio = "j";
$smarty->assign('hzb_radio', $radio);
$smarty->assign('hzb_durchschnitt', "");
} else {
$durchschnitt = $row_note['zeugnisschnitt'];
$radio = "n";
$smarty->assign('hzb_radio', $radio);
$smarty->assign('hzb_durchschnitt', $durchschnitt);
$smarty->assign('hzb_hzbnote', "");
}
$smarty->assign('hzb_hzbnote', $hzb);
} else {
$smarty->assign('hzb_radio', "");
$smarty->assign('hzb_hzbnote', "");
}
}
if ($action == 'zusatz') {
$ka_id = $_SESSION["ka_id"];
$behinderung = $_POST["behinderung"];
$verkuerzung = $_POST["verkuerzung"];
if ($behinderung != 'J') {
$behinderung = 'N';
}
if ($verkuerzung != 'J') {
$verkuerzung = 'N';
}
#Update
$sql1 = $db->query("UPDATE bpm_kandidat
SET behinderung = '$behinderung'
,verkuerzung = '$verkuerzung'
WHERE ka_id = '$ka_id'");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld\">";
}
if ($action == 'skala') {
$ka_id = $_SESSION["ka_id"];
$hzbjn = $_POST["hzb"];
$query_anz = $db->query("SELECT count(*) Anz
FROM bpm_note
WHERE ka_id = $ka_id");
$row_anz = $query_anz->fetch_array();
# Hier wird alles auf 0 gesetzt. Denn es findet intern nur eine Umrechnung von Punkte -> Noten statt. Wenn man wechselt, sollte es auch ander rum funktionieren. Aber da gibts keine Regelung, wie man umrechnet.
# Daher lieber alles auf 0 gesetzt, damit es für den Bewerber eindeutig ist
$hzbnote = "0.00";
$hzbpunkte = "0.00";
$durchschnittnote = "0.00";
$durchschnittpunkte = "0.00";
$erfdat_hzb = "0000-00-00 00:00:00";
$erfdat_schnitt = "0000-00-00 00:00:00";
if ($row_anz['Anz'] == 0) {
#Insert
$sql1 = $db->query("INSERT INTO bpm_note (ka_id, hzb, hzb_punkte, zeugnisschnitt, zeugnisschnitt_punkte, erfdat_hzb, erfdat_schnitt) VALUES('$ka_id', '$hzbnote', '$hzbpunkte', '$durchschnittnote', '$durchschnittpunkte', '$erfdat_hzb', '$erfdat_schnitt')");
} else {
#Update
$sql1 = $db->query("UPDATE bpm_note
SET hzb = '$hzbnote'
,hzb_punkte = '$hzbpunkte'
,zeugnisschnitt = '$durchschnittnote'
,zeugnisschnitt_punkte = '$durchschnittpunkte'
,erfdat_hzb = '$erfdat_hzb'
,erfdat_schnitt = '$erfdat_schnitt'
WHERE ka_id = '$ka_id'");
}
#$skala_j = $_POST['notenskala_j'];
$skala_n = $_POST['notenskala_n'];
#$_SESSION["skala_j"] = $skala_j;
$_SESSION["skala_n"] = $skala_n;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&hzbjn=$hzbjn\">";
}
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 bpm_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 bpm_upload
WHERE file = '$verz$neu'
AND ka_id = '$ka_id'");
$row_exists = $result_exists->fetch_array();
$result_anz = $db->query("SELECT count(*) Anz
FROM bpm_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 bpm_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 bpm_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 bpm_upload
WHERE ka_id = $ka_id
AND up_id= $up_id
AND ka_id IN (SELECT ka_id
FROM bpm_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 bpm_upload
WHERE ka_id = $ka_id
AND up_id= $up_id
AND ka_id IN (SELECT ka_id
FROM bpm_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 bpm_upload
WHERE ka_id IN (SELECT ka_id
FROM bpm_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 bpm_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 bpm_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 bpm_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 bpm_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 bpm_upload
WHERE ka_id = $ka_id
AND (beschreibung = 'Zeugnis 1' OR beschreibung = 'Zeugnis 2')");
$row_anzzeug = $result_anzzeug->fetch_array();
$result_anzhzb = $db->query("SELECT count(*) Anz
FROM bpm_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 bpm_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 4
# Wenn keine HZB dann Nein in Schritt 4
$result_hzbnote = $db->query("SELECT hzb, hzb_punkte, erfdat_hzb
FROM bpm_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;
}
# Handelt es sich um ein Zwischenzeugnis?
# Handelt es sich um erfasste Punkte oder Note
# Sind die Werte im gültigen Bereich?
if ($row_hzbnote['erfdat_hzb'] != "0000-00-00 00:00:00") {
# Zwischenzeugnis erfasst
if ($row_hzbnote['hzb_punkte'] != "0.00") {
# Punkte erfasst
if ($row_hzbnote['hzb_punkte'] < "1.00" or $row_hzbnote['hzb_punkte'] > "15.00") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=17\">";
exit;
}
} else {
# Noten erfasst
if ($row_hzbnote['hzb'] < "0.70" or $row_hzbnote['hzb'] > "6.00") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=18\">";
exit;
}
}
}
$result_schnitt = $db->query("SELECT zeugnisschnitt, zeugnisschnitt_punkte, erfdat_schnitt
FROM bpm_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;
}
# Handelt es sich um ein Zwischenzeugnis?
# Handelt es sich um erfasste Punkte oder Note
# Sind die Werte im gültigen Bereich?
if ($row_schnitt['erfdat_schnitt'] != "0000-00-00 00:00:00") {
# Zwischenzeugnis erfasst
if ($row_schnitt['zeugnisschnitt_punkte'] != "0.00") {
# Punkte erfasst
if ($row_schnitt['zeugnisschnitt_punkte'] < "1.00" or $row_schnitt['zeugnisschnitt_punkte'] > "15.00") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=17\">";
exit;
}
} else {
# Noten erfasst
if ($row_schnitt['zeugnisschnitt'] < "0.70" or $row_schnitt['zeugnisschnitt'] > "6.00") {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=18\">";
exit;
}
}
}
# Zusatzangaben Behinderung / Verkürzung mit entsprechendem Dokument vorhanden?
$result_behinderung = $db->query("SELECT behinderung
FROM bpm_kandidat
WHERE ka_id = $ka_id");
$row_behinderung = $result_behinderung->fetch_array();
$result_anzbehinderung = $db->query("SELECT count(*) Anz
FROM bpm_upload
WHERE ka_id = $ka_id
AND beschreibung = 'Nachweis Schwerbehinderung'");
$row_anzbehinderung = $result_anzbehinderung->fetch_array();
if ($row_behinderung['behinderung'] == 'J' AND $row_anzbehinderung['Anz'] < 1) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=19\">";
exit;
}
if ($row_anzbehinderung['Anz'] > 0 AND $row_behinderung['behinderung'] != 'J') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=20\">";
exit;
}
$result_verkuerzung = $db->query("SELECT verkuerzung
FROM bpm_kandidat
WHERE ka_id = $ka_id");
$row_verkuerzung = $result_verkuerzung->fetch_array();
$result_anzverkuerzung = $db->query("SELECT count(*) Anz
FROM bpm_upload
WHERE ka_id = $ka_id
AND beschreibung = 'Nachweis Verkürzung'");
$row_anzverkuerzung = $result_anzverkuerzung->fetch_array();
if ($row_verkuerzung['verkuerzung'] == 'J' AND $row_anzverkuerzung['Anz'] < 1) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=21\">";
exit;
}
if ($row_anzverkuerzung['Anz'] > 0 AND $row_verkuerzung['verkuerzung'] != 'J') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=anmeld&error=22\">";
exit;
}
# 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 bpm_kandidat a, bpm_term_kand b, bpm_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);
}
# Im Falle einer Verkürzung, dürfen keine Praxisstellen gewählt werden. Weiter zur HS Wahl oder Übersicht
if ($row_verkuerzung['verkuerzung'] == 'J') {
if ($hochschule == 'NA') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=hswahl\">";
exit;
} else {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=overview\">";
exit;
}
}
# $query1 = "SELECT a.dst_id, bez, plz, ort
# FROM bpm_dienststellen a
# WHERE a.dst_id NOT IN (SELECT dst_id
# FROM bpm_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')
# Warum ausgegraut? Hier sollte noch rein, dass nur registrierte DST angezeigt werden. Besprechen Videokonferenz
# 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 bpm_dst_wunsch a, bpm_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 bpm_parameter
$anz_stellen = trim(get_parameter(14));
$smarty->assign('index_stelle_anz', $anz_stellen);
# 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 bpm_dst_wunsch
WHERE ka_id = '$ka_id'");
$row_anz = $result_anz->fetch_array();
# Tabelle bpm_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 bpm_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 bpm_dst_wunsch
WHERE ka_id = $ka_id
AND wu_id= $wu_id
AND ka_id IN (SELECT ka_id
FROM bpm_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"];
# entsprechend Vor und zurückbuttons anzeigen
$result_hs = $db->query("SELECT verkuerzung
FROM bpm_kandidat
WHERE id = '$username_kand'
LIMIT 1");
$row_hs = $result_hs->fetch_array();
if ($row_hs['verkuerzung'] == 'J') {
$smarty->assign('index_wahl_prx', 0);
} else {
$smarty->assign('index_wahl_prx', 1);
}
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, verkuerzung
FROM bpm_kandidat a, bpm_term_kand b, bpm_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();
if ($row_hs['verkuerzung'] == 'J') {
$smarty->assign('index_wahl_prx', 0);
} else {
$smarty->assign('index_wahl_prx', 1);
}
$hochschule = standard_hs($row_hs['plz']);
if ($hochschule == 'NA') {
$smarty->assign('index_wahl_hochschule', 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_hochschule', 0);
}
# Gespeicherte Werte
$query1 = "SELECT up_id, ka_id, file, beschreibung
FROM bpm_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);
# Note / HZB erfasst?
$query_note = $db->query("SELECT hzb, hzb_punkte, zeugnisschnitt, zeugnisschnitt_punkte, erfdat_hzb, erfdat_schnitt
FROM bpm_note
WHERE ka_id = $ka_id");
$row_note = $query_note->fetch_array();
$row_cnt = $query_note->num_rows;
# 1) Wenn hbz_punkte, dann punkte ausgeben und errechnete Note
# 2) wenn hzb_note ohne punkte dann nur Note ausgeben
# 3) wenn zeugnisschnitt_punkte dann punkte ausgeben und errechnete Note
# 4) wenn zeugnisschnitt ohne punkte dann nur Note ausgeben
# 5) Wenn erfdat_schnitt dann Hinweis, dass hzb nachgereicht werden muss
#1
if ($row_note['hzb_punkte'] != "0.00" AND $row_note['erfdat_hzb'] != '0000-00-00 00:00:00') {
$smarty->assign('overview_zeugnisschnittpunkte', "");
$smarty->assign('overview_zeugnisschnittnote', "");
$smarty->assign('overview_hzbpunkte', round($row_note['hzb_punkte']));
$smarty->assign('overview_hzbnote', number_format($row_note['hzb'], 1, ',', '.'));
#5
$smarty->assign('overview_hinweis_hzb', 0);
}
#2
if ($row_note['hzb_punkte'] == "0.00" AND $row_note['hzb'] != "0.00" AND $row_note['erfdat_hzb'] != '0000-00-00 00:00:00') {
$smarty->assign('overview_zeugnisschnittpunkte', "");
$smarty->assign('overview_zeugnisschnittnote', "");
$smarty->assign('overview_hzbpunkte', "");
$smarty->assign('overview_hzbnote', number_format($row_note['hzb'], 1, ',', '.'));
#5
$smarty->assign('overview_hinweis_hzb', 0);
}
#3
if ($row_note['zeugnisschnitt_punkte'] != "0.00" AND $row_note['erfdat_schnitt'] != '0000-00-00 00:00:00') {
$smarty->assign('overview_hzbpunkte', "");
$smarty->assign('overview_hzbnote', "");
$smarty->assign('overview_zeugnisschnittpunkte', round($row_note['zeugnisschnitt_punkte']));
$smarty->assign('overview_zeugnisschnittnote', number_format($row_note['zeugnisschnitt'], 1, ',', '.'));
#5
$smarty->assign('overview_hinweis_hzb', 1);
}
#4
if ($row_note['zeugnisschnitt_punkte'] == "0.00" AND $row_note['zeugnisschnitt'] != "0.00" AND $row_note['erfdat_schnitt'] != '0000-00-00 00:00:00') {
$smarty->assign('overview_hzbpunkte', "");
$smarty->assign('overview_hzbnote', "");
$smarty->assign('overview_zeugnisschnittpunkte', "");
$smarty->assign('overview_zeugnisschnittnote', number_format($row_note['zeugnisschnitt'], 1, ',', '.'));
#5
$smarty->assign('overview_hinweis_hzb', 1);
}
# Gespeicherte Werte
$query2 = "SELECT a.wu_id, b.bez, b.str, b.plz, b.ort, b.mail
FROM bpm_dst_wunsch a, bpm_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 bpm_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 bpm_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 bpm_dst_wunsch a, bpm_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 bpm_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 bpm_kandidat
WHERE ka_id = '$ka_id'");
$row_tan = $result_tan->fetch_array();
$sql0 = $db->query("UPDATE bpm_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';
$link = 'https://www.hs-ludwigsburg.de/kurs/bpm/praxisstelle/index.php';
$link_register = 'https://www.hs-ludwigsburg.de/kurs/bpm/praxisstelle/register.php';
#########################################################
## dieselbe Mail ist auch in /admin/bewerber_daten.php
#########################################################
while ($row1 = $result1->fetch_array()) {
# Initialtan erforderlich für Login?, Falls eine neue Dienststelle ohne TAN vorhanden wäre. Inital habe alle DST eine TAN
if ($row1['init_tan'] == '') {
$tan = tangen();
$sql0 = $db->query("UPDATE bpm_dienststellen
SET init_tan = '$tan'
WHERE dst_id = '$row1[dst_id]'
");
} else {
$tan = "";
}
$empfaenger = "$row1[mail]";
$betreff = "Bewerbung zur praktischen Ausbildung BPM";
if ($row_hs['anrede'] != 'W') {
# männliche Version
$text = "Guten Tag,<br>
<br>
ein Bewerber hat Sie als Wunschausbildungsstelle für das Einführungspraktikum im Studiengang Public Management ausgewählt.<br>";
if ($tan == "") {
$text .= "
Sie erhalten einen Link für die Einsicht 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>
Die Ausbildungsstellen führen das Auswahlverfahren nach § 7 Absätze 3 und 4 APrOVw gD durch. Sollten Sie sich für den Bewerber und selbiger für Ihre Ausbildungsstelle entscheiden, teilt die Ausbildungsstelle der zuständigen Hochschule schnellstmöglich, jedoch bis spätestens 22. Juli des Jahres des Ausbildungsbeginns schriftlich Ihre Entscheidung mit.
<br>
Der Bewerber ist von Ihnen darauf hinzuweisen, sich um folgende personalrechtlichen Unterlagen zu bemühen und an Sie zu übersenden:
<ul>
<li>Ärztliches Zeugnis zum Nachweis der gesundheitlichen Eignung (es ist ein Attest von einer Ärztin oder eines Arztes, die vom Landesgesundheitsamt dafür bestimmt wurden notwendig. Eine Liste aller Ärzte finden Sie
unter: <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber. Die dafür anfallenden Kosten hat die Bewerberin oder der Bewerber selbst zu tragen. Dieses Zeugnis darf zu Ausbildungsbeginn nicht älter als 6 Monate sein),
</li>
<li>Erklärung über den Ausschluss eines aktuellen oder früheren Behandlungsverhältnisses (dies finden Sie unter <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber -> „Erklärung Ausschluss Behandlungsverhältnis“),
</li>
<li>Führungszeugnis <b>zur Vorlage bei einer Behörde nach § 30 Abs. 5 BZRG</b> (dieses Zeugnis darf keine Einträge enthalten und zu Ausbildungsbeginn nicht älter als 3 Monate sein).</li>
</ul>
<br>
Diese Unterlagen sind von Ihnen als Einstellungsvoraussetzungen <b>zum 1. September</b> des Einstellungsjahres zu prüfen. <u>Nach</u> Ausbildungsbeginn müssen diese Unterlagen an die Hochschule übersendet werden, diese sind die Grundlage für die spätere Ernennung in ein Beamtenverhältnis.
<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. Endgültige Zulassungen zum Studium können erst nach Abschluss der Bewerbungsphase und nach der Rückmeldefrist der Ausbildungsstellen (22. Juli des Jahres des Ausbildungsbeginns) erfolgen. Erst dann kann die finale Bewerberrangliste gebildet werden, die die Grundlage der Studienplatzvergabe darstellt. Das Nachrückverfahren kann in Einzelfällen wie bisher auch bis unmittelbar vor Praktikumsbeginn andauern.
<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 = "Guten Tag,<br>
<br>
eine Bewerberin hat Sie als Wunschausbildungsstelle für das Einführungspraktikum im Studiengang Public Management ausgewählt.<br>";
if ($tan == "") {
$text .= "
Sie erhalten einen Link für die Einsicht 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>
Die Ausbildungsstellen führen das Auswahlverfahren nach § 7 Absätze 3 und 4 APrOVw gD durch. Sollten Sie sich für die Bewerberin und selbige für Ihre Ausbildungsstelle entscheiden, teilt die Ausbildungsstelle der zuständigen Hochschule schnellstmöglich, jedoch bis spätestens 22. Juli des Jahres des Ausbildungsbeginns schriftlich Ihre Entscheidung mit.
<br>
Die Bewerberin ist von Ihnen darauf hinzuweisen, sich um folgende personalrechtlichen Unterlagen zu bemühen und an Sie zu übersenden:
<ul>
<li>Ärztliches Zeugnis zum Nachweis der gesundheitlichen Eignung (es ist ein Attest von einer Ärztin oder eines Arztes, die vom Landesgesundheitsamt dafür bestimmt wurden notwendig. Eine Liste aller Ärzte finden Sie
unter: <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber. Die dafür anfallenden Kosten hat die Bewerberin oder der Bewerber selbst zu tragen. Dieses Zeugnis darf zu Ausbildungsbeginn nicht älter als 6 Monate sein),
</li>
<li>Erklärung über den Ausschluss eines aktuellen oder früheren Behandlungsverhältnisses (dies finden Sie unter <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber -> „Erklärung Ausschluss Behandlungsverhältnis“),
</li>
<li>Führungszeugnis <b>zur Vorlage bei einer Behörde nach § 30 Abs. 5 BZRG</b> (dieses Zeugnis darf keine Einträge enthalten und zu Ausbildungsbeginn nicht älter als 3 Monate sein).</li>
</ul>
<br>
Diese Unterlagen sind von Ihnen als Einstellungsvoraussetzungen <b>zum 1. September</b> des Einstellungsjahres zu prüfen. <u>Nach</u> Ausbildungsbeginn müssen diese Unterlagen an die Hochschule übersendet werden, diese sind die Grundlage für die spätere Ernennung in ein Beamtenverhältnis.
<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. Endgültige Zulassungen zum Studium können erst nach Abschluss der Bewerbungsphase und nach der Rückmeldefrist der Ausbildungsstellen (22. Juli des Jahres des Ausbildungsbeginns) erfolgen. Erst dann kann die finale Bewerberrangliste gebildet werden, die die Grundlage der Studienplatzvergabe darstellt. Das Nachrückverfahren kann in Einzelfällen wie bisher auch bis unmittelbar vor Praktikumsbeginn andauern.
<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 bpm_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 bpm_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");
?>