See Release Notes
Long Term Support Release
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Code that deals with logging stuff during the question engine upgrade. 19 * 20 * @package moodlecore 21 * @subpackage questionengine 22 * @copyright 2010 The Open University 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 27 defined('MOODLE_INTERNAL') || die(); 28 29 30 /** 31 * This class serves to record all the assumptions that the code had to make 32 * during the question engine database database upgrade, to facilitate reviewing 33 * them. 34 * 35 * @copyright 2010 The Open University 36 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 37 */ 38 class question_engine_assumption_logger { 39 protected $handle; 40 protected $attemptid; 41 42 public function __construct() { 43 global $CFG; 44 make_upload_directory('upgradelogs'); 45 $date = date('Ymd-His'); 46 $this->handle = fopen($CFG->dataroot . '/upgradelogs/qe_' . 47 $date . '.html', 'a'); 48 fwrite($this->handle, '<html><head><title>Question engine upgrade assumptions ' . 49 $date . '</title></head><body><h2>Question engine upgrade assumptions ' . 50 $date . "</h2>\n\n"); 51 } 52 53 public function set_current_attempt_id($id) { 54 $this->attemptid = $id; 55 } 56 57 public function log_assumption($description, $quizattemptid = null) { 58 global $CFG; 59 $message = '<p>' . $description; 60 if (!$quizattemptid) { 61 $quizattemptid = $this->attemptid; 62 } 63 if ($quizattemptid) { 64 $message .= ' (<a href="' . $CFG->wwwroot . '/mod/quiz/review.php?attempt=' . 65 $quizattemptid . '">Review this attempt</a>)'; 66 } 67 $message .= "</p>\n"; 68 fwrite($this->handle, $message); 69 } 70 71 public function __destruct() { 72 fwrite($this->handle, '</body></html>'); 73 fclose($this->handle); 74 } 75 } 76 77 78 /** 79 * Subclass of question_engine_assumption_logger that does nothing, for testing. 80 * 81 * @copyright 2009 The Open University 82 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 83 */ 84 class dummy_question_engine_assumption_logger extends question_engine_assumption_logger { 85 protected $attemptid; 86 87 public function __construct() { 88 } 89 90 public function log_assumption($description, $quizattemptid = null) { 91 } 92 93 public function __destruct() { 94 } 95 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body