Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
restore_qtype_plugin Class Reference

Class extending standard restore_plugin in order to implement some helper methods related with the questions (qtype plugin) More...

Inheritance diagram for restore_qtype_plugin:

Public Member Functions

 define_plugin_structure ($connectionpoint)
 
 launch_after_execute_methods ()
 after_execute dispatcher for any restore_plugin class
 
 launch_after_restore_methods ()
 after_restore dispatcher for any restore_plugin class
 
 process_question_answer ($data)
 Processes the answer element (question answers).
 
 process_question_dataset_definition ($data)
 Processes the dataset_definition element (question dataset definitions).
 
 process_question_dataset_item ($data)
 Processes the dataset_item element (question dataset items).
 
 process_question_numerical_option ($data)
 Processes the numerical_option element (question numerical options).
 
 process_question_numerical_unit ($data)
 Processes the numerical_unit element (question numerical units).
 
 recode_legacy_state_answer ($state)
 Decode legacy question_states.answer for this qtype.
 
 recode_response ($questionid, $sequencenumber, array $response)
 Do any re-coding necessary in the student response.
 

Static Public Member Functions

static define_plugin_decode_contents ()
 Return the contents of the questions stuff that must be processed by the links decoder.
 
static get_restore_decode_contents ($plugintype)
 Returns one array with all the decode contents to be processed by the links decoder.
 

Protected Member Functions

 add_question_datasets (&$paths)
 Add to $paths the restore_path_elements needed to handle question_datasets (defs and items) for a given question Used by various qtypes (calculated, numerical)
 
 add_question_numerical_options (&$paths)
 Add to $paths the restore_path_elements needed to handle question_numerical_options for a given question Used by various qtypes (calculated, numerical)
 
 add_question_numerical_units (&$paths)
 Add to $paths the restore_path_elements needed to handle question_numerical_units for a given question Used by various qtypes (calculated, numerical)
 
 add_question_question_answers (&$paths)
 Add to $paths the restore_path_elements needed to handle question_answers for a given question Used by various qtypes (calculated, essay, multianswer, multichoice, numerical, shortanswer, truefalse)
 
 add_related_files ($component, $filearea, $mappingitemname, $filesctxid=null, $olditemid=null)
 Add all the existing file, given their component and filearea and one backup_ids itemname to match with.
 
 apply_date_offset ($value)
 Apply course startdate offset based in original course startdate and course_offset_startdate setting Note we are using one static cache here, but by restoreid, so it's ok for concurrence/multiple executions in the same request.
 
 get_mapping ($itemname, $oldid)
 Return the complete mapping from the given itemname, itemid.
 
 get_mappingid ($itemname, $oldid, $ifnotfound=false)
 Return the new id of a mapping for the given itemname.
 
 get_namefor ($name='')
 Simple helper function that returns the name for the restore_path_element It's not mandatory to use it but recommended ;-)
 
 get_new_parentid ($itemname)
 Returns the latest (parent) new id mapped by one pathelement.
 
 get_old_parentid ($itemname)
 Returns the latest (parent) old id mapped by one pathelement.
 
 get_pathfor ($path='')
 Simple helper function that returns the base (prefix) of the path for the restore_path_element Useful if we used get_recommended_name() in backup.
 
 get_restoreid ()
 
 get_setting_value ($name)
 Returns the value of one (task/plan) setting.
 
 get_task ()
 Get the task we are part of.
 
 set_mapping ($itemname, $oldid, $newid, $restorefiles=false, $filesctxid=null, $parentid=null)
 To send ids pairs to backup_ids_table and to store them into paths.
 

Protected Attributes

restore_path_element $connectionpoint
 
string $pluginname
 
string $plugintype
 
restore_structure_step $step
 
restore_course_task restore_activity_task $task
 

Detailed Description

Class extending standard restore_plugin in order to implement some helper methods related with the questions (qtype plugin)

TODO: Finish phpdocs

Member Function Documentation

◆ define_plugin_decode_contents()

static restore_qtype_plugin::define_plugin_decode_contents ( )
static

Return the contents of the questions stuff that must be processed by the links decoder.

Only common stuff to all plugins, in this case:

  • question: text and feedback
  • question_answers: text and feedbak

Note each qtype will have, if needed, its own define_decode_contents method

Reimplemented from restore_plugin.

◆ get_mappingid()

restore_plugin::get_mappingid ( $itemname,
$oldid,
$ifnotfound = false )
protectedinherited

Return the new id of a mapping for the given itemname.

Parameters
string$itemnamethe type of item
int$oldidthe item ID from the backup
mixed$ifnotfoundwhat to return if $oldid wasnt found. Defaults to false

◆ get_pathfor()

restore_plugin::get_pathfor ( $path = '')
protectedinherited

Simple helper function that returns the base (prefix) of the path for the restore_path_element Useful if we used get_recommended_name() in backup.

It's not mandatory to use it but recommended ;-)

◆ get_restore_decode_contents()

static restore_plugin::get_restore_decode_contents ( $plugintype)
staticinherited

Returns one array with all the decode contents to be processed by the links decoder.

This method, given one plugin type, returns one array of restore_decode_content objects that will be added to the restore decoder in order to perform modifications under the plugin contents.

The objects are retrieved by calling to the define_decode_contents method (when available), first in the main restore_xxxx_plugin class and later on each of the available subclasses

◆ get_task()

restore_plugin::get_task ( )
protectedinherited

Get the task we are part of.

Return values
restore_activity_task|restore_course_taskthe task.

◆ launch_after_execute_methods()

restore_plugin::launch_after_execute_methods ( )
inherited

after_execute dispatcher for any restore_plugin class

This method will dispatch execution to the corresponding after_execute_xxx() method when available, with xxx being the connection point of the instance, so plugin classes with multiple connection points will support multiple after_execute methods, one for each connection point

◆ launch_after_restore_methods()

restore_plugin::launch_after_restore_methods ( )
inherited

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

◆ process_question_answer()

restore_qtype_plugin::process_question_answer ( $data)

Processes the answer element (question answers).

Common for various qtypes. It handles both creation (if the question is being created) and mapping (if the question already existed and is being reused)

◆ process_question_dataset_definition()

restore_qtype_plugin::process_question_dataset_definition ( $data)

Processes the dataset_definition element (question dataset definitions).

Common for various qtypes. It handles both creation (if the question is being created) and mapping (if the question already existed and is being reused)

◆ process_question_dataset_item()

restore_qtype_plugin::process_question_dataset_item ( $data)

Processes the dataset_item element (question dataset items).

Common for various qtypes. It handles both creation (if the question is being created) and mapping (if the question already existed and is being reused)

◆ process_question_numerical_option()

restore_qtype_plugin::process_question_numerical_option ( $data)

Processes the numerical_option element (question numerical options).

Common for various qtypes. It handles both creation (if the question is being created) and mapping (if the question already existed and is being reused)

◆ process_question_numerical_unit()

restore_qtype_plugin::process_question_numerical_unit ( $data)

Processes the numerical_unit element (question numerical units).

Common for various qtypes. It handles both creation (if the question is being created) and mapping (if the question already existed and is being reused)

◆ recode_legacy_state_answer()

restore_qtype_plugin::recode_legacy_state_answer ( $state)

◆ recode_response()

restore_qtype_plugin::recode_response ( $questionid,
$sequencenumber,
array $response )

Do any re-coding necessary in the student response.

Parameters
int$questionidthe new id of the question
int$sequencenumberof the step within the qusetion attempt.
arraythe response data from the backup.
Return values
arraythe recoded response.

Reimplemented in restore_qtype_calculatedmulti_plugin, restore_qtype_match_plugin, restore_qtype_multianswer_plugin, and restore_qtype_multichoice_plugin.

◆ set_mapping()

restore_plugin::set_mapping ( $itemname,
$oldid,
$newid,
$restorefiles = false,
$filesctxid = null,
$parentid = null )
protectedinherited

To send ids pairs to backup_ids_table and to store them into paths.

This method will send the given itemname and old/new ids to the backup_ids_temp table, and, at the same time, will save the new id into the corresponding restore_path_element for easier access by children. Also will inject the known old context id for the task in case it's going to be used for restoring files later


The documentation for this class was generated from the following file: