1349 lines
54 KiB
PHP
Executable File
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üssen alle Felder ausgefü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ü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öscht, falls noch welche darin wä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");
|
|
?>
|