. /** * Code that deals with logging stuff during the question engine upgrade. * * @package moodlecore * @subpackage questionengine * @copyright 2010 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** * This class serves to record all the assumptions that the code had to make * during the question engine database database upgrade, to facilitate reviewing * them. * * @copyright 2010 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class question_engine_assumption_logger { protected $handle; protected $attemptid; public function __construct() { global $CFG; make_upload_directory('upgradelogs'); $date = date('Ymd-His'); $this->handle = fopen($CFG->dataroot . '/upgradelogs/qe_' . $date . '.html', 'a'); fwrite($this->handle, '
' . $description; if (!$quizattemptid) { $quizattemptid = $this->attemptid; } if ($quizattemptid) { $message .= ' (Review this attempt)'; } $message .= "
\n"; fwrite($this->handle, $message); } public function __destruct() { fwrite($this->handle, ''); fclose($this->handle); } } /** * Subclass of question_engine_assumption_logger that does nothing, for testing. * * @copyright 2009 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class dummy_question_engine_assumption_logger extends question_engine_assumption_logger { protected $attemptid; public function __construct() { } public function log_assumption($description, $quizattemptid = null) { } public function __destruct() { } }