diff options
Diffstat (limited to 'functions.php')
| -rw-r--r-- | functions.php | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..eff840e --- /dev/null +++ b/functions.php @@ -0,0 +1,107 @@ +<?php + +function get_ghrss_feeds() { + #require_once __DIR__ . '/views/things/ghrss/ghrss.db.php'; + $result = $db->query("SELECT name FROM language ORDER BY name;"); + return $result->fetchAll(); +} + +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(1, $id)); + } else { + $stmt = $db->prepare("UPDATE gästeliste SET essenwahl = ? WHERE id = ?"); + $stmt->execute(array(0, $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) { + if ( is_null($familien_id) ) { + $stmt = $db->prepare("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 short_link = ?"); + $stmt->execute(array(ltrim($_SERVER["REQUEST_URI"],"/"))); + } else { + $stmt = $db->prepare("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 familien_id = ?"); + $stmt->execute(array($familien_id)); + } + return $stmt->fetchAll(); +} |
