function CreateDatesText($conn, $userid) { // Lade alle Terminabsprechungen, bei denen der angemeldete Nutzer Ersteller oder Teilnehmer ist. $statement = $conn->prepare("SELECT DISTINCT TF.id, titel, beschreibung, ort, frist, B.name FROM terminfindung AS TF JOIN teilnehmer AS TN ON TF.id = TN.terminfindung_id JOIN benutzer AS B ON B.id = TF.ersteller_id WHERE TF.ersteller_id = ? OR TN.benutzer_id = ?"); $statement->execute(array($userid, $userid)); $i = 0; $text = ''; while ($row = $statement->fetch()) { // Stimmen laden $votes = LoadVotes($conn, $row['id']); // Termin mit meisten Zuspruch ermitteln $favouriteDate = DetermineFavouriteDate($votes); $mostRatedDate = date_create($favouriteDate); $date = date_create($row['frist']); if ($i != 0) { $text .= '<hr class="separationLine"/>'; } // Diagramm fuer die zur Wahl stehenden Termine erstellen $votesDiagramText = CreateVotesDiagram($votes); // Text zusammenbauen $text .= CreateDateSection($i, $row['titel'], $row['name'], $row['ort'], $date, $row['beschreibung'], date_format($mostRatedDate, 'd.m.Y H:i'), $votesDiagramText); $i += 1; } return $text; }
/** * Datei kalendar.php * * @author Christian Szech * @version 1.0 */ session_start(); require_once "dates_coordination_class.php"; require_once "db_connect.php"; $userid = $_SESSION["userid"]; $dbc = new DBConnect(); $datesCoordinationArray = $dbc->loadDatesCoord_db($userid); echo '<?xml version="1.0" encoding="UTF-8"?>'; echo "<xml>"; foreach ($datesCoordinationArray as $d) { $date = DetermineFavouriteDate($d->getResults()); echo "<dateCoordination>"; echo "<title>" . htmlspecialchars($d->getTitle()) . "</title>"; echo "<description>" . htmlspecialchars($d->getDescription()) . "</description>"; echo "<date>" . htmlspecialchars(date_format($date, 'Y-m-d\\TH:i:00')) . "</date>"; echo "<frist>" . htmlspecialchars(date_format($d->getDeadline(), 'Y-m-d\\TH:i:00')) . "</frist>"; echo "</dateCoordination>"; } echo "</xml>"; function DetermineFavouriteDate($resultArray) { $score = 0; $max_score = 0; $d_max = ""; foreach ($resultArray as $result) { // Bewertung berechnen