mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
Merge remote-tracking branch 'moodle/master' into MDL-20636_master_new_question_engine
Conflicts: lib/db/upgrade.php mod/quiz/lib.php
This commit is contained in:
commit
54771d89d1
290 changed files with 4637 additions and 1419 deletions
34
backup/moodle2/backup_coursereport_plugin.class.php
Normal file
34
backup/moodle2/backup_coursereport_plugin.class.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?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/>.
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Base class for course report backup plugins.
|
||||
*
|
||||
* NOTE: When you back up a course, it potentially may run backup for all
|
||||
* course reports. In order to control whether a particular report gets
|
||||
* backed up, a course report should make use of the second and third
|
||||
* parameters in get_plugin_element().
|
||||
*
|
||||
* @package moodlecore
|
||||
* @subpackage backup-moodle2
|
||||
* @copyright 2011 onwards The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
abstract class backup_coursereport_plugin extends backup_plugin {
|
||||
// Use default parent behaviour
|
||||
}
|
|
@ -36,6 +36,7 @@ require_once($CFG->dirroot . '/backup/moodle2/backup_plugin.class.php');
|
|||
require_once($CFG->dirroot . '/backup/moodle2/backup_qtype_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_format_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_theme_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_coursereport_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_plagiarism_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_subplugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_settingslib.php');
|
||||
|
|
|
@ -417,6 +417,10 @@ class backup_course_structure_step extends backup_structure_step {
|
|||
// save course data (in case of user theme, legacy theme, etc)
|
||||
$this->add_plugin_structure('theme', $course, true);
|
||||
|
||||
// attach course report plugin structure to $course element; multiple
|
||||
// course reports can save course data if required
|
||||
$this->add_plugin_structure('coursereport', $course, true);
|
||||
|
||||
// attach plagiarism plugin structure to $course element, only one allowed
|
||||
$this->add_plugin_structure('plagiarism', $course, false);
|
||||
|
||||
|
|
29
backup/moodle2/restore_coursereport_plugin.class.php
Normal file
29
backup/moodle2/restore_coursereport_plugin.class.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?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/>.
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Restore for course plugin: course report.
|
||||
*
|
||||
* @package moodlecore
|
||||
* @subpackage backup-moodle2
|
||||
* @copyright 2011 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
abstract class restore_coursereport_plugin extends restore_plugin {
|
||||
// Use default parent behaviour
|
||||
}
|
|
@ -35,11 +35,13 @@ require_once($CFG->dirroot . '/backup/moodle2/restore_plugin.class.php');
|
|||
require_once($CFG->dirroot . '/backup/moodle2/restore_qtype_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/restore_format_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/restore_theme_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/restore_coursereport_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/restore_plagiarism_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_qtype_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_format_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_theme_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_coursereport_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/backup_plagiarism_plugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/restore_subplugin.class.php');
|
||||
require_once($CFG->dirroot . '/backup/moodle2/restore_settingslib.php');
|
||||
|
|
|
@ -80,6 +80,23 @@ abstract class restore_plugin {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* after_restore dispatcher for any restore_plugin class
|
||||
*
|
||||
* This method will dispatch execution to the corresponding
|
||||
* after_restore_xxx() method when available, with xxx
|
||||
* being the connection point of the instance, so plugin
|
||||
* classes with multiple connection points will support
|
||||
* multiple after_restore methods, one for each connection point
|
||||
*/
|
||||
public function launch_after_restore_methods() {
|
||||
// Check if the after_restore method exists and launch it
|
||||
$afterrestore = 'after_restore_' . basename($this->connectionpoint->get_path());
|
||||
if (method_exists($this, $afterrestore)) {
|
||||
$this->$afterrestore();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns one array with all the decode contents
|
||||
* to be processed by the links decoder
|
||||
|
|
|
@ -1010,6 +1010,9 @@ class restore_course_structure_step extends restore_structure_step {
|
|||
// Apply for 'theme' plugins optional paths at course level
|
||||
$this->add_plugin_structure('theme', $course);
|
||||
|
||||
// Apply for 'course report' plugins optional paths at course level
|
||||
$this->add_plugin_structure('coursereport', $course);
|
||||
|
||||
// Apply for plagiarism plugins optional paths at course level
|
||||
$this->add_plugin_structure('plagiarism', $course);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue