Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
qtype_calculatedmulti_qe2_attempt_updater Class Reference

Class for converting attempt data for calculated multiple-choice questions when upgrading attempts to the new question engine. More...

Inheritance diagram for qtype_calculatedmulti_qe2_attempt_updater:
question_qtype_attempt_updater

Public Member Functions

 calculate ($expression)
 Evaluate an expression using the variable values. More...
 
 compare_answers ($answer1, $answer2)
 
 discard ()
 
 format_float ($x, $length=null, $format=null)
 This function should be identical to qtype_calculated_variable_substituter::format_float(). More...
 
 is_blank_answer ($state)
 
 load_dataset ($selecteditem)
 
 question_summary ()
 
 replace_expressions_in_text ($text, $length=null, $format=null)
 Replace any embedded variables (like {a}) or formulae (like {={a} + {b}}) in some text with the corresponding values. More...
 
 response_summary ($state)
 
 right_answer ()
 
 set_data_elements_for_step ($state, &$data)
 
 set_first_step_data_elements ($state, &$data)
 
 supply_missing_first_step_data (&$data)
 
 was_answered ($state)
 

Protected Member Functions

 calculate_raw ($expression)
 Evaluate an expression after the variable values have been substituted. More...
 
 explode_answer ($state)
 
 substitute_values_for_eval ($expression)
 Substitute variable placehodlers like {a} with their value wrapped in (). More...
 
 substitute_values_pretty ($text)
 Substitute variable placehodlers like {a} with their value without wrapping the value in anything. More...
 
 to_text ($html)
 

Protected Attributes

question_engine_assumption_logger $logger
 
 $order
 
array $prettyvalue
 variable values, with negative numbers wrapped in (...). More...
 
question_engine_attempt_upgrader $qeupdater
 
object $question
 the question definition data.
 
array $safevalue
 variable values, with negative numbers wrapped in (...). More...
 
array $search
 variable names wrapped in {...}. More...
 
 $selecteditem = null
 
question_behaviour_attempt_updater $updater
 
array $values
 variable name => value
 

Detailed Description

Class for converting attempt data for calculated multiple-choice questions when upgrading attempts to the new question engine.

This class is used by the code in question/engine/upgrade/upgradelib.php.

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

Member Function Documentation

◆ calculate()

qtype_calculatedmulti_qe2_attempt_updater::calculate (   $expression)

Evaluate an expression using the variable values.

Parameters
string$expressionthe expression. A PHP expression with placeholders like {a} for where the variables need to go.
Return values
floatthe computed result.

◆ calculate_raw()

qtype_calculatedmulti_qe2_attempt_updater::calculate_raw (   $expression)
protected

Evaluate an expression after the variable values have been substituted.

Parameters
string$expressionthe expression. A PHP expression with placeholders like {a} for where the variables need to go.
Return values
floatthe computed result.

◆ format_float()

qtype_calculatedmulti_qe2_attempt_updater::format_float (   $x,
  $length = null,
  $format = null 
)

This function should be identical to qtype_calculated_variable_substituter::format_float().

Except that we do not try to do locale-aware replacement of the decimal point.

Having to copy it here is a pain, but it is the standard rule about not using library code (which may change in future) in upgrade code, which exists at a point in time.

Display a float properly formatted with a certain number of decimal places.

Parameters
number$xthe number to format
int$lengthrestrict to this many decimal places or significant figures. If null, the number is not rounded.
intformat 1 => decimalformat, 2 => significantfigures.
Return values
stringformtted number.

◆ replace_expressions_in_text()

qtype_calculatedmulti_qe2_attempt_updater::replace_expressions_in_text (   $text,
  $length = null,
  $format = null 
)

Replace any embedded variables (like {a}) or formulae (like {={a} + {b}}) in some text with the corresponding values.

Parameters
string$textthe text to process.
Return values
stringthe text with values substituted.

◆ substitute_values_for_eval()

qtype_calculatedmulti_qe2_attempt_updater::substitute_values_for_eval (   $expression)
protected

Substitute variable placehodlers like {a} with their value wrapped in ().

Parameters
string$expressionthe expression. A PHP expression with placeholders like {a} for where the variables need to go.
Return values
stringthe expression with each placeholder replaced by the corresponding value.

◆ substitute_values_pretty()

qtype_calculatedmulti_qe2_attempt_updater::substitute_values_pretty (   $text)
protected

Substitute variable placehodlers like {a} with their value without wrapping the value in anything.

Parameters
string$textsome content with placeholders like {a} for where the variables need to go.
Return values
stringthe expression with each placeholder replaced by the corresponding value.

Member Data Documentation

◆ $prettyvalue

array qtype_calculatedmulti_qe2_attempt_updater::$prettyvalue
protected

variable values, with negative numbers wrapped in (...).

Used by substitute_values().

◆ $safevalue

array qtype_calculatedmulti_qe2_attempt_updater::$safevalue
protected

variable values, with negative numbers wrapped in (...).

Used by substitute_values().

◆ $search

array qtype_calculatedmulti_qe2_attempt_updater::$search
protected

variable names wrapped in {...}.

Used by substitute_values().


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