See Release Notes
Long Term Support Release
Differences Between: [Versions 310 and 401] [Versions 39 and 401] [Versions 401 and 402] [Versions 401 and 403]
1 <?php 2 3 // This file is part of Moodle - http://moodle.org/ 4 // 5 // Moodle is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // Moodle is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 17 18 /** 19 * Defines classes used to handle backup settings 20 * 21 * @package core_backup 22 * @subpackage moodle2 23 * @category backup 24 * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} 25 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 26 */ 27 28 // TODO: Reduce these to the minimum because ui/dependencies are 100% separated 29 30 // Root backup settings 31 32 /** 33 * root generic setting to store different things without dependencies 34 */ 35 class backup_generic_setting extends root_backup_setting {} 36 37 /** 38 * root setting to handle backup file names (no dependencies nor anything else) 39 */ 40 class backup_filename_setting extends backup_generic_setting { 41 42 /** 43 * Instantiates a setting object 44 * 45 * @param string $name Name of the setting 46 * @param string $vtype Type of the setting, eg {@link base_setting::IS_TEXT} 47 * @param mixed $value Value of the setting 48 * @param bool $visibility Is the setting visible in the UI, eg {@link base_setting::VISIBLE} 49 * @param int $status Status of the setting with regards to the locking, eg {@link base_setting::NOT_LOCKED} 50 */ 51 public function __construct($name, $vtype, $value = null, $visibility = self::VISIBLE, $status = self::NOT_LOCKED) { 52 parent::__construct($name, $vtype, $value, $visibility, $status); 53 } 54 55 public function set_ui_filename($label, $value, array $options = null) { 56 $this->make_ui(self::UI_HTML_TEXTFIELD, $label, null, $options); 57 $this->set_value($value); 58 } 59 } 60 61 /** 62 * root setting to control if backup will include user information 63 * A lot of other settings are dependent of this (module's user info, 64 * grades user info, messages, blogs... 65 */ 66 class backup_users_setting extends backup_generic_setting {} 67 68 /** 69 * root setting to control if backup will include permission information by roles 70 */ 71 class backup_permissions_setting extends backup_generic_setting { 72 } 73 74 /** 75 * root setting to control if backup will include group information depends on @backup_users_setting 76 * 77 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 78 * @copyright 2014 Matt Sammarco 79 */ 80 class backup_groups_setting extends backup_generic_setting { 81 } 82 83 /** 84 * root setting to control if backup will include custom field information 85 * 86 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 87 * @copyright 2018 Daniel Neis Araujo 88 */ 89 class backup_customfield_setting extends backup_generic_setting { 90 } 91 92 /** 93 * root setting to control if backup will include activities or no. 94 * A lot of other settings (_included at activity levels) 95 * are dependent of this setting 96 */ 97 class backup_activities_setting extends backup_generic_setting {} 98 99 /** 100 * root setting to control if backup will generate anonymized 101 * user info or no, depends of @backup_users_setting so only is 102 * available if the former is enabled (apart from security 103 * that can change it 104 */ 105 class backup_anonymize_setting extends root_backup_setting {} 106 107 /** 108 * root setting to control if backup will include 109 * role assignments or no (any level), depends of @backup_users_setting 110 * exactly in the same way than @backup_anonymize_setting so we extend from it 111 */ 112 class backup_role_assignments_setting extends backup_anonymize_setting {} 113 114 /** 115 * root setting to control if backup will include 116 * logs or no (any level), depends of @backup_users_setting 117 * exactly in the same way than @backup_anonymize_setting so we extend from it 118 */ 119 class backup_logs_setting extends backup_anonymize_setting {} 120 121 /** 122 * root setting to control if backup will include 123 * comments or no (any level), depends of @backup_users_setting 124 * exactly in the same way than @backup_anonymize_setting so we extend from it 125 */ 126 class backup_comments_setting extends backup_anonymize_setting {} 127 128 /** 129 * root setting to control if backup will include badges or not, 130 * depends on @backup_activities_setting 131 */ 132 class backup_badges_setting extends backup_generic_setting {} 133 134 /** 135 * root setting to control if backup will include 136 * calender events or no (any level), depends of @backup_users_setting 137 * exactly in the same way than @backup_anonymize_setting so we extend from it 138 */ 139 class backup_calendarevents_setting extends backup_anonymize_setting {} 140 141 /** 142 * root setting to control if backup will include 143 * users completion data or no (any level), depends of @backup_users_setting 144 * exactly in the same way than @backup_anonymize_setting so we extend from it 145 */ 146 class backup_userscompletion_setting extends backup_anonymize_setting {} 147 148 /** 149 * root setting to control if backup will include competencies or not. 150 */ 151 class backup_competencies_setting extends backup_generic_setting { 152 153 /** 154 * backup_competencies_setting constructor. 155 */ 156 public function __construct() { 157 $defaultvalue = false; 158 $visibility = base_setting::HIDDEN; 159 $status = base_setting::LOCKED_BY_CONFIG; 160 if (\core_competency\api::is_enabled()) { 161 $defaultvalue = true; 162 $visibility = base_setting::VISIBLE; 163 $status = base_setting::NOT_LOCKED; 164 } 165 parent::__construct('competencies', base_setting::IS_BOOLEAN, $defaultvalue, $visibility, $status); 166 } 167 } 168 169 // Section backup settings 170 171 /** 172 * generic section setting to pass various settings between tasks and steps 173 */ 174 class backup_section_generic_setting extends section_backup_setting {} 175 176 /** 177 * Setting to define if one section is included or no. Activities _included 178 * settings depend of them if available 179 */ 180 class backup_section_included_setting extends section_backup_setting {} 181 182 /** 183 * section backup setting to control if section will include 184 * user information or no, depends of @backup_users_setting 185 */ 186 class backup_section_userinfo_setting extends section_backup_setting {} 187 188 189 // Activity backup settings 190 191 /** 192 * generic activity setting to pass various settings between tasks and steps 193 */ 194 class backup_activity_generic_setting extends activity_backup_setting {} 195 196 /** 197 * activity backup setting to control if activity will 198 * be included or no, depends of @backup_activities_setting and 199 * optionally parent section included setting 200 */ 201 class backup_activity_included_setting extends activity_backup_setting {} 202 203 /** 204 * activity backup setting to control if activity will include 205 * user information or no, depends of @backup_users_setting 206 */ 207 class backup_activity_userinfo_setting extends activity_backup_setting {} 208 209 /** 210 * Root setting to control if backup will include content bank content or no 211 */ 212 class backup_contentbankcontent_setting extends backup_generic_setting { 213 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body