<?php
include("kurs/datenbankanbindung.php");     // f&uuml;gt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php
#require("check_zweig.php");                 // Pr�ft, ob Innenverwaltung angemeldet ist: setzt datenbankanbindung.php voraus
$db = dbconnect();
session_start();
$ansp = $db->query("SELECT wert1, wert2 FROM parameter WHERE pid='1'");
$uhd = $ansp->fetch_array();

$query_ldapcon = $db->query("SELECT wert1 FROM parameter WHERE pid='12'");
$row_ldapcon = $query_ldapcon->fetch_array();
$query_ldapuser = $db->query("SELECT wert1, wert2 FROM parameter WHERE pid='13'");
$row_ldapuser = $query_ldapuser->fetch_array();
$_ldap_dn = "ou=ouStudnet,dc=studnet,dc=hs-ludwigsburg,dc=de";

$ansprechpart = "$uhd[wert1]"; // Ansprechpartner bei Probleme
$helpmail = "$uhd[wert2]";     // Kontaktmailadresse bei Problemen
$systemname = "Anmeldesystem";
$_SESSION['systemname'] = $systemname;


   if (isset($_GET['action']))
      $action = $_GET['action'];
   else
      $action = "";

   switch($action){
   default:

echo"
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html>
<head>
<!--META-->
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>Anmeldung $systemname</title>

<!--STYLESHEETS-->
<link href='login.css' rel='stylesheet' type='text/css'>
<link href='../login.css' rel='stylesheet' type='text/css'>

</head>
<body>

<!--WRAPPER-->
<div id='wrapper'>

<!--LOGIN FORM-->

<form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF'] . "?action=anmeld";echo" method=\"POST\" name=\"login\">

	<!--HEADER-->
    <div class='header'>
    <!--TITLE--><h1>$systemname</h1><!--END TITLE-->
    <!--DESCRIPTION--><span><font color=red><b><u>NEU: Studierende der Hochschule Ludwigsburg:</u></b></font><br>
    Bitte verwenden Sie Ihre Windows Benutzerkennung und Passwort! Das bisherige Passwort der Anmeldesysteme ist nicht mehr g&uuml;ltig.</span><!--END DESCRIPTION-->
    <br>
    <br>
    <!--DESCRIPTION--><span><span><font color=red><b><u>Studenten der Hochschule Kehl:</u></b></font><br>
    Verwenden Sie - wie bisher - weiterhin ihr &uuml;bliches Passwort.</span><!--END DESCRIPTION-->
    </div>
    <!--END HEADER-->

	<!--CONTENT-->
    <div class='content'>
	<!--USERNAME--><input name='uid' class='input username' value='Benutzername' onfocus=\"this.value=''\" type='text'><!--END USERNAME-->
    <!--PASSWORD--><input name='pwd' class='input password' value='Passwort' onfocus=\"this.value=''\" type='password'><!--END PASSWORD-->
    </div>
    <!--END CONTENT-->

    <!--FOOTER-->
    <div class='footer'>
    <!--LOGIN BUTTON--><input name='submit' value='Login' class='button' type='submit'><!--END LOGIN BUTTON-->
    </div>
    <!--END FOOTER-->

</form>
<!--END LOGIN FORM-->

</div>
<!--END WRAPPER-->

</body>
</html>";

break;
case "anmeld":
$systemname = $_SESSION['systemname'];

$uid = strtolower($_POST[uid]);
$pwd = $_POST[pwd];

$db = dbconnect();

$result = $db->query("SELECT hs, LOWER(uid) uid, Pwd FROM stud where uid=\"$uid\"");
$row = $result->fetch_array();



// Abfrage, was tun wenn  Felder leer sind bzw. Passwort falsch ist
if ($uid == "" or $_POST['pwd'] == "")
{
echo "

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html>
<head>
<!--META-->
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>Anmeldung $systemname</title>
<!--STYLESHEETS-->
<link href='login.css' rel='stylesheet' type='text/css'>
<link href='../login.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!--WRAPPER-->
<div id='wrapper'>
<!--LOGIN FORM-->
<form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\">
	<!--HEADER-->
    <div class='header'>
    <!--TITLE--><h1>Fehler</h1><!--END TITLE-->
    <!--DESCRIPTION-->
    <span>
       Es m&uuml;ssen alle Felder ausgef&uuml;llt werden
       <br>
       <br>
    </span>
    <!--END DESCRIPTION-->
    </div>
    <!--END HEADER-->
    <!--FOOTER-->
    <div class='footer'>
      <!--LOGIN BUTTON--><input name='submit' value='Zur&uuml;ck' class='button' type='submit'><!--END LOGIN BUTTON-->
    </div>
    <!--END FOOTER-->
</form>
</div>
<!--END WRAPPER-->
</body>
</html>
<html>";
exit;
}

if ($uid != $row[uid]) {
echo"
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html>
<head>
<!--META-->
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>Anmeldung $systemname</title>
<!--STYLESHEETS-->
<link href='login.css' rel='stylesheet' type='text/css'>
<link href='../login.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!--WRAPPER-->
<div id='wrapper'>
<!--LOGIN FORM-->
<form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\">
	<!--HEADER-->
    <div class='header'>
    <!--TITLE--><h1>Fehler</h1><!--END TITLE-->
    <!--DESCRIPTION-->
    <span>
       Der Anmeldenamen ist im System nicht vorhanden!<br>
       Wenden Sie sich bitte an <a href=\"mailto:$helpmail?subject=Keine Anmeldekennung\">$ansprechpart</a>!</b></p>
       <br>
       <br>
    </span>
    <!--END DESCRIPTION-->
    </div>
    <!--END HEADER-->
    <!--FOOTER-->
    <div class='footer'>
      <!--LOGIN BUTTON--><input name='submit' value='Zur&uuml;ck' class='button' type='submit'><!--END LOGIN BUTTON-->
    </div>
    <!--END FOOTER-->
</form>
</div>
<!--END WRAPPER-->
</body>
</html>
<html>";
exit;
}

if($row['hs'] == 'L' AND $row_ldapcon['wert1'] == 'Y'){
  $ds=@ldap_connect("141.10.144.37", "389");
  ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
  
  ################################
  ## Benutzerinfos aus LDAP setzen
  ################################
  # bind wird benoetigt, sonst werden die Umlaute bei Namen  nicht richtig angezeigt ?!!?
  
  $r=@ldap_bind($ds, $row_ldapuser['wert1'], $row_ldapuser['wert2']);
  $sr=@ldap_search($ds, $_ldap_dn, "samaccountname=$uid");
  $info = @ldap_get_entries($ds, $sr);
  $anzahl = ldap_count_entries($ds,$sr);
  $vorname      = $info[0]['givenname'][0];
  $nachname     = $info[0]['sn'][0];
  $mail         = $info[0]['mail'][0];
  $first        = ldap_first_entry($ds,$sr);
  $distinguishedName  = ldap_get_dn($ds,$first);
  ################################
  
  
  # Bind geht im hsnet nur über den DN "CN=Schwarz\, Alexander, OU=Externe Benutzer, ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de"
  ##!!!!! IM STUDNET MIT DEM DISTINGUISHEDNAME !!!!!!#################
  $password=utf8_decode($pwd);
  if ($bind = ldap_bind($ds, $distinguishedName, $password) AND $anzahl > 0){
#echo "Bind geht:<br>$distinguishedName | $pwd<br>$anzahl<br>";
    $db = dbconnect();
    $sql = $db->query ("UPDATE stud 
                            SET vorname='$vorname' 
                               ,nachname='$nachname'
                               ,mail='$mail'
                          WHERE uid='$uid'");  
    $login = "0";
  }else{
#echo "Bind geht nicht:<br>$distinguishedName<br>$anzahl";
    $login = "1";
  }
}else{
  # Kehler Login
  $passwd = md5($_POST['pwd']);
  $login = "0";
  if ($passwd != $row['Pwd']){
   $login = "1";
   $pw_failure= "1";
  }
}
 
if ($row['hs'] == 'K'){
  # Kehler Studenten haben ihr Passwort in Tabelle stud. Daher d�rfen Sie es selbst zur�cksetzen.
  $pw_zusatz ="Sie k&ouml;nnen sich ein neues Passwort an Ihre<br>Hochschul-Mailadresse schicken lassen:<br><a href=". $_SERVER['PHP_SELF'] . "?action=pass_gen>Neues Passwort setzen</a><br>";
}


if ($login == 1){

// Cokkie hier, falls PW generiert werden soll
setcookie("uid1","");
setcookie("uid1","$row[uid]");

# F�r Ludwigsburger Studenten soll das Passwort zur�cksetzen und per Mail zuschicken nicht angeboten werden,
# da die Informationen im LDAP stehen.

echo "
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html>
<head>
<!--META-->
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>Anmeldung $systemname</title>
<!--STYLESHEETS-->
<link href='login.css' rel='stylesheet' type='text/css'>
<link href='../login.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!--WRAPPER-->
<div id='wrapper'>
<!--LOGIN FORM-->
<form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\">
	<!--HEADER-->
    <div class='header'>
    <!--TITLE--><h1>Fehler</h1><!--END TITLE-->
    <!--DESCRIPTION-->
    <span>
       Das eingegebene Passwort ist entweder falsch oder konnte nicht verifiziert werden.<br>
       Wenden Sie sich bitte an <a href=\"mailto:$helpmail?subject=Keine Anmeldekennung\">$ansprechpart</a>!</b></p>
       <br>
       <br>
       $pw_zusatz
       <br>
    </span>
    <!--END DESCRIPTION-->
    </div>
    <!--END HEADER-->
    <!--FOOTER-->
    <div class='footer'>
      <!--LOGIN BUTTON--><input name='submit' value='Zur&uuml;ck' class='button' type='submit'><!--END LOGIN BUTTON-->
    </div>
    <!--END FOOTER-->
</form>
</div>
<!--END WRAPPER-->
</body>
</html>
";
exit;
}

#echo "Login";
#exit; 

# wenn Benutzername und Passwort stimmen, dann Weiterleitung
setcookie("uid1","");
setcookie("uid1","$row[uid]");


if (file_exists("balancing_ldap.php")) {
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=balancing_ldap.php\">";
} else {
    if (file_exists("index_frame.htm")) {
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=index_frame.htm\">";
    }else{
      ## Bei Veranstaltung und stellenantrag zB. ist es in einem weiteren Unterordner
      echo "<meta http-equiv=\"refresh\" content=\"0; URL=stud/index_frame.htm\">";
    }
}

break;
case "pass_gen":


$uid1=$_COOKIE["uid1"];
$systemname = $_SESSION['systemname'];
$pool = "qwertzupasdfghkyxcvbnm";
$pool .= "23456789";
$pool .= "WERTZUPLKJHGFDSAYXCVBNM";

srand ((double)microtime()*1000000);
for($index = 0; $index < 7; $index++)
{
    $pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
}

$new_pw_md5=md5($pass_word);

$sql = $db->query ("UPDATE stud SET pwd='$new_pw_md5' WHERE uid='$uid1'");

// Nachricht &uuml;ber Passwortr&uuml;cksetzung: Hinzugef&uuml;gt 19.09.2006
  $result2 = $db->query("SELECT uid, vorname, nachname, mail FROM stud where uid='$uid1'");
  $row2 = $result2->fetch_array();

  $empfaenger = "$row2[mail]";
  $betreff = "Kurssystem: Passwort zur&uuml;ckgesetzt";
  $text = "
    <html>
    <head>
    <title>Passwort zur&uuml;ckgesetzt</title>
    </head>
    <body>
    <font face='Arial' size='2'>
    Guten Tag $row2[vorname] $row2[nachname]!<br><br>
    Sie haben Ihr Passwort im Kurssystem zur&uuml;ckgesetzt!<br>
    Nachfolgend finden Sie Ihre neuen 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>$row2[uid]</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>$pass_word</b>
         </font>
       </td>
    </tr>
    </table>
    <br>
    Bitte beachten Sie, dass zwischen Gro&szlig;- und<br>
    Kleinschreibung unterschieden wird.
    <p>
    &Auml;ndern Sie bitte zu Ihrer eigenen Sicherheit das<br>
    Passwort nach dem ersten Login.
    <p>
    Link zum Anmeldesystem: <a href=\"http://www.fh-ludwigsburg.de/kurs\">Kurssystem</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\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    
    $return = @mail($empfaenger, $betreff, $text,  $headers);

// ENDE Nachricht &uuml;ber Passwortr&uuml;cksetzung

if($return){
  echo "
  <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
  <html>
  <head>
  <!--META-->
  <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
  <title>Best&auml;tigung</title>
  <!--STYLESHEETS-->
  <link href='login.css' rel='stylesheet' type='text/css'>
  <link href='../login.css' rel='stylesheet' type='text/css'>
  </head>
  <body>
  <!--WRAPPER-->
  <div id='wrapper'>
  <!--LOGIN FORM-->
  <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\">
  	<!--HEADER-->
      <div class='header'>
      <!--TITLE--><h1>Best&auml;tigung</h1><!--END TITLE-->
      <!--DESCRIPTION-->
      <span>
         Ihr neues Passwort wurde an $row2[mail] geschickt.
         <br>
         <br>
      </span>
      <!--END DESCRIPTION-->
      </div>
      <!--END HEADER-->
      <!--FOOTER-->
      <div class='footer'>
        <!--LOGIN BUTTON--><input name='submit' value='Zur&uuml;ck' class='button' type='submit'><!--END LOGIN BUTTON-->
      </div>
      <!--END FOOTER-->
  </form>
  </div>
  <!--END WRAPPER-->
  </body>
  <html>";
  exit;
}else{
  echo "
  <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
  <html>
  <head>
  <!--META-->
  <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
  <title>Versandfehler</title>
  <!--STYLESHEETS-->
  <link href='login.css' rel='stylesheet' type='text/css'>
  <link href='../login.css' rel='stylesheet' type='text/css'>
  </head>
  <body>
  <!--WRAPPER-->
  <div id='wrapper'>
  <!--LOGIN FORM-->
  <form name='login-form' class='login-form' action=";echo $_SERVER['PHP_SELF']; echo" method=\"POST\" name=\"login\">
  	<!--HEADER-->
      <div class='header'>
      <!--TITLE--><h1>Versandfehler</h1><!--END TITLE-->
      <!--DESCRIPTION-->
      <span>
         Das Passwort konnte nicht verschickt werden!<br>
         Wenden Sie sich bitte an <a href=\"mailto:$helpmail?subject=Keine Anmeldekennung\">$ansprechpart</a>!</b></p>
         <br>
         <br>
      </span>
      <!--END DESCRIPTION-->
      </div>
      <!--END HEADER-->
      <!--FOOTER-->
      <div class='footer'>
        <!--LOGIN BUTTON--><input name='submit' value='Zur&uuml;ck' class='button' type='submit'><!--END LOGIN BUTTON-->
      </div>
      <!--END FOOTER-->
  </form>
  </div>
  <!--END WRAPPER-->
  </body>
  <html>";
  exit;
}

} // Ende IF von Action Abfrage
?>