Example #1
0
/**
 * 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>&nbsp;</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>&nbsp;</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&uuml;rzel</th>
    <th>Jahrg&auml;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>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</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>&nbsp;</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]}&nbsp;</td>
    <td>{$jahre[$row->beschr_id]}&nbsp;</td>
    <td style="font-size: 0.7em">{$row->beschreibung} &nbsp;</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;
}
Example #2
0
            }
        }
    }
    $values = substr($values, 0, -1);
    $cmd = "INSERT INTO schueler_wahl (schueler_id,kurs_id,prioritaet) VALUES {$values}";
    if (!($ok = mysql_query($cmd))) {
        if (mysql_errno() == 1001) {
            echo "<font color='red'>" . mysql_error() . "</font><br>";
        } else {
            die("{$cmd}: " . mysql_error());
        }
    }
}
check_login();
echo "<a href='wahl_bearbeiten.php'>Zur Wahlbearbeitung</a><br>";
$nbloecke = block_anzahl($_SESSION['wahl_id']);
if (!isset($_POST['klassen'])) {
    echo "<font color='red'>Es muss eine oder mehrere Klassen aus der Liste gw&auml;hlt werden.</font><br>";
    include "wahl_bearbeiten.php";
    exit;
}
$klassen = $_POST['klassen'];
foreach ($klassen as $klasse) {
    if (isset($_POST["klassen_loeschen"])) {
        wahlen_loeschen($klasse, $nbloecke);
    } else {
        if (isset($_POST["klassen_simulation"])) {
            zufaellig_setzen($klasse, $nbloecke);
        }
        if (isset($_POST["klassen_simulation"]) || isset($_POST["klassen_anzeigen"])) {
            wahlen_anzeigen($klasse, $nbloecke);