Esempio n. 1
0
function lock_acquire($string, $randid)
{
    do {
        $lock = mdb2_single_assoc("SELECT * FROM locking WHERE locking_id = 0");
        if ($lock === NULL) {
            $PID = getmypid();
            $time = time();
            if (mdb2_exec_error(MDB2_ERROR_CONSTRAINT, <<<EOQ
INSERT INTO locking ( locking_id, locking_pid, locking_status, locking_last_timestamp, locking_randid )
VALUES ( 0, {$PID}, '%q', {$time}, '%q' )
EOQ
, $string, $randid)) {
                return 1;
            }
            // we hebben een lock!
            continue;
        }
        // meh, er staat een lock, kijken hoe oud de lock is
        $oud = time() - $lock['locking_last_timestamp'];
        if ($oud < 120) {
            return 0;
        }
        // we krijgen geen lock, de oude is nog actueel
        // de lock is te oud om nog actief te zijn, we wissen de lock en proberen opnieuw een lock te verkrijgen
        mdb2_exec('DELETE FROM locking WHERE locking_id = 0');
    } while (1);
}
Esempio n. 2
0
<?php

require_once 'common.php';
check_roostermaker($_GET['secret']);
if (isset($_GET['bericht_id'])) {
    $ber = mdb2_single_assoc(<<<EOQ
SELECT * FROM berichten WHERE bericht_id = %i
EOQ
, $_GET['bericht_id']);
    $bericht_id = $_GET['bericht_id'];
    if (!$ber) {
        fatal_error("bericht bestaat niet, en kan dus niet worden gewijzigd");
    }
    $defaultfrom = date('Y-m-d', $ber['bericht_visiblefrom']);
    $defaultuntil = date('Y-m-d', $ber['bericht_visibleuntil']);
} else {
    $bericht_id = 0;
    $defaultfrom = date('Y-m-d');
    $defaultuntil = '';
}
$koppel_query = <<<EOQ
SELECT CONCAT('<span style="display: inline-block"><input type="checkbox" name="entity_ids[]" value="',
\tentities.entity_id, '"', CASE WHEN bericht_id IS NOT NULL THEN ' checked' ELSE '' END, '>',
\tentity_name, '</input></span>')
FROM entities
LEFT JOIN entities2berichten ON entities2berichten.entity_id = entities.entity_id AND entities2berichten.bericht_id = %i
WHERE (entity_active = 1 OR entities2berichten.entity_id IS NOT NULL) AND entity_type = %i ORDER BY entity_name
EOQ;
$koppel_count_query = <<<EOQ
SELECT COUNT(*) FROM entities2berichten JOIN entities ON entities.entity_id = entities2berichten.entity_id WHERE bericht_id = %i AND entity_type = %i
EOQ;
Esempio n. 3
0
<?php

require_once 'common.php';
check_roostermaker($_GET['secret']);
$res = mdb2_single_assoc("SELECT * FROM files WHERE file_id = %i", $_GET['file_id']);
if ($res === NULL) {
    fatal_error('file met file_id="' . $_GET['file_id'] . '" niet gevonden');
}
$local_filename = config('DATADIR') . $res['file_md5'];
if (!is_readable($local_filename)) {
    fatal_error("file {$local_filename} is not readable (doesn't exist/wrong permissions)");
}
if ($res['file_type'] == 2) {
    header('Content-type: text/plain; charset=' . config('ZERMELO_ENCODING'));
} else {
    if ($res['file_type'] == 1) {
        header('Content-type: application/gzip');
    }
}
header('Content-disposition: inline; filename=' . $res[file_name]);
readfile($local_filename);
Esempio n. 4
0
    }
    $wijz = mdb2_single_assoc("SELECT file_id, wijz_id, timestamp FROM roosters WHERE week_id = {$week_id} AND basis_id = {$basis['basis_id']} ORDER BY rooster_id DESC LIMIT 1");
    if ($basis['file_id'] == $wijz['file_id'] || !$wijz['file_id']) {
        $wijz['file_id'] = 0;
    }
} else {
    $wijz = mdb2_single_assoc("SELECT file_id, basis_id, timestamp FROM roosters WHERE week_id = {$week_id} AND wijz_id = 0 ORDER BY rooster_id DESC LIMIT 1");
    if (!$wijz) {
        // als er in een week geen basisrooster staat (dus impliciet een oud basisrooster)
        // dan zijn $basis en $wijz gelijk
        $wijz = $basis = mdb2_single_assoc("SELECT file_id, basis_id, timestamp FROM roosters WHERE week_id <= {$week_id} AND wijz_id = 0 ORDER BY rooster_id DESC");
    } else {
        $basis = array();
        if ($real_prev_week) {
            $old_week_id = mdb2_single_val("SELECT week_id FROM weken WHERE week = {$real_prev_week} LIMIT 1");
            $basis = mdb2_single_assoc("SELECT file_id, basis_id, timestamp FROM roosters WHERE week_id <= {$old_week_id} AND wijz_id = 0 ORDER BY rooster_id DESC");
        }
    }
    if (!$basis) {
        $basis['file_id'] = 0;
    }
}
//print_r($basis);
//print_r($wijz);
$result = mdb2_query("SELECT entity_type, entity_id, entity_name FROM entities WHERE entity_name = '%q'", trim($qs[0]));
if (!($target = $result->fetchRow()) || $target[0] == LOKAAL && config('HIDE_ROOMS') || $target[0] == LEERLING && config('HIDE_STUDENTS')) {
    // niet gevonden
    $safe_id = '';
    $entity_type = '';
    $entity_name = '';
    $type = '';