Moodle PHP Documentation 5.1
Moodle 5.1dev (Build: 20250530) (c39b7370636)
core_form\dynamic_form Class Reference
Inheritance diagram for core_form\dynamic_form:
moodleform block_edit_form core_contentbank\form\upload_files core_customfield\field_config_form core_grades\form\add_category core_grades\form\add_item core_grades\form\add_outcome core_reportbuilder\form\audience core_reportbuilder\form\card_view core_reportbuilder\form\condition core_reportbuilder\form\duplicate_report core_reportbuilder\form\filter core_reportbuilder\form\report core_reportbuilder\form\schedule core_user\form\private_files core_user\form\profile_category_form core_user\form\profile_field_form enrol_guest\form\enrol_form enrol_self\form\enrol_form mod_bigbluebuttonbn\form\guest_add mod_data\form\import_presets mod_data\form\save_as_preset mod_feedback\form\create_template_form mod_feedback\form\use_template_form qbank_managecategories\form\question_category_edit_form tool_dataprivacy\form\contactdpo

Public Member Functions

 __construct (?string $action=null, ?array $customdata=null, string $method='post', string $target='', ?array $attributes=[], bool $editable=true, ?array $ajaxformdata=null, bool $isajaxsubmission=false)
 Constructor for modal forms can not be overridden, however the same form can be used both in AJAX and normally.
 
 _process_submission ($method)
 Internal method.
 
 _validate_files (&$files)
 Internal method.
 
 add_action_buttons ($cancel=true, $submitlabel=null)
 Use this method to a cancel and submit button to the end of your form.
 
 add_checkbox_controller ($groupid, $text=null, $attributes=null, $originalValue=0)
 Adds a link/button that controls the checked state of a group of checkboxes.
 
 add_sticky_action_buttons (bool $cancel=true, ?string $submitlabel=null)
 Use this method to make a sticky submit/cancel button at the end of your form.
 
 definition_after_data ()
 Dummy stub method - override if you need to setup the form depending on current values.
 
 display ()
 Print html form.
 
 filter_shown_headers (array $shownonly)
 Use this method to indicate that the fieldsets should be shown as expanded and all other fieldsets should be hidden.
 
 focus ($name=NULL)
 To autofocus on first form element or first element with error.
 
 get_data ()
 Return submitted data if properly submitted or returns NULL if validation fails or if there is no submitted data.
 
 get_file_content ($elname)
 Get content of uploaded file.
 
 get_new_filename ($elname=null)
 Returns name of uploaded file.
 
 get_submitted_data ()
 Return submitted data without validation or NULL if there is no submitted data.
 
 init_javascript_enhancement ($element, $enhancement, array $options=array(), ?array $strings=null)
 Adds an initialisation call for a standard JavaScript enhancement.
 
 is_cancelled ()
 Return true if a cancel button has been pressed resulting in the form being submitted.
 
 is_submitted ()
 Check that form was submitted.
 
 is_validated ()
 Check that form data is valid.
 
 moodleform ($action=null, $customdata=null, $method='post', $target='', $attributes=null, $editable=true)
 Old syntax of class constructor.
 
 no_submit_button_pressed ()
 Checks if button pressed is not for submitting the form.
 
 optional_param ($name, $default, $type)
 Checks if a parameter was passed in the previous form submission.
 
 process_dynamic_submission ()
 Process the form submission, used if form was submitted via AJAX.
 
 render ()
 Renders the html form (same as display, but returns the result).
 
 repeat_elements ($elementobjs, $repeats, $options, $repeathiddenname, $addfieldsname, $addfieldsno=5, $addstring=null, $addbuttoninside=false, $deletebuttonname='')
 Method to add a repeating group of elements to a form.
 
 repeat_elements_fix_clone ($i, $elementclone, &$namecloned)
 Helper used by repeat_elements().
 
 save_file ($elname, $pathname, $override=false)
 Save file to standard filesystem.
 
 save_files ($destination)
 Save verified uploaded files into directory.
 
 save_stored_file ($elname, $newcontextid, $newcomponent, $newfilearea, $newitemid, $newfilepath='/', $newfilename=null, $overwrite=false, $newuserid=null)
 Save file to local filesystem pool.
 
 save_temp_file ($elname)
 Returns a temporary file, do not forget to delete after not needed any more.
 
 set_data ($default_values)
 Load in existing data as form defaults.
 
 set_data_for_dynamic_submission ()
 Load in existing data as form defaults.
 
 set_display_vertical ()
 Set display mode for the form when labels take full width of the form and above the elements even on big screens.
 
 set_initial_dirty_state ($state=false)
 Set the initial 'dirty' state of the form.
 
 validate_defined_fields ($validateonnosubmit=false)
 Validate the form.
 
 validation ($data, $files)
 Dummy stub method - override if you needed to perform some extra validation.
 

Static Public Member Functions

static get_js_module ()
 Returns a JS module definition for the mforms JS.
 
static mock_ajax_submit ($simulatedsubmitteddata, $simulatedsubmittedfiles=array(), $method='post', $formidentifier=null)
 Used by tests to simulate submitted form data submission via AJAX.
 
static mock_generate_submit_keys ($data=[])
 Used by tests to generate valid submit keys for moodle forms that are submitted with ajax data.
 
static mock_submit ($simulatedsubmitteddata, $simulatedsubmittedfiles=array(), $method='post', $formidentifier=null)
 Used by tests to simulate submitted form data submission from the user.
 

Protected Member Functions

 _get_post_params ()
 Internal method - should not be used anywhere.
 
 after_definition ()
 After definition hook.
 
 check_access_for_dynamic_submission ()
 Checks if current user has access to this form, otherwise throws exception.
 
 definition ()
 Form definition.
 
 get_array_value_by_keys (array $array, array $keys)
 Returns an element of multi-dimensional array given the list of keys.
 
 get_context_for_dynamic_submission ()
 Returns context where this form is used.
 
 get_draft_files ($elname)
 Get draft files of a form element This is a protected method which will be used only inside moodleforms.
 
 get_form_identifier ()
 It should returns unique identifier for the form.
 
 get_page_url_for_dynamic_submission ()
 Returns url to set in $PAGE->set_url() when form is being rendered or submitted via AJAX.
 
 validate_draft_files ()
 Internal method.
 

Protected Attributes

array $_ajaxformdata
 submitted form data when using mforms with ajax
 
mixed $_customdata
 globals workaround
 
object $_definition_finalized = false
 definition_after_data executed flag
 
MoodleQuickForm $_form
 quickform object definition
 
string $_formname
 name of the form
 
bool null $_validated = null
 stores the validation result of this form or null if not yet validated
 

Static Protected Attributes

static int $uniqueid = 0
 Unique identifier to be used for action buttons.
 

Constructor & Destructor Documentation

◆ __construct()

core_form\dynamic_form::__construct ( ?string $action = null,
?array $customdata = null,
string $method = 'post',
string $target = '',
?array $attributes = [],
bool $editable = true,
?array $ajaxformdata = null,
bool $isajaxsubmission = false )
final

Constructor for modal forms can not be overridden, however the same form can be used both in AJAX and normally.

Parameters
string$action
array$customdata
string$method
string$target
array$attributes
bool$editable
array$ajaxformdataForms submitted via ajax, must pass their data here, instead of relying on _GET and _POST.
bool$isajaxsubmissionwhether the form is called from WS and it needs to validate user access and set up context

Member Function Documentation

◆ check_access_for_dynamic_submission()

◆ get_context_for_dynamic_submission()

◆ get_page_url_for_dynamic_submission()

core_form\dynamic_form::get_page_url_for_dynamic_submission ( )
abstractprotected

◆ process_dynamic_submission()

core_form\dynamic_form::process_dynamic_submission ( )
abstract

◆ set_data_for_dynamic_submission()


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