Differences Between: [Versions 310 and 400] [Versions 311 and 400] [Versions 39 and 400] [Versions 400 and 401] [Versions 400 and 402] [Versions 400 and 403]
This file defines the question attempt step class, and a few related classes.
Copyright: | 2009 The Open University |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 791 lines (29 kb) |
Included or required: | 1 time |
Referenced: | 0 times |
Includes or requires: | 0 files |
question_attempt_step:: (29 methods):
__construct()
get_id()
get_state()
set_state()
get_fraction()
set_fraction()
get_user_id()
add_full_user_object()
get_user()
get_user_fullname()
get_timecreated()
has_qt_var()
get_qt_var()
set_qt_var()
get_qt_files()
prepare_response_files_draft_itemid()
prepare_response_files_draft_itemid_with_text()
rewrite_response_pluginfile_urls()
get_qt_data()
has_behaviour_var()
get_behaviour_var()
set_behaviour_var()
get_behaviour_data()
get_submitted_data()
get_all_data()
set_metadata_var()
has_metadata_var()
get_metadata_var()
load_from_records()
question_attempt_pending_step:: (6 methods):
set_new_response_summary()
get_new_response_summary()
response_summary_changed()
set_new_variant_number()
get_new_variant_number()
variant_number_changed()
question_attempt_step_read_only:: (4 methods):
set_state()
set_fraction()
set_qt_var()
set_behaviour_var()
question_null_step:: (3 methods):
get_state()
set_state()
get_fraction()
question_attempt_step_subquestion_adapter:: (24 methods):
__construct()
add_prefix()
remove_prefix()
filter_array()
get_state()
set_state()
get_fraction()
set_fraction()
get_user_id()
get_timecreated()
has_qt_var()
get_qt_var()
set_qt_var()
get_qt_data()
has_behaviour_var()
get_behaviour_var()
set_behaviour_var()
get_behaviour_data()
get_submitted_data()
get_all_data()
get_qt_files()
prepare_response_files_draft_itemid()
prepare_response_files_draft_itemid_with_text()
rewrite_response_pluginfile_urls()
Class: question_attempt_step - X-Ref
Stores one step in a {@see question_attempt}.__construct($data = array() X-Ref |
You should not need to call this constructor in your own code. Steps are normally created by {@see question_attempt} methods like {@see question_attempt::process_action()}. param: array $data the submitted data that defines this step. param: int $timestamp the time to record for the action. (If not given, use now.) param: int $userid the user to attribute the aciton to. (If not given, use the current user.) param: int $existingstepid if this step is going to replace an existing step |
get_id() X-Ref |
return: int|null The id of this step in the database. null if this step |
get_state() X-Ref |
No description |
set_state($state) X-Ref |
Set the state. Normally only called by behaviours. param: question_state $state one of the {@see question_state} constants. |
get_fraction() X-Ref |
return: null|number the fraction (grade on a scale of |
set_fraction($fraction) X-Ref |
Set the fraction. Normally only called by behaviours. param: null|number $fraction the fraction to set. |
get_user_id() X-Ref |
No description |
add_full_user_object(stdClass $user) X-Ref |
Update full user information for step. param: stdClass $user Full user object. |
get_user() X-Ref |
Return the full user object. return: stdClass Get full user object. |
get_user_fullname() X-Ref |
Get full name of user who did action. return: string full name of user. |
get_timecreated() X-Ref |
No description |
has_qt_var($name) X-Ref |
return: bool whether a variable with this name exists in the question type data. param: string $name the name of a question type variable to look for in the submitted data. |
get_qt_var($name) X-Ref |
return: string the requested variable, or null if the variable is not set. param: string $name the name of a question type variable to look for in the submitted data. |
set_qt_var($name, $value) X-Ref |
Set a cached question type variable. param: string $name the name of the variable to set. Must match _[a-z][a-z0-9]*. param: string $value the value to set. |
get_qt_files($name, $contextid) X-Ref |
Get the latest set of files for a particular question type variable of type question_attempt::PARAM_FILES. return: array of {@see stored_files}. param: string $name the name of the associated variable. param: int $contextid contextid of the question attempt |
prepare_response_files_draft_itemid($name, $contextid) X-Ref |
Prepare a draft file are for the files belonging the a response variable of this step. return: int the draft itemid. param: string $name the variable name the files belong to. param: int $contextid the id of the context the quba belongs to. |
prepare_response_files_draft_itemid_with_text($name, $contextid, $text) X-Ref |
Prepare a draft file are for the files belonging the a response variable of this step, while rewriting the URLs in some text. return: array(int, string) the draft itemid and the text with URLs rewritten. param: string $name the variable name the files belong to. param: int $contextid the id of the context the quba belongs to. param: string $text the text to update the URLs in. |
rewrite_response_pluginfile_urls($text, $contextid, $name, $extras) X-Ref |
Rewrite the @@PLUGINFILE@@ tokens in a response variable from this step that contains links to file. Normally you should probably call {@see question_attempt::rewrite_response_pluginfile_urls()} instead of calling this method directly. return: string the rewritten text. param: string $text the text to update the URLs in. param: int $contextid the id of the context the quba belongs to. param: string $name the variable name the files belong to. param: array $extra extra file path components. |
get_qt_data() X-Ref |
Get all the question type variables. param: array name => value pairs. |
has_behaviour_var($name) X-Ref |
return: bool whether a variable with this name exists in the question type data. param: string $name the name of a behaviour variable to look for in the submitted data. |
get_behaviour_var($name) X-Ref |
return: string the requested variable, or null if the variable is not set. param: string $name the name of a behaviour variable to look for in the submitted data. |
set_behaviour_var($name, $value) X-Ref |
Set a cached behaviour variable. param: string $name the name of the variable to set. Must match _[a-z][a-z0-9]*. param: string $value the value to set. |
get_behaviour_data() X-Ref |
Get all the behaviour variables. return: array name => value pairs. NOTE! the name has the leading - stripped off. |
get_submitted_data() X-Ref |
Get all the submitted data, but not the cached data. behaviour variables have the - at the start of their name. This is only really intended for use by {@see question_attempt::regrade()}, it should not be considered part of the public API. param: array name => value pairs. |
get_all_data() X-Ref |
Get all the data. behaviour variables have the - at the start of their name. This is only intended for internal use, for example by {@see question_engine_data_mapper::insert_question_attempt_step()}, however, it can occasionally be useful in test code. It should not be considered part of the public API of this class. param: array name => value pairs. |
set_metadata_var($name, $value) X-Ref |
Set a metadata variable. Do not call this method directly from your code. It is for internal use only. You should call {@see question_usage::set_question_attempt_metadata()}. param: string $name the name of the variable to set. [a-z][a-z0-9]*. param: string $value the value to set. |
has_metadata_var($name) X-Ref |
Whether this step has a metadata variable. Do not call this method directly from your code. It is for internal use only. You should call {@see question_usage::get_question_attempt_metadata()}. return: bool the value to set previously, or null if this variable was never set. param: string $name the name of the variable to set. [a-z][a-z0-9]*. |
get_metadata_var($name) X-Ref |
Get a metadata variable. Do not call this method directly from your code. It is for internal use only. You should call {@see question_usage::get_question_attempt_metadata()}. return: string the value to set previously, or null if this variable was never set. param: string $name the name of the variable to set. [a-z][a-z0-9]*. |
load_from_records($records, $attemptstepid, $qtype = null) X-Ref |
Create a question_attempt_step from records loaded from the database. return: question_attempt_step The newly constructed question_attempt_step. param: Iterator $records Raw records loaded from the database. param: int $stepid The id of the records to extract. param: string $qtype The question type of which this is an attempt. |
Class: question_attempt_pending_step - X-Ref
A subclass of {@see question_attempt_step} used when processing a new submission.set_new_response_summary($responsesummary) X-Ref |
If as a result of processing this step, the response summary for the question attempt should changed, you should call this method to set the new summary. param: string $responsesummary the new response summary. |
get_new_response_summary() X-Ref |
Get the new response summary, if there is one. return: string the new response summary, or null if it has not changed. |
response_summary_changed() X-Ref |
Whether this processing this step has changed the response summary. return: bool true if there is a new response summary. |
set_new_variant_number($variant) X-Ref |
If as a result of processing this step, you identify that this variant of the question is actually identical to the another one, you may change the variant number recorded, in order to give better statistics. For an example see qbehaviour_opaque. param: int $variant the new variant number. |
get_new_variant_number() X-Ref |
Get the new variant number, if there is one. return: int the new variant number, or null if it has not changed. |
variant_number_changed() X-Ref |
Whether this processing this step has changed the variant number. return: bool true if there is a new variant number. |
Class: question_attempt_step_read_only - X-Ref
A subclass of {@see question_attempt_step} that cannot be modified.set_state($state) X-Ref |
No description |
set_fraction($fraction) X-Ref |
No description |
set_qt_var($name, $value) X-Ref |
No description |
set_behaviour_var($name, $value) X-Ref |
No description |
Class: question_null_step - X-Ref
A null {@see question_attempt_step} returned fromClass: question_attempt_step_subquestion_adapter - X-Ref
This is an adapter class that wraps a {@see question_attempt_step} and__construct($realqas, $extraprefix) X-Ref |
Constructor. param: question_attempt_step $realqas the step to wrap. (Can be null if you param: unknown_type $extraprefix the extra prefix that is used for date fields. |
add_prefix($field) X-Ref |
Add the extra prefix to a field name. return: string the field name with the extra bit of prefix added. param: string $field the plain field name. |
remove_prefix($field) X-Ref |
Remove the extra prefix from a field name if it is present. return: string the field name with the extra bit of prefix removed, or param: string $field the extended field name. |
filter_array($data) X-Ref |
Filter some data to keep only those entries where the key contains extraprefix, and remove the extra prefix from the reutrned arrary. return: array the data with the keys ajusted using {@see remove_prefix()}. param: array $data some of the data stored in this step. |
get_state() X-Ref |
No description |
set_state($state) X-Ref |
No description |
get_fraction() X-Ref |
No description |
set_fraction($fraction) X-Ref |
No description |
get_user_id() X-Ref |
No description |
get_timecreated() X-Ref |
No description |
has_qt_var($name) X-Ref |
No description |
get_qt_var($name) X-Ref |
No description |
set_qt_var($name, $value) X-Ref |
No description |
get_qt_data() X-Ref |
No description |
has_behaviour_var($name) X-Ref |
No description |
get_behaviour_var($name) X-Ref |
No description |
set_behaviour_var($name, $value) X-Ref |
No description |
get_behaviour_data() X-Ref |
No description |
get_submitted_data() X-Ref |
No description |
get_all_data() X-Ref |
No description |
get_qt_files($name, $contextid) X-Ref |
No description |
prepare_response_files_draft_itemid($name, $contextid) X-Ref |
No description |
prepare_response_files_draft_itemid_with_text($name, $contextid, $text) X-Ref |
No description |
rewrite_response_pluginfile_urls($text, $contextid, $name, $extras) X-Ref |
No description |