[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/backup/moodle2/ -> restore_settingslib.php (source)

   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 restore 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  defined('MOODLE_INTERNAL') || die();
  29  
  30  // TODO: Reduce these to the minimum because ui/dependencies are 100% separated
  31  
  32  // Root restore settings
  33  
  34  /**
  35   * root generic setting to store different things without dependencies
  36   */
  37  class restore_generic_setting extends root_backup_setting {}
  38  
  39  /**
  40   * root setting to control if restore will create user information
  41   * A lot of other settings are dependent of this (module's user info,
  42   * grades user info, messages, blogs...
  43   */
  44  class restore_users_setting extends restore_generic_setting {}
  45  
  46  /**
  47   * root setting to control if restore will create groups/grouping information. Depends on @restore_users_setting
  48   *
  49   * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  50   * @copyright 2014 Matt Sammarco
  51   */
  52  class restore_groups_setting extends restore_generic_setting {
  53  }
  54  
  55  /**
  56   * root setting to control if restore will create role assignments
  57   * or no (any level), depends of @restore_users_setting
  58   */
  59  class restore_role_assignments_setting extends root_backup_setting {}
  60  
  61  /**
  62   * root setting to control if restore will create activities
  63   * A lot of other settings (_included at activity levels)
  64   * are dependent of this setting
  65   */
  66  class restore_activities_setting extends restore_generic_setting {}
  67  
  68  /**
  69   * root setting to control if restore will create
  70   * comments or no, depends of @restore_users_setting
  71   * exactly in the same way than @restore_role_assignments_setting so we extend from it
  72   */
  73  class restore_comments_setting extends restore_role_assignments_setting {}
  74  
  75  /**
  76   * root setting to control if restore will create badges or not,
  77   * depends on @restore_activities_setting
  78   */
  79  class restore_badges_setting extends restore_generic_setting {}
  80  
  81  /**
  82   * root setting to control if competencies will also be restored.
  83   */
  84  class restore_competencies_setting extends restore_generic_setting {
  85  
  86      /**
  87       * restore_competencies_setting constructor.
  88       * @param bool $hascompetencies Flag whether to set the restore setting as checked and unlocked.
  89       */
  90      public function __construct($hascompetencies) {
  91          $defaultvalue = false;
  92          $visibility = base_setting::HIDDEN;
  93          $status = base_setting::LOCKED_BY_CONFIG;
  94          if (\core_competency\api::is_enabled()) {
  95              $visibility = base_setting::VISIBLE;
  96              if ($hascompetencies) {
  97                  $defaultvalue = true;
  98                  $status = base_setting::NOT_LOCKED;
  99              }
 100          }
 101          parent::__construct('competencies', base_setting::IS_BOOLEAN, $defaultvalue, $visibility, $status);
 102      }
 103  }
 104  
 105  /**
 106   * root setting to control if restore will create
 107   * events or no, depends of @restore_users_setting
 108   * exactly in the same way than @restore_role_assignments_setting so we extend from it
 109   */
 110  class restore_calendarevents_setting extends restore_role_assignments_setting {}
 111  
 112  /**
 113   * root setting to control if restore will create
 114   * completion info or no, depends of @restore_users_setting
 115   * exactly in the same way than @restore_role_assignments_setting so we extend from it
 116   */
 117  class restore_userscompletion_setting extends restore_role_assignments_setting {}
 118  
 119  /**
 120   * root setting to control if restore will create
 121   * logs or no, depends of @restore_users_setting
 122   * exactly in the same way than @restore_role_assignments_setting so we extend from it
 123   */
 124  class restore_logs_setting extends restore_role_assignments_setting {}
 125  
 126  /**
 127   * root setting to control if restore will create
 128   * grade_histories or no, depends of @restore_users_setting
 129   * exactly in the same way than @restore_role_assignments_setting so we extend from it
 130   */
 131  class restore_grade_histories_setting extends restore_role_assignments_setting {}
 132  
 133  
 134  // Course restore settings
 135  
 136  /**
 137   * generic course setting to pass various settings between tasks and steps
 138   */
 139  class restore_course_generic_setting extends course_backup_setting {}
 140  
 141  /**
 142   * Setting to define is we are going to overwrite course configuration
 143   */
 144  class restore_course_overwrite_conf_setting extends restore_course_generic_setting {}
 145  
 146  
 147  class restore_course_generic_text_setting extends restore_course_generic_setting {
 148  
 149      public function __construct($name, $vtype, $value = null, $visibility = self::VISIBLE, $status = self::NOT_LOCKED) {
 150          parent::__construct($name, $vtype, $value, $visibility, $status);
 151          $this->set_ui(new backup_setting_ui_text($this, $name));
 152      }
 153  
 154  }
 155  
 156  // Section restore settings
 157  
 158  /**
 159   * generic section setting to pass various settings between tasks and steps
 160   */
 161  class restore_section_generic_setting extends section_backup_setting {}
 162  
 163  /**
 164   * Setting to define if one section is included or no. Activities _included
 165   * settings depend of them if available
 166   */
 167  class restore_section_included_setting extends restore_section_generic_setting {}
 168  
 169  /**
 170   * section backup setting to control if section will include
 171   * user information or no, depends of @restore_users_setting
 172   */
 173  class restore_section_userinfo_setting extends restore_section_generic_setting {}
 174  
 175  
 176  // Activity backup settings
 177  
 178  /**
 179   * generic activity setting to pass various settings between tasks and steps
 180   */
 181  class restore_activity_generic_setting extends activity_backup_setting {}
 182  
 183  /**
 184   * activity backup setting to control if activity will
 185   * be included or no, depends of @restore_activities_setting and
 186   * optionally parent section included setting
 187   */
 188  class restore_activity_included_setting extends restore_activity_generic_setting {}
 189  
 190  /**
 191   * activity backup setting to control if activity will include
 192   * user information or no, depends of @restore_users_setting
 193   */
 194  class restore_activity_userinfo_setting extends restore_activity_generic_setting {}


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1