function zusaetze_anzeigen($beschr_id, $eingabe) { $zusaetze = zusatz_abfrage($_SESSION["wahl_id"], TRUE); $gewaehlt = zusatz_abfrage($_SESSION["wahl_id"], FALSE); $ret = "<table border='0'><tr>\n"; foreach ($zusaetze as $n => $wa) { $ret .= " <td><fieldset><legend>Zusatz {$n}:</legend>\n"; foreach ($wa as $id => $w) { if ($eingabe) { $checked = isset($eingabe["zusatz_{$id}"]) && in_array($id, $eingabe["zusatz_{$id}"]) ? "checked" : ""; } else { $checked = isset($gewaehlt[$n][$beschr_id][$id]) ? "checked" : ""; } $ret .= " <input type='checkbox' name='zusatz_{$id}[]' value='{$id}' {$checked}>{$w}<br>\n"; } $ret .= " </fieldset></td>\n"; } $ret .= "</tr></table>\n"; return $ret; }
/** * 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; }