Example #1
0
/**
 * This function does the cron process within the time range according to settings.
 */
function local_qeupgradehelper_process($settings)
{
    global $CFG;
    require_once dirname(__FILE__) . '/locallib.php';
    if (!local_qeupgradehelper_is_upgraded()) {
        mtrace('qeupgradehelper: site not yet upgraded. Doing nothing.');
        return;
    }
    require_once dirname(__FILE__) . '/afterupgradelib.php';
    $hour = (int) date('H');
    if ($hour < $settings->starthour || $hour >= $settings->stophour) {
        mtrace('qeupgradehelper: not between starthour and stophour, so doing nothing (hour = ' . $hour . ').');
        return;
    }
    $stoptime = time() + $settings->procesingtime;
    mtrace('qeupgradehelper: processing ...');
    while (time() < $stoptime) {
        $quiz = local_qeupgradehelper_get_quiz_for_upgrade();
        if (!$quiz) {
            mtrace('qeupgradehelper: No more quizzes to process. You should probably disable the qeupgradehelper cron settings now.');
            break;
            // No more to do;
        }
        $quizid = $quiz->id;
        $quizsummary = local_qeupgradehelper_get_quiz($quizid);
        if ($quizsummary) {
            mtrace('  starting upgrade of attempts at quiz ' . $quizid);
            $upgrader = new local_qeupgradehelper_attempt_upgrader($quizsummary->id, $quizsummary->numtoconvert);
            $upgrader->convert_all_quiz_attempts();
            mtrace('  upgrade of quiz ' . $quizid . ' complete.');
        }
    }
    mtrace('qeupgradehelper: Done.');
    return;
}
 */
require_once dirname(__FILE__) . '/../../config.php';
require_once dirname(__FILE__) . '/locallib.php';
require_once dirname(__FILE__) . '/afterupgradelib.php';
require_once $CFG->libdir . '/adminlib.php';
$quizid = required_param('quizid', PARAM_INT);
$confirmed = optional_param('confirmed', false, PARAM_BOOL);
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
local_qeupgradehelper_require_upgraded();
admin_externalpage_setup('qeupgradehelper', '', array(), local_qeupgradehelper_url('resetquiz', array('quizid' => $quizid)));
$PAGE->navbar->add(get_string('listupgraded', 'local_qeupgradehelper'), local_qeupgradehelper_url('listtodo'));
$PAGE->navbar->add(get_string('resetquiz', 'local_qeupgradehelper'));
$renderer = $PAGE->get_renderer('local_qeupgradehelper');
$quizsummary = local_qeupgradehelper_get_resettable_quiz($quizid);
if (!$quizsummary) {
    print_error('invalidquizid', 'local_qeupgradehelper', local_qeupgradehelper_url('listupgraded'));
}
$quizsummary->name = format_string($quizsummary->name);
if ($confirmed && data_submitted() && confirm_sesskey()) {
    // Actually do the conversion.
    echo $renderer->header();
    echo $renderer->heading(get_string('resettingquizattempts', 'local_qeupgradehelper', $quizsummary));
    $upgrader = new local_qeupgradehelper_attempt_upgrader($quizsummary->id, $quizsummary->resettableattempts);
    $upgrader->reset_all_resettable_attempts();
    echo $renderer->heading(get_string('resetcomplete', 'local_qeupgradehelper'));
    echo $renderer->end_of_page_link(local_qeupgradehelper_url('listupgraded'), get_string('listupgraded', 'local_qeupgradehelper'));
    echo $renderer->footer();
    exit;
}
echo $renderer->reset_quiz_are_you_sure($quizsummary);
require_once dirname(__FILE__) . '/../../config.php';
require_once dirname(__FILE__) . '/locallib.php';
require_once dirname(__FILE__) . '/afterupgradelib.php';
require_once $CFG->libdir . '/adminlib.php';
$quizid = required_param('quizid', PARAM_INT);
$confirmed = optional_param('confirmed', false, PARAM_BOOL);
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
local_qeupgradehelper_require_upgraded();
admin_externalpage_setup('qeupgradehelper', '', array(), local_qeupgradehelper_url('convertquiz', array('quizid' => $quizid)));
$PAGE->navbar->add(get_string('listtodo', 'local_qeupgradehelper'), local_qeupgradehelper_url('listtodo'));
$PAGE->navbar->add(get_string('convertattempts', 'local_qeupgradehelper'));
$renderer = $PAGE->get_renderer('local_qeupgradehelper');
$quizsummary = local_qeupgradehelper_get_quiz($quizid);
if (!$quizsummary) {
    print_error('invalidquizid', 'local_qeupgradehelper', local_qeupgradehelper_url('listtodo'));
}
$quizsummary->name = format_string($quizsummary->name);
if ($confirmed && data_submitted() && confirm_sesskey()) {
    // Actually do the conversion.
    echo $renderer->header();
    echo $renderer->heading(get_string('upgradingquizattempts', 'local_qeupgradehelper', $quizsummary));
    $upgrader = new local_qeupgradehelper_attempt_upgrader($quizsummary->id, $quizsummary->numtoconvert);
    $upgrader->convert_all_quiz_attempts();
    echo $renderer->heading(get_string('conversioncomplete', 'local_qeupgradehelper'));
    echo $renderer->end_of_page_link(new moodle_url('/mod/quiz/report.php', array('q' => $quizsummary->id)), get_string('gotoquizreport', 'local_qeupgradehelper'));
    echo $renderer->end_of_page_link(local_qeupgradehelper_url('listtodo'), get_string('listtodo', 'local_qeupgradehelper'));
    echo $renderer->footer();
    exit;
}
echo $renderer->convert_quiz_are_you_sure($quizsummary);