forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
restore_settingslib.php
161 lines (129 loc) · 5.37 KB
/
restore_settingslib.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?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/>.
/**
* Defines classes used to handle restore settings
*
* @package core_backup
* @subpackage moodle2
* @category backup
* @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
// TODO: Reduce these to the minimum because ui/dependencies are 100% separated
// Root restore settings
/**
* root generic setting to store different things without dependencies
*/
class restore_generic_setting extends root_backup_setting {}
/**
* root setting to control if restore will create user information
* A lot of other settings are dependent of this (module's user info,
* grades user info, messages, blogs...
*/
class restore_users_setting extends restore_generic_setting {}
/**
* root setting to control if restore will create role assignments
* or no (any level), depends of @restore_users_setting
*/
class restore_role_assignments_setting extends root_backup_setting {}
/**
* root setting to control if restore will create activities
* A lot of other settings (_included at activity levels)
* are dependent of this setting
*/
class restore_activities_setting extends restore_generic_setting {}
/**
* root setting to control if restore will create
* comments or no, depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_comments_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create badges or not,
* depends on @restore_activities_setting
*/
class restore_badges_setting extends restore_generic_setting {}
/**
* root setting to control if restore will create
* events or no, depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_calendarevents_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create
* completion info or no, depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_userscompletion_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create
* logs or no, depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_logs_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create
* grade_histories or no, depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_grade_histories_setting extends restore_role_assignments_setting {}
// Course restore settings
/**
* generic course setting to pass various settings between tasks and steps
*/
class restore_course_generic_setting extends course_backup_setting {}
/**
* Setting to define is we are going to overwrite course configuration
*/
class restore_course_overwrite_conf_setting extends restore_course_generic_setting {}
class restore_course_generic_text_setting extends restore_course_generic_setting {
public function __construct($name, $vtype, $value = null, $visibility = self::VISIBLE, $status = self::NOT_LOCKED) {
parent::__construct($name, $vtype, $value, $visibility, $status);
$this->set_ui(new backup_setting_ui_text($this, $name));
}
}
// Section restore settings
/**
* generic section setting to pass various settings between tasks and steps
*/
class restore_section_generic_setting extends section_backup_setting {}
/**
* Setting to define if one section is included or no. Activities _included
* settings depend of them if available
*/
class restore_section_included_setting extends restore_section_generic_setting {}
/**
* section backup setting to control if section will include
* user information or no, depends of @restore_users_setting
*/
class restore_section_userinfo_setting extends restore_section_generic_setting {}
// Activity backup settings
/**
* generic activity setting to pass various settings between tasks and steps
*/
class restore_activity_generic_setting extends activity_backup_setting {}
/**
* activity backup setting to control if activity will
* be included or no, depends of @restore_activities_setting and
* optionally parent section included setting
*/
class restore_activity_included_setting extends restore_activity_generic_setting {}
/**
* activity backup setting to control if activity will include
* user information or no, depends of @restore_users_setting
*/
class restore_activity_userinfo_setting extends restore_activity_generic_setting {}