summaryrefslogtreecommitdiff
path: root/functions.php
blob: e31ce0fca8f5d4acc67e1f7c06da6898cd3d69ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php

function renderSubmission($db) {
	$familien_id = $_REQUEST["familie"];
	$ids = getGästeId($db, $familien_id);

	/**
	 * Zusage
	 */
	if ( "zusage" == $_REQUEST["zusage"] ) {
		foreach( $ids as $_id ) {
			$id = $_id["id"];
			$stmt = $db->prepare("UPDATE gästeliste SET zusage = ? WHERE id = ?");
			$stmt->execute(array(1, $id));
		}
	} else if ( "absage" == $_REQUEST["zusage"] ) {
		foreach( $ids as $_id ) {
			$id = $_id["id"];
			$stmt = $db->prepare("UPDATE gästeliste SET zusage = ? WHERE id = ?");
			$stmt->execute(array(0, $id));
		}
	} else {
		foreach( $ids as $_id ) {
			$id = $_id["id"];
			if ( "zusage" == $_REQUEST[ $id . "_zusage" ]) {
				$stmt = $db->prepare("UPDATE gästeliste SET zusage = ? WHERE id = ?");
				$stmt->execute(array(1, $id));
			} else {
				$stmt = $db->prepare("UPDATE gästeliste set zusage = ? WHERE id = ?");
				$stmt->execute(array(1, $id));
			}
			#$stmt = $db->prepare("INSERT INTO gästeliste (zusage) values (?) WHERE id = ?");
			#var_dump($id . ": " . $_REQUEST[ $id . "_zusage" ]);
		}
	}

	/**
	 * Auto
	 */
	if ( "zusage" == $_REQUEST["auto"] ) {
		$stmt = $db->prepare("UPDATE familie SET kommt_mit_auto = ?, auto_freie_plätze = ? WHERE id = ?");
		$stmt->execute(array(1, (int)$_REQUEST["plätze"], $familien_id));
	} else if ( "absage" == $_REQUEST["auto"] ) {
		$stmt = $db->prepare("UPDATE familie SET kommt_mit_auto = ? WHERE id = ?");
		$stmt->execute(array(0, $familien_id));
	} else {
		$stmt = $db->prepare("UPDATE familie SET kommt_mit_auto = ? WHERE id = ?");
		$stmt->execute(array(2, $familien_id));
	}

	/**
	 * Essenwahl
	 */
	foreach( $ids as $_id ) {
		$id = $_id["id"];

		if ( "mit_fleisch" ==  $_REQUEST[$id . "_essenwahl"]) {
			$stmt = $db->prepare("UPDATE gästeliste SET essenwahl = ? WHERE id = ?");
			$stmt->execute(array(0, $id));
		} else if ( "vegan" ==  $_REQUEST[$id . "_essenwahl"] ) {
			$stmt = $db->prepare("UPDATE gästeliste SET essenwahl = ? WHERE id = ?");
			$stmt->execute(array(2, $id));
		} else if ( "kinder" ==  $_REQUEST[$id . "_essenwahl"] ) {
			$stmt = $db->prepare("UPDATE gästeliste SET essenwahl = ? WHERE id = ?");
			$stmt->execute(array(3, $id));
		} else {
			$stmt = $db->prepare("UPDATE gästeliste SET essenwahl = ? WHERE id = ?");
			$stmt->execute(array(1, $id));
		}
	}

	$stmt = $db->prepare("UPDATE familie SET bemerkungsfeld = ? WHERE id = ?");
	$stmt->execute(array($_REQUEST["bemerkungsfeld"], $familien_id));

	if ( "" != $_REQUEST["buffetbeitrag"] ) {
		$stmt = $db->prepare("SELECT 1 FROM buffet WHERE familien_id = ?");
		$stmt->execute(array($familien_id));
		$ok = $stmt->fetchAll();
		if ( empty($ok) ) {
			$stmt = $db->prepare("INSERT INTO buffet VALUES (null, ?, ?)");
			$stmt->execute(array($_REQUEST["buffetbeitrag"], (int)$familien_id));
		} else {
			$stmt = $db->prepare("UPDATE buffet SET eintrag = ? WHERE familien_id = ?");
			$stmt->execute(array($_REQUEST["buffetbeitrag"], (int)$familien_id));
		}
	}

	return getData($db, $familien_id);
}


function getGästeId($db, $familien_id) {
	$stmt = $db->prepare("SELECT id FROM gästeliste WHERE familien_id = ?");
	$stmt->execute(array($familien_id));
	return $stmt->fetchAll(PDO::FETCH_ASSOC);
}

function getData($db, $familien_id = null) {
	$query = "
		SELECT
			short_link,
			bemerkungsfeld,
			kommt_mit_auto,
			auto_freie_plätze,gästeliste.id as id,
			name,
			familien_id,
			essenwahl,
			zusage
		FROM
			familie
		JOIN
			gästeliste on familie.id = gästeliste.familien_id
		WHERE
	";

	if ( is_null($familien_id) ) {

		$stmt = $db->prepare( $query . " short_link = ?");
		$stmt->execute(array(ltrim($_SERVER["REQUEST_URI"],"/")));

	} else {

		$stmt = $db->prepare( $query . " familien_id = ?");
		$stmt->execute(array($familien_id));

	}
	return $stmt->fetchAll();
}