* @return String mit Formular-HTML-Code */ function form($wahlen) { $form = <<<END <form action='wahl_bearbeiten.php' method='post'> <select name='wahl_id'> END; foreach ($wahlen as $id => $w) { $form .= " <option value='{$id}'>{$w}</option>\n"; } $form .= <<<END </select><br> <input type='submit' value='Weiter'><br> </form> END; return $form; } unset($_SESSION['wahl_id']); unset($_SESSION['kurs_id']); check_login(); // Wahlmöglichkeiten aus DB holen: $wahlen = wahlen(); if (lehrer_angemeldet()) { $wahlen[-1] = "Neue Wahl"; echo "Wählen Sie aus, ob Sie eine neue Wahl anlegen bzw. welche Wahl\n Sie verwalten möchten:<br>\n" . form($wahlen); } else { // Schüler echo "Wähle aus, an welcher Wahl du teilnehmen möchtest:<br>\n" . form($wahlen); } echo "<form action='login.php' method='post'><input type='submit' value='Logout'></form>";
/** * Es werden alle Kursbeschreibungen zur gewählten wahl_id angezeigt. * @param $wahl_id Index der Wahl * @param $block Nr des Blocks (z.B. Quartal); bei Lehrer-Einstellungen irrelevant. * @param $lehrer true: Lehrerformular false: Schülerformular * @param $action Folgeskript * @return String Formular-Code */ function kurs_anzeige($wahl_id, $block, $lehrer, $action) { $nbloecke = block_anzahl($wahl_id); if (!$lehrer) { // Gewählte Kurse des Schülers abfragen und in $selected speichern. $selected = array(); $abfrage = "SELECT kurs_id,prioritaet FROM schueler_wahl JOIN user ON user.name='" . $_SESSION['user'] . "' AND schueler_id=user.id AND schueler_wahl.block={$block}"; $ergebnis = mysql_query($abfrage) or die(mysql_error()); while ($row = mysql_fetch_object($ergebnis)) { $selected[$row->kurs_id][$row->prioritaet] = true; // kurs_id aus 'kurse', nicht aus 'kurs_beschreibungen' ! } } if (lehrer_angemeldet()) { $jahrgang_cond = "1"; } else { $klasse = $_SESSION['klasse']; if (preg_match("/^(\\d+)[a-zA-Z]+\$/", $klasse, $matches)) { $jahr = $matches[1]; } $klasse = "'" . $klasse . "'"; if (isset($jahr)) { $klasse .= ",'{$jahr}'"; } $jahrgang_cond = "(jahrgang IN ({$klasse}, '') OR ISNULL(jahrgang))"; } $zusaetze = zusatz_abfrage($wahl_id, FALSE); $zusatz_header = ""; $zusatz_add = ""; $zusatz_eintraege = array(); foreach ($zusaetze as $name => $z_arr) { $zusatz_header .= "<th>{$name}</th>"; $zusatz_add .= "<td> </td>"; $z_arr = array_map(function ($a) { return join("/", $a); }, $z_arr); foreach ($z_arr as $kursid => $z) { $zusatz_eintraege[$name][$kursid] = "<td>{$z}</td>"; } } $tmp = kuerzeljahr_abfrage($wahl_id); foreach ($tmp as $id => $a) { $kuerzel[$id] = join("<br>", array_keys($a)); foreach (array_keys($a) as $k) { if (!isset($jahre[$id])) { $jahre[$id] = ""; } else { $jahre[$id] .= "<br>"; } $jahre[$id] .= join(",", $a[$k]); } } $abfrage = <<<END SELECT kurse.beschr_id, kurse.id AS kursid, kurse.block, kurs_beschreibungen.titel, kurs_beschreibungen.beschreibung FROM kurs_beschreibungen LEFT JOIN kurse ON kurs_beschreibungen.id=kurse.beschr_id LEFT JOIN kurs_jahrgang ON kurse.id=kurs_jahrgang.kurs_id WHERE kurs_beschreibungen.wahl_id='{$wahl_id}' AND {$jahrgang_cond} GROUP BY kurse.beschr_id END; $ergebnis = mysql_query($abfrage) or die(mysql_error()); if (lehrer_angemeldet()) { $col1 = "<th> </th>"; } else { // Schüler $col1 = "<th>I</th><th>II</th><th>III</th>"; } $_SESSION['wahl_id'] = $wahl_id; $_SESSION['block'] = $block; $ret = <<<END <form action='{$action}' method='post'> END; if (!$lehrer && $nbloecke > 1) { for ($b = 1; $b <= $nbloecke; $b++) { $style = ""; if ($b == $block) { $style = "style='background-color:black;color:white'"; } $ret .= "<input type='submit' name='kurs_speichern' {$style} value='Block {$b}'>"; } } $ret .= "<br>"; $ret .= <<<END <table style="border-collapse: collapse; border: 1px solid black;" border="1"> <tr>{$col1} <th>Titel</th> <th>Kürzel</th> <th>Jahrgänge</th> <th>Beschreibung</th> {$zusatz_header} </tr> END; if ($lehrer) { $ret .= "<td><button type='submit' name='add' value='-1'><image src='img/add.png'></button></td></button></td>" . "<td> </td><td> </td><td> </td><td> </td>{$zusatz_add}"; } while ($row = mysql_fetch_object($ergebnis)) { $zusatz_eintrag = ""; foreach (array_keys($zusaetze) as $name) { $zusatz_eintrag .= isset($zusatz_eintraege[$name][$row->beschr_id]) ? $zusatz_eintraege[$name][$row->beschr_id] : "<td> </td>"; } if ($lehrer) { $button = "<td><button type='submit' name='edit' value='" . $row->beschr_id . "'><image src='img/edit.png'></button>" . "<button type='submit' name='delete' value='" . $row->beschr_id . "'><image src='img/remove.png'></button></td>"; } else { $button = ""; for ($nr = 1; $nr <= 3; $nr++) { $checked = isset($selected[$row->kursid][$nr]) ? "checked" : ""; $button .= "<td><input type='radio' name='kurswahl_id{$nr}' value='" . $row->kursid . "' {$checked}></td>"; } } if ($lehrer || $row->block == $block) { $ret .= <<<EOF <tr> {$button} <td>{$row->titel}</td> <td>{$kuerzel[$row->beschr_id]} </td> <td>{$jahre[$row->beschr_id]} </td> <td style="font-size: 0.7em">{$row->beschreibung} </td> {$zusatz_eintrag} </tr> EOF; } } $ret .= "</table><br>\n"; if (!$lehrer) { $ret .= "<input type='submit' name='kurs_speichern' value='Speichern'><br>"; } else { $ret .= "<button type='submit' name='delete' value='%' disabled><image src='img/remove.png'>ALLES LOESCHEN</button></td>"; } $ret .= "</form>"; return $ret; }