Moodle APIs
3.8
Moodle 3.8.6 (Build: 20201109)
|
Public Member Functions | |
__get ($name) | |
Magic getter for read only access. More... | |
__isset ($name) | |
Is data property set? More... | |
__set ($name, $value) | |
Magic setter. More... | |
add_record_snapshot ($tablename, $record) | |
Add cached data that will be most probably used in event observers. More... | |
can_view ($user_or_id=null) | |
This method was originally intended for granular access control on the event level, unfortunately the proper implementation would be too expensive in many cases. More... | |
get_context () | |
Returns event context. More... | |
get_data () | |
Return standardised event data as array. More... | |
get_description () | |
Returns non-localised event description with id's for admin use only. More... | |
get_logextra () | |
Return auxiliary data that was stored in logs. More... | |
get_record_snapshot ($tablename, $id) | |
Returns cached record or fetches data from database if not cached. More... | |
get_url () | |
Returns relevant URL. More... | |
getIterator () | |
Create an iterator because magic vars can't be seen by 'foreach'. More... | |
is_dispatched () | |
Used from event manager to prevent direct access. More... | |
is_restored () | |
Was this event restored? More... | |
is_triggered () | |
Was this event already triggered? More... | |
trigger () | |
Trigger event. | |
Static Public Member Functions | |
static | create (array $data=null) |
Create new event. More... | |
static | create_from_user (\stdClass $user, $forgottenreset=false) |
Create event for user password changing and resetting. More... | |
static | get_explanation () |
Get an explanation of what the class does. More... | |
static | get_legacy_eventname () |
Does this event replace legacy event? More... | |
static | get_name () |
Returns localised event name. More... | |
static | get_name_with_info () |
Returns the event name complete with metadata information. More... | |
static | get_objectid_mapping () |
This is used when restoring course logs where it is required that we map the objectid to it's new value in the new course. More... | |
static | get_other_mapping () |
This is used when restoring course logs where it is required that we map the information in 'other' to it's new value in the new course. More... | |
static | get_static_info () |
Get static information about an event. More... | |
static | is_deprecated () |
Whether this event has been marked as deprecated. More... | |
static | restore (array $data, array $logextra) |
Restore event from existing historic data. More... | |
static | restore_legacy ($legacy) |
Create fake event from legacy log data. More... | |
Public Attributes | |
const | LEVEL_OTHER = 0 |
Other level. | |
const | LEVEL_PARTICIPATING = 2 |
Participating level. More... | |
const | LEVEL_TEACHING = 1 |
Teaching level. More... | |
const | NOT_FOUND = -31338 |
The value used when an id can not be found during a restore. | |
const | NOT_MAPPED = -31337 |
The value used when an id can not be mapped during a restore. | |
const | USER_NOTLOGGEDIN = 0 |
User id to use when the user is not logged in. | |
const | USER_OTHER = -1 |
User id to use when actor is not an actual user but system, cli or cron. | |
Protected Member Functions | |
get_legacy_eventdata () | |
Legacy event data if get_legacy_eventname() is not empty. More... | |
get_legacy_logdata () | |
Returns array of parameters to be passed to legacy logging. More... | |
init () | |
Initialise required event data properties. | |
validate_before_trigger () | |
Validate all properties right before triggering the event. More... | |
validate_data () | |
Custom validation. More... | |
Static Protected Member Functions | |
static | restore_unknown (array $data, array $logextra) |
Restore unknown event. More... | |
Protected Attributes | |
context | $context |
of this event | |
array | $data |
event data | |
array | $logextra |
the format is standardised by logging API | |
|
inherited |
Magic getter for read only access.
string | $name |
mixed |
|
inherited |
Is data property set?
string | $name |
bool |
|
inherited |
Magic setter.
Note: we must not allow modification of data from outside, after trigger() the data MUST NOT CHANGE!!!
string | $name | |
mixed | $value |
coding_exception |
|
finalinherited |
Add cached data that will be most probably used in event observers.
This is used to improve performance, but it is required for data that was just deleted.
string | $tablename | |
stdClass | $record |
coding_exception | if used after ::trigger() |
|
inherited |
This method was originally intended for granular access control on the event level, unfortunately the proper implementation would be too expensive in many cases.
int | stdClass | $user_or_id | ID of the user. |
bool | True if the user can view the event, false otherwise. |
Reimplemented in mod_feedback\event\response_submitted, mod_feedback\event\response_deleted, and mod_feedback\event\course_module_viewed.
|
staticfinalinherited |
Create new event.
The optional data keys as: 1/ objectid - the id of the object specified in class name 2/ context - the context of this event 3/ other - the other data describing the event, can not contain objects 4/ relateduserid - the id of user which is somehow related to this event
array | $data |
core |
|
static |
Create event for user password changing and resetting.
stdClass | $user | |
bool | $forgottenreset | true if reset via recovery link |
user_password_updated |
|
inherited |
Returns event context.
context |
|
inherited |
Return standardised event data as array.
array | All elements are scalars except the 'other' field which is array. |
core\event\user_password_updated::get_description | ( | ) |
Returns non-localised event description with id's for admin use only.
string |
Reimplemented from core\event\base.
|
staticinherited |
Get an explanation of what the class does.
By default returns the phpdocs from the child event class. Ideally this should be overridden to return a translatable get_string style markdown. e.g. return new lang_string('eventyourspecialevent', 'plugin_type');
string | An explanation of the event formatted in markdown style. |
|
protectedinherited |
Legacy event data if get_legacy_eventname() is not empty.
Note: do not use directly!
mixed |
Reimplemented in mod_workshop\event\course_module_viewed, mod_workshop\event\assessable_uploaded, mod_quiz\event\attempt_submitted, mod_quiz\event\attempt_started, mod_quiz\event\attempt_becameoverdue, mod_quiz\event\attempt_abandoned, mod_lti\event\unknown_service_api_called, mod_forum\event\assessable_uploaded, assignsubmission_onlinetext\event\assessable_uploaded, assignsubmission_file\event\assessable_uploaded, mod_assign\event\assessable_submitted, core\event\user_updated, core\event\user_loggedout, core\event\user_enrolment_updated, core\event\user_enrolment_deleted, core\event\user_enrolment_created, core\event\user_deleted, core\event\user_created, core\event\role_unassigned, core\event\role_assigned, core\event\grouping_updated, core\event\grouping_deleted, core\event\grouping_created, core\event\group_updated, core\event\group_member_removed, core\event\group_member_added, core\event\group_deleted, core\event\group_created, core\event\course_updated, core\event\course_restored, core\event\course_module_updated, core\event\course_module_deleted, core\event\course_module_created, core\event\course_module_completion_updated, core\event\course_deleted, core\event\course_created, core\event\course_content_deleted, core\event\course_completed, core\event\course_category_deleted, core\event\cohort_updated, core\event\cohort_member_removed, core\event\cohort_member_added, core\event\cohort_deleted, core\event\cohort_created, core\event\blog_entry_updated, core\event\blog_entry_deleted, and core\event\blog_entry_created.
|
staticinherited |
Does this event replace legacy event?
Note: do not use directly!
null|string | legacy event name |
Reimplemented in mod_workshop\event\course_module_viewed, mod_workshop\event\assessable_uploaded, mod_quiz\event\attempt_submitted, mod_quiz\event\attempt_started, mod_quiz\event\attempt_becameoverdue, mod_quiz\event\attempt_abandoned, mod_lti\event\unknown_service_api_called, mod_forum\event\assessable_uploaded, assignsubmission_onlinetext\event\assessable_uploaded, assignsubmission_file\event\assessable_uploaded, mod_assign\event\assessable_submitted, core\event\user_updated, core\event\user_loggedout, core\event\user_enrolment_updated, core\event\user_enrolment_deleted, core\event\user_enrolment_created, core\event\user_deleted, core\event\user_created, core\event\role_unassigned, core\event\role_assigned, core\event\grouping_updated, core\event\grouping_deleted, core\event\grouping_created, core\event\group_updated, core\event\group_member_removed, core\event\group_member_added, core\event\group_deleted, core\event\group_created, core\event\course_updated, core\event\course_restored, core\event\course_module_updated, core\event\course_module_deleted, core\event\course_module_created, core\event\course_module_completion_updated, core\event\course_deleted, core\event\course_created, core\event\course_content_deleted, core\event\course_completed, core\event\course_category_deleted, core\event\cohort_updated, core\event\cohort_member_removed, core\event\cohort_member_added, core\event\cohort_deleted, core\event\cohort_created, core\event\blog_entry_updated, core\event\blog_entry_deleted, core\event\blog_entry_created, core_h5p\event\h5p_viewed, and core_h5p\event\h5p_deleted.
|
protected |
Returns array of parameters to be passed to legacy logging.
array|null |
Reimplemented from core\event\base.
|
inherited |
Return auxiliary data that was stored in logs.
List of standard properties:
array | the format is standardised by logging API |
|
static |
|
staticinherited |
Returns the event name complete with metadata information.
This includes information about whether the event has been deprecated so should not be used in all situations - for example within reports themselves.
If overriding this function, please ensure that you call the parent version too.
string |
|
staticinherited |
This is used when restoring course logs where it is required that we map the objectid to it's new value in the new course.
Does nothing in the base class except display a debugging message warning the user that the event does not contain the required functionality to map this information. For events that do not store an objectid this won't be called, so no debugging message will be displayed.
Example of usage:
return array('db' => 'assign_submissions', 'restore' => 'submission');
If the objectid can not be mapped during restore set the value to core\event\base::NOT_MAPPED, example -
return array('db' => 'some_table', 'restore' => core\event\base::NOT_MAPPED);
Note - it isn't necessary to specify the 'db' and 'restore' values in this case, so you can also use -
return core\event\base::NOT_MAPPED;
The 'db' key refers to the database table and the 'restore' key refers to the name of the restore element the objectid is associated with. In many cases these will be the same.
string | the name of the restore mapping the objectid links to |
Reimplemented in mod_workshop\event\submission_viewed, mod_workshop\event\submission_updated, mod_workshop\event\submission_reassessed, mod_workshop\event\submission_deleted, mod_workshop\event\submission_created, mod_workshop\event\submission_assessed, mod_workshop\event\phase_switched, mod_workshop\event\course_module_viewed, mod_workshop\event\assessment_reevaluated, mod_workshop\event\assessment_evaluated, mod_workshop\event\assessable_uploaded, mod_wiki\event\page_viewed, mod_wiki\event\page_version_viewed, mod_wiki\event\page_version_restored, mod_wiki\event\page_version_deleted, mod_wiki\event\page_updated, mod_wiki\event\page_map_viewed, mod_wiki\event\page_locks_deleted, mod_wiki\event\page_history_viewed, mod_wiki\event\page_diff_viewed, mod_wiki\event\page_deleted, mod_wiki\event\page_created, mod_wiki\event\course_module_viewed, mod_wiki\event\comments_viewed, mod_url\event\course_module_viewed, mod_survey\event\report_viewed, mod_survey\event\report_downloaded, mod_survey\event\course_module_viewed, mod_scorm\event\sco_launched, mod_scorm\event\course_module_viewed, mod_resource\event\course_module_viewed, mod_quiz\event\user_override_updated, mod_quiz\event\user_override_deleted, mod_quiz\event\user_override_created, mod_quiz\event\question_manually_graded, mod_quiz\event\group_override_updated, mod_quiz\event\group_override_deleted, mod_quiz\event\group_override_created, mod_quiz\event\course_module_viewed, mod_quiz\event\attempt_viewed, mod_quiz\event\attempt_summary_viewed, mod_quiz\event\attempt_submitted, mod_quiz\event\attempt_started, mod_quiz\event\attempt_reviewed, mod_quiz\event\attempt_regraded, mod_quiz\event\attempt_preview_started, mod_quiz\event\attempt_deleted, mod_quiz\event\attempt_becameoverdue, mod_quiz\event\attempt_abandoned, mod_page\event\course_module_viewed, mod_lti\event\course_module_viewed, mod_lesson\event\user_override_updated, mod_lesson\event\user_override_deleted, mod_lesson\event\user_override_created, mod_lesson\event\question_viewed, mod_lesson\event\question_answered, mod_lesson\event\page_updated, mod_lesson\event\page_moved, mod_lesson\event\page_deleted, mod_lesson\event\page_created, mod_lesson\event\lesson_started, mod_lesson\event\lesson_resumed, mod_lesson\event\lesson_restarted, mod_lesson\event\lesson_ended, mod_lesson\event\highscores_viewed, mod_lesson\event\highscore_added, mod_lesson\event\group_override_updated, mod_lesson\event\group_override_deleted, mod_lesson\event\group_override_created, mod_lesson\event\essay_attempt_viewed, mod_lesson\event\essay_assessed, mod_lesson\event\course_module_viewed, mod_lesson\event\content_page_viewed, mod_imscp\event\course_module_viewed, mod_glossary\event\entry_viewed, mod_glossary\event\entry_updated, mod_glossary\event\entry_disapproved, mod_glossary\event\entry_deleted, mod_glossary\event\entry_created, mod_glossary\event\entry_approved, mod_glossary\event\course_module_viewed, mod_glossary\event\category_updated, mod_glossary\event\category_deleted, mod_glossary\event\category_created, mod_forum\event\subscription_deleted, mod_forum\event\subscription_created, mod_forum\event\post_updated, mod_forum\event\post_deleted, mod_forum\event\post_created, mod_forum\event\discussion_viewed, mod_forum\event\discussion_updated, mod_forum\event\discussion_unpinned, mod_forum\event\discussion_subscription_deleted, mod_forum\event\discussion_subscription_created, mod_forum\event\discussion_pinned, mod_forum\event\discussion_moved, mod_forum\event\discussion_deleted, mod_forum\event\discussion_created, mod_forum\event\course_module_viewed, mod_forum\event\assessable_uploaded, mod_folder\event\folder_updated, mod_folder\event\course_module_viewed, mod_feedback\event\response_submitted, mod_feedback\event\response_deleted, mod_feedback\event\course_module_viewed, mod_data\event\record_updated, mod_data\event\record_deleted, mod_data\event\record_created, mod_data\event\field_updated, mod_data\event\field_deleted, mod_data\event\field_created, mod_data\event\course_module_viewed, mod_choice\event\report_viewed, mod_choice\event\report_downloaded, mod_choice\event\course_module_viewed, mod_choice\event\answer_updated, mod_choice\event\answer_submitted, mod_choice\event\answer_deleted, mod_choice\event\answer_created, mod_chat\event\sessions_viewed, mod_chat\event\message_sent, mod_chat\event\course_module_viewed, booktool_print\event\chapter_printed, booktool_print\event\book_printed, booktool_exportimscp\event\book_exported, mod_book\event\course_module_viewed, mod_book\event\chapter_viewed, mod_book\event\chapter_updated, mod_book\event\chapter_deleted, mod_book\event\chapter_created, assignsubmission_onlinetext\event\submission_updated, assignsubmission_onlinetext\event\submission_created, assignsubmission_onlinetext\event\assessable_uploaded, assignsubmission_file\event\submission_updated, assignsubmission_file\event\submission_created, assignsubmission_file\event\assessable_uploaded, mod_assign\event\workflow_state_updated, mod_assign\event\user_override_updated, mod_assign\event\user_override_deleted, mod_assign\event\user_override_created, mod_assign\event\submission_viewed, mod_assign\event\submission_unlocked, mod_assign\event\submission_status_updated, mod_assign\event\submission_locked, mod_assign\event\submission_graded, mod_assign\event\submission_duplicated, mod_assign\event\statement_accepted, mod_assign\event\marker_updated, mod_assign\event\identities_revealed, mod_assign\event\group_override_updated, mod_assign\event\group_override_deleted, mod_assign\event\group_override_created, mod_assign\event\feedback_viewed, mod_assign\event\extension_granted, mod_assign\event\course_module_viewed, mod_assign\event\assessable_submitted, mod_assign\event\all_submissions_downloaded, core\event\webservice_token_sent, core\event\webservice_token_created, core\event\webservice_service_user_removed, core\event\webservice_service_user_added, core\event\webservice_service_updated, core\event\webservice_service_deleted, core\event\webservice_service_created, core\event\user_updated, core\event\user_profile_viewed, core\event\user_loggedout, core\event\user_loggedinas, core\event\user_loggedin, core\event\user_list_viewed, core\event\user_info_field_updated, core\event\user_info_field_deleted, core\event\user_info_field_created, core\event\user_info_category_updated, core\event\user_info_category_deleted, core\event\user_info_category_created, core\event\user_graded, core\event\user_enrolment_updated, core\event\user_enrolment_deleted, core\event\user_enrolment_created, core\event\user_deleted, core\event\user_created, core\event\tag_updated, core\event\tag_unflagged, core\event\tag_removed, core\event\tag_flagged, core\event\tag_deleted, core\event\tag_created, core\event\tag_added, core\event\scale_updated, core\event\scale_deleted, core\event\scale_created, core\event\role_unassigned, core\event\role_deleted, core\event\role_capabilities_updated, core\event\role_assigned, core\event\questions_imported, core\event\questions_exported, core\event\question_moved, core\event\question_category_base, core\event\question_base, core\event\prediction_action_started, core\event\notification_viewed, core\event\notification_sent, core\event\note_updated, core\event\note_deleted, core\event\note_created, core\event\mnet_access_control_updated, core\event\mnet_access_control_created, core\event\message_viewed, core\event\message_user_unblocked, core\event\message_user_blocked, core\event\message_sent, core\event\message_deleted, core\event\message_contact_unblocked, core\event\message_contact_removed, core\event\message_contact_blocked, core\event\message_contact_added, core\event\grouping_updated, core\event\grouping_group_unassigned, core\event\grouping_group_assigned, core\event\grouping_deleted, core\event\grouping_created, core\event\group_updated, core\event\group_message_sent, core\event\group_member_removed, core\event\group_member_added, core\event\group_deleted, core\event\group_created, core\event\grade_letter_updated, core\event\grade_letter_deleted, core\event\grade_letter_created, core\event\grade_deleted, core\event\enrol_instance_updated, core\event\enrol_instance_deleted, core\event\enrol_instance_created, core\event\course_updated, core\event\course_section_updated, core\event\course_section_created, core\event\course_restored, core\event\course_module_updated, core\event\course_module_deleted, core\event\course_module_created, core\event\course_module_completion_updated, core\event\course_deleted, core\event\course_created, core\event\course_content_deleted, core\event\course_completed, core\event\course_category_viewed, core\event\course_category_updated, core\event\course_category_deleted, core\event\course_category_created, core\event\course_backup_created, core\event\config_log_created, core\event\completion_defaults_updated, core\event\competency_viewed, core\event\competency_user_evidence_updated, core\event\competency_user_evidence_deleted, core\event\competency_user_evidence_created, core\event\competency_user_competency_viewed_in_plan, core\event\competency_user_competency_viewed_in_course, core\event\competency_user_competency_viewed, core\event\competency_user_competency_review_stopped, core\event\competency_user_competency_review_started, core\event\competency_user_competency_review_requested, core\event\competency_user_competency_review_request_cancelled, core\event\competency_user_competency_rated_in_plan, core\event\competency_user_competency_rated_in_course, core\event\competency_user_competency_rated, core\event\competency_user_competency_plan_viewed, core\event\competency_updated, core\event\competency_template_viewed, core\event\competency_template_updated, core\event\competency_template_deleted, core\event\competency_template_created, core\event\competency_plan_viewed, core\event\competency_plan_updated, core\event\competency_plan_unlinked, core\event\competency_plan_unapproved, core\event\competency_plan_review_stopped, core\event\competency_plan_review_started, core\event\competency_plan_review_requested, core\event\competency_plan_review_request_cancelled, core\event\competency_plan_reopened, core\event\competency_plan_deleted, core\event\competency_plan_created, core\event\competency_plan_completed, core\event\competency_plan_approved, core\event\competency_framework_viewed, core\event\competency_framework_updated, core\event\competency_framework_deleted, core\event\competency_framework_created, core\event\competency_evidence_created, core\event\competency_deleted, core\event\competency_created, core\event\comment_deleted, core\event\comment_created, core\event\cohort_updated, core\event\cohort_member_removed, core\event\cohort_member_added, core\event\cohort_deleted, core\event\cohort_created, core\event\calendar_subscription_updated, core\event\calendar_subscription_deleted, core\event\calendar_subscription_created, core\event\calendar_event_updated, core\event\calendar_event_deleted, core\event\calendar_event_created, core\event\blog_external_viewed, core\event\blog_external_updated, core\event\blog_external_removed, core\event\blog_external_added, core\event\blog_entry_updated, core\event\blog_entry_deleted, core\event\blog_entry_created, core\event\blog_association_deleted, core\event\blog_association_created, core\event\badge_updated, core\event\badge_revoked, core\event\badge_enabled, core\event\badge_duplicated, core\event\badge_disabled, core\event\badge_deleted, core\event\badge_criteria_updated, core\event\badge_criteria_deleted, core\event\badge_criteria_created, core\event\badge_created, core\event\badge_awarded, core\event\badge_archived, tool_usertours\event\tour_started, tool_usertours\event\tour_reset, tool_usertours\event\tour_ended, tool_usertours\event\step_shown, tool_policy\event\acceptance_base, tool_monitor\event\subscription_deleted, tool_monitor\event\subscription_created, tool_monitor\event\rule_updated, tool_monitor\event\rule_deleted, and tool_monitor\event\rule_created.
|
static |
This is used when restoring course logs where it is required that we map the information in 'other' to it's new value in the new course.
Does nothing in the base class except display a debugging message warning the user that the event does not contain the required functionality to map this information. For events that do not store any other information this won't be called, so no debugging message will be displayed.
Example of usage:
$othermapped = array(); $othermapped['discussionid'] = array('db' => 'forum_discussions', 'restore' => 'forum_discussion'); $othermapped['forumid'] = array('db' => 'forum', 'restore' => 'forum'); return $othermapped;
If an id can not be mapped during restore we set it to core\event\base::NOT_MAPPED, example -
$othermapped = array(); $othermapped['someid'] = array('db' => 'some_table', 'restore' => core\event\base::NOT_MAPPED); return $othermapped;
Note - it isn't necessary to specify the 'db' and 'restore' values in this case, so you can also use -
$othermapped = array(); $othermapped['someid'] = core\event\base::NOT_MAPPED; return $othermapped;
The 'db' key refers to the database table and the 'restore' key refers to the name of the restore element the other value is associated with. In many cases these will be the same.
array | an array of other values and their corresponding mapping |
Reimplemented from core\event\base.
|
finalinherited |
Returns cached record or fetches data from database if not cached.
string | $tablename | |
int | $id |
stdClass |
coding_exception | if used after ::restore() |
|
staticfinalinherited |
Get static information about an event.
This is used in reports and is not for general use.
array | Static information about the event. |
core\event\user_password_updated::get_url | ( | ) |
|
inherited |
Create an iterator because magic vars can't be seen by 'foreach'.
ArrayIterator |
|
staticinherited |
Whether this event has been marked as deprecated.
Events cannot be deprecated in the normal fashion as they must remain to support historical data. Once they are deprecated, there is no way to trigger the event, so it does not make sense to list it in some parts of the UI (e.g. Event Monitor).
boolean |
Reimplemented in mod_choice\event\answer_updated, mod_choice\event\answer_submitted, core\event\role_capabilities_updated, core\event\mnet_access_control_updated, core\event\message_contact_unblocked, core\event\message_contact_blocked, core\event\course_module_instances_list_viewed, and core\event\content_viewed.
|
finalinherited |
Used from event manager to prevent direct access.
bool |
|
finalinherited |
Was this event restored?
bool |
|
finalinherited |
Was this event already triggered?
bool |
|
staticfinalinherited |
Restore event from existing historic data.
array | $data | |
array | $logextra | the format is standardised by logging API |
bool|core |
|
staticfinalinherited |
Create fake event from legacy log data.
stdClass | $legacy |
base |
|
staticfinalprotectedinherited |
|
finalprotectedinherited |
Validate all properties right before triggering the event.
This throws coding exceptions for fatal problems and debugging for minor problems.
coding_exception |
|
protected |
|
inherited |
Participating level.
Any event that is performed by a user, and is related (or could be related) to his learning experience.
|
inherited |
Teaching level.
Any event that is performed by someone (typically a teacher) and has a teaching value, anything that is affecting the learning experience/environment of the students.