コード例 #1
0
    die;
}
// Creating tables and adding columns header
$examstable = new html_table();
if ($status == 1) {
    $examstable->head = array(get_string('examdate', 'mod_emarking'), get_string('examname', 'mod_emarking'), get_string('course'), get_string('building', 'mod_emarking'), get_string('requestedby', 'mod_emarking'), get_string('examdatesent', 'mod_emarking'), ucfirst(get_string('pages', 'mod_emarking')), get_string('actions'));
    $examstable->size = array('10%', '10%', '10%', '5%', '5%', '10%', '5%', '7%');
    $examstable->align = array('left', 'center', 'center', 'center', 'center', 'center', 'center', 'right');
} else {
    $examstable->head = array(get_string('examdate', 'mod_emarking'), get_string('examname', 'mod_emarking'), get_string('course'), get_string('building', 'mod_emarking'), get_string('requestedby', 'mod_emarking'), get_string('examdateprinted', 'mod_emarking'), get_string('actions'), get_string('printnotification', 'mod_emarking'));
    $examstable->size = array('5%', '10%', '10%', '5%', '5%', '10%', '7%', '5%');
    $examstable->align = array('left', 'center', 'center', 'center', 'center', 'center', 'center', 'center');
}
// Parameters for SQL calls
$statussql = $status == 1 ? EMARKING_EXAM_UPLOADED : EMARKING_EXAM_SENT_TO_PRINT . "," . EMARKING_EXAM_PRINTED;
$ids_children = emarking_get_categories_childs($categoryid);
$params = array($statussql);
/*
 * $sqlcount = " SELECT count(*)
 * FROM {emarking_exams} as e
 * INNER JOIN {course} as c ON (e.course = c.id)
 * WHERE c.category = ? AND e.status in (?)";
 */
$sqlcount = " SELECT count(*)\n FROM {emarking_exams} as e\nINNER JOIN {course} as c ON (e.course = c.id)\nWHERE c.category in ({$ids_children}) AND e.status in (?)";
// Get the count so we can use pagination
$examscount = $DB->count_records_sql($sqlcount, $params);
/*
 * $sql = "SELECT e.*,
 * c.id as courseid,
 * c.fullname as coursefullname,
 * u.id as userid,
コード例 #2
0
ファイル: printorders.php プロジェクト: hansnok/emarking
// Creating tables and adding columns header.
$examstable = new html_table();
$examstable->head = array(get_string('date'), get_string('exam', 'mod_emarking'), get_string('course'), get_string('details', 'mod_emarking'), get_string('requestedby', 'mod_emarking'), get_string('cost', 'mod_emarking'), $statusicon == 1 ? get_string('sent', "mod_emarking") : get_string('examdateprinted', 'mod_emarking'), $statusicon == 1 ? ucfirst(get_string('pages', 'mod_emarking')) : get_string('actions'), $statusicon == 1 ? get_string('actions') : get_string('printnotification', 'mod_emarking'));
$examstable->id = "fbody";
$examstable->size = array('15%', '15%', '15%', '10%', '10%', '10%', '7%', '7%', '10%');
$examstable->align = array('left', 'center', 'center', 'center', 'center', 'center', 'center', 'center', 'center');
$examstable->colclasses[1] = 'exams_examname';
// Parameters for SQL calls.
if ($statusicon == 1) {
    $statuses = array(EMARKING_EXAM_UPLOADED, EMARKING_EXAM_BEING_PROCESSED, EMARKING_EXAM_ERROR_PROCESSING, EMARKING_EXAM_PROCESSED);
} else {
    $statuses = array(EMARKING_EXAM_SENT_TO_PRINT, EMARKING_EXAM_ERROR_PRINTING, EMARKING_EXAM_PRINTED);
}
list($statussql, $params) = $DB->get_in_or_equal($statuses);
$order = $statusicon == 1 ? "e.examdate asc, c.shortname ASC" : "e.examdate desc, c.shortname ASC";
list($childrensql, $childrenparams) = $DB->get_in_or_equal(emarking_get_categories_childs($categoryid));
$childrenparams = array($categoryid, $categoryid);
$sqlcount = " SELECT count(*)\n FROM {emarking_exams} as e\nINNER JOIN {course} as c ON (e.course = c.id)\nINNER JOIN {course_categories} as cc ON (cc.id = c.category)\nWHERE (cc.path LIKE '%/{$categoryid}' OR cc.path LIKE '%/{$categoryid}/%') AND e.status {$statussql}";
// Get the count so we can use pagination.
$examscount = $DB->count_records_sql($sqlcount, $params);
$sql = "SELECT e.*,\n\t\t\tc.id as courseid,\n\t\t\tc.fullname as coursefullname,\n\t\t\tu.id as userid,\n\t\t\tCONCAT(u.firstname, ' ', u.lastname) as userfullname,\n\t\t\tcc.name as category,\n\t\t\te.printingcost as cost\n\t\tFROM {emarking_exams} as e\n\t\tINNER JOIN {course} as c ON (e.course = c.id)\n\t\tINNER JOIN {user} as u ON (e.requestedby = u.id)\n\t\tINNER JOIN {course_categories} as cc ON (cc.id = c.category)\n\t\tWHERE (cc.path LIKE '%/{$categoryid}' OR cc.path LIKE '%/{$categoryid}/%') AND e.status {$statussql}\n\t\tORDER BY " . $order;
// Getting all print orders.
$exams = $DB->get_records_sql($sql, $params, $page * $perpage, ($page + 1) * $perpage);
// Status = 1 means still not downloaded.
$currentdate = time();
$current = 0;
foreach ($exams as $exam) {
    // Url for the course.
    $urlcourse = new moodle_url('/course/view.php', array('id' => $exam->course));
    // Url for the user profile of the person who requested the exam.
    $urlprofile = new moodle_url('/user/profile.php', array('id' => $exam->userid));
コード例 #3
0
function emarking_get_categories_childs($id_category)
{
    $coursecat = coursecat::get($id_category);
    $ids = $id_category;
    foreach ($coursecat->get_children() as $categories_children) {
        $coursecat_children = coursecat::get($categories_children->id);
        if ($coursecat_children->has_children()) {
            $array_children = emarking_get_categories_childs($categories_children->id);
            $ids .= "," . $array_children;
        } else {
            $ids .= "," . $categories_children->id;
        }
    }
    return $ids;
}