<?php
class Cookiehandler {
	// Attribute
	private $supermetzcookieKnopf = "btCookieSetzen";
	private $supermetzcookieName = "supermetzcookie";
	private $timestampcookieKnopf = "btTimestampCookieSetzen";
	private $timestampcookieName = "timestampcookie";
	private $formulardaten;
	
	
	// Konstruktor
	public function __construct($formulardaten) {
		$this->formulardaten = $formulardaten;		
		if(isset($this->formulardaten["btLoeschenStandardcookie"])) {
			echo "<p><small>Cookie Standard wird gelöscht!</small></p>";
			if(isset($_COOKIE[$this->supermetzcookieName])) {
				unset($_COOKIE[$this->supermetzcookieName]);
				setcookie($this->supermetzcookieName, "", 1, "/", false); // cookie überschreiben mit leerem wert und verfallsdatum 1970
			}
		}
		if(isset($this->formulardaten["btLoeschenTimestampCookie"])) {
			echo "<p><small>Cookie Timestamp wird gelöscht!</small></p>";
			if(isset($_COOKIE[$this->timestampcookieName])) {
				unset($_COOKIE[$this->timestampcookieName]);
				setcookie($this->timestampcookieName, "", 1, "/", false); // cookie überschreiben mit leerem wert und verfallsdatum 1970
			}
		}

			
		
	}
	
	// Methoden

	
	
	public function formularAuswerten() {
		if(isset($this->formulardaten[$this->supermetzcookieKnopf])) {
			$this->standardCookieSetzen();
			return "Standard-Cookie wurde gesetzt (Supermetz-Knopf gedrückt)";	
		} else if(isset($this->formulardaten[$this->timestampcookieKnopf])) {
			$this->timestampCookieSetzen();
			return "Timestamp-Cookie wurde gesetzt";	
		}
	
	}	
	private function standardCookieSetzen() {
		setcookie(
			$this->supermetzcookieName, // name
			"Ich bin der Wert vom Standardcookie!", // value
			false, // laeuft nie ab
			"/", // pfad = gilt für ganze domain
			false // wg. localhost,  ansonsten bspw. ".chs-em.de" (führenden punkt nicht vergessen)
			);
	}
	private function timestampCookieSetzen() {
		$plus1Min= time()+60;
		setcookie(
			$this->timestampcookieName, // name
			"60-sekunden gültiges timestampcookie gesetzt, verfällt um " . date('d.m.Y., H:i:s', $plus1Min) . " Uhr", // value
			$plus1Min,  // expires
			"/", // path - damit für gesamte domain gültig
			false, // wenn localhost, dann null;
			);
	}
	public function gesetzteCookiesAusgeben() {
	echo "<h1>Gesetzte Cookies - Übersicht</h1>";
	foreach ($_COOKIE as $key=>$val)
  {
    echo "<p>Das Cookie <b>" . $key. "</b> hat den Wert »" .$val. "«</p>\n";
  }
/* oder auch 
		if(isset($_COOKIE[$this->supermetzcookieName])) {
			echo "<p>Gesetztes Cookie: supermetz/standard</p>";
		} 
		if(isset($_COOKIE[$this->timestampcookieName])) {
			echo "<p>Gesetztes Cookie: timestamp-cookie</p>";
		}

*/
		
	}
		
	public function getKnopfSupermetzcookie(): String {
		return $this->supermetzcookieKnopf;
	}
	public function getKnopfTimestampcookie(): String {
		return $this->timestampcookieKnopf;
	}
}
?>