//if it has not been made yet then make a default cat question_make_default_categories(array($modulecontext)); $cats = get_categories_for_contexts($modulecontext->id); } $catsinctx = array(); foreach ($cats as $catinctx) { $catsinctx[] = $catinctx->id; } $catsinctxlist = join($catsinctx, ','); $cat = array_shift($cats); if ($delete && question_require_capability_on($delete, 'edit')) { if ($confirm && confirm_sesskey()) { if (!delete_records_select('question', "id = {$delete} AND category IN ({$catsinctxlist})")) { print_error('question_not_found'); } else { qcreate_update_grades($qcreate, $USER->id); redirect($CFG->wwwroot . '/mod/qcreate/view.php?id=' . $cm->id); } } else { call_user_func_array('print_header_simple', $headerargs); print_heading(get_string('delete')); notice_yesno(get_string('confirmdeletequestion', 'qcreate'), 'view.php', 'view.php', array('id' => $cm->id, 'sesskey' => sesskey(), 'confirm' => 1, 'delete' => $delete), array('id' => $cm->id), 'POST', 'GET'); print_footer('none'); die; } } call_user_func_array('print_header_simple', $headerargs); add_to_log($course->id, "qcreate", "view", "view.php?id={$cm->id}", "{$qcreate->id}"); print_box(format_text($qcreate->intro, $qcreate->introformat), 'generalbox', 'intro'); echo '<div class="mdl-align">'; echo '<p>' . qcreate_time_status($qcreate) . '</p>';
/** * Update grades. * * @param object $qcreate null means all qcreates * @param int $userid specific user only, 0 mean all */ function qcreate_update_grades($qcreate = null, $userid = 0) { global $CFG; if (!function_exists('grade_update')) { //workaround for buggy PHP versions require_once $CFG->libdir . '/gradelib.php'; } if ($qcreate != null) { if ($gradesbyuserids = qcreate_get_user_grades($qcreate, $userid)) { foreach ($gradesbyuserids as $userid => $gradesbyuserid) { qcreate_grade_item_update($qcreate); grade_update('mod/qcreate', $qcreate->courseid, 'mod', 'qcreate', $qcreate->id, 0, $gradesbyuserid); } } } else { $sql = "SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid\n FROM {$CFG->prefix}qcreate a, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m\n WHERE m.name='qcreate' AND m.id=cm.module AND cm.instance=a.id"; $rs = get_recordset_sql($sql); while ($qcreate = rs_fetch_next_record($rs)) { qcreate_grade_item_update($qcreate); if ($qcreate->grade != 0) { qcreate_update_grades($qcreate); } } rs_close($rs); } }