prognose_ludwigsburg/user_bearbeiten.php
2023-04-26 13:17:21 +02:00

358 lines
12 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_schulbearb','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 = 'user_bearbeiten_';
$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 == ''){
#$db = dbconnect();
$query = "SELECT userid, vorname, nachname
FROM users
ORDER BY nachname ASC";
$result = $db->query( $query)
or die ("Cannot execute query");
while ($row = $result->fetch_array()){
$bezeichnung ="$row[nachname], $row[vorname]";
$row['bezeichnung'] = $bezeichnung;
$value_while[] = $row;
}
$smarty->assign('table_data', $value_while);
}
if($action == 'stammdaten'){
# Daten aus Startseite speichern
if(isset($_POST['benutzer'])){
$_SESSION["user_bearbeiten_userid"] = $_POST['benutzer'];
}else{
if(!isset($_SESSION["user_bearbeiten_userid"])){
$_SESSION["user_bearbeiten_userid"] = "";
}
}
# Daten aus Startseite speichern ENDE
if($_SESSION["user_bearbeiten_userid"] == ""){
$smarty->assign('user_bearbeiten_mandatory_auswahl', "1");
}else{
$smarty->assign('user_bearbeiten_mandatory_auswahl', "2");
# Daten aufbereiten für Zurückbutton
if(isset($_SESSION["user_bearbeiten_vorname"])){
$smarty->assign('user_bearbeiten_vorname', $_SESSION["user_bearbeiten_vorname"]);
}else{
#$db = dbconnect();
$result_data = $db->query("SELECT vorname FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_data = $result_data->fetch_array();
$_SESSION["user_bearbeiten_vorname"] = "$row_data[vorname]";
$smarty->assign('user_bearbeiten_vorname', $_SESSION["user_bearbeiten_vorname"]);
}
if(isset($_SESSION["user_bearbeiten_nachname"])){
$smarty->assign('user_bearbeiten_nachname', $_SESSION["user_bearbeiten_nachname"]);
}else{
#$db = dbconnect();
$result_data = $db->query("SELECT nachname FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_data = $result_data->fetch_array();
$_SESSION["user_bearbeiten_nachname"] = "$row_data[nachname]";
$smarty->assign('user_bearbeiten_nachname', $_SESSION["user_bearbeiten_nachname"]);
}
if(isset($_SESSION["user_bearbeiten_religionspflicht"])){
$smarty->assign('user_bearbeiten_religionspflicht_check', $_SESSION["user_bearbeiten_religionspflicht"]);
}else{
#$db = dbconnect();
$result_data = $db->query("SELECT religionspflicht FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_data = $result_data->fetch_array();
if($row_data['religionspflicht'] == 'J'){
$smarty->assign('user_bearbeiten_religionspflicht_check', 'J');
}else{
$smarty->assign('user_bearbeiten_religionspflicht_check', 'N');
}
$_SESSION["user_bearbeiten_religionspflicht"] = "$row_data[religionspflicht]";
$smarty->assign('user_bearbeiten_religionspflicht', $_SESSION["user_bearbeiten_religionspflicht"]);
}
if(isset($_SESSION["user_bearbeiten_religionskenner"])){
$smarty->assign('user_bearbeiten_religionskenner_check', $_SESSION["user_bearbeiten_religionskenner"]);
}else{
#$db = dbconnect();
$result_data = $db->query("SELECT upper(religionskenner) religionskenner FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_data = $result_data->fetch_array();
if($row_data['religionskenner'] == ''){
$smarty->assign('user_bearbeiten_religionskenner_check', '');
}
if($row_data['religionskenner'] == 'EV'){
$smarty->assign('user_bearbeiten_religionskenner_check', 'EV');
}
if($row_data['religionskenner'] == 'RK'){
$smarty->assign('user_bearbeiten_religionskenner_check', 'RK');
}
$_SESSION["user_bearbeiten_religionskenner"] = "$row_data[religionskenner]";
$smarty->assign('user_bearbeiten_religionskenner', $_SESSION["user_bearbeiten_religionskenner"]);
}
if(isset($_SESSION["user_bearbeiten_mail"])){
$smarty->assign('user_bearbeiten_mail', $_SESSION["user_bearbeiten_mail"]);
}else{
#$db = dbconnect();
$result_data = $db->query("SELECT mail FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_data = $result_data->fetch_array();
$_SESSION["user_bearbeiten_mail"] = "$row_data[mail]";
$smarty->assign('user_bearbeiten_mail', $_SESSION["user_bearbeiten_mail"]);
}
# Daten aufbereiten für Zurückbutton ENDE
}
}
if($action == 'passwort'){
# Daten aus Stammdaten speichern
if(isset($_POST['vorname'])){
$_SESSION["user_bearbeiten_vorname"] = $_POST['vorname'];
}
if(isset($_POST['nachname'])){
$_SESSION["user_bearbeiten_nachname"] = $_POST['nachname'];
}
if(isset($_POST['religionspflicht'])){
$_SESSION["user_bearbeiten_religionspflicht"] = $_POST['religionspflicht'];
}
if(isset($_POST['religionskenner'])){
$_SESSION["user_bearbeiten_religionskenner"] = $_POST['religionskenner'];
}
if(isset($_POST['mail'])){
$_SESSION["user_bearbeiten_mail"] = $_POST['mail'];
}
# Daten aus Stammdaten speichern ENDE
# Daten aufbereiten für Zurückbutton
if(isset($_SESSION["user_bearbeiten_passwort"])){
$smarty->assign('user_bearbeiten_passwort_check', $_SESSION["user_bearbeiten_passwort"]);
}else{
# Standardwert auf N
$smarty->assign('user_bearbeiten_passwort_check', "N");
}
# Daten aufbereiten für Zurückbutton ENDE
# Daten aus Profil speichern
if(isset($_POST['profil'])){
$_SESSION["user_bearbeiten_profil"] = $_POST['profil'];
}
}
if($action == 'inaktiv'){
# Daten aufbereiten für Zurückbutton
if(isset($_SESSION["user_bearbeiten_inaktiv"])){
$smarty->assign('user_bearbeiten_inaktiv_check', $_SESSION["user_bearbeiten_inaktiv"]);
}else{
$result_data = $db->query("SELECT inaktiv FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_data = $result_data->fetch_array();
$_SESSION["user_bearbeiten_inaktiv"] = $row_data['inaktiv'];
$smarty->assign('user_bearbeiten_inaktiv_check', $_SESSION["user_bearbeiten_inaktiv"]);
}
# Daten aufbereiten für Zurückbutton ENDE
# Daten aus Passwort speichern
if(isset($_POST['passwort'])){
$_SESSION["user_bearbeiten_passwort"] = $_POST['passwort'];
}
# Daten aus Passwort speichern ENDE
}
if($action == 'overview'){
# Daten aus "inaktiv" speichern
if(isset($_POST['inaktiv'])){
$_SESSION["user_bearbeiten_inaktiv"] = $_POST['inaktiv'];
}
# Daten aus "inaktiv" speichern ENDE
#echo "<hr>";
#echo nl2br(print_r($_SESSION,true));
#echo "<hr>";
if($_SESSION["user_bearbeiten_religionspflicht"] == 'J'){
$religionspflicht = "Ja";
}else{
$religionspflicht = "Nein";
}
if($_SESSION["user_bearbeiten_religionskenner"] == ''){
$religionskenner = "Nicht religionspflichtig";
}
if($_SESSION["user_bearbeiten_religionskenner"] == 'EV'){
$religionskenner = "Evangelisch";
}
if($_SESSION["user_bearbeiten_religionskenner"] == 'RK'){
$religionskenner = "R&ouml;misch katholisch";
}
if($_SESSION["user_bearbeiten_passwort"] == 'J'){
$passwd = "Ja";
}else{
$passwd = "Nein";
}
if($_SESSION["user_bearbeiten_inaktiv"] == 'J'){
$inaktiv = "Ja";
}else{
$inaktiv = "Nein";
}
$result_uid = $db->query("SELECT user FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_uid = $result_uid->fetch_array();
$smarty->assign('user_bearbeiten_vorname', $_SESSION["user_bearbeiten_vorname"]);
$smarty->assign('user_bearbeiten_nachname', $_SESSION["user_bearbeiten_nachname"]);
$smarty->assign('user_bearbeiten_religionspflicht', $religionspflicht);
$smarty->assign('user_bearbeiten_religionskenner', $religionskenner);
$smarty->assign('user_bearbeiten_user', $row_uid["user"]);
$smarty->assign('user_bearbeiten_mail', $_SESSION["user_bearbeiten_mail"]);
$smarty->assign('user_bearbeiten_passwort', $passwd);
$smarty->assign('user_bearbeiten_inaktiv', $inaktiv);
}
if($action == 'save'){
# dt_patrone
$bearbeiten_vorname = trim($_SESSION["user_bearbeiten_vorname"]);
$bearbeiten_nachname = trim($_SESSION["user_bearbeiten_nachname"]);
$bearbeiten_mail = trim($_SESSION["user_bearbeiten_mail"]);
$bearbeiten_religionspflicht = trim($_SESSION["user_bearbeiten_religionspflicht"]);
$bearbeiten_religionskenner = trim($_SESSION["user_bearbeiten_religionskenner"]);
#$db = dbconnect();
$result_uid = $db->query("SELECT user, date_format(geburtstag, '%d%m%Y') passwort FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_uid = $result_uid->fetch_array();
$benutzerkennung = $row_uid["user"];
$passwortcheck = $_SESSION["user_bearbeiten_passwort"];
$inaktiv = $_SESSION["user_bearbeiten_inaktiv"];
$userid = $_SESSION["user_bearbeiten_userid"];
# Profil
$bearbeiten_profil = $_SESSION["user_bearbeiten_profil"];
$bearbeiten_profil_rozuid = $_SESSION["user_bearbeiten_profil_rozuid"];
if($passwortcheck == "J"){
$passwd = md5($row_uid['passwort']);
}else{
#$db = dbconnect();
$result_pwd = $db->query("SELECT passwort FROM users WHERE userid='$_SESSION[user_bearbeiten_userid]'");
$row_pwd = $result_pwd->fetch_array();
$passwd = $row_pwd['passwort'];
$pw_expire = $row_pwd['pw_expire']; // ISO-8601 Format
}
$sql1 = $db->query("UPDATE users
SET vorname = '$bearbeiten_vorname'
,nachname = '$bearbeiten_nachname'
,religionspflicht = '$bearbeiten_religionspflicht'
,religionskenner = '$bearbeiten_religionskenner'
,mail = '$bearbeiten_mail'
,passwort = '$passwd'
,inaktiv = '$inaktiv'
WHERE userid = '$userid'
");
if(!$sql1){
$error = TRUE;
$error_reason .= "Fehler beim anlegen von Stammdaten (schueler)<br>";
}else{
$error = FALSE;
}
if(!$error){
$smarty->assign('user_bearbeiten_inserterr', "2");
# Passwort wurde nicht geändert
$smarty->assign('user_bearbeiten_success', "1"); // Erfolgsmeldung ausgeben
}else{ // ELSE IF: Wenn Insert nicht geklappt hat
$smarty->assign('user_bearbeiten_inserterr', "1");
$smarty->assign('user_bearbeiten_reason', "$error_reason"); // Kein Mailversand
} // Ende IF : Insert hat geklappt
session_destroy();
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>