function addApointement() { if (!(isset($_POST['title']) && isset($_POST['participants']) && isset($_POST['deadline']) && isset($_POST['options']) && isset($_POST['votes']))) { throw new Exception('Terminabsprache konnte nicht gespeichert werden. Es wurden nicht alle benötigten Werte gesetzt.'); } $userid = $_SESSION['userid']; $dateOptions = explode(',', $_POST['options']); $dateVotes = explode(',', $_POST['votes']); if (count($dateOptions) != count($dateVotes)) { throw new Exception('Terminabsprache konnte nicht gespeichert werden. Ungleiche Anzahl an Terminen und Stimmen'); } $description = isset($_POST['description']) ? htmlentities($_POST['description']) : ''; $place = isset($_POST['place']) ? htmlentities($_POST['place']) : ''; $date = date_parse($_POST['deadline']); $deadline = $date['year'] . '-' . $date['month'] . '-' . $date['day'] . ' ' . $date['hour'] . ':' . $date['minute']; $datesCoord = new DatesCoordination($_POST['title'], $description, $place, $deadline, ''); $datesCoord->setCreatorID($userid); $participants = explode(',', htmlentities($_POST['participants'])); $datesCoord->setParticipants($participants); try { $dbc = new DBConnect(); $dbc->insertAppointement($datesCoord, $dateOptions, $dateVotes); echo "Termin erfolgreich gespeichert!"; } catch (PDOException $e) { echo "Das Speichern der Terminabsprache war nicht erfolgreich. Versuchen Sie es später noch einmal"; } }
/** * Abfrage einer Terminfindung inklusive der Teilnehmer, Terminen und Stimmen mit der übergebenen ID. * * @param $datesCoordId - ID der Terminfindung * @return die Terminfindung als DatesCoordination-Objektes */ function loadDatesCoordination_db($datesCoordId) { $statement = $this->conn->prepare("SELECT titel, beschreibung, ort, frist, name, ersteller_id FROM terminfindung AS T JOIN benutzer AS B ON T.ersteller_id = B.id WHERE T.id = ?"); $statement->execute(array($datesCoordId)); $row = $statement->fetch(); $datesCoordination = new DatesCoordination($row['titel'], $row['beschreibung'], $row['ort'], date_create($row['frist']), $row['name']); $datesCoordination->setCreatorID($row['ersteller_id']); $participants = $this->loadParticipants_db($datesCoordId); $datesCoordination->setParticipants($participants); $votes = $this->loadVotingResult_db($datesCoordId); $datesCoordination->setResults($votes); return $datesCoordination; }