/** * Script to show all the quizzes in the site with how many attempts they have * that will need to be upgraded. * * @package local * @subpackage qeupgradehelper * @copyright 2010 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/locallib.php'; require_once $CFG->libdir . '/adminlib.php'; require_login(); require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM)); local_qeupgradehelper_require_not_upgraded(); admin_externalpage_setup('qeupgradehelper', '', array(), local_qeupgradehelper_url('')); $PAGE->navbar->add(get_string('listpreupgrade', 'local_qeupgradehelper')); $renderer = $PAGE->get_renderer('local_qeupgradehelper'); $quizzes = new local_qeupgradehelper_pre_upgrade_quiz_list(); // Look to see if the admin has set things up to only upgrade certain attempts. $partialupgradefile = $CFG->dirroot . '/local/qeupgradehelper/partialupgrade.php'; $partialupgradefunction = 'local_qeupgradehelper_get_quizzes_to_upgrade'; if (is_readable($partialupgradefile)) { include_once $partialupgradefile; if (function_exists($partialupgradefunction)) { $quizzes = new local_qeupgradehelper_pre_upgrade_quiz_list_restricted($partialupgradefunction()); } } $numveryoldattemtps = local_qeupgradehelper_get_num_very_old_attempts(); if ($quizzes->is_empty()) { echo $renderer->simple_message_page(get_string('noquizattempts', 'local_qeupgradehelper'));
public function get_row($quizinfo) { $row = parent::get_row($quizinfo); $row[] = html_writer::link(local_qeupgradehelper_url('resetquiz', array('quizid' => $quizinfo->id)), get_string('resetquiz', 'local_qeupgradehelper')); return $row; }
* database from backup, and then use this script to extract the problem case * as a unit test. Then you can fix that unit tests. Then you can repeat the upgrade.) * * @package local * @subpackage qeupgradehelper * @copyright 2009 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/locallib.php'; require_once dirname(__FILE__) . '/extracttestcase_form.php'; require_once $CFG->libdir . '/questionlib.php'; require_once $CFG->libdir . '/adminlib.php'; require_login(); require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM)); admin_externalpage_setup('qeupgradehelper', '', array(), local_qeupgradehelper_url('extracttestcase')); $PAGE->navbar->add(get_string('extracttestcase', 'local_qeupgradehelper')); $renderer = $PAGE->get_renderer('local_qeupgradehelper'); $mform = new local_qeupgradehelper_extract_options_form(new moodle_url('/local/qeupgradehelper/extracttestcase.php'), null, 'get'); echo $OUTPUT->header(); if ($fromform = $mform->get_data()) { $qsid = null; if (!empty($fromform->attemptid) && !empty($fromform->questionid)) { $qsid = local_qeupgradehelper_get_session_id($fromform->attemptid, $fromform->questionid); $name = 'qsession' . $qsid; } else { if (!empty($fromform->statehistory)) { notify('Searching ...', 'notifysuccess'); flush(); $qsid = local_qeupgradehelper_find_test_case($fromform->behaviour, $fromform->statehistory, $fromform->qtype, $fromform->extratests); $name = 'history' . $fromform->statehistory;
*/ 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);
/** * Output a link back to the plugin index page. * @return string html to output. */ public function back_to_index() { return $this->end_of_page_link(local_qeupgradehelper_url('index'), get_string('backtoindex', 'local_qeupgradehelper')); }