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

Importer for Moodle XML question format. More...

Inheritance diagram for qformat_xml:

Public Member Functions

 can_import_file ($file)
 Check if the given file is capable of being imported by this plugin.
 
 clean_question_name ($name)
 Ensure that a question name does not contain anything nasty, and will fit in the DB field.
 
 clean_question_name ($name)
 Ensure that a question name does not contain anything nasty, and will fit in the DB field.
 
 create_default_question_name ($questiontext, $default)
 Construct a reasonable default question name, based on the start of the question text.
 
 create_default_question_name ($questiontext, $default)
 Construct a reasonable default question name, based on the start of the question text.
 
 export_file_extension ()
 
 exportpreprocess ()
 Do any pre-processing that may be required.
 
 exportprocess ($checkcapabilities=true)
 Perform the export.
 
 format ($format)
 
 get_format ($id)
 Convert internal Moodle text format code into human readable form.
 
 get_single ($id)
 Convert internal single question code into human readable form.
 
 getpath ($xml, $path, $default, $istext=false, $error='')
 return the value of a node, given a path to the node if it doesn't exist return the default value
 
 import_answer ($answer, $withanswerfiles=false, $defaultformat='html')
 Import the common parts of a single answer.
 
 import_calculated ($question)
 Import a calculated question.
 
 import_combined_feedback ($qo, $questionxml, $withshownumpartscorrect=false)
 Import the common overall feedback fields.
 
 import_description ($question)
 Import description type question.
 
 import_essay ($question)
 Import essay type question.
 
 import_files ($xml)
 Import files from a node in the XML.
 
 import_files_as_draft ($xml)
 
 import_headers ($question)
 import parts of question common to all types
 
 import_hint ($hintxml, $defaultformat)
 Import a question hint.
 
 import_hints ($qo, $questionxml, $withparts=false, $withoptions=false, $defaultformat='html')
 Import all the question hints.
 
 import_match ($question)
 Import matching type question.
 
 import_multianswer ($question)
 Import cloze type question.
 
 import_multichoice ($question)
 import multiple choice question
 
 import_numerical ($question)
 Import numerical type question.
 
 import_question_tags ($qo, $questionxml)
 Import all the question tags.
 
 import_questions ($xml)
 
 import_shortanswer ($question)
 Import short answer type question.
 
 import_text ($text)
 process text string from xml file
 
 import_text_with_files ($data, $path, $defaultvalue='', $defaultformat='html')
 
 import_truefalse ($question)
 Import true/false type question.
 
 importpostprocess ()
 
 importpostprocess ()
 Override if any post-processing is required.
 
 importpreprocess ()
 
 importpreprocess ()
 Perform any required pre-processing.
 
 importprocess ($filename, $lesson, $pageid)
 
 importprocess ()
 Process the file This method should not normally be overidden.
 
 mime_type ()
 The string mime-type of the files that this plugin reads or writes.
 
 provide_export ()
 
 provide_import ()
 
 readdata ($filename)
 
 readquestions ($lines)
 Parse the array of lines into an array of questions this could burn memory - but it won't happen that much so fingers crossed!
 
 set_can_access_backupdata ($canaccess)
 
 set_display_progress ($displayprogress)
 Change whether to display progress messages.
 
 set_importcontext ($context)
 
 setCategory ($category)
 set the category
 
 setCatfromfile ($catfromfile)
 set catfromfile
 
 setCattofile ($cattofile)
 set cattofile
 
 setContextfromfile ($contextfromfile)
 set contextfromfile
 
 setContexts ($contexts)
 set an array of contexts.
 
 setContexttofile ($contexttofile)
 set contexttofile
 
 setCourse ($course)
 set the course class variable
 
 setFilename ($filename)
 set the filename
 
 setMatchgrades ($matchgrades)
 set matchgrades
 
 setQuestions ($questions)
 Set the specific questions to export.
 
 setRealfilename ($realfilename)
 set the "real" filename (this is what the user typed, regardless of wha happened next)
 
 setStoponerror ($stoponerror)
 set stoponerror
 
 trans_format ($name)
 Translate human readable format name into internal Moodle code number Note the reverse function is called get_format.
 
 trans_single ($name)
 Translate human readable single answer option to internal code number.
 
 try_importing_using_qtypes ($data, $question=null, $extra=null, $qtypehint='')
 Import for questiontype plugins.
 
 try_importing_using_qtypes ($data, $question=null, $extra=null, $qtypehint='')
 Import for questiontype plugins Do not override.
 
 validate_file (stored_file $file)
 Validate the given file.
 
 write_answer ($answer, $extra='')
 
 write_answers ($answers)
 
 write_combined_feedback ($questionoptions, $questionid, $contextid)
 Output the combined feedback fields.
 
 write_files ($files)
 Generte the XML to represent some files.
 
 write_hint ($hint, $contextid)
 
 write_hints ($question)
 Write out the hints.
 
 writequestion ($question)
 Turns question into an xml segment.
 
 writetext ($raw, $indent=0, $short=true)
 Generates <text></text> tags, processing raw text therein.
 
 xml_escape ($string)
 Take a string, and wrap it in a CDATA secion, if that is required to make the output XML valid.
 

Public Attributes

 $canaccessbackupdata = true
 
 $category = null
 
 $catfromfile = 0
 
 $cattofile = 0
 
 $contextfromfile = 0
 
context[] $contexts
 
 $contexttofile = 0
 
 $course = null
 
 $displayerrors = true
 
bool $displayprogress = true
 $displayprogress Whether to display progress.
 
 $filename = ''
 
 $importerrors = 0
 
 $matchgrades = 'error'
 
 $qtypeconvert
 
 $questionids = array()
 
 $questions = array()
 
 $realfilename = ''
 
 $stoponerror = true
 
 $translator = null
 

Protected Member Functions

 add_blank_combined_feedback ($question)
 Since the lesson module tries to re-use the question bank import classes in a crazy way, this is necessary to stop things breaking.
 
 add_blank_combined_feedback ($question)
 Add a blank combined feedback to a question object.
 
 assemble_category_path ($names)
 Convert a list of category names, possibly preceeded by one of the context tokens like $course$, into a string representation of the category path.
 
 count_questions ($questions)
 Count all non-category questions in the questions array.
 
 count_questions ($questions)
 Count all non-category questions in the questions array.
 
 create_category_path ($catpath, $lastcategoryinfo=null)
 find and/or create the category described by a delimited list e.g.
 
 create_dummy_question_representing_category (string $categoryname, $categoryinfo)
 Create 'dummy' question for category export.
 
 defaultquestion ()
 return an "empty" question Somewhere to specify question parameters that are not handled by import but are required db fields.
 
 defaultquestion ()
 return an "empty" question Somewhere to specify question parameters that are not handled by import but are required db fields.
 
 error ($message, $text='', $questionname='')
 Handle parsing error.
 
 error ($message, $text='', $questionname='')
 Handle parsing error.
 
 exportpostprocess ()
 Do an post-processing that may be required.
 
 format_question_text ($question)
 Convert the question text to plain text, so it can safely be displayed during import to let the user see roughly what is going on.
 
 format_question_text ($question)
 Convert the question text to plain text, so it can safely be displayed during import to let the user see roughly what is going on.
 
 get_category_path ($id, $includecontext=true)
 get the category as a path (e.g., tom/dick/harry)
 
 get_name ()
 Return the localized pluginname string for the question format.
 
 get_qtype ($qtype)
 Turn the internal question type name into a human readable form.
 
 import_category ($question)
 This is not a real question type.
 
 import_question ($questionxml)
 
 presave_process ($content)
 Enable any processing to be done on the content just prior to the file being saved default is to do nothing.
 
 readdata ($filename)
 Return complete file within an array, one item per line.
 
 readquestion ($lines)
 
 readquestion ($lines)
 Given the data known to define a question in this format, this function converts it into a question object suitable for processing and insertion into Moodle.
 
 split_category_path ($path)
 Convert a string, as returned by assemble_category_path(), back into an array of category names.
 
 try_exporting_using_qtypes ($name, $question, $extra=null)
 Provide export functionality for plugin questiontypes Do not override.
 
 validate_is_utf8_file (stored_file $file)
 Check if the given file has the required utf8 encoding.
 

Protected Attributes

array $answerfiles = []
 Array of files for question answers.
 
array $feedbackfiles = []
 Array of files for feedback to question answers.
 
 $importcontext = null
 

Detailed Description

Importer for Moodle XML question format.

See http://docs.moodle.org/en/Moodle_XML_format for a description of the format.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ add_blank_combined_feedback()

qformat_default::add_blank_combined_feedback ( $question)
protectedinherited

Add a blank combined feedback to a question object.

Parameters
objectquestion
Return values
objectquestion

◆ assemble_category_path()

qformat_default::assemble_category_path ( $names)
protectedinherited

Convert a list of category names, possibly preceeded by one of the context tokens like $course$, into a string representation of the category path.

Names are separated by / delimiters. And /s in the name are replaced by //.

To reverse the process and split the paths into names, use split_category_path().

Parameters
array$names
Return values
string

◆ can_import_file()

qformat_default::can_import_file ( $file)
inherited

Check if the given file is capable of being imported by this plugin.

Note that expensive or detailed integrity checks on the file should not be performed by this method. Simple file type or magic-number tests would be suitable.

Parameters
stored_file$filethe file to check
Return values
boolwhether this plugin can import the file

Reimplemented in qformat_blackboard_six_base.

◆ clean_question_name() [1/2]

qformat_default::clean_question_name ( $name)
inherited

Ensure that a question name does not contain anything nasty, and will fit in the DB field.

Parameters
string$namethe raw question name.
Return values
stringa safe question name.

◆ clean_question_name() [2/2]

qformat_default::clean_question_name ( $name)
inherited

Ensure that a question name does not contain anything nasty, and will fit in the DB field.

Parameters
string$namethe raw question name.
Return values
stringa safe question name.

◆ count_questions() [1/2]

qformat_default::count_questions ( $questions)
protectedinherited

Count all non-category questions in the questions array.

Parameters
arrayquestions An array of question objects.
Return values
intThe count.

◆ count_questions() [2/2]

qformat_default::count_questions ( $questions)
protectedinherited

Count all non-category questions in the questions array.

Parameters
arrayquestions An array of question objects.
Return values
intThe count.

◆ create_category_path()

qformat_default::create_category_path ( $catpath,
$lastcategoryinfo = null )
protectedinherited

find and/or create the category described by a delimited list e.g.

$course$/tom/dick/harry or tom/dick/harry

removes any context string no matter whether $getcontext is set but if $getcontext is set then ignore the context and use selected category context.

Parameters
stringcatpath delimited category path
object$lastcategoryinfoContains category information
Return values
mixedcategory object or null if fails

◆ create_default_question_name() [1/2]

qformat_default::create_default_question_name ( $questiontext,
$default )
inherited

Construct a reasonable default question name, based on the start of the question text.

Parameters
string$questiontextthe question text.
string$defaultdefault question name to use if the constructed one comes out blank.
Return values
stringa reasonable question name.

◆ create_default_question_name() [2/2]

qformat_default::create_default_question_name ( $questiontext,
$default )
inherited

Construct a reasonable default question name, based on the start of the question text.

Parameters
string$questiontextthe question text.
string$defaultdefault question name to use if the constructed one comes out blank.
Return values
stringa reasonable question name.

◆ create_dummy_question_representing_category()

qformat_default::create_dummy_question_representing_category ( string $categoryname,
$categoryinfo )
protectedinherited

Create 'dummy' question for category export.

Parameters
string$categorynamethe name of the category
object$categoryinfodescription of the category
Return values
stdClass'dummy' question for category

◆ defaultquestion() [1/2]

qformat_default::defaultquestion ( )
protectedinherited

return an "empty" question Somewhere to specify question parameters that are not handled by import but are required db fields.

This should not be overridden.

Return values
objectdefault question

◆ defaultquestion() [2/2]

qformat_default::defaultquestion ( )
protectedinherited

return an "empty" question Somewhere to specify question parameters that are not handled by import but are required db fields.

This should not be overridden.

Return values
objectdefault question

◆ error()

qformat_default::error ( $message,
$text = '',
$questionname = '' )
protectedinherited

Handle parsing error.

Parameters
string$messageinformation about error
string$textimported text that triggered the error
string$questionnameimported question name

◆ export_file_extension()

qformat_xml::export_file_extension ( )
Return values
stringthe file extension (including .) that is normally used for files handled by this plugin.

Reimplemented from qformat_default.

◆ exportpostprocess()

qformat_default::exportpostprocess ( )
protectedinherited

Do an post-processing that may be required.

Return values
boolsuccess

◆ exportpreprocess()

qformat_default::exportpreprocess ( )
inherited

Do any pre-processing that may be required.

Parameters
boolsuccess

Reimplemented in qformat_aiken.

◆ exportprocess()

qformat_default::exportprocess ( $checkcapabilities = true)
inherited

Perform the export.

For most types this should not need to be overrided.

Parameters
bool$checkcapabilitiesWhether to check capabilities when exporting the questions.
Return values
stringThe content of the export.

◆ format()

qformat_xml::format ( $format)
Parameters
int$formata FORMAT_... constant.
Return values
stringthe attribute to add to an XML tag.

◆ get_category_path()

qformat_default::get_category_path ( $id,
$includecontext = true )
protectedinherited

get the category as a path (e.g., tom/dick/harry)

Parameters
intid the id of the most nested catgory
Return values
stringthe path

◆ get_format()

qformat_xml::get_format ( $id)

Convert internal Moodle text format code into human readable form.

Parameters
intid internal code
Return values
stringformat text

◆ get_name()

qformat_default::get_name ( )
protectedinherited

Return the localized pluginname string for the question format.

Return values
stringthe pluginname string for the question format

◆ get_qtype()

qformat_xml::get_qtype ( $qtype)
protected

Turn the internal question type name into a human readable form.

(In the past, the code used to use integers internally. Now, it uses strings, so there is less need for this, but to maintain backwards-compatibility we change two of the type names.)

Parameters
string$qtypequestion type plugin name.
Return values
string\$qtypestring to use in the file.

◆ get_single()

qformat_xml::get_single ( $id)

Convert internal single question code into human readable form.

Parameters
intid single question code
Return values
stringsingle question string

◆ getpath()

qformat_xml::getpath ( $xml,
$path,
$default,
$istext = false,
$error = '' )

return the value of a node, given a path to the node if it doesn't exist return the default value

Parameters
arrayxml data to read
arraypath path to node expressed as array
mixeddefault
boolistext process as text
stringerror if set value must exist, return false and issue message if not
Return values
mixedvalue

◆ import_answer()

qformat_xml::import_answer ( $answer,
$withanswerfiles = false,
$defaultformat = 'html' )

Import the common parts of a single answer.

Parameters
arrayanswer xml tree for single answer
bool$withanswerfilesif true, the answers are HTML (or $defaultformat) and so may contain files, otherwise the answers are plain text.
arrayDefault text format for the feedback, and the answers if $withanswerfiles is true.
Return values
objectanswer object

◆ import_calculated()

qformat_xml::import_calculated ( $question)

Import a calculated question.

Parameters
object$questionthe imported XML data.

◆ import_category()

qformat_xml::import_category ( $question)
protected

This is not a real question type.

It's a dummy type used to specify the import category. The format is: <question type="category"> <category>tom/dick/harry</category> <info format="moodle_auto_format"><text>Category description</text></info> </question>

◆ import_combined_feedback()

qformat_xml::import_combined_feedback ( $qo,
$questionxml,
$withshownumpartscorrect = false )

Import the common overall feedback fields.

Parameters
object$questionthe part of the XML relating to this question.
object$qothe question data to add the fields to.
bool$withshownumpartscorrectinclude the shownumcorrect field.

◆ import_description()

qformat_xml::import_description ( $question)

Import description type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_essay()

qformat_xml::import_essay ( $question)

Import essay type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_files()

qformat_xml::import_files ( $xml)

Import files from a node in the XML.

Parameters
array$xmlan array of <file> nodes from the the parsed XML.
Return values
arrayof things representing files - in the form that save_question expects.

◆ import_headers()

qformat_xml::import_headers ( $question)

import parts of question common to all types

Parameters
$questionarray question question array from xml tree
Return values
objectquestion object

◆ import_hint()

qformat_xml::import_hint ( $hintxml,
$defaultformat )

Import a question hint.

Parameters
array$hintxmlhint xml fragment.
string$defaultformatthe text format to assume for hints that do not specify.
Return values
objecthint for storing in the database.

◆ import_hints()

qformat_xml::import_hints ( $qo,
$questionxml,
$withparts = false,
$withoptions = false,
$defaultformat = 'html' )

Import all the question hints.

Parameters
object$qothe question data that is being constructed.
array$questionxmlThe xml representing the question.
bool$withpartswhether the extra fields relating to parts should be imported.
bool$withoptionswhether the extra options field should be imported.
string$defaultformatthe text format to assume for hints that do not specify.
Return values
arrayof objects representing the hints in the file.

◆ import_match()

qformat_xml::import_match ( $question)

Import matching type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_multianswer()

qformat_xml::import_multianswer ( $question)

Import cloze type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_multichoice()

qformat_xml::import_multichoice ( $question)

import multiple choice question

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_numerical()

qformat_xml::import_numerical ( $question)

Import numerical type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_question()

qformat_xml::import_question ( $questionxml)
protected
Parameters
array$questionxmlxml describing the question
Return values
null|stdClassan object with data to be fed to question type save_question_options

◆ import_question_tags()

qformat_xml::import_question_tags ( $qo,
$questionxml )

Import all the question tags.

Parameters
object$qothe question data that is being constructed.
array$questionxmlThe xml representing the question.
Return values
arrayof objects representing the tags in the file.

◆ import_questions()

qformat_xml::import_questions ( $xml)
Parameters
array$xmlthe xmlized xml
Return values
stdClass[]question objects to pass to question type save_question_options

◆ import_shortanswer()

qformat_xml::import_shortanswer ( $question)

Import short answer type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ import_text()

qformat_xml::import_text ( $text)

process text string from xml file

Parameters
array$textbit of xml tree after ['text']
Return values
stringprocessed text.

◆ import_truefalse()

qformat_xml::import_truefalse ( $question)

Import true/false type question.

Parameters
arrayquestion question array from xml tree
Return values
objectquestion object

◆ importpostprocess() [1/2]

qformat_default::importpostprocess ( )
inherited

Reimplemented in qformat_blackboard_six_base.

◆ importpostprocess() [2/2]

qformat_default::importpostprocess ( )
inherited

Override if any post-processing is required.

Return values
boolsuccess

Reimplemented in qformat_blackboard_six_base.

◆ importpreprocess()

qformat_default::importpreprocess ( )
inherited

Perform any required pre-processing.

Return values
boolsuccess

◆ importprocess()

qformat_default::importprocess ( )
inherited

Process the file This method should not normally be overidden.

Return values
boolsuccess

◆ mime_type()

qformat_xml::mime_type ( )

The string mime-type of the files that this plugin reads or writes.

Reimplemented from qformat_default.

◆ presave_process()

qformat_xml::presave_process ( $content)
protected

Enable any processing to be done on the content just prior to the file being saved default is to do nothing.

Parameters
stringoutput text
stringprocessed output text

Reimplemented from qformat_default.

◆ provide_export()

qformat_xml::provide_export ( )
Return values
boolwhether this plugin provides export functionality.

Reimplemented from qformat_default.

◆ provide_import()

qformat_xml::provide_import ( )

Reimplemented from qformat_default.

◆ readdata() [1/2]

qformat_default::readdata ( $filename)
inherited

Reimplemented in qformat_blackboard_six.

◆ readdata() [2/2]

qformat_default::readdata ( $filename)
protectedinherited

Return complete file within an array, one item per line.

Parameters
stringfilename name of file
Return values
mixedcontents array or false on failure

Reimplemented in qformat_blackboard_six.

◆ readquestion()

qformat_default::readquestion ( $lines)
protectedinherited

Given the data known to define a question in this format, this function converts it into a question object suitable for processing and insertion into Moodle.

If your format does not use blank lines to delimit questions (e.g. an XML format) you must override 'readquestions' too

Parameters
$linesmixed data that represents question
Return values
objectquestion object

◆ readquestions()

qformat_xml::readquestions ( $lines)

Parse the array of lines into an array of questions this could burn memory - but it won't happen that much so fingers crossed!

Parameters
arrayof lines from the input file.
stdClass$context
Return values
array(of objects) question objects.

Reimplemented from qformat_default.

◆ set_can_access_backupdata()

qformat_default::set_can_access_backupdata ( $canaccess)
inherited
Parameters
bool$canaccessWhether the current use can access the backup data folder. Determines where export files are saved.

◆ set_display_progress()

qformat_default::set_display_progress ( $displayprogress)
inherited

Change whether to display progress messages.

There is normally no need to use this function as the default for $displayprogress is true. Set to false for unit tests.

Parameters
bool$displayprogress

◆ setCategory()

qformat_default::setCategory ( $category)
inherited

set the category

Parameters
objectcategory the category object

◆ setCatfromfile()

qformat_default::setCatfromfile ( $catfromfile)
inherited

set catfromfile

Parameters
boolcatfromfile allow categories embedded in import file

◆ setCattofile()

qformat_default::setCattofile ( $cattofile)
inherited

set cattofile

Parameters
boolcattofile exports categories within export file

◆ setContextfromfile()

qformat_default::setContextfromfile ( $contextfromfile)
inherited

set contextfromfile

Parameters
bool$contextfromfileallow contexts embedded in import file

◆ setContexts()

qformat_default::setContexts ( $contexts)
inherited

set an array of contexts.

Parameters
context[]$contexts

◆ setContexttofile()

qformat_default::setContexttofile ( $contexttofile)
inherited

set contexttofile

Parameters
boolcattofile exports categories within export file

◆ setCourse()

qformat_default::setCourse ( $course)
inherited

set the course class variable

Parameters
courseobject Moodle course variable

◆ setFilename()

qformat_default::setFilename ( $filename)
inherited

set the filename

Parameters
stringfilename name of file to import/export

◆ setMatchgrades()

qformat_default::setMatchgrades ( $matchgrades)
inherited

set matchgrades

Parameters
stringmatchgrades error or nearest for grades

◆ setQuestions()

qformat_default::setQuestions ( $questions)
inherited

Set the specific questions to export.

Should not include questions with parents (sub questions of cloze question type). Only used for question export.

Parameters
arrayof question objects

◆ setRealfilename()

qformat_default::setRealfilename ( $realfilename)
inherited

set the "real" filename (this is what the user typed, regardless of wha happened next)

Parameters
stringrealfilename name of file as typed by user

◆ setStoponerror()

qformat_default::setStoponerror ( $stoponerror)
inherited

set stoponerror

Parameters
boolstoponerror stops database write if any errors reported

◆ split_category_path()

qformat_default::split_category_path ( $path)
protectedinherited

Convert a string, as returned by assemble_category_path(), back into an array of category names.

Each category name is cleaned by a call to clean_param(, PARAM_TEXT), which matches the cleaning in question/bank/managecategories/category_form.php.

Parameters
string$path
Return values
arrayof category names.

◆ trans_format()

qformat_xml::trans_format ( $name)

Translate human readable format name into internal Moodle code number Note the reverse function is called get_format.

Parameters
stringname format name from xml file
Return values
intMoodle format code

◆ trans_single()

qformat_xml::trans_single ( $name)

Translate human readable single answer option to internal code number.

Parameters
stringname true/false
Return values
intinternal code number

◆ try_exporting_using_qtypes()

qformat_default::try_exporting_using_qtypes ( $name,
$question,
$extra = null )
protectedinherited

Provide export functionality for plugin questiontypes Do not override.

Parameters
namequestiontype name
questionobject data to export
extramixed any addition format specific data needed
Return values
stringthe data to append to export or false if error (or unhandled)

◆ try_importing_using_qtypes() [1/2]

qformat_default::try_importing_using_qtypes ( $data,
$question = null,
$extra = null,
$qtypehint = '' )
inherited

Import for questiontype plugins.

Parameters
mixed$dataThe segment of data containing the question
object$questionprocessed (so far) by standard import code if appropriate
object$extramixed any additional format specific data that may be passed by the format
string$qtypehinthint about a question type from format
Return values
objectquestion object suitable for save_options() or false if cannot handle

◆ try_importing_using_qtypes() [2/2]

qformat_default::try_importing_using_qtypes ( $data,
$question = null,
$extra = null,
$qtypehint = '' )
inherited

Import for questiontype plugins Do not override.

Parameters
datamixed The segment of data containing the question
questionobject processed (so far) by standard import code if appropriate
extramixed any additional format specific data that may be passed by the format
qtypehinthint about a question type from format
Return values
objectquestion object suitable for save_options() or false if cannot handle

◆ validate_file()

qformat_xml::validate_file ( stored_file $file)

Validate the given file.

For more expensive or detailed integrity checks.

Parameters
stored_file$filethe file to check
Return values
stringthe error message that occurred while validating the given file

Reimplemented from qformat_default.

◆ validate_is_utf8_file()

qformat_default::validate_is_utf8_file ( stored_file $file)
protectedinherited

Check if the given file has the required utf8 encoding.

Parameters
stored_file$filethe file to check
Return values
stringthe error message if the file encoding is not UTF-8

◆ write_combined_feedback()

qformat_xml::write_combined_feedback ( $questionoptions,
$questionid,
$contextid )

Output the combined feedback fields.

Parameters
object$questionoptionsthe question definition data.
int$questionidthe question id.
int$contextidthe question context id.
Return values
stringXML to output.

◆ write_files()

qformat_xml::write_files ( $files)

Generte the XML to represent some files.

Parameters
arrayof store array of stored_file objects.
Return values
string\$stringthe XML.

◆ write_hints()

qformat_xml::write_hints ( $question)

Write out the hints.

Parameters
object$questionthe question definition data.
Return values
stringXML to output.

◆ writequestion()

qformat_xml::writequestion ( $question)

Turns question into an xml segment.

Parameters
object$questionthe question data.
Return values
stringxml segment

Reimplemented from qformat_default.

◆ writetext()

qformat_xml::writetext ( $raw,
$indent = 0,
$short = true )

Generates <text></text> tags, processing raw text therein.

Parameters
string$rawthe content to output.
int$indentthe current indent level.
bool$shortstick it on one line.
Return values
stringformatted text.

◆ xml_escape()

qformat_xml::xml_escape ( $string)

Take a string, and wrap it in a CDATA secion, if that is required to make the output XML valid.

Parameters
string$stringa string
Return values
stringthe string, wrapped in CDATA if necessary.

Member Data Documentation

◆ $qtypeconvert

qformat_default::$qtypeconvert
inherited
Initial value:
= array('numerical' => LESSON_PAGE_NUMERICAL,
'multichoice' => LESSON_PAGE_MULTICHOICE,
'truefalse' => LESSON_PAGE_TRUEFALSE,
'shortanswer' => LESSON_PAGE_SHORTANSWER,
'essay' => LESSON_PAGE_ESSAY
)
const LESSON_PAGE_SHORTANSWER
Short answer question type.
Definition shortanswer.php:29
const LESSON_PAGE_NUMERICAL
Numerical question type.
Definition numerical.php:29
const LESSON_PAGE_MULTICHOICE
Multichoice question type.
Definition multichoice.php:29
const LESSON_PAGE_ESSAY
Essay question type.
Definition essay.php:29
const LESSON_PAGE_TRUEFALSE
True/False question type.
Definition truefalse.php:29
const LESSON_PAGE_MATCHING
Matching question type.
Definition matching.php:29

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