375 lines
13 KiB
PHP
Executable File
375 lines
13 KiB
PHP
Executable File
<?php
|
|
/*
|
|
# Fuer debugging
|
|
error_reporting(E_ALL);
|
|
ini_set('display_errors', 1);
|
|
#echo __LINE__."<br>";
|
|
*/
|
|
|
|
include_once './classes/TestProjektSmarty.class.php';
|
|
$smarty = new Smarty();
|
|
require_once("./config.inc.php");
|
|
$template = "standard";
|
|
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
|
|
require_once "./language/german.inc.php";
|
|
require_once("func_rollenrechte.php");
|
|
|
|
|
|
// Rechteüberprüfung
|
|
#$db = dbconnect();
|
|
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
|
|
if(!rore($user_admin,'a_profbearb','RE')){echo "Keine Rechte";exit;}
|
|
// Rechteüberprüfung ende
|
|
|
|
|
|
|
|
session_start();
|
|
|
|
|
|
|
|
# Wenn Seite neu aufgerufen wird, dann alle Sessions, die mit "bearbeiten_" beginnen löschen
|
|
if(isset($_GET['new']) AND $_GET['new'] == 1){;
|
|
$search_prefix = 'anlegen_';
|
|
$search_len = strlen($search_prefix);
|
|
foreach( $_SESSION as $key => $value){
|
|
if ( substr( $key, 0, $search_len) == $search_prefix) {
|
|
unset( $_SESSION[$key]);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if(isset($_GET['action'])){
|
|
$action = $_GET['action'];
|
|
}else{
|
|
$action = '';
|
|
}
|
|
|
|
if($action == ''){
|
|
# Daten aufbereiten für Zurückbutton
|
|
if(isset($_SESSION["anlegen_titel"])){
|
|
$smarty->assign('prof_anlegen_titel', $_SESSION["anlegen_titel"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_vorname"])){
|
|
$smarty->assign('prof_anlegen_vorname', $_SESSION["anlegen_vorname"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_nachname"])){
|
|
$smarty->assign('prof_anlegen_nachname', $_SESSION["anlegen_nachname"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_mail"])){
|
|
$smarty->assign('prof_anlegen_mail', $_SESSION["anlegen_mail"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_gebtag_tag"])){
|
|
$smarty->assign('prof_anlegen_gebdat_tag', $_SESSION["anlegen_gebtag_tag"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_gebtag_mon"])){
|
|
$smarty->assign('prof_anlegen_gebdat_mon', $_SESSION["anlegen_gebtag_mon"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_gebtag_jahr"])){
|
|
$smarty->assign('prof_anlegen_gebdat_jahr', $_SESSION["anlegen_gebtag_jahr"]);
|
|
}
|
|
|
|
|
|
if(isset($_SESSION["anlegen_zugang_tag"])){
|
|
$smarty->assign('prof_anlegen_zugang_tag', $_SESSION["anlegen_zugang_tag"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_zugang_mon"])){
|
|
$smarty->assign('prof_anlegen_zugang_mon', $_SESSION["anlegen_zugang_mon"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_zugang_jahr"])){
|
|
$smarty->assign('prof_anlegen_zugang_jahr', $_SESSION["anlegen_zugang_jahr"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_weggang_tag"])){
|
|
$smarty->assign('prof_anlegen_weggang_tag', $_SESSION["anlegen_weggang_tag"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_weggang_mon"])){
|
|
$smarty->assign('prof_anlegen_weggang_mon', $_SESSION["anlegen_weggang_mon"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_weggang_jahr"])){
|
|
$smarty->assign('prof_anlegen_weggang_jahr', $_SESSION["anlegen_weggang_jahr"]);
|
|
}
|
|
|
|
|
|
if(isset($_SESSION["anlegen_tatsbes"])){
|
|
$smarty->assign('prof_anlegen_tatsbes', $_SESSION["anlegen_tatsbes"]);
|
|
}
|
|
if(isset($_SESSION["anlegen_tatsstufe"])){
|
|
$smarty->assign('prof_anlegen_tatsstufe', $_SESSION["anlegen_tatsstufe"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_zuweisung"])){
|
|
$smarty->assign('prof_anlegen_zuweisung', $_SESSION["anlegen_zuweisung"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_arbumfang"])){
|
|
$smarty->assign('prof_anlegen_arbumfang', $_SESSION["anlegen_arbumfang"]);
|
|
}
|
|
|
|
if(isset($_SESSION["anlegen_deltas"])){
|
|
$smarty->assign('prof_anlegen_deltas', $_SESSION["anlegen_deltas"]);
|
|
}
|
|
|
|
# Schleife über Besoldungszuweisung
|
|
$query4 = "SELECT bzid
|
|
, beschreibung
|
|
FROM prog_kat_besoldungszuweisung
|
|
ORDER BY bzid ASC";
|
|
|
|
$result4 = $db->query( $query4)
|
|
or die ("Cannot execute query4");
|
|
|
|
while ($row4 = $result4->fetch_array()){
|
|
$value_zuw[] = $row4;
|
|
}
|
|
$smarty->assign('table_data4', $value_zuw);
|
|
|
|
# Daten aufbereiten für Zurückbutton ENDE
|
|
}
|
|
|
|
if($action == 'overview'){
|
|
|
|
# Daten aus Startseite speichern
|
|
if(isset($_POST['titel'])){
|
|
$_SESSION["anlegen_titel"] = $_POST['titel'];
|
|
}
|
|
|
|
if(isset($_POST['vorname'])){
|
|
$_SESSION["anlegen_vorname"] = $_POST['vorname'];
|
|
}
|
|
|
|
if(isset($_POST['nachname'])){
|
|
$_SESSION["anlegen_nachname"] = $_POST['nachname'];
|
|
}
|
|
|
|
|
|
if(isset($_POST['besoldung'])){
|
|
$_SESSION["anlegen_tatsbes"] = $_POST['besoldung'];
|
|
if(substr($_POST['besoldung'],0,1) == 'W'){
|
|
# Bei W-Besoldung gibt es keine Stufen
|
|
$stufe =0;
|
|
}
|
|
|
|
if(substr($_POST['besoldung'],0,1) == 'A'){
|
|
$stufe = $_POST['stufeA'];
|
|
}
|
|
|
|
if(substr($_POST['besoldung'],0,1) == 'C'){
|
|
$stufe = $_POST['stufeC'];
|
|
}
|
|
$_SESSION["anlegen_tatsstufe"] = $stufe;
|
|
}
|
|
|
|
if(isset($_POST['umfang'])){
|
|
$_SESSION["anlegen_arbumfang"] = $_POST['umfang'];
|
|
}
|
|
|
|
if(isset($_POST['zuweisung'])){
|
|
$_SESSION["anlegen_zuweisung"] = $_POST['zuweisung'];
|
|
}
|
|
|
|
if(isset($_POST['delta'])){
|
|
$_SESSION["anlegen_deltas"] = $_POST['delta'];
|
|
}
|
|
|
|
if(isset($_POST['tag1'])){
|
|
$_SESSION["anlegen_gebtag_tag"] = $_POST['tag1'];
|
|
}
|
|
if(isset($_POST['mon1'])){
|
|
$_SESSION["anlegen_gebtag_mon"] = $_POST['mon1'];
|
|
}
|
|
if(isset($_POST['jahr1'])){
|
|
$_SESSION["anlegen_gebtag_jahr"] = $_POST['jahr1'];
|
|
}
|
|
|
|
if(isset($_POST['tag2'])){
|
|
$_SESSION["anlegen_zugang_tag"] = $_POST['tag2'];
|
|
}
|
|
if(isset($_POST['mon2'])){
|
|
$_SESSION["anlegen_zugang_mon"] = $_POST['mon2'];
|
|
}
|
|
if(isset($_POST['jahr2'])){
|
|
$_SESSION["anlegen_zugang_jahr"] = $_POST['jahr2'];
|
|
}
|
|
|
|
if(isset($_POST['tag3'])){
|
|
$_SESSION["anlegen_weggang_tag"] = $_POST['tag3'];
|
|
}
|
|
if(isset($_POST['mon3'])){
|
|
$_SESSION["anlegen_weggang_mon"] = $_POST['mon3'];
|
|
}
|
|
if(isset($_POST['jahr3'])){
|
|
$_SESSION["anlegen_weggang_jahr"] = $_POST['jahr3'];
|
|
}
|
|
|
|
|
|
# Daten aus Startseite speichern ENDE
|
|
|
|
|
|
if ($_SESSION["anlegen_nachname"] == ""
|
|
or $_SESSION["anlegen_vorname"] == ""
|
|
or $_SESSION["anlegen_tatsbes"] == ""
|
|
or $_SESSION["anlegen_arbumfang"] == ""
|
|
or $_SESSION["anlegen_deltas"] == ""
|
|
or $_SESSION["anlegen_gebtag_tag"] == ""
|
|
or $_SESSION["anlegen_gebtag_mon"] == ""
|
|
or $_SESSION["anlegen_gebtag_jahr"] == ""
|
|
or $_SESSION["anlegen_zugang_tag"] == ""
|
|
or $_SESSION["anlegen_zugang_mon"] == ""
|
|
or $_SESSION["anlegen_zugang_jahr"] == ""
|
|
or $_SESSION["anlegen_weggang_tag"] == ""
|
|
or $_SESSION["anlegen_weggang_mon"] == ""
|
|
or $_SESSION["anlegen_weggang_jahr"] == ""
|
|
){ // Fehler, falls Pflichtfelder unausgefüllt
|
|
$smarty->assign('prof_anlegen_mandatory', "1");
|
|
}else{
|
|
$smarty->assign('prof_anlegen_mandatory', "2");
|
|
|
|
if(isset($_SESSION['anlegen_profil'])){
|
|
|
|
$profil = $_SESSION['anlegen_profil'];
|
|
$bezeichnung_profil = "";
|
|
for ($i=0;$i<sizeof($profil);$i++) {
|
|
|
|
$result_profil = $db->query("SELECT bezeichnung FROM prog_admin_rolle WHERE rid='$profil[$i]'");
|
|
$row_profil = $result_profil->fetch_array();
|
|
|
|
$bezeichnung_profil .= "$row_profil[bezeichnung]<br>";
|
|
}
|
|
}
|
|
|
|
$bzid = $_SESSION["anlegen_zuweisung"];
|
|
$result_zuw = $db->query("SELECT beschreibung
|
|
FROM prog_kat_besoldungszuweisung
|
|
WHERE bzid ='$bzid'");
|
|
$row_zuw = $result_zuw->fetch_array();
|
|
|
|
$gebtag = $_POST['tag1'].".".$_POST['mon1'].".".$_POST['jahr1'];
|
|
$zugang = $_POST['tag2'].".".$_POST['mon2'].".".$_POST['jahr2'];
|
|
$weggang = $_POST['tag3'].".".$_POST['mon3'].".".$_POST['jahr3'];
|
|
|
|
$smarty->assign('prof_anlegen_titel', $_SESSION["anlegen_titel"]);
|
|
$smarty->assign('prof_anlegen_vorname', $_SESSION["anlegen_vorname"]);
|
|
$smarty->assign('prof_anlegen_nachname', $_SESSION["anlegen_nachname"]);
|
|
$smarty->assign('prof_anlegen_gebtag', $gebtag);
|
|
$smarty->assign('prof_anlegen_zugang', $zugang);
|
|
$smarty->assign('prof_anlegen_weggang', $weggang);
|
|
$smarty->assign('prof_anlegen_tatsbes', $_SESSION["anlegen_tatsbes"]);
|
|
$smarty->assign('prof_anlegen_tatsstufe', $_SESSION["anlegen_tatsstufe"]);
|
|
$smarty->assign('prof_anlegen_arbumfang', $_SESSION["anlegen_arbumfang"]);
|
|
$smarty->assign('prof_anlegen_zuweisung_desc', $row_zuw["beschreibung"]);
|
|
|
|
$smarty->assign('prof_anlegen_deltas', $_SESSION["anlegen_deltas"]);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if($action == 'save'){
|
|
|
|
# dt_patrone
|
|
$anlegen_titel = trim($_SESSION["anlegen_titel"]);
|
|
$anlegen_vorname = trim($_SESSION["anlegen_vorname"]);
|
|
$anlegen_nachname = trim($_SESSION["anlegen_nachname"]);
|
|
$anlegen_gebtag = trim($_SESSION["anlegen_gebtag_jahr"]."-".$_SESSION["anlegen_gebtag_mon"]."-".$_SESSION["anlegen_gebtag_tag"]);
|
|
$anlegen_zugang = trim($_SESSION["anlegen_zugang_jahr"]."-".$_SESSION["anlegen_zugang_mon"]."-".$_SESSION["anlegen_zugang_tag"]);
|
|
$anlegen_weggang = trim($_SESSION["anlegen_weggang_jahr"]."-".$_SESSION["anlegen_weggang_mon"]."-".$_SESSION["anlegen_weggang_tag"]);
|
|
$anlegen_tatsbes = trim($_SESSION["anlegen_tatsbes"]);
|
|
$anlegen_tatsstufe = trim($_SESSION["anlegen_tatsstufe"]);
|
|
$anlegen_arbumfang = trim($_SESSION["anlegen_arbumfang"]);
|
|
$bzid = trim($_SESSION["anlegen_zuweisung"]);
|
|
$anlegen_deltas = trim($_SESSION["anlegen_deltas"]);
|
|
|
|
# Profil
|
|
$anlegen_profil = $_SESSION["anlegen_profil"];
|
|
|
|
$result_vorh = $db->query("SELECT count(*) Anz FROM prog_professor WHERE doz_name='$anlegen_nachname' AND doz_vorname='$anlegen_vorname'");
|
|
#echo "SELECT count(*) Anz FROM prog_professor WHERE doz_name='$anlegen_nachname' AND doz_vorname='$anlegen_vorname'<br>";
|
|
$row_vorh = $result_vorh->fetch_array();
|
|
|
|
if($row_vorh['Anz'] > 0){
|
|
$smarty->assign('prof_anlegen_exists', "1");
|
|
}else{
|
|
$smarty->assign('prof_anlegen_exists', "2");
|
|
|
|
$passwd = md5($benutzerkennung);
|
|
$datum=date("Y-m-d H:i:s");
|
|
$pw_expire = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m")+1, date("d"), date("Y"))); // ISO-8601 Format
|
|
|
|
|
|
|
|
$sql1 = $db->query( "INSERT INTO prog_professor ( doz_titel
|
|
, doz_vorname
|
|
, doz_name
|
|
, geb_dat
|
|
, zugang
|
|
, weggang
|
|
, anz_zulagen
|
|
)
|
|
VALUES
|
|
( '$anlegen_titel'
|
|
, '$anlegen_vorname'
|
|
, '$anlegen_nachname'
|
|
, '$anlegen_gebtag'
|
|
, '$anlegen_zugang'
|
|
, '$anlegen_weggang'
|
|
, '$anlegen_deltas'
|
|
)
|
|
" );
|
|
$did = $db->insert_id;
|
|
|
|
$sql2 = $db->query( "INSERT INTO prog_professor_besoldung ( startdat
|
|
, did
|
|
, besoldung
|
|
, stufe
|
|
, bzid
|
|
)
|
|
VALUES
|
|
( '$anlegen_zugang'
|
|
, '$did'
|
|
, '$anlegen_tatsbes'
|
|
, '$anlegen_tatsstufe'
|
|
, '$bzid'
|
|
)
|
|
" );
|
|
|
|
|
|
$anlegen_arbumfang = str_replace(',','.',$anlegen_arbumfang);
|
|
$sql3 = $db->query( "INSERT INTO prog_professor_arbumfang ( startdat
|
|
, did
|
|
, prozent
|
|
)
|
|
VALUES
|
|
( '$anlegen_zugang'
|
|
, '$did'
|
|
, '$anlegen_arbumfang'
|
|
)
|
|
" );
|
|
|
|
|
|
|
|
if(!$sql1 or !$sql2 or !$sql3){
|
|
$error = TRUE;
|
|
$smarty->assign('prof_anlegen_inserterr', "1");
|
|
$smarty->assign('prof_anlegen_reason', "$error_reason"); // Kein Mailversand
|
|
$error_reason .= "Fehler beim anlegen von Stammdaten (prog_professor)<br>";
|
|
}else{
|
|
$error = FALSE;
|
|
$smarty->assign('prof_anlegen_inserterr', "2");
|
|
}
|
|
|
|
|
|
|
|
}
|
|
session_destroy();
|
|
}
|
|
|
|
|
|
$smarty->assign('action', "$action");
|
|
$smarty->display("$template/$templatename");
|
|
?>
|