|
| __construct ($tempdir, $courseid, $interactive, $mode, $userid, $target, core\progress\base $progress=null, $releasesession=backup::RELEASESESSION_NO, ?\stdClass $copydata=null) |
| Constructor.
|
|
| add_logger (base_logger $logger) |
| Inserts a new logger at end of logging chain.
|
|
| calculate_checksum () |
| This function will return one unique and stable checksum for one instance of the class implementing it.
|
|
| convert () |
| Converts from current format to backup\MOODLE format.
|
|
| debug_display_all_settings_values () |
| For debug only.
|
|
| destroy () |
| Clean structures used by the restore_controller.
|
|
| execute_plan () |
|
| execute_precheck ($droptemptablesafter=false) |
| Execute the restore prechecks to detect any problem before proceed with restore.
|
|
| finish_ui () |
|
| get_copy () |
| Get the course copy data.
|
|
| get_courseid () |
|
| get_execution () |
|
| get_executiontime () |
|
| get_format () |
|
| get_info () |
|
| get_interactive () |
|
| get_logger () |
| Gets first logger in logging chain.
|
|
| get_mode () |
|
| get_operation () |
|
| get_plan () |
| Returns the restore plan.
|
|
| get_precheck_results () |
|
| get_progress () |
| Gets the progress reporter, which can be used to report progress within the backup or restore process.
|
|
| get_releasesession () |
| Returns the set value of releasesession.
|
|
| get_restoreid () |
|
| get_results () |
|
| get_setting_value ($name, $default=false) |
| Gets the value for the requested setting.
|
|
| get_status () |
|
| get_target () |
|
| get_tempdir () |
|
| get_type () |
|
| get_userid () |
|
| is_checksum_correct ($checksum) |
| Given one checksum, returns if matches object's checksum (true) or no (false)
|
|
| is_samesite () |
|
| log ($message, $level, $a=null, $depth=null, $display=false) |
| Logs data to the logger chain.
|
|
| precheck_executed () |
| Returns true if the prechecks have been executed.
|
|
| prepare_copy () |
| Do the necessary copy preparation actions.
|
|
| process_ui_event () |
|
| save_controller ($includeobj=true, $cleanobj=false) |
| Save controller information.
|
|
| set_copy (\stdClass $data) |
| Store extra data for course copy operations.
|
|
| set_execution ($execution, $executiontime=0) |
|
| set_progress (\core\progress\base $progress) |
| Sets the progress reporter.
|
|
| set_status ($status) |
|
|
const | CIPHER = 'aes-256-cbc' |
| Cipher to be used in backup and restore operations.
|
|
const | CIPHERKEYLEN = 32 |
| Bytes enforced for key, using the cypher above.
|
|
const | ENROL_ALWAYS = 2 |
|
const | ENROL_NEVER = 0 |
|
const | ENROL_WITHUSERS = 1 |
|
const | EXECUTION_DELAYED = 2 |
|
const | EXECUTION_INMEDIATE = 1 |
|
const | FORMAT_IMSCC1 = 'imscc1' |
|
const | FORMAT_IMSCC11 = 'imscc11' |
|
const | FORMAT_MOODLE = 'moodle2' |
|
const | FORMAT_MOODLE1 = 'moodle1' |
|
const | FORMAT_UNKNOWN = 'unknown' |
|
const | INTERACTIVE_NO = false |
|
const | INTERACTIVE_YES = true |
|
const | LOG_DEBUG = 50 |
|
const | LOG_ERROR = 20 |
|
const | LOG_INFO = 40 |
|
const | LOG_NONE = 10 |
|
const | LOG_WARNING = 30 |
|
const | MODE_ASYNC = 70 |
| This mode is for asynchronous backups.
|
|
const | MODE_AUTOMATED = 50 |
|
const | MODE_CONVERTED = 60 |
|
const | MODE_COPY = 80 |
| This mode is for course copies.
|
|
const | MODE_GENERAL = 10 |
|
const | MODE_HUB = 30 |
|
const | MODE_IMPORT = 20 |
| This is used for importing courses, and for duplicating activities.
|
|
const | MODE_SAMESITE = 40 |
| This mode is intended for duplicating courses and cases where the backup target is within the same site.
|
|
const | OPERATION_BACKUP ='backup' |
|
const | OPERATION_RESTORE ='restore' |
|
const | RELEASE = '4.2' |
| Usually same than major release zero version, mainly for informative/historic purposes.
|
|
const | RELEASESESSION_NO = false |
| Don't release the session during backup/restore.
|
|
const | RELEASESESSION_YES = true |
| Release the session during backup/restore.
|
|
const | STATUS_AWAITING = 700 |
|
const | STATUS_CONFIGURED = 400 |
|
const | STATUS_CREATED = 100 |
|
const | STATUS_EXECUTING = 800 |
|
const | STATUS_FINISHED_ERR = 900 |
|
const | STATUS_FINISHED_OK =1000 |
|
const | STATUS_NEED_PRECHECK =600 |
|
const | STATUS_PLANNED = 300 |
|
const | STATUS_REQUIRE_CONV = 200 |
|
const | STATUS_SETTING_UI = 500 |
|
const | TARGET_CURRENT_ADDING = 1 |
|
const | TARGET_CURRENT_DELETING = 0 |
|
const | TARGET_EXISTING_ADDING = 4 |
|
const | TARGET_EXISTING_DELETING = 3 |
|
const | TARGET_NEW_COURSE = 2 |
|
const | TYPE_1ACTIVITY = 'activity' |
|
const | TYPE_1COURSE = 'course' |
|
const | TYPE_1SECTION = 'section' |
|
const | VAR_ACTIVITYID = -21 |
|
const | VAR_BACKUPID = -1001 |
|
const | VAR_BASEPATH = -1011 |
|
const | VAR_BLOCKID = -51 |
|
const | VAR_BLOCKNAME = -61 |
|
const | VAR_CONTEXTID = -71 |
|
const | VAR_COURSEID = -1 |
|
const | VAR_MODID = -31 |
|
const | VAR_MODNAME = -41 |
|
const | VAR_PARENTID = -81 |
|
const | VAR_SECTIONID = -11 |
|
const | VERSION = 2023042400 |
| Usually same than major release version, this is used to mark important point is backup when some behavior/approach channged, in order to allow conditional coding based on it.
|
|
Class implementing the controller of any restore process.
This final class is in charge of controlling all the restore architecture, for any type of backup.
TODO: Finish phpdocs
restore_controller::destroy |
( |
| ) |
|
Clean structures used by the restore_controller.
This method clean various structures used by the restore_controller, destroying them in an ordered way, so their memory will be gc properly by PHP (mainly circular references).
Note that, while it's not mandatory to execute this method, it's highly recommended to do so, specially in scripts performing multiple operations (like the automated backups) or the system will run out of memory after a few dozens of backups)
restore_controller::execute_precheck |
( |
| $droptemptablesafter = false | ) |
|
Execute the restore prechecks to detect any problem before proceed with restore.
This function checks various parts of the restore (versions, users, roles...) returning true if everything was ok or false if any warning/error was detected. Any warning/error is returned by the get_precheck_results() method. Note: if any problem is found it will, automatically, drop all the restore temp tables as far as the next step is to inform about the warning/errors. If no problem is found, then default behaviour is to keep the temp tables so, in the same request restore will be executed, saving a lot of checks to be executed again. Note: If for any reason (UI to show after prechecks...) you want to force temp tables to be dropped always, you can pass true to the $droptemptablesafter parameter
const backup::MODE_SAMESITE = 40 |
|
inherited |
This mode is intended for duplicating courses and cases where the backup target is within the same site.
This mode will ensure that files are not included in the backup generation, and during a restore they are copied from the existing file record.
For creating a backup for archival purposes or greater longevity, use MODE_GENERAL.