<?php
if(ADVANCEDLOGIN != 1) { die(); }
#unset($row);
#unset($found);
include(LOGINPATH."system/data/selectall_user.php");
if(!empty($_GET['secureid'])) {
//
// -- Automatisches Einloggen beim vergessenen Passwort
$loginsql = "SELECT ".$sql_sel_all." FROM ".PREFIX."user
WHERE adv_h_secureid = '".securedb($_GET["secureid"])."'
AND adv_uname = '".securedb(urldecode($_GET["uname"]))."'";
}
else { // Wenn keine sessionid angegeben wurde
if(empty($cfg_loguseemail)) {
$loginsql = "SELECT ".$sql_sel_all." FROM ".PREFIX."user
WHERE adv_uname = '".securedb($_POST["uname"])."'
AND adv_pass = '".md5($_POST["pass"])."'"; //Login
}
else {
$loginsql = "SELECT ".$sql_sel_all." FROM ".PREFIX."user
WHERE adv_email = '".securedb($_POST["uname"])."'
AND adv_pass = '".md5($_POST["pass"])."'"; //Login
}
}
//
// -- Ladeseite einrichten
$loggedin_template = file_get_contents(LOGINPATH."templates/logged_in.html");
// Eigentlicher Login
$login_res = mysql_query($loginsql);
$row = @mysql_fetch_assoc($login_res);
if(@mysql_num_rows($login_res) == 1) { //User wurde gefunden
// Pr?fen ob der User bereits online ist
if($row["adv_h_aktiv"] == 1){
$result = mysql_query("SELECT adv_username FROM ".PREFIX."user_online WHERE adv_username = '".securedb($_POST["uname"])."'");
if($cfg_logmulticon == 2 AND mysql_num_rows($result) >= 1) {
$loggedin_template = str_replace("{text}", "Der Benutzer ist bereits eingeloggt!", $loggedin_template);
$loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_addon : $cfg_logredirectf, $loggedin_template);
}
else {
$login_okay = 1;
unset($del);
include(LOGINPATH."system/data/sessions.php");
// Lastlogin + Cookie Updaten
$_time = time();
if(empty($_SESSION["h_flogins"])) {
$_SESSION["h_flogins"] = 0;
}
mysql_query("UPDATE ".PREFIX."user SET adv_h_lastlogin = '".$_time."',
adv_h_loginsr = adv_h_loginsr + 1,
adv_h_loginsf = adv_h_loginsf + ".$_SESSION["h_flogins"]."
WHERE adv_uid = '".$row["adv_uid"]."'");
if($cfg_logautolog == "immer" OR
($cfg_logautolog == "fragen" AND $_POST["autolog"] == 1)) {
setcookie("alogin",
$row["adv_uid"]."~".$row["adv_uname"]."~".$row["adv_pass"]."~".$_time,
time()+(60*60*24*30));
}
// richtigen Loginpfad finden
if(empty($row["adv_h_loginred"])) {
$groupred = mysql_fetch_assoc(mysql_query("SELECT group_loginred FROM ".PREFIX."user_groups
WHERE group_beze = '".$row["adv_group"]."'"));
if(empty($groupred["group_loginred"])) {
if(empty($cfg_logredirectr)) {
$login_to = $root.$replace[1].$adv_quaddon;
}
else {
$login_to = $root.$cfg_logredirectr;
}
}
else {
$login_to = $root.$groupred["group_loginred"];
}
}
else {
$login_to = $root.$row["adv_h_loginred"];
}
// Ende richtigen Loginpfad finden
if($cfg_lognoter == 1) {
// Login aufzeichnen
$fn = @fopen(LOGINPATH."stats/logins.txt", "ab");
@fwrite($fn, $_POST["uname"]."~".time()."~".$_SERVER['REMOTE_ADDR']."\n");
@fclose($fn);
}
$loggedin_template = str_replace("{text}","Willkommen ".$row["adv_uname"],$loggedin_template);
$loggedin_template = str_replace("{login_to}",$login_to,$loggedin_template);
// E-Mail an Administrator
if($cfg_logmailadmin == 1) {
$result = mysql_query("SELECT adv_email, adv_uname FROM ".PREFIX."user WHERE adv_h_admin = '1'");
while($row = mysql_fetch_assoc($result)) {
$email_text =
"Hallo ".$row["adv_uname"].",
der Benutzer ".$_POST["uname"]." hat sich soeben auf $cfg_sitetitle eingeloggt. Sie erhalten diese E-Mail, weil Sie als Administrator der Seite eingetragen sind.";
sendmail($row["adv_email"], "Ein Benutzer hat sich eingeloggt", $email_text, $cfg_admemail);
}
}
}
}
else {
$loggedin_template = str_replace("{text}", "Der Benutzer ist noch nicht aktiviert!", $loggedin_template);
$loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_addon : $root.$cfg_logredirectf, $loggedin_template);
}
}
else { // Wenn Benutzer nicht gefunden wurde
$_SESSION["h_flogins"] += 1;
$loggedin_template = str_replace("{text}","Der Benutzer konnte nicht gefunden werden",$loggedin_template);
$loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_quaddon : $root.$cfg_logredirectf,$loggedin_template);
if($cfg_lognotef == 1) {
// Fehlerhaften Login aufzeichnen
$fn = @fopen(LOGINPATH."stats/flogins.txt", "ab");
@fwrite($fn, $_POST["uname"]."~".time()."~".$_SERVER['REMOTE_ADDR']."\n");
@fclose($fn);
}
}
// finale Ausgabe der Ladeseite/ sofortige Weiterleitung
if($cfg_logloadingpage == 0 AND $login_okay == 1) {
header("Location: ".$login_to);
exit;
}
else {
$ausgabe = '<?php die(); ?>'.$loggedin_template;
}
?>