<?php 
#Datenbank Verbindung einbinden
require 'Connections/Connections.php'; 
#Include datei fÃ¼r LoginÃ¼berprÃ¼fung
include "Includes/Session.php";

	#Update funktion
function update()
{
		global $con;
		global $Userid;
		#zuweisen der Variablen des Formulars zu den Variablen des sql statements
		$UpdateFName = $_POST['FirstName'];
		$UpdateLName = $_POST['LastName'];
		$UpdateEmail = $_POST['Email'];
		$UpdateUsername = $_POST['Username'];
		$UpdatePassword = $_POST['Password'];
	 	$PW2 = $_POST['Password_confirm'];
		#Nickname Ã¼berprÃ¼fen
		$result_verify_Username = $con->query("select * from user where Username = '$UpdateUsername' and isactive = 1");
		$row = $result_verify_Username->fetch_array(MYSQLI_BOTH);
		$fetchedUsername = $row['Username'];
		$fetchedUserid = $row['UserID'];
		#Eindeutigkeit des Users abfragen
		 if (!isset($fetchedUserid)){
			if($UpdatePassword==$PW2){
				$StorePassword = password_hash("$UpdatePassword", PASSWORD_BCRYPT, array('cost' => 10));
				$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}', Password='{$StorePassword}' where UserID= $Userid");
				#Weiter leitung auf eigene Datei (reload)
				header('Location: Logout.php');		
			}else{
				$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}'where UserID= $Userid");
				#Weiter leitung auf eigene Datei (reload)
				header('Location: Logout.php');
			}
		}
		elseif ($fetchedUserid == $Userid AND $UpdateUsername == $fetchedUsername)
		{
			if($UpdatePassword==$PW2){
				$StorePassword = password_hash("$UpdatePassword", PASSWORD_BCRYPT, array('cost' => 10));
				$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}', Password='{$StorePassword}' where UserID= $Userid");
				#Weiter leitung auf eigene Datei (reload)
				header('Location: '.$_SERVER['REQUEST_URI']);
			}else{
				$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}'where UserID= $Userid");
				#Weiter leitung auf eigene Datei (reload)
					header('Location: '.$_SERVER['REQUEST_URI']);
			}			
			#Wenn Username gelÃ¶scht werden will
		}elseif($fetchedUsername == ""){
			if($UpdatePassword==$PW2){
				$StorePassword = password_hash("$UpdatePassword", PASSWORD_BCRYPT, array('cost' => 10));
				$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}', Password='{$StorePassword}' where UserID= $Userid");
				#Weiter leitung auf eigene Datei (reload)
				header('Location: Logout.php');
			}else{
				$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}'where UserID= $Userid");
				#Weiter leitung auf eigene Datei (reload)
					header('Location: Logout.php');
			}		
		}else{
			print "<script type='text/javascript' langeuage='javascript'>
	         alert('Username ist bereits in verwendung!');</script>";
		}
	}
	
	
function load_product()
{
	global $con; # setzt die Variable CON fÃ¼r die Datenbank verbindung
	global $Userid;
	#Array fÃ¼r Zwischenspeicherung
	$ArtNr = array();
	$ArtName = array();
	$ArtPreis = array();
	$ArtImage = array();
	$DefaultArtNr = array();
	$DefaultNum = array();
	#Int wert fÃ¼r while loop
	$c = 0;
	$sql = $con->query("SELECT produktid_fk, Anzahl FROM standard_bestellung where userid_fk='$Userid'");

	while($row = mysqli_fetch_array($sql))
	{
		$DefaultArtNr[$c] = $row['produktid_fk'];
		$DefaultNum[$c] = $row['Anzahl'];
		$c++;
	}
	#Int wert fÃ¼r while loop
	$i = 0;
	#Datenbank auslesen
	$query = $con->query("SELECT * FROM produkte");
	#DatensÃ¤tze in array schreiben
	while($row = mysqli_fetch_array($query))
	{
		$ArtNr[$i] = $row['ArtNr'];
		$ArtName[$i] = $row['Name'];
		$ArtPreis[$i] = $row['Preis'];
		$ArtImage[$i] = $row['produkt_image'];
		$i++;
	}
	#Tabelle aufbauen
	echo '<div class="mediacenter"><div class="table-container"><table class="tab_bestellen">';
	echo '<tr>';
		#Erste tabellen reihe ausgeben
		for($x=0;$x<$i;$x++) { echo '<td><img src='.$ArtImage[$x].' width="120" height="82"/></td>'; }
	echo '</tr><tr>';
		#zweite tabellen reihe ausgeben
		for($x=0;$x<$i;$x++) { echo "<td>$ArtName[$x]</td>"; }
	echo '</tr><tr>';
		#Dritte tabellen reihe ausgeben
		for($x=0;$x<$i;$x++) { echo '<td>'.$ArtPreis[$x].'</td>'; }
	echo '</tr><tr>';
		#letzte tabellen reihe ausgeben
		for($x=0;$x<$i;$x++) {
			echo '<td><input name="'.$ArtNr[$x].'" type="text" required="required" class="NField" value="'.$DefaultNum[$x].'" /></td>';
		}
	echo '</tr></table></div></div>';
}
	
	
function set_default()
{
	global $con; # setzt die Variable CON fÃ¼r die Datenbank verbindung
	global $Userid;
		#post array in normales schreiben
		$post = $_POST;
		#Array element button entfernen
		unset($post['default']);
		#Standard bestellung lÃ¶schen um sie neu anzulegen
		$con->query("delete from standard_bestellung where userid_fk='$Userid'");
		#FÃ¼r jedes produkt ein eintrag schreiben
		foreach ($post as $key => $entry)
		{
			$con->query("insert into standard_bestellung (userid_fk,produktid_fk,Anzahl) VALUES ('$Userid','$key','$entry');");
		}
}	

function print_history()
{
	global $con; # setzt die Variable CON fÃ¼r die Datenbank verbindung
	global $Userid;
	$ProduktSummen = array();
	$i = 0;
	#Daten aus Datenbank ziehen
	$date = $con->query("select Timestamp as 'Datum' from user where UserID='$Userid'")->fetch_object()->Datum;
	$name = $con->query("SELECT CONCAT(Lname, ' ',Fname) as 'Name' FROM user where UserID='$Userid'")->fetch_object()->Name;
	$g_Preis = $con->query("SELECT sum(Preis) as 'G_Preis' FROM Bestell_history where Userid_fk='$Userid';")->fetch_object()->G_Preis;
	$Produkte = $con->query("SELECT Distinct Produktid_fk from Bestell_history;");
	
	echo "<h4>Konsum seit Registierung am $date</h4><br />";
	echo '<div class="mediacenter"><table><thead><tr><th>Name</th>';
	while($row = mysqli_fetch_array($Produkte))
	{
		$Produktid = $row['Produktid_fk'];
		$Produktname = $con->query("SELECT Name FROM produkte where ArtNr='{$Produktid}'")->fetch_object()->Name;
		$ProduktSummen[$i] = $con->query("Select sum(Anzahl) as 'Anzahl' from Bestell_history where Userid_fk='$Userid' and Produktid_fk='$Produktid'")->fetch_object()->Anzahl;
		echo "<th>$Produktname</th>";
		$i++;
	}
	echo "<th>Gesamt Ausgegeben</th></tr></thead><tbody><tr><td>$name</td>";
	for($x=0;$x<$i;$x++) {echo "<td>$ProduktSummen[$x]</td>";}
	echo "<td>$g_Preis â‚¬</td></tr></tbody></table></div>";
}

function delete_account()
{
	global $con;
	global $Userid;
	$delete_user = $con->query("DELETE FROM user WHERE UserID = '$Userid' ");
	unset($_SESSION["UserID"]);
	session_destroy();
	print "<script type='text/javascript' langeuage='javascript'>
			alert('Du hast deinen Account erfolgreich gelÃ¶scht!');
			window.location = 'index.php';</script>";
	
}


function augustiner_tageskarte()
{
	global $con;
	global $Email;
	#zuweisen der Variablen des Formulars zu den Variablen des sql statements
	if(isset($_POST['active'])){
		$fetch="Select distinct(email) from tageskarte WHERE email='$Email';";
	        $answer = $con->query($fetch);
		if(mysqli_num_rows($answer) == 0){

			$sql="INSERT INTO tageskarte (email,hash,active) VALUES ('$Email','','1');";
			$insert = $con->query($sql);
		}
	}else{
		$sql="DELETE FROM tageskarte WHERE email = '$Email';";
		$delete = $con->query($sql);
	}
}

function check_tageskarte()
{
	global $con;
	global $Email;
	
	$sql="Select distinct(email) from tageskarte WHERE email='$Email';";
	$answer = $con->query($sql);
	if(mysqli_num_rows($answer) > 0){
		echo "checked";
	}

}
	


#PrÃ¼fung ob Buttons gedrÃ¼ckt wurden
if(isset($_POST['default'])){
	set_default();
}
if(isset($_POST['Update'])){
	update();
}
if(isset($_POST['remove'])){
	delete_account();
}
if(isset($_POST['abo'])){
	augustiner_tageskarte();
}
#Header und menÃ¼ einbinden
$webpagetitle = "Einstellungen";
include "Includes/Header.php";
include "Includes/Menu.php";
#html Content ausgeben
?>
<div class="content">
<div class="Rahmen">
	<div class="center">
			<h4>Hier kannst du deine Accountdaten Ã¤ndern. Oder deinen Account lÃ¶schen <br /><br />
			Um dein Kennwort zu Ã¤ndern, gib dies bitte in das Passwort- und das PasswortbestÃ¤tigungsfeld ein. <br /><br />
			Wenn du deinen Username Ã¤nderst ist ein erneutes Login notwendig</h4>
			<br />
			<form action="" method="post" name="Update">
			<div class="FormElement">
				<input name="FirstName" type="text" required="required" class="TField" value="<?php echo $Fname; ?>">
			</div>
			<div class="FormElement">
				<input name="LastName" type="text" required="required" class="TField" value="<?php echo $Lname; ?>">
			</div>
			<div class="FormElement">
				<input name="Email" type="email" required="required" class="TField" value="<?php echo $Email; ?>">
			</div>
			<div class="FormElement">
				<input name="Username" type="text" placeholder="Username" class="TField" value="<?php echo $Uname; ?>">
			</div>
			<div class="FormElement">
				<input name="Password" type="password" required="required" class="TField" value="dummypw">
			</div>
			<div class="FormElement">
			<input name="Password_confirm" type="password" class="TField" id="password_confirm" placeholder="Passwort bestÃ¤tigen">
			</div>
			<br />
			<div class="FormElement">
				<input name="Update" type="submit" class="button" value="Update Info">
			</div>
			</form>
			<br />
			<hr />
			<form action="" method="post" name="default">
				<?php load_product();?>
				<input name="default" type="submit" class="button" value="set Default">
			</form>
			<hr />
			<h1>Augustiner Tageskarte Email Abo</h1>
			<form action="" method="post" name="abo">
			<input type="checkbox" <?php check_tageskarte(); ?> name="active" value="1">
			<input name="abo" type="submit" class="button" value="Bestätigen">
			</form>
			
			<hr />
			<h1>Account Löschen?</h1>
			<form action="" method="post" name="remove">
				<input name="remove" type="submit" class="button" value="Account lÃ¶schen!">
			</form>
			<hr />
			<?php print_history();?>
			
			<br />
	</div>
</div>
</div>
<?php include "Includes/Footer.php";?>
