Petr Skoda cff8fc8d5b MDL-29509 move qeupgradehelper to admin tools
AMOS BEGIN
 MOV [action,local_qeupgradehelper],[action,tool_qeupgradehelper]
 MOV [alreadydone,local_qeupgradehelper],[alreadydone,tool_qeupgradehelper]
 MOV [areyousure,local_qeupgradehelper],[areyousure,tool_qeupgradehelper]
 MOV [areyousuremessage,local_qeupgradehelper],[areyousuremessage,tool_qeupgradehelper]
 MOV [areyousureresetmessage,local_qeupgradehelper],[areyousureresetmessage,tool_qeupgradehelper]
 MOV [attemptstoconvert,local_qeupgradehelper],[attemptstoconvert,tool_qeupgradehelper]
 MOV [backtoindex,local_qeupgradehelper],[backtoindex,tool_qeupgradehelper]
 MOV [conversioncomplete,local_qeupgradehelper],[conversioncomplete,tool_qeupgradehelper]
 MOV [convertattempts,local_qeupgradehelper],[convertattempts,tool_qeupgradehelper]
 MOV [convertquiz,local_qeupgradehelper],[convertquiz,tool_qeupgradehelper]
 MOV [convertedattempts,local_qeupgradehelper],[convertedattempts,tool_qeupgradehelper]
 MOV [cronenabled,local_qeupgradehelper],[cronenabled,tool_qeupgradehelper]
 MOV [croninstructions,local_qeupgradehelper],[croninstructions,tool_qeupgradehelper]
 MOV [cronprocesingtime,local_qeupgradehelper],[cronprocesingtime,tool_qeupgradehelper]
 MOV [cronsetup,local_qeupgradehelper],[cronsetup,tool_qeupgradehelper]
 MOV [cronsetup_desc,local_qeupgradehelper],[cronsetup_desc,tool_qeupgradehelper]
 MOV [cronstarthour,local_qeupgradehelper],[cronstarthour,tool_qeupgradehelper]
 MOV [cronstophour,local_qeupgradehelper],[cronstophour,tool_qeupgradehelper]
 MOV [extracttestcase,local_qeupgradehelper],[extracttestcase,tool_qeupgradehelper]
 MOV [extracttestcase_desc,local_qeupgradehelper],[extracttestcase_desc,tool_qeupgradehelper]
 MOV [gotoindex,local_qeupgradehelper],[gotoindex,tool_qeupgradehelper]
 MOV [gotoquizreport,local_qeupgradehelper],[gotoquizreport,tool_qeupgradehelper]
 MOV [gotoresetlink,local_qeupgradehelper],[gotoresetlink,tool_qeupgradehelper]
 MOV [includedintheupgrade,local_qeupgradehelper],[includedintheupgrade,tool_qeupgradehelper]
 MOV [invalidquizid,local_qeupgradehelper],[invalidquizid,tool_qeupgradehelper]
 MOV [listpreupgrade,local_qeupgradehelper],[listpreupgrade,tool_qeupgradehelper]
 MOV [listpreupgrade_desc,local_qeupgradehelper],[listpreupgrade_desc,tool_qeupgradehelper]
 MOV [listpreupgradeintro,local_qeupgradehelper],[listpreupgradeintro,tool_qeupgradehelper]
 MOV [listtodo,local_qeupgradehelper],[listtodo,tool_qeupgradehelper]
 MOV [listtodo_desc,local_qeupgradehelper],[listtodo_desc,tool_qeupgradehelper]
 MOV [listtodointro,local_qeupgradehelper],[listtodointro,tool_qeupgradehelper]
 MOV [listupgraded,local_qeupgradehelper],[listupgraded,tool_qeupgradehelper]
 MOV [listupgraded_desc,local_qeupgradehelper],[listupgraded_desc,tool_qeupgradehelper]
 MOV [listupgradedintro,local_qeupgradehelper],[listupgradedintro,tool_qeupgradehelper]
 MOV [noquizattempts,local_qeupgradehelper],[noquizattempts,tool_qeupgradehelper]
 MOV [nothingupgradedyet,local_qeupgradehelper],[nothingupgradedyet,tool_qeupgradehelper]
 MOV [notupgradedsiterequired,local_qeupgradehelper],[notupgradedsiterequired,tool_qeupgradehelper]
 MOV [numberofattempts,local_qeupgradehelper],[numberofattempts,tool_qeupgradehelper]
 MOV [oldsitedetected,local_qeupgradehelper],[oldsitedetected,tool_qeupgradehelper]
 MOV [outof,local_qeupgradehelper],[outof,tool_qeupgradehelper]
 MOV [pluginname,local_qeupgradehelper],[pluginname,tool_qeupgradehelper]
 MOV [pretendupgrade,local_qeupgradehelper],[pretendupgrade,tool_qeupgradehelper]
 MOV [pretendupgrade_desc,local_qeupgradehelper],[pretendupgrade_desc,tool_qeupgradehelper]
 MOV [questionsessions,local_qeupgradehelper],[questionsessions,tool_qeupgradehelper]
 MOV [quizid,local_qeupgradehelper],[quizid,tool_qeupgradehelper]
 MOV [quizupgrade,local_qeupgradehelper],[quizupgrade,tool_qeupgradehelper]
 MOV [quizzesthatcanbereset,local_qeupgradehelper],[quizzesthatcanbereset,tool_qeupgradehelper]
 MOV [quizzestobeupgraded,local_qeupgradehelper],[quizzestobeupgraded,tool_qeupgradehelper]
 MOV [quizzeswithunconverted,local_qeupgradehelper],[quizzeswithunconverted,tool_qeupgradehelper]
 MOV [resetquiz,local_qeupgradehelper],[resetquiz,tool_qeupgradehelper]
 MOV [resetcomplete,local_qeupgradehelper],[resetcomplete,tool_qeupgradehelper]
 MOV [resettingquizattempts,local_qeupgradehelper],[resettingquizattempts,tool_qeupgradehelper]
 MOV [resettingquizattemptsprogress,local_qeupgradehelper],[resettingquizattemptsprogress,tool_qeupgradehelper]
 MOV [upgradingquizattempts,local_qeupgradehelper],[upgradingquizattempts,tool_qeupgradehelper]
 MOV [upgradedsitedetected,local_qeupgradehelper],[upgradedsitedetected,tool_qeupgradehelper]
 MOV [upgradedsiterequired,local_qeupgradehelper],[upgradedsiterequired,tool_qeupgradehelper]
 MOV [veryoldattemtps,local_qeupgradehelper],[veryoldattemtps,tool_qeupgradehelper]
AMOS END
2011-09-27 00:39:20 +02:00

94 lines
3.1 KiB
PHP

<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Lib functions (cron) to automatically complete the question engine upgrade
* if it was not done all at once during the main upgrade.
*
* @package tool
* @subpackage qeupgradehelper
* @copyright 2011 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
/**
* Standard cron function
*/
function tool_qeupgradehelper_cron() {
$settings = get_config('tool_qeupgradehelper');
if (empty($settings->cronenabled)) {
return;
}
mtrace('qeupgradehelper: tool_qeupgradehelper_cron() started at '. date('H:i:s'));
try {
tool_qeupgradehelper_process($settings);
} catch (Exception $e) {
mtrace('qeupgradehelper: tool_qeupgradehelper_cron() failed with an exception:');
mtrace($e->getMessage());
}
mtrace('qeupgradehelper: tool_qeupgradehelper_cron() finished at ' . date('H:i:s'));
}
/**
* This function does the cron process within the time range according to settings.
*/
function tool_qeupgradehelper_process($settings) {
global $CFG;
require_once(dirname(__FILE__) . '/locallib.php');
if (!tool_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 = tool_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 = tool_qeupgradehelper_get_quiz($quizid);
if ($quizsummary) {
mtrace(' starting upgrade of attempts at quiz ' . $quizid);
$upgrader = new tool_qeupgradehelper_attempt_upgrader(
$quizsummary->id, $quizsummary->numtoconvert);
$upgrader->convert_all_quiz_attempts();
mtrace(' upgrade of quiz ' . $quizid . ' complete.');
}
}
mtrace('qeupgradehelper: Done.');
return;
}