예제 #1
0
if (!($until = strtotime($_POST['until']))) {
    fatal_error("het veld 'Zichtbaar vanaf' bevat geen geldige datum");
}
if (isset($_POST['bericht_id'])) {
    if ($_POST['submit'] == 'Opslaan') {
        // we wijzigen een bestaand bericht
        mdb2_exec("UPDATE berichten SET bericht_title = '%q', bericht_body = '%q', bericht_visiblefrom = '%q', bericht_visibleuntil = '%q', bericht_update = {$_SERVER['REQUEST_TIME']} WHERE bericht_id = %i", bbtohtml(htmlenc($_POST['title'])), bbtohtml(htmlenc($_POST['body'])), $from, $until, $_POST['bericht_id']);
        mdb2_exec("DELETE FROM entities2berichten WHERE bericht_id = %i", $_POST['bericht_id']);
        if (isset($_POST['entity_ids'])) {
            foreach ($_POST['entity_ids'] as $entity_id) {
                mdb2_exec("INSERT INTO entities2berichten ( entity_id, bericht_id ) VALUES ( %i, %i )", $entity_id, $_POST['bericht_id']);
            }
        }
    } else {
        if ($_POST['submit'] == 'Wissen') {
            mdb2_exec("DELETE FROM berichten WHERE bericht_id = %i", $_POST['bericht_id']);
            mdb2_exec("DELETE FROM entities2berichten WHERE bericht_id = %i", $_POST['bericht_id']);
        } else {
            fatal_error('onmogelijke submit!');
        }
    }
} else {
    mdb2_exec("INSERT INTO berichten ( bericht_title, bericht_body, bericht_visiblefrom, bericht_visibleuntil, bericht_update ) VALUES ( '%q', '%q', '%q', '%q', {$_SERVER['REQUEST_TIME']} )", bbtohtml(htmlenc($_POST['title'])), bbtohtml(htmlenc($_POST['body'])), $from, $until);
    $bericht_id = mdb2_last_insert_id();
    if (isset($_POST['entity_ids'])) {
        foreach ($_POST['entity_ids'] as $entity_id) {
            mdb2_exec("INSERT INTO entities2berichten ( entity_id, bericht_id ) VALUES ( %i, {$bericht_id} )", $entity_id);
        }
    }
}
header('Location: upload.php?secret=' . $_POST['secret']);
예제 #2
0
function insert_les($separator, $zermelo_id, $dag0, $uur0, $vakken0, $lesgroepen0, $docenten0, $lokalen0, $file_id, $notitie)
{
    $dag = $dag0 == '' ? 0 : get_dag($dag0);
    $uur = $uur0 == '' ? 0 : ($separator == '/' ? get_uur($uur0) : get_uur_udmz($uur0));
    if ($uur > config('MAX_LESUUR')) {
        logit("lesuur in rooster ({$uur}) groter dan MAX_LESUUR");
    }
    $lesgroepen1 = implode(',', $lesgroepen = array_map('cleanup_lesgroepen', explode_and_sort($separator, $lesgroepen0)));
    $vakken1 = implode(',', $vakken = explode_and_sort($separator, $vakken0));
    $docenten1 = implode(',', $docenten = explode_and_sort($separator, $docenten0));
    $lokalen1 = implode(',', $lokalen = explode_and_sort($separator, $lokalen0));
    // als er een dollarteken in een notitie voorkomt,
    // gooi het en alles erna (en whitespace ervoor) dan weg
    if (($clean = strstr($notitie, '$', true)) !== false) {
        $notitie = trim($clean);
    }
    // we hebben een lock, dus er is geen race condition
    // hebben we deze les al?
    $les_id = mdb2_single_val(<<<EOQ
SELECT les_id FROM lessen
WHERE dag = {$dag} AND uur = {$uur} AND vakken = '%q'
AND lesgroepen = '%q' AND docenten = '%q' AND lokalen = '%q' AND notitie = '%q'
EOQ
, $vakken1, $lesgroepen1, $docenten1, $lokalen1, $notitie);
    if (!$les_id) {
        // deze les is nieuw
        mdb2_exec(<<<EOT
INSERT INTO lessen ( dag, uur, vakken, lesgroepen, docenten, lokalen, notitie )
VALUES ( {$dag}, {$uur}, '%q', '%q', '%q', '%q', '%q' )
EOT
, $vakken1, $lesgroepen1, $docenten1, $lokalen1, $notitie);
        $les_id = mdb2_last_insert_id();
        $entity_ids = array();
        // FIXME schrap dl.+ van vakken
        $vakken = array_map('addslash', $vakken);
        if ($lesgroepen0) {
            foreach ($lesgroepen as $naam) {
                $entity_ids[] = add_entity($naam, LESGROEP);
            }
        }
        if ($vakken0) {
            foreach ($vakken as $naam) {
                $entity_ids[] = add_entity($naam, VAK);
            }
        }
        if ($docenten0) {
            foreach ($docenten as $naam) {
                $entity_ids[] = add_entity($naam, DOCENT);
            }
        }
        if ($lokalen0) {
            foreach ($lokalen as $naam) {
                $entity_ids[] = add_entity($naam, LOKAAL);
            }
        }
        foreach ($entity_ids as $entity_id) {
            add_entities2lessen($entity_id, $les_id);
        }
    }
    mdb2_exec("INSERT INTO files2lessen ( file_id, zermelo_id, les_id ) VALUES ( {$file_id}, {$zermelo_id}, {$les_id} )");
}