Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
core\form\persistent Class Reference

Persistent form abstract class. More...

Inheritance diagram for core\form\persistent:
moodleform quizaccess_seb\local\form\template tool_dataprivacy\form\category tool_dataprivacy\form\context_instance tool_dataprivacy\form\purpose tool_dataprivacy_data_request_form tool_lp\form\competency tool_lp\form\competency_framework tool_lp\form\plan tool_lp\form\template tool_lp\form\user_evidence tool_oauth2\form\endpoint tool_oauth2\form\issuer tool_oauth2\form\user_field_mapping

Public Member Functions

 __construct ($action=null, $customdata=null, $method='post', $target='', $attributes=null, $editable=true, $ajaxformdata=null)
 Constructor. More...
 
 _process_submission ($method)
 Internal method. More...
 
 _validate_files (&$files)
 Internal method. More...
 
 add_action_buttons ($cancel=true, $submitlabel=null)
 Use this method to a cancel and submit button to the end of your form. More...
 
 add_checkbox_controller ($groupid, $text=null, $attributes=null, $originalValue=0)
 Adds a link/button that controls the checked state of a group of checkboxes. More...
 
 definition_after_data ()
 Dummy stub method - override if you need to setup the form depending on current values. More...
 
 display ()
 Print html form. More...
 
 focus ($name=NULL)
 To autofocus on first form element or first element with error. More...
 
 get_data ()
 Get form data. More...
 
 get_file_content ($elname)
 Get content of uploaded file. More...
 
 get_new_filename ($elname=null)
 Returns name of uploaded file. More...
 
 get_submitted_data ()
 Get the submitted form data. More...
 
 init_javascript_enhancement ($element, $enhancement, array $options=array(), array $strings=null)
 Adds an initialisation call for a standard JavaScript enhancement. More...
 
 is_cancelled ()
 Return true if a cancel button has been pressed resulting in the form being submitted. More...
 
 is_submitted ()
 Check that form was submitted. More...
 
 is_validated ()
 Check that form data is valid. More...
 
 moodleform ($action=null, $customdata=null, $method='post', $target='', $attributes=null, $editable=true)
 Old syntax of class constructor. More...
 
 no_submit_button_pressed ()
 Checks if button pressed is not for submitting the form. More...
 
 optional_param ($name, $default, $type)
 Checks if a parameter was passed in the previous form submission. More...
 
 render ()
 Renders the html form (same as display, but returns the result). More...
 
 repeat_elements ($elementobjs, $repeats, $options, $repeathiddenname, $addfieldsname, $addfieldsno=5, $addstring=null, $addbuttoninside=false)
 Method to add a repeating group of elements to a form. More...
 
 repeat_elements_fix_clone ($i, $elementclone, &$namecloned)
 Helper used by repeat_elements(). More...
 
 save_file ($elname, $pathname, $override=false)
 Save file to standard filesystem. More...
 
 save_files ($destination)
 Save verified uploaded files into directory. More...
 
 save_stored_file ($elname, $newcontextid, $newcomponent, $newfilearea, $newitemid, $newfilepath='/', $newfilename=null, $overwrite=false, $newuserid=null)
 Save file to local filesystem pool. More...
 
 save_temp_file ($elname)
 Returns a temporary file, do not forget to delete after not needed any more. More...
 
 set_data ($default_values)
 Load in existing data as form defaults. More...
 
 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. More...
 
 set_initial_dirty_state ($state=false)
 Set the initial 'dirty' state of the form. More...
 
 validate_defined_fields ($validateonnosubmit=false)
 Validate the form. More...
 
 validation ($data, $files)
 Form validation. More...
 

Static Public Member Functions

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

Protected Member Functions

 _get_post_params ()
 Internal method - should not be used anywhere. More...
 
 after_definition ()
 After definition hook. More...
 
 definition ()
 Form definition. More...
 
 extra_validation ($data, $files, array &$errors)
 Define extra validation mechanims. More...
 
 filter_data_for_persistent ($data)
 Filter out the foreign fields of the persistent. More...
 
 get_default_data ()
 Get the default data. More...
 
 get_draft_files ($elname)
 Get draft files of a form element This is a protected method which will be used only inside moodleforms. More...
 
 get_form_identifier ()
 It should returns unique identifier for the form. More...
 
 get_persistent ()
 Return the persistent object associated with this form instance. More...
 
 validate_draft_files ()
 Internal method. More...
 

Static Protected Member Functions

static convert_fields (stdClass $data)
 Convert some fields. More...
 

Protected Attributes

array $_ajaxformdata
 submitted form data when using mforms with ajax
 
array $_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 array $fieldstoremove = array('submitbutton')
 Fields to remove when getting the final data.
 
static array $foreignfields = array()
 Fields to remove from the persistent validation.
 
static string $persistentclass = null
 The fully qualified classname.
 

Detailed Description

Persistent form abstract class.

This provides some shortcuts to validate objects based on the persistent model.

Note that all mandatory fields (non-optional) of your model should be included in the form definition. Mandatory fields which are not editable by the user should be as hidden and constant.

$mform->addElement('hidden', 'userid'); $mform->setType('userid', PARAM_INT); $mform->setConstant('userid', $this->_customdata['userid']);

You may exclude some fields from the validation should your form include other properties such as files. To do so use the $foreignfields property.

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

Constructor & Destructor Documentation

◆ __construct()

core\form\persistent::__construct (   $action = null,
  $customdata = null,
  $method = 'post',
  $target = '',
  $attributes = null,
  $editable = true,
  $ajaxformdata = null 
)

Constructor.

The 'persistent' has to be passed as custom data when 'editing'.

Note that in order for your persistent to be reloaded after form submission you should either override the URL to include the ID to your resource, or add the ID to the form fields.

Parameters
mixed$action
mixed$customdata
string$method
string$target
mixed$attributes
bool$editable
array$ajaxformdata

Reimplemented from moodleform.

Member Function Documentation

◆ _get_post_params()

moodleform::_get_post_params ( )
protectedinherited

Internal method - should not be used anywhere.

Deprecated:
since 2.6
Return values
array::$_POST,.

◆ _process_submission()

moodleform::_process_submission (   $method)
inherited

Internal method.

Alters submitted data to be suitable for quickforms processing. Must be called when the form is fully set up.

Parameters
string$methodname of the method which alters submitted data

◆ _validate_files()

moodleform::_validate_files ( $files)
inherited

Internal method.

Validates all old-style deprecated uploaded files. The new way is to upload files via repository api.

Parameters
array$fileslist of files to be validated
Return values
bool|arraySuccess or an array of errors

◆ add_action_buttons()

moodleform::add_action_buttons (   $cancel = true,
  $submitlabel = null 
)
inherited

Use this method to a cancel and submit button to the end of your form.

Pass a param of false if you don't want a cancel button in your form. If you have a cancel button make sure you check for it being pressed using is_cancelled() and redirecting if it is true before trying to get data with get_data().

Parameters
bool$cancelwhether to show cancel button, default true
string$submitlabellabel for submit button, defaults to get_string('savechanges')

Reimplemented in tool_uploadcourse_step2_form, and core_contentbank\form\edit_content.

◆ add_checkbox_controller()

moodleform::add_checkbox_controller (   $groupid,
  $text = null,
  $attributes = null,
  $originalValue = 0 
)
inherited

Adds a link/button that controls the checked state of a group of checkboxes.

Parameters
int$groupidThe id of the group of advcheckboxes this element controls
string$textThe text of the link. Defaults to selectallornone ("select all/none")
array$attributesassociative array of HTML attributes
int$originalValueThe original general state of the checkboxes before the user first clicks this element

◆ after_definition()

core\form\persistent::after_definition ( )
protected

After definition hook.

Automatically try to set the types of simple fields using the persistent properties definition. This only applies to hidden, text and url types. Groups are also ignored as they are most likely custom.

Return values
void

Reimplemented from moodleform.

◆ convert_fields()

static core\form\persistent::convert_fields ( stdClass  $data)
staticprotected

Convert some fields.

Parameters
stdClass$dataThe whole data set.
Return values
stdClassThe amended data set.

Reimplemented in tool_lp\form\competency, and tool_lp\form\competency_framework.

◆ definition()

moodleform::definition ( )
abstractprotectedinherited

Form definition.

Abstract method - always override!

Reimplemented in admin_settings_search_form, core_admin\form\purge_caches, core_admin\form\testoutgoingmailconf_form, mnet_simple_host_form, mnet_review_host_form, mnet_profile_form, mnet_services_form, core_role_permission_allow_form, core_role_permission_prohibit_form, core_role_preset_form, tool_analytics\output\form\edit_model, tool_analytics\output\form\import_model, steps_definitions_form, tool_capability_settings_form, tool_cohortroles\form\assign_role_cohort, tool_customlang_filter_form, tool_dataprivacy\form\category, tool_dataprivacy\form\context_instance, tool_dataprivacy\form\contextlevel, tool_dataprivacy\form\purpose, tool_dataprivacy_data_request_form, database_export_form, database_transfer_form, tool_filetypes_form, tool_generator_make_course_form, tool_generator_make_testplan_form, tool_httpsreplace\form, tool_installaddon_installfromzip_form, tool_licensemanager\form\edit_license, tool_lp\form\competency, tool_lp\form\competency_framework, tool_lp\form\plan, tool_lp\form\template, tool_lp\form\template_cohorts, tool_lp\form\template_plans, tool_lp\form\user_evidence, tool_lpimportcsv\form\export, tool_lpimportcsv\form\import, tool_lpimportcsv\form\import_confirm, tool_lpmigrate\form\migrate_framework, tool_messageinbound_edit_handler_form, tool_monitor\rule_form, tool_oauth2\form\endpoint, tool_oauth2\form\issuer, tool_oauth2\form\user_field_mapping, tool_policy\form\accept_policy, tool_policy\form\policydoc, profiling_import_form, tool_replace_form, tool_task_edit_scheduled_task_form, tool_uploadcourse_base_form, tool_uploadcourse_step1_form, tool_uploadcourse_step2_form, admin_uploadpicture_form, admin_uploaduser_form1, admin_uploaduser_form2, tool_usertours\local\forms\editstep, tool_usertours\local\forms\edittour, tool_usertours\local\forms\importtour, user_bulk_cohortadd_form, user_bulk_action_form, user_bulk_form, user_message_form, external_service_authorised_user_settings_form, external_service_form, external_service_functions_form, web_service_token_form, webservice_test_client_form, webservice_test_client_base_form, core_auth\form\verify_age_location_form, backup_files_edit_form, course_restore_form, base_moodleform, core_backup\output\copy_form, alignment_form, core_badges\form\backpack, core_badges\form\badge, core_badges\form\collections, core_badges\form\external_backpack, core_badges\form\message, edit_criteria_form, endorsement_form, badges_preferences_form, edit_relatedbadge_form, block_edit_form, blog_edit_form, blog_edit_external_form, blog_preferences_form, cachestore_addinstance_form, cache_definition_mappings_form, cache_definition_sharing_form, cache_mode_mappings_form, cache_lock_form, core_calendar_export_form, core_calendar\local\event\forms\create, core_calendar\local\event\forms\managesubscriptions, event_form, cohort_edit_form, cohort_upload_form, core_completion_bulkedit_form, core_completion_defaultedit_form, core_completion_edit_base_form, contenttype_h5p\form\editor, contentbank_files_form, core_course_deletecategory_form, core_course_editcategory_form, course_completion_form, course_edit_form, editsection_form, recent_form, course_request_form, reject_request_form, course_reset_form, switchrole_form, coursetags_form, core_customfield\field_config_form, enrol_bulk_enrolment_change_form, enrol_bulk_enrolment_confirm_form, enrol_user_enrolment_form, enrol_instance_edit_form, enrol_guest_enrol_form, enrol_manual_enrol_users_form, enrol_self_empty_form, enrol_self_enrol_form, enrol_users_assign_form, enrol_users_addmember_form, enrol_users_filter_form, coursefiles_edit_form, filter_local_settings_form, edit_letter_form, edit_outcome_form, import_outcomes_form, edit_scale_form, course_settings_form, edit_calculation_form, edit_category_form, edit_grade_form, edit_item_form, edit_outcomeitem_form, grade_export_form, key_form, gradingform_guide_editguide, gradingform_rubric_editrubric, grading_search_template_form, gradeimport_direct_import_form, gradeimport_direct_mapping_form, grade_import_form, grade_import_mapping_form, key_form, grade_import_form, grader_report_preferences_form, gradereport_history\filter_form, autogroup_form, group_form, grouping_form, groups_import_form, core_h5p\form\uploadlibraries_form, core\hub\site_registration_form, atto_managefiles_manage_form, portfolio_export_form, portfolio_admin_form, portfolio_user_form, portfolio_instance_select, login_change_password_form, login_forgot_password_form, login_forgot_password_form, login_set_password_form, login_signup_form, mod_assign_batch_set_allocatedmarker_form, mod_assign_batch_set_marking_workflow_state_form, mod_assign_extension_form, assignfeedback_file_batch_upload_files_form, assignfeedback_file_import_zip_form, assignfeedback_file_upload_zip_form, assignfeedback_offline_import_grades_form, assignfeedback_offline_upload_grades_form, mod_assign_grade_form, mod_assign_grading_batch_operations_form, mod_assign_grading_options_form, mod_assign_mod_form, assign_override_form, mod_assign_quick_grading_form, mod_assign_submission_form, mod_assign_confirm_submission_form, mod_assignment_mod_form, book_chapter_edit_form, mod_book_mod_form, booktool_importhtml_form, mod_chat_mod_form, mod_choice_mod_form, mod_data_export_form, mod_data_import_form, mod_data_mod_form, data_existing_preset_form, data_import_preset_zip_form, data_export_form, data_save_preset_form, mod_feedback_complete_form, mod_feedback_course_map_form, mod_feedback_course_select_form, feedback_edit_use_template_form, feedback_edit_create_template_form, feedback_import_form, feedback_captcha_form, feedback_item_form, feedback_info_form, feedback_label_form, feedback_multichoice_form, feedback_multichoicerated_form, feedback_numeric_form, feedback_textarea_form, feedback_textfield_form, mod_feedback_mod_form, mod_feedback_use_templ_form, mod_folder_edit_form, mod_folder_mod_form, mod_forum\form\export_form, mod_forum_post_form, mod_forum_prune_form, mod_forum_mod_form, forumreport_summary\form\dates_filter_form, mod_glossary_entry_form, mod_glossary_import_form, mod_glossary_mod_form, mod_h5pactivity_mod_form, mod_imscp_mod_form, mod_label_mod_form, essay_grading_form, lesson_import_form, lesson_add_page_form_base, mod_lesson_mod_form, lesson_override_form, lesson_display_answer_form_essay, lesson_display_answer_form_matching, lesson_display_answer_form_multichoice_singleanswer, lesson_display_answer_form_multichoice_multianswer, lesson_display_answer_form_numerical, lesson_display_answer_form_shortanswer, lesson_display_answer_form_truefalse, lesson_page_without_answers, mod_lti_edit_types_form, mod_lti_mod_form, mod_lti_register_types_form, mod_page_mod_form, mod_quiz_preflight_check_form, quizaccess_seb\local\form\template, quiz_add_random_form, mod_quiz\form\randomquestion_form, mod_quiz_mod_form, quiz_override_form, mod_quiz_attempts_report_form, quiz_grading_settings_form, quiz_statistics_settings_form, mod_resource_mod_form, mod_scorm_mod_form, mod_scorm_report_interactions_settings, mod_scorm_report_objectives_settings, mod_scorm_report_settings, mod_survey_mod_form, mod_url_mod_form, mod_wiki_comments_form, mod_wiki_create_form, mod_wiki_edit_form, mod_wiki_filesedit_form, mod_wiki_mod_form, workshop_random_allocator_form, workshop_scheduled_allocator_form, workshop_evaluation_settings_form, workshop_feedbackauthor_form, workshop_feedbackreviewer_form, workshop_assessment_form, workshop_edit_strategy_form, mod_workshop_mod_form, workshop_submission_form, note_edit_form, question_category_edit_form, question_export_form, question_import_form, question_move_form, preview_options_form, question_dataset_dependent_definitions_form, question_dataset_dependent_items_form, question_edit_form, qtype_random_edit_form, core_question\form\tags, report_configlog\form\search, report_eventlist_filter_form, report_outline\filter_form, repository_instance_form, repository_type_form, core_search\output\form\search, tag_edit_form, core_user\course_form, core_user\form\calendar_form, core_user\form\defaulthomepage_form, user_edit_form, user_editadvanced_form, user_edit_editor_form, user_files_form, user_add_filter_form, user_active_filter_form, user_edit_forum_form, user_edit_language_form, category_form, and field_form.

◆ definition_after_data()

moodleform::definition_after_data ( )
inherited

◆ display()

moodleform::display ( )
inherited

Print html form.

Reimplemented in base_moodleform, cohort_upload_form, and mod_feedback_complete_form.

◆ extra_validation()

core\form\persistent::extra_validation (   $data,
  $files,
array &  $errors 
)
protected

Define extra validation mechanims.

The data here:

You can modify the $errors parameter in order to remove some validation errors should you need to. However, the best practice is to return new or overriden errors. Only modify the errors passed by reference when you have no other option.

Do not add any logic here, it is only intended to be used by child classes.

Parameters
stdClass$dataData to validate.
array$filesArray of files.
array$errorsCurrently reported errors.
Return values
arrayof additional errors, or overridden errors.

Reimplemented in tool_dataprivacy\form\purpose, tool_dataprivacy_data_request_form, tool_lp\form\competency, tool_lp\form\competency_framework, and quizaccess_seb\local\form\template.

◆ filter_data_for_persistent()

core\form\persistent::filter_data_for_persistent (   $data)
protected

Filter out the foreign fields of the persistent.

This can be overridden to filter out more complex fields.

Parameters
stdClass$dataThe data to filter the fields out of.
Return values
stdClass.

Reimplemented in tool_dataprivacy\form\purpose, and quizaccess_seb\local\form\template.

◆ focus()

moodleform::focus (   $name = NULL)
inherited

To autofocus on first form element or first element with error.

Parameters
string$nameif this is set then the focus is forced to a field with this name
Return values
stringjavascript to select form element with first error or first element if no errors. Use this as a parameter when calling print_header

◆ get_data()

core\form\persistent::get_data ( )

Get form data.

Conveniently removes non-desired properties and add the ID property.

Return values
object|null

Reimplemented from moodleform.

◆ get_default_data()

core\form\persistent::get_default_data ( )
protected

Get the default data.

This is the data that is prepopulated in the form at it loads, we automatically fetch all the properties of the persistent however some needs to be converted to map the form structure.

Extend this class if you need to add more conversion.

Return values
stdClass

Reimplemented in tool_dataprivacy\form\purpose, tool_dataprivacy_data_request_form, and tool_lp\form\competency_framework.

◆ get_draft_files()

moodleform::get_draft_files (   $elname)
protectedinherited

Get draft files of a form element This is a protected method which will be used only inside moodleforms.

Parameters
string$elnamename of element
Return values
array|bool|null

◆ get_file_content()

moodleform::get_file_content (   $elname)
inherited

Get content of uploaded file.

Parameters
string$elnamename of file upload element
Return values
string|boolfalse in case of failure, string if ok

◆ get_form_identifier()

moodleform::get_form_identifier ( )
protectedinherited

It should returns unique identifier for the form.

Currently it will return class name, but in case two same forms have to be rendered on same page then override function to get unique form identifier. e.g This is used on multiple self enrollments page.

Return values
stringform identifier.

Reimplemented in enrol_self_enrol_form, and mod_assign_grade_form.

◆ get_js_module()

static moodleform::get_js_module ( )
staticinherited

Returns a JS module definition for the mforms JS.

Return values
array

◆ get_new_filename()

moodleform::get_new_filename (   $elname = null)
inherited

Returns name of uploaded file.

Parameters
string$elnamefirst element if null
Return values
string|boolfalse in case of failure, string if ok

◆ get_persistent()

core\form\persistent::get_persistent ( )
finalprotected

Return the persistent object associated with this form instance.

Return values
core::persistent

◆ get_submitted_data()

core\form\persistent::get_submitted_data ( )

Get the submitted form data.

Conveniently removes non-desired properties.

Return values
object|null

Reimplemented from moodleform.

◆ init_javascript_enhancement()

moodleform::init_javascript_enhancement (   $element,
  $enhancement,
array  $options = array(),
array  $strings = null 
)
inherited

Adds an initialisation call for a standard JavaScript enhancement.

This function is designed to add an initialisation call for a JavaScript enhancement that should exist within javascript-static M.form.init_{enhancementname}.

Current options:

  • Selectboxes
    • smartselect: Turns a nbsp indented select box into a custom drop down control that supports multilevel and category selection. $enhancement = 'smartselect'; $options = array('selectablecategories' => true|false)
Parameters
string | element$elementform element for which Javascript needs to be initalized
string$enhancementwhich init function should be called
array$optionsoptions passed to javascript
array$stringsstrings for javascript
Deprecated:
since Moodle 3.3 MDL-57471

◆ is_cancelled()

moodleform::is_cancelled ( )
inherited

Return true if a cancel button has been pressed resulting in the form being submitted.

Return values
booltrue if a cancel button has been pressed

Reimplemented in base_moodleform.

◆ is_submitted()

moodleform::is_submitted ( )
inherited

Check that form was submitted.

Does not check validity of submitted data.

Return values
booltrue if form properly submitted

◆ is_validated()

moodleform::is_validated ( )
inherited

Check that form data is valid.

You should almost always use this, rather than validate_defined_fields

Return values
booltrue if form data valid

◆ mock_generate_submit_keys()

static moodleform::mock_generate_submit_keys (   $data = [])
staticinherited

Used by tests to generate valid submit keys for moodle forms that are submitted with ajax data.

Exceptions
moodle_exceptionIf called outside unit test environment
Parameters
array$dataExisting form data you wish to add the keys to.
Return values
array

◆ mock_submit()

static moodleform::mock_submit (   $simulatedsubmitteddata,
  $simulatedsubmittedfiles = array(),
  $method = 'post',
  $formidentifier = null 
)
staticinherited

Used by tests to simulate submitted form data submission from the user.

For form fields where no data is submitted the default for that field as set by set_data or setDefault will be passed to get_data.

This method sets $_POST or $_GET and $_FILES with the data supplied. Our unit test code empties all these global arrays after each test.

Parameters
array$simulatedsubmitteddataAn associative array of form values (same format as $_POST).
array$simulatedsubmittedfilesAn associative array of files uploaded (same format as $_FILES). Can be omitted.
string$method'post' or 'get', defaults to 'post'.
null$formidentifierthe default is to use the class name for this class but you may need to provide a different value here for some forms that are used more than once on the same page.

◆ moodleform()

moodleform::moodleform (   $action = null,
  $customdata = null,
  $method = 'post',
  $target = '',
  $attributes = null,
  $editable = true 
)
inherited

Old syntax of class constructor.

Deprecated in PHP7.

Deprecated:
since Moodle 3.1

◆ no_submit_button_pressed()

moodleform::no_submit_button_pressed ( )
inherited

Checks if button pressed is not for submitting the form.

@staticvar bool $nosubmit keeps track of no submit button

Return values
bool

◆ optional_param()

moodleform::optional_param (   $name,
  $default,
  $type 
)
inherited

Checks if a parameter was passed in the previous form submission.

Parameters
string$namethe name of the page parameter we want
mixed$defaultthe default value to return if nothing is found
string$typeexpected type of parameter
Return values
mixed

◆ render()

moodleform::render ( )
inherited

Renders the html form (same as display, but returns the result).

Note that you can only output this rendered result once per page, as it contains IDs which must be unique.

Return values
stringHTML code for the form

◆ repeat_elements()

moodleform::repeat_elements (   $elementobjs,
  $repeats,
  $options,
  $repeathiddenname,
  $addfieldsname,
  $addfieldsno = 5,
  $addstring = null,
  $addbuttoninside = false 
)
inherited

Method to add a repeating group of elements to a form.

Parameters
array$elementobjsArray of elements or groups of elements that are to be repeated
int$repeatsno of times to repeat elements initially
array$optionsa nested array. The first array key is the element name. the second array key is the type of option to set, and depend on that option, the value takes different forms. 'default' - default value to set. Can include '{no}' which is replaced by the repeat number. 'type' - PARAM_* type. 'helpbutton' - array containing the helpbutton params. 'disabledif' - array containing the disabledIf() arguments after the element name. 'rule' - array containing the addRule arguments after the element name. 'expanded' - whether this section of the form should be expanded by default. (Name be a header element.) 'advanced' - whether this element is hidden by 'Show more ...'.
string$repeathiddennamename for hidden element storing no of repeats in this form
string$addfieldsnamename for button to add more fields
int$addfieldsnohow many fields to add at a time
string$addstringname of button, {no} is replaced by no of blanks that will be added.
bool$addbuttoninsideif true, don't call closeHeaderBefore($addfieldsname). Default false.
Return values
intno of repeats of element in this page

◆ repeat_elements_fix_clone()

moodleform::repeat_elements_fix_clone (   $i,
  $elementclone,
$namecloned 
)
inherited

Helper used by repeat_elements().

Parameters
int$ithe index of this element.
HTML_QuickForm_element$elementclone
array$nameclonedarray of names

◆ save_file()

moodleform::save_file (   $elname,
  $pathname,
  $override = false 
)
inherited

Save file to standard filesystem.

Parameters
string$elnamename of element
string$pathnamefull path name of file
bool$overrideoverride file if exists
Return values
boolsuccess

◆ save_files()

moodleform::save_files (   $destination)
inherited

Save verified uploaded files into directory.

Upload process can be customised from definition()

Deprecated:
since Moodle 2.0
Todo:
MDL-31294 remove this api
See also
moodleform::save_stored_file()
moodleform::save_file()
Parameters
string$destinationpath where file should be stored
Return values
boolAlways false

◆ save_stored_file()

moodleform::save_stored_file (   $elname,
  $newcontextid,
  $newcomponent,
  $newfilearea,
  $newitemid,
  $newfilepath = '/',
  $newfilename = null,
  $overwrite = false,
  $newuserid = null 
)
inherited

Save file to local filesystem pool.

Parameters
string$elnamename of element
int$newcontextidid of context
string$newcomponentname of the component
string$newfileareaname of file area
int$newitemiditem id
string$newfilepathpath of file where it get stored
string$newfilenameuse specified filename, if not specified name of uploaded file used
bool$overwriteoverwrite file if exists
int$newuseridnew userid if required
Return values
mixedstored_file object or false if error; may throw exception if duplicate found

◆ save_temp_file()

moodleform::save_temp_file (   $elname)
inherited

Returns a temporary file, do not forget to delete after not needed any more.

Parameters
string$elnamename of the elmenet
Return values
string|booleither string or false

◆ set_data()

moodleform::set_data (   $default_values)
inherited

Load in existing data as form defaults.

Usually new entry defaults are stored directly in form definition (new entry form); this function is used to load in data where values already exist and data is being edited (edit entry form).

note: $slashed param removed

Parameters
stdClass | array$default_valuesobject or array of default values

Reimplemented in core_badges\form\badge, question_category_edit_form, tool_dataprivacy\form\purpose, tool_filetypes_form, cache_definition_sharing_form, editsection_form, moodleform_mod, block_edit_form, block_html_edit_form, lesson_add_page_form_numerical, mod_lti_mod_form, mod_quiz\form\randomquestion_form, mod_scorm_mod_form, feedback_multichoice_form, feedback_multichoicerated_form, question_dataset_dependent_items_form, question_edit_form, qtype_missingtype_edit_form, qtype_multianswer_edit_form, and qtype_random_edit_form.

◆ set_display_vertical()

moodleform::set_display_vertical ( )
inherited

Set display mode for the form when labels take full width of the form and above the elements even on big screens.

Useful for forms displayed inside modals or in narrow containers

◆ set_initial_dirty_state()

moodleform::set_initial_dirty_state (   $state = false)
inherited

Set the initial 'dirty' state of the form.

Parameters
bool$state
Since
Moodle 3.7.1

◆ validate_defined_fields()

moodleform::validate_defined_fields (   $validateonnosubmit = false)
inherited

Validate the form.

You almost always want to call is_validated instead of this because it calls definition_after_data first, before validating the form, which is what you want in 99% of cases.

This is provided as a separate function for those special cases where you want the form validated before definition_after_data is called for example, to selectively add new elements depending on a no_submit_button press, but only when the form is valid when the no_submit_button is pressed,

Parameters
bool$validateonnosubmitoptional, defaults to false. The default behaviour is NOT to validate the form when a no submit button has been pressed. pass true here to override this behaviour
Return values
booltrue if form data valid

◆ validate_draft_files()

moodleform::validate_draft_files ( )
protectedinherited

Internal method.

Validates filepicker and filemanager files if they are set as required fields. Also, sets the error message if encountered one.

Return values
bool|arraywith errors

◆ validation()

core\form\persistent::validation (   $data,
  $files 
)
final

Form validation.

If you need extra validation, use self::extra_validation().

Parameters
array$data
array$files
Return values
array

Reimplemented from moodleform.


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