<?php /* # Fuer debugging error_reporting(E_ALL); ini_set('display_errors', 1); #echo __LINE__."<br>"; */ include_once 'classes/lg-on_Smarty.class.php'; $smarty = new lgon_Smarty(); require_once("config.inc.php"); require_once("func_rollenrechte.php"); $templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; require_once "language/german.inc.php"; session_start(); require_once "func_genUser.php"; # 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]); } } } // 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_admanleg','RE')){require("lib/rechte.php");exit;} // Rechteüberprüfung ende if(isset($_GET['action'])){ $action = $_GET['action']; }else{ $action = ''; } if($action == ''){ # Daten aufbereiten für Zurückbutton if(isset($_SESSION["anlegen_vorname"])){ $smarty->assign('user_anlegen_vorname', $_SESSION["anlegen_vorname"]); } if(isset($_SESSION["anlegen_nachname"])){ $smarty->assign('user_anlegen_nachname', $_SESSION["anlegen_nachname"]); } if(isset($_SESSION["anlegen_mail"])){ $smarty->assign('user_anlegen_mail', $_SESSION["anlegen_mail"]); } # Daten aufbereiten für Zurückbutton ENDE } if($action == 'profil'){ # Daten aus Startseite speichern if(isset($_POST['vorname'])){ $_SESSION["anlegen_vorname"] = $_POST['vorname']; } if(isset($_POST['nachname'])){ $_SESSION["anlegen_nachname"] = $_POST['nachname']; } if(isset($_POST['mail'])){ $_SESSION["anlegen_mail"] = $_POST['mail']; } # Daten aus Startseite speichern ENDE if ($_SESSION["anlegen_mail"] == "" or $_SESSION["anlegen_nachname"] == "" or $_SESSION["anlegen_vorname"] == ""){ // Fehler, falls Pflichtfelder unausgefüllt $smarty->assign('user_anlegen_mandatory', "1"); }else{ $smarty->assign('user_anlegen_mandatory', "2"); $result_vorh = $db->query("SELECT count(*) Anz FROM admin WHERE mail=trim('$_SESSION[anlegen_mail]')"); $row_vorh = $result_vorh->fetch_array(); if($row_vorh['Anz'] > 0){ $smarty->assign('user_anlegen_exists', "1"); }else{ $smarty->assign('user_anlegen_exists', "2"); $db = dbconnect(); # Wenn jmd nur das Vorsteherrecht hat rid=4, dann darf er nur Standarduser vergeben $result_recht = $db->query("SELECT count(*) Anz FROM admin a, admin_rollen_user_zuord b WHERE user = '$user_admin' AND a.vaid=b.vaid AND rid = 4"); $row_recht = $result_recht->fetch_array(); # Wenn jmd das Adminrecht hat, sieht er auf die Rollenerklärung $result_recht1 = $db->query("SELECT count(*) Anz FROM admin a, admin_rollen_user_zuord b WHERE user = '$user_admin' AND a.vaid=b.vaid AND rid = 1"); $row_recht1 = $result_recht1->fetch_array(); $smarty->assign('user_anlegen_admin', "$row_recht1[Anz]"); if($row_recht['Anz'] != 1){ $query = "SELECT rid, bezeichnung FROM admin_rolle ORDER BY bezeichnung ASC"; $result = $db->query( $query) or die ("Cannot execute query1"); while ($row = $result->fetch_array()){ if(isset($_SESSION["anlegen_profil"])){ if(@in_array($row['rid'], $_SESSION["anlegen_profil"])){ $select = "Y"; }else{ $select = "N"; } }else{ $select = ""; } $row['select'] = $select; $value[] = $row; } }else{ # Vorseher darf nur Standardrecht sehen $query = "SELECT rid, bezeichnung FROM admin_rolle WHERE rid=2 ORDER BY bezeichnung ASC"; $result = $db->query( $query) or die ("Cannot execute query1"); while ($row = $result->fetch_array()){ if(isset($_SESSION["anlegen_profil"])){ $select = "Y"; }else{ $select = ""; } $row['select'] = $select; $value[] = $row; } } $smarty->assign('table_data', $value); } } } if($action == 'overview'){ # Daten aus Startseite speichern if(isset($_POST['profil'])){ $_SESSION["anlegen_profil"] = $_POST['profil']; }else{ unset($_SESSION["anlegen_profil"]); } # Daten aus Startseite speichern ENDE #echo "<hr>"; #echo nl2br(print_r($_SESSION,true)); #echo "<hr>"; if ($_SESSION["anlegen_profil"][0] == ""){ // Fehler, falls Pflichtfelder unausgefüllt $smarty->assign('user_anlegen_mandatory_profil', "1"); }else{ $smarty->assign('user_anlegen_mandatory_profil', "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 admin_rolle WHERE rid='$profil[$i]'"); $row_profil = $result_profil->fetch_array(); $bezeichnung_profil .= "$row_profil[bezeichnung]<br>"; } } #Benutzerkennung generieren $benutzerkennung = genUser($_SESSION["anlegen_vorname"], $_SESSION["anlegen_nachname"]); $smarty->assign('user_anlegen_vorname', $_SESSION["anlegen_vorname"]); $smarty->assign('user_anlegen_nachname', $_SESSION["anlegen_nachname"]); $smarty->assign('user_anlegen_user', $benutzerkennung); $smarty->assign('user_anlegen_mail', $_SESSION["anlegen_mail"]); $smarty->assign('user_anlegen_profil', $bezeichnung_profil); } } if($action == 'save'){ # dt_patrone $anlegen_vorname = trim($_SESSION["anlegen_vorname"]); $anlegen_nachname = trim($_SESSION["anlegen_nachname"]); $anlegen_mail = trim($_SESSION["anlegen_mail"]); $benutzerkennung = genUser($anlegen_vorname, $anlegen_nachname); # Profil $anlegen_profil = $_SESSION["anlegen_profil"]; $result_vorh = $db->query("SELECT count(*) Anz FROM admin WHERE mail='$anlegen_mail'"); $row_vorh = $result_vorh->fetch_array(); if($row_vorh['Anz'] > 0){ $smarty->assign('user_anlegen_exists', "1"); }else{ $smarty->assign('user_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 admin ( vorname , nachname , user , mail , passwort , pw_expire , registriert_durch , registriert , inaktiv ) VALUES ( '$anlegen_vorname' , '$anlegen_nachname' , '$benutzerkennung' , '$anlegen_mail' , '$passwd' , '$pw_expire' , '$user_admin' , '$datum' , 'N' ) " ); if(!$sql1){ $error = TRUE; $error_reason .= "Fehler beim anlegen von Stammdaten (dt_user)<br>"; }else{ $error = FALSE; } $vaid = $db->insert_id; $sql2 = $db->query( "INSERT INTO profil ( user , wgd ) VALUES ( '$benutzerkennung' , '0' ) " ); if(!$sql2){ $error = TRUE; $error_reason .= "Fehler beim anlegen des Profils<br>"; }else{ $error = FALSE; } for ($i=0;$i<sizeof($anlegen_profil);$i++) { $sql3 = $db->query( "INSERT INTO admin_rollen_user_zuord ( rid , vaid ) VALUES ( '$anlegen_profil[$i]' , '$vaid' ) " ); if(!$sql3){ $error = TRUE; $error_reason .= "Fehler beim anlegen der Benutzer - Rollenzuordnung (admin_rollen_user_zuord)<br>"; }else{ $error = FALSE; } } if(!$error){ $smarty->assign('user_anlegen_inserterr', "2"); $result_abs = $db->query("SELECT vorname, nachname, mail FROM admin WHERE user='$user_admin'"); $row_abs = $result_abs->fetch_array(); $empfaenger = "$anlegen_mail"; $betreff = "Anmeldung Leitgedanken-Online"; $text = " <html> <head> <title>Anmeldung Leitgedanken-Online</title> </head> <body> <font face='Arial' size='2'> Guten Tag $anlegen_vorname $anlegen_nachname!<br><br> Sie wurden von $row_abs[vorname] $row_abs[nachname] bei Leitgedanken-Online registriert!<br> Nachfolgend finden Sie Ihre Zugangsdaten: <br> <br> <table> <tr> <td valign='top'> <font face='Arial' size='2'> Benutzerkennung: </font> </td> <td valign='top'> <font face='Arial' size='2'> <b>$benutzerkennung</b> </font> </td> </tr> <tr> <td valign='top'> <font face='Arial' size='2'> Passwort: </font> </td> <td valign='top'> <font face='Arial' size='2'> <b>$benutzerkennung</b> </font> </td> </tr> </table> <br> Bitte beachten Sie, dass zwischen Groß- und<br> Kleinschreibung unterschieden wird. <p> Ändern Sie bitte zu Ihrer eigenen Sicherheit das<br> Passwort nach dem ersten Login. <p> Die Leitgedanken-Seite war ursprüglich konzipiert für<br> einen kleinen, begrenzten Nutzerkreis, weshalb dem Copyright keine<br> Beachtung geschenkt wurde.<br><br> Da die Seite von Beginn an ausschließlich von aktiven Amtsträgern<br> der NAK genutzt wurde, und diese bereits über die gedruckten <br> Leitgedanken verfügen, lässt sich die Übertretung des<br> Copyrights mit dem Verantwortungsbewustseins des Amtsträgers vereinbaren.<br> Zudem verfolgt der Autor der Seite keinerlei kommerzielle Ziele. <p> Link zu Leitgedanken-Online: <a href=\"http://www.lg-on.de\">Leitgedanken-Online</a> <p> Diese Mail wurde automatisch generiert!<br> Antworten Sie daher nicht auf diese Mail<br> <br> Vielen Dank </body> </html>"; $headers = "MIME-Version: 1.0\n"; #$headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "Content-type: text/html; charset=utf-8\n"; $headers .= "From: Leitgedanken Online <admin@lg-on.de>\n"; $return = @mail($empfaenger, $betreff, $text, $headers); if($return){ // Abfrage ob Mailversand funktioniert hat $smarty->assign('user_anlegen_mailsuccess', "2"); // Mailversand $smarty->assign('user_anlegen_returnmailadr', "$anlegen_mail"); // Mailadresse }else{ $smarty->assign('user_anlegen_mailsuccess', "1"); // Kein Mailversand } }else{ // ELSE IF: Wenn Insert nicht geklappt hat $smarty->assign('user_anlegen_inserterr', "1"); $smarty->assign('user_anlegen_reason', "$error_reason"); // Kein Mailversand } // Ende IF : Insert hat geklappt } session_destroy(); } $smarty->assign('action', "$action"); $smarty->display("$template/$templatename"); ?>