Пример #1
0
} else {
    $overwrite = F_getBoolean($_REQUEST['overwrite']);
}
// process OMR files on the specified directory
if (isset($menu_mode) and $menu_mode == 'upload' and file_exists($omrdir)) {
    $logfilename = 'log_import_omr_' . time() . '.txt';
    $logfile = K_PATH_CACHE . 'OMR/' . $logfilename;
    $dirhdl = @opendir($omrdir);
    if ($dirhdl !== false) {
        while ($file = readdir($dirhdl)) {
            if ($file != '.' and $file != '..') {
                $filename = $omrdir . $file;
                $matches = array();
                if (!is_dir($filename) and preg_match('/OMR_([^_]+)_QR.([a-zA-Z]+)/', $file, $matches)) {
                    // read OMR DATA page
                    $omr_testdata = F_decodeOMRTestDataQRCode($filename);
                    if ($omr_testdata === false) {
                        F_print_error('ERROR', $l['m_omr_wrong_test_data']);
                        file_put_contents($logfile, 'ERROR' . "\t" . $file . "\t" . 'UNABLE TO DECODE' . "\n", FILE_APPEND);
                    } else {
                        file_put_contents($logfile, 'OK' . "\t" . $file . "\t" . 'SUCCESSFULLY DECODED' . "\n", FILE_APPEND);
                        // read OMR ANSWER SHEET pages
                        $num_questions = count($omr_testdata) - 1;
                        $num_pages = ceil($num_questions / 30);
                        $omr_answers = array();
                        for ($i = 1; $i <= $num_pages; ++$i) {
                            $answerfile = 'OMR_' . $matches[1] . '_A' . $i . '.' . $matches[2];
                            if (file_exists($omrdir . $answerfile)) {
                                $answers_page = F_decodeOMRPage($omrdir . $answerfile);
                                if ($answers_page !== false and !empty($answers_page)) {
                                    $omr_answers += $answers_page;
Пример #2
0
if (isset($_REQUEST['date'])) {
    $date = $_REQUEST['date'];
    $date_time = strtotime($date);
    $date = date(K_TIMESTAMP_FORMAT, $date_time);
} else {
    $date = date(K_TIMESTAMP_FORMAT);
}
if (!isset($_REQUEST['overwrite']) or empty($_REQUEST['overwrite'])) {
    $overwrite = false;
} else {
    $overwrite = F_getBoolean($_REQUEST['overwrite']);
}
// process uploaded files
if (isset($menu_mode) and $menu_mode == 'upload' and $user_id > 0 and !empty($_FILES)) {
    // read OMR DATA page
    $omr_testdata = F_decodeOMRTestDataQRCode($_FILES['omrfile']['tmp_name'][0]);
    if ($omr_testdata === false) {
        F_print_error('ERROR', $l['m_omr_wrong_test_data']);
    } else {
        // read OMR ANSWER SHEET pages
        $num_questions = count($omr_testdata) - 1;
        $num_pages = ceil($num_questions / 30);
        $omr_answers = array();
        for ($i = 1; $i <= $num_pages; ++$i) {
            if ($_FILES['omrfile']['error'][$i] == 0) {
                $answers_page = F_decodeOMRPage($_FILES['omrfile']['tmp_name'][$i]);
                if ($answers_page !== false and !empty($answers_page)) {
                    $omr_answers += $answers_page;
                } else {
                    F_print_error('ERROR', '[OMR ANSWER SHEET ' . $i . '] ' . $l['m_omr_wrong_answer_sheet']);
                }