Moodle APIs
3.8
Moodle 3.8.6 (Build: 20201109)
|
Self enrolment plugin implementation. More...
Public Member Functions | |
add_course_navigation ($instancesnode, stdClass $instance) | |
Adds navigation links into course admin block. More... | |
add_default_instance ($course) | |
Add new instance of enrol plugin with default settings. More... | |
add_instance ($course, array $fields=null) | |
Add new instance of enrol plugin. More... | |
allow_enrol (stdClass $instance) | |
Does this plugin allow manual enrolments? More... | |
allow_manage (stdClass $instance) | |
Does this plugin allow manual changes in user_enrolments table? More... | |
allow_unenrol (stdClass $instance) | |
Does this plugin allow manual unenrolment of all users? All plugins allowing this must implement 'enrol/xxx:unenrol' capability. More... | |
allow_unenrol_user (stdClass $instance, stdClass $ue) | |
Does this plugin allow manual unenrolment of a specific user? All plugins allowing this must implement 'enrol/xxx:unenrol' capability. More... | |
backup_annotate_custom_fields (backup_enrolments_execution_step $step, stdClass $enrol) | |
Backup execution step hook to annotate custom fields. More... | |
can_add_instance ($courseid) | |
Return true if we can add a new instance to this course. More... | |
can_delete_instance ($instance) | |
Is it possible to delete enrol instance via standard UI? More... | |
can_edit_instance ($instance) | |
Return whether or not, given the current state, it is possible to edit an instance of this enrolment plugin in the course. More... | |
can_hide_show_instance ($instance) | |
Is it possible to hide/show enrol instance via standard UI? More... | |
can_self_enrol (stdClass $instance, $checkuserenrolment=true) | |
Checks if user can self enrol. More... | |
course_edit_form ($instance, MoodleQuickForm $mform, $data, $context) | |
Adds enrol instance UI to course edit form. More... | |
course_edit_validation ($instance, array $data, $context) | |
Validates course edit form data. More... | |
course_updated ($inserted, $course, $data) | |
Called after updating/inserting course. More... | |
cron () | |
Called for all enabled enrol plugins that returned true from is_cron_required(). More... | |
delete_instance ($instance) | |
Delete course enrol plugin instance, unenrol all users. More... | |
edit_instance_form ($instance, MoodleQuickForm $mform, $context) | |
Add elements to the edit instance form. More... | |
edit_instance_validation ($data, $files, $instance, $context) | |
Perform custom validation of the data used to edit the instance. More... | |
enrol_page_hook (stdClass $instance) | |
Creates course enrol form, checks if form submitted and enrols user if necessary. More... | |
enrol_self (stdClass $instance, $data=null) | |
Self enrol user to course. More... | |
enrol_user (stdClass $instance, $userid, $roleid=null, $timestart=0, $timeend=0, $status=null, $recovergrades=null) | |
Enrol user into course via enrol instance. More... | |
extend_assignable_roles ($context, $defaultrole) | |
Gets a list of roles that this user can assign for the course as the default for self-enrolment. More... | |
get_action_icons (stdClass $instance) | |
Returns edit icons for the page with list of instances. More... | |
get_bulk_operations (course_enrolment_manager $manager) | |
The self enrollment plugin has several bulk operations that can be performed. More... | |
get_config ($name, $default=NULL) | |
Returns plugin config value. More... | |
get_description_text ($instance) | |
Returns optional enrolment instance description text. More... | |
get_enrol_info (stdClass $instance) | |
Return information for enrolment instance containing list of parameters required for enrolment, name of enrolment plugin etc. More... | |
get_info_icons (array $instances) | |
Returns optional enrolment information icons. More... | |
get_instance_defaults () | |
Returns defaults for new instances. More... | |
get_instance_name ($instance) | |
Returns localised name of enrol instance. More... | |
get_manual_enrol_button (course_enrolment_manager $manager) | |
Returns an enrol_user_button that takes the user to a page where they are able to enrol users into the managers course through this plugin. More... | |
get_manual_enrol_link ($instance) | |
Returns link to manual enrol UI if exists. More... | |
get_name () | |
Returns name of this enrol plugin. More... | |
get_newinstance_link ($courseid) | |
Returns link to page which may be used to add new instance of enrolment plugin in course. More... | |
get_unenrolself_link ($instance) | |
Returns list of unenrol links for all enrol instances in course. More... | |
get_user_enrolment_actions (course_enrolment_manager $manager, $ue) | |
Gets an array of the user enrolment actions. More... | |
get_welcome_email_contact ($sendoption, $context) | |
Get the "from" contact which the email will be sent from. More... | |
has_bulk_operations (course_enrolment_manager $manager) | |
Returns true if the plugin has one or more bulk operations that can be performed on user enrolments. More... | |
instance_deleteable ($instance) | |
is_cron_required () | |
Reads version.php and determines if it is necessary to execute the cron job now. More... | |
process_expirations (progress_trace $trace, $courseid=null) | |
Do any enrolments need expiration processing. More... | |
restore_group_member ($instance, $groupid, $userid) | |
Restore user group membership. More... | |
restore_instance (restore_enrolments_structure_step $step, stdClass $data, $course, $oldid) | |
Restore instance and map settings. More... | |
restore_role_assignment ($instance, $roleid, $userid, $contextid) | |
Restore role assignment. More... | |
restore_sync_course ($course) | |
Automatic enrol sync executed during restore. More... | |
restore_user_enrolment (restore_enrolments_structure_step $step, $data, $instance, $userid, $oldinstancestatus) | |
Restore user enrolment. More... | |
roles_protected () | |
Does this plugin assign protected roles are can they be manually removed? More... | |
send_expiry_notifications ($trace) | |
Send expiry notifications. More... | |
set_config ($name, $value) | |
Sets plugin config value. More... | |
show_enrolme_link (stdClass $instance) | |
Does this plugin support some way to user to self enrol? More... | |
sync (progress_trace $trace, $courseid=null) | |
Sync all meta course links. More... | |
sync_user_enrolments ($user) | |
Forces synchronisation of user enrolments. More... | |
try_autoenrol (stdClass $instance) | |
Attempt to automatically enrol current user in course without any interaction, calling code has to make sure the plugin and instance are active. More... | |
try_guestaccess (stdClass $instance) | |
Attempt to automatically gain temporary guest access to course, calling code has to make sure the plugin and instance are active. More... | |
unenrol_user (stdClass $instance, $userid) | |
Unenrol user from course, the last unenrolment removes all remaining roles. More... | |
update_instance ($instance, $data) | |
Update instance of enrol plugin. More... | |
update_status ($instance, $newstatus) | |
Update instance status. More... | |
update_user_enrol (stdClass $instance, $userid, $status=NULL, $timestart=NULL, $timeend=NULL) | |
Store user_enrolments changes and trigger event. More... | |
use_standard_editing_ui () | |
We are a good plugin and don't invent our own UI/validation code path. More... | |
user_delete ($user) | |
Called when user is about to be deleted. More... | |
validate_param_types ($data, $rules) | |
Validate a list of parameter names and types. More... | |
Protected Member Functions | |
email_welcome_message ($instance, $user) | |
Send welcome email to specified user. More... | |
get_enroller ($instanceid) | |
Returns the user who is responsible for self enrolments in given instance. More... | |
get_expirynotify_options () | |
Return an array of valid options for the expirynotify property. More... | |
get_groupkey_options () | |
Return an array of valid options for the groupkey property. More... | |
get_longtimenosee_options () | |
Return an array of valid options for the longtimenosee property. More... | |
get_newenrols_options () | |
Return an array of valid options for the newenrols property. More... | |
get_status_options () | |
Return an array of valid options for the status. More... | |
load_config () | |
Makes sure config is loaded and cached. More... | |
notify_expiry_enrolled ($user, $ue, progress_trace $trace) | |
Notify user about incoming expiration of their enrolment, it is called only if notification of enrolled users (aka students) is enabled in course. More... | |
notify_expiry_enroller ($eid, $users, progress_trace $trace) | |
Notify person responsible for enrolments that some user enrolments will be expired soon, it is called only if notification of enrollers (aka teachers) is enabled in course. More... | |
Protected Attributes | |
$config = null | |
$lasternoller = null | |
$lasternollerinstanceid = 0 | |
Self enrolment plugin implementation.
|
inherited |
Adds navigation links into course admin block.
By defaults looks for manage links only.
navigation_node | $instancesnode | |
stdClass | $instance |
void |
enrol_self_plugin::add_default_instance | ( | $course | ) |
Add new instance of enrol plugin with default settings.
stdClass | $course |
int | id of new instance |
Reimplemented from enrol_plugin.
enrol_self_plugin::add_instance | ( | $course, | |
array | $fields = null |
||
) |
Add new instance of enrol plugin.
object | $course | |
array | $fields | instance fields |
int | id of new instance, null if can not be created |
Reimplemented from enrol_plugin.
|
inherited |
Does this plugin allow manual enrolments?
stdClass | $instance | course enrol instance All plugins allowing this must implement 'enrol/xxx:enrol' capability |
bool | - true means user with 'enrol/xxx:enrol' may enrol others freely, false means nobody may add more enrolments manually |
Reimplemented in enrol_manual_plugin.
enrol_self_plugin::allow_manage | ( | stdClass | $instance | ) |
Does this plugin allow manual changes in user_enrolments table?
All plugins allowing this must implement 'enrol/xxx:manage' capability
stdClass | $instance | course enrol instance |
bool | - true means it is possible to change enrol period and status in user_enrolments table |
Reimplemented from enrol_plugin.
enrol_self_plugin::allow_unenrol | ( | stdClass | $instance | ) |
Does this plugin allow manual unenrolment of all users? All plugins allowing this must implement 'enrol/xxx:unenrol' capability.
stdClass | $instance | course enrol instance |
bool | - true means user with 'enrol/xxx:unenrol' may unenrol others freely, false means nobody may touch user_enrolments |
Reimplemented from enrol_plugin.
|
inherited |
Does this plugin allow manual unenrolment of a specific user? All plugins allowing this must implement 'enrol/xxx:unenrol' capability.
This is useful especially for synchronisation plugins that do suspend instead of full unenrolment.
stdClass | $instance | course enrol instance |
stdClass | $ue | record from user_enrolments table, specifies user |
bool | - true means user with 'enrol/xxx:unenrol' may unenrol this user, false means nobody may touch this user enrolment |
Reimplemented in enrol_meta_plugin, enrol_flatfile_plugin, enrol_database_plugin, and enrol_cohort_plugin.
|
inherited |
Backup execution step hook to annotate custom fields.
backup_enrolments_execution_step | $step | |
stdClass | $enrol |
enrol_self_plugin::can_add_instance | ( | $courseid | ) |
Return true if we can add a new instance to this course.
int | $courseid |
boolean |
Reimplemented from enrol_plugin.
enrol_self_plugin::can_delete_instance | ( | $instance | ) |
Is it possible to delete enrol instance via standard UI?
stdClass | $instance |
bool |
Reimplemented from enrol_plugin.
|
inherited |
Return whether or not, given the current state, it is possible to edit an instance of this enrolment plugin in the course.
Used by the standard editing UI to generate a link to the edit instance form if editing is allowed.
stdClass | $instance |
boolean |
enrol_self_plugin::can_hide_show_instance | ( | $instance | ) |
Is it possible to hide/show enrol instance via standard UI?
stdClass | $instance |
bool |
Reimplemented from enrol_plugin.
enrol_self_plugin::can_self_enrol | ( | stdClass | $instance, |
$checkuserenrolment = true |
|||
) |
Checks if user can self enrol.
stdClass | $instance | enrolment instance |
bool | $checkuserenrolment | if true will check if user enrolment is inactive. used by navigation to improve performance. |
bool|string | true if successful, else error message or false. |
Reimplemented from enrol_plugin.
|
inherited |
Adds enrol instance UI to course edit form.
object | $instance | enrol instance or null if does not exist yet |
MoodleQuickForm | $mform | |
object | $data | |
object | $context | context of existing course or parent category if course does not exist |
void |
|
inherited |
Validates course edit form data.
object | $instance | enrol instance or null if does not exist yet |
array | $data | |
object | $context | context of existing course or parent category if course does not exist |
array | errors array |
|
inherited |
Called after updating/inserting course.
bool | $inserted | true if course just inserted |
object | $course | |
object | $data | form data |
void |
Reimplemented in enrol_meta_plugin, enrol_guest_plugin, enrol_cohort_plugin, and enrol_category_plugin.
|
inherited |
Called for all enabled enrol plugins that returned true from is_cron_required().
void |
Reimplemented in enrol_imsenterprise_plugin.
|
inherited |
Delete course enrol plugin instance, unenrol all users.
object | $instance |
void |
Reimplemented in enrol_lti_plugin.
enrol_self_plugin::edit_instance_form | ( | $instance, | |
MoodleQuickForm | $mform, | ||
$context | |||
) |
Add elements to the edit instance form.
stdClass | $instance | |
MoodleQuickForm | $mform | |
context | $context |
bool |
Reimplemented from enrol_plugin.
enrol_self_plugin::edit_instance_validation | ( | $data, | |
$files, | |||
$instance, | |||
$context | |||
) |
Perform custom validation of the data used to edit the instance.
array | $data | array of ("fieldname"=>value) of submitted data |
array | $files | array of uploaded files "element_name"=>tmp_file_path |
object | $instance | The instance loaded from the DB |
context | $context | The context of the instance we are editing |
array | of "element_name"=>"error_description" if there are errors, or an empty array if everything is OK. |
void |
Reimplemented from enrol_plugin.
|
protected |
Send welcome email to specified user.
stdClass | $instance | |
stdClass | $user | user record |
void |
enrol_self_plugin::enrol_page_hook | ( | stdClass | $instance | ) |
Creates course enrol form, checks if form submitted and enrols user if necessary.
It can also redirect.
stdClass | $instance |
string | html text, usually a form in a text box |
Reimplemented from enrol_plugin.
enrol_self_plugin::enrol_self | ( | stdClass | $instance, |
$data = null |
|||
) |
Self enrol user to course.
stdClass | $instance | enrolment instance |
stdClass | $data | data needed for enrolment. |
bool|array | true if enroled else eddor code and messege |
|
inherited |
Enrol user into course via enrol instance.
stdClass | $instance | |
int | $userid | |
int | $roleid | optional role id |
int | $timestart | 0 means unknown |
int | $timeend | 0 means forever |
int | $status | default to ENROL_USER_ACTIVE for new enrolments, no change by default in updates |
bool | $recovergrades | restore grade history |
void |
Reimplemented in enrol_guest_plugin, and enrol_flatfile_plugin.
enrol_self_plugin::extend_assignable_roles | ( | $context, | |
$defaultrole | |||
) |
Gets a list of roles that this user can assign for the course as the default for self-enrolment.
context | $context | the context. |
integer | $defaultrole | the id of the role that is set as the default for self-enrolment |
array | index is the role id, value is the role name |
|
inherited |
Returns edit icons for the page with list of instances.
stdClass | $instance |
array |
Reimplemented in enrol_manual_plugin.
enrol_self_plugin::get_bulk_operations | ( | course_enrolment_manager | $manager | ) |
The self enrollment plugin has several bulk operations that can be performed.
course_enrolment_manager | $manager |
array |
Reimplemented from enrol_plugin.
|
inherited |
Returns plugin config value.
string | $name | |
string | $default | value if config does not exist yet |
string | value or default |
|
inherited |
Returns optional enrolment instance description text.
This is used in detailed course information.
object | $instance |
string | short html text |
enrol_self_plugin::get_enrol_info | ( | stdClass | $instance | ) |
Return information for enrolment instance containing list of parameters required for enrolment, name of enrolment plugin etc.
stdClass | $instance | enrolment instance |
stdClass | instance info. |
Reimplemented from enrol_plugin.
|
protected |
Returns the user who is responsible for self enrolments in given instance.
Usually it is the first editing teacher - the person with "highest authority" as defined by sort_by_roleassignment_authority() having 'enrol/self:manage' capability.
int | $instanceid | enrolment instance id |
stdClass | user record |
Reimplemented from enrol_plugin.
|
protected |
Return an array of valid options for the expirynotify property.
array |
|
protected |
Return an array of valid options for the groupkey property.
array |
enrol_self_plugin::get_info_icons | ( | array | $instances | ) |
Returns optional enrolment information icons.
This is used in course list for quick overview of enrolment options.
We are not using single instance parameter because sometimes we might want to prevent icon repetition when multiple instances of one type exist. One instance may also produce several icons.
array | $instances | all enrol instances of this type in one course |
array | of pix_icon |
Reimplemented from enrol_plugin.
enrol_self_plugin::get_instance_defaults | ( | ) |
enrol_self_plugin::get_instance_name | ( | $instance | ) |
Returns localised name of enrol instance.
stdClass | $instance | (null is accepted too) |
string |
Reimplemented from enrol_plugin.
|
protected |
Return an array of valid options for the longtimenosee property.
array |
|
inherited |
Returns an enrol_user_button that takes the user to a page where they are able to enrol users into the managers course through this plugin.
Optional: If the plugin supports manual enrolments it can choose to override this otherwise it shouldn't
course_enrolment_manager | $manager |
enrol_user_button|false |
Reimplemented in enrol_manual_plugin.
|
inherited |
Returns link to manual enrol UI if exists.
Does the access control tests automatically.
object | $instance |
moodle_url |
Reimplemented in enrol_manual_plugin.
|
inherited |
Returns name of this enrol plugin.
string |
|
protected |
Return an array of valid options for the newenrols property.
array |
|
inherited |
Returns link to page which may be used to add new instance of enrolment plugin in course.
int | $courseid |
moodle_url | page url |
Reimplemented in enrol_category_plugin.
|
protected |
Return an array of valid options for the status.
array |
|
inherited |
Returns list of unenrol links for all enrol instances in course.
int | $instance |
moodle_url | or NULL if self unenrolment not supported |
|
inherited |
Gets an array of the user enrolment actions.
course_enrolment_manager | $manager | |
stdClass | $ue |
array | An array of user_enrolment_actions |
enrol_self_plugin::get_welcome_email_contact | ( | $sendoption, | |
$context | |||
) |
Get the "from" contact which the email will be sent from.
int | $sendoption | send email from constant ENROL_SEND_EMAIL_FROM_* |
$context | context where the user will be fetched |
mixed|stdClass | the contact user object. |
|
inherited |
Returns true if the plugin has one or more bulk operations that can be performed on user enrolments.
course_enrolment_manager | $manager |
bool |
|
inherited |
|
inherited |
Reads version.php and determines if it is necessary to execute the cron job now.
bool |
|
protectedinherited |
Makes sure config is loaded and cached.
void |
|
protectedinherited |
Notify user about incoming expiration of their enrolment, it is called only if notification of enrolled users (aka students) is enabled in course.
This is executed only once for each expiring enrolment right at the start of the expiration threshold.
stdClass | $user | |
stdClass | $ue | |
progress_trace | $trace |
|
protectedinherited |
Notify person responsible for enrolments that some user enrolments will be expired soon, it is called only if notification of enrollers (aka teachers) is enabled in course.
This is called repeatedly every day for each course if there are any pending expiration in the expiration threshold.
int | $eid | |
array | $users | |
progress_trace | $trace |
|
inherited |
Do any enrolments need expiration processing.
Plugins that want to call this functionality must implement 'expiredaction' config setting.
progress_trace | $trace | |
int | $courseid | one course, empty mean all |
bool | true if any data processed, false if not |
|
inherited |
Restore user group membership.
stdClass | $instance | |
int | $groupid | |
int | $userid |
Reimplemented in enrol_meta_plugin, enrol_manual_plugin, and enrol_cohort_plugin.
enrol_self_plugin::restore_instance | ( | restore_enrolments_structure_step | $step, |
stdClass | $data, | ||
$course, | |||
$oldid | |||
) |
Restore instance and map settings.
restore_enrolments_structure_step | $step | |
stdClass | $data | |
stdClass | $course | |
int | $oldid |
Reimplemented from enrol_plugin.
enrol_self_plugin::restore_role_assignment | ( | $instance, | |
$roleid, | |||
$userid, | |||
$contextid | |||
) |
Restore role assignment.
stdClass | $instance | |
int | $roleid | |
int | $userid | |
int | $contextid |
Reimplemented from enrol_plugin.
|
inherited |
Automatic enrol sync executed during restore.
Useful for automatic sync by course->idnumber or course category.
stdClass | $course | course record |
Reimplemented in enrol_ldap_plugin, enrol_database_plugin, and enrol_category_plugin.
enrol_self_plugin::restore_user_enrolment | ( | restore_enrolments_structure_step | $step, |
$data, | |||
$instance, | |||
$userid, | |||
$oldinstancestatus | |||
) |
Restore user enrolment.
restore_enrolments_structure_step | $step | |
stdClass | $data | |
stdClass | $instance | |
int | $oldinstancestatus | |
int | $userid |
Reimplemented from enrol_plugin.
enrol_self_plugin::roles_protected | ( | ) |
Does this plugin assign protected roles are can they be manually removed?
bool | - false means anybody may tweak roles, it does not use itemid and component when assigning roles |
Reimplemented from enrol_plugin.
|
inherited |
Send expiry notifications.
Plugin that wants to have expiry notification MUST implement following:
progress_trace | $trace | (accepts bool for backwards compatibility only) |
|
inherited |
Sets plugin config value.
string | $name | name of config |
string | $value | string config value, null means delete |
string | value |
enrol_self_plugin::show_enrolme_link | ( | stdClass | $instance | ) |
Does this plugin support some way to user to self enrol?
stdClass | $instance | course enrol instance |
bool | - true means show "Enrol me in this course" link in course UI |
Reimplemented from enrol_plugin.
enrol_self_plugin::sync | ( | progress_trace | $trace, |
$courseid = null |
|||
) |
Sync all meta course links.
progress_trace | $trace | |
int | $courseid | one course, empty mean all |
int | 0 means ok, 1 means error, 2 means plugin disabled |
|
inherited |
Forces synchronisation of user enrolments.
This is important especially for external enrol plugins, this function is called for all enabled enrol plugins right after every user login.
object | $user | user record |
void |
Reimplemented in enrol_ldap_plugin, and enrol_database_plugin.
|
inherited |
Attempt to automatically enrol current user in course without any interaction, calling code has to make sure the plugin and instance are active.
This should return either a timestamp in the future or false.
stdClass | $instance | course enrol instance |
bool|int | false means not enrolled, integer means timeend |
|
inherited |
Attempt to automatically gain temporary guest access to course, calling code has to make sure the plugin and instance are active.
This should return either a timestamp in the future or false.
stdClass | $instance | course enrol instance |
bool|int | false means no guest access, integer means timeend |
Reimplemented in enrol_guest_plugin.
|
inherited |
Unenrol user from course, the last unenrolment removes all remaining roles.
stdClass | $instance | |
int | $userid |
void |
Reimplemented in enrol_lti_plugin, and enrol_guest_plugin.
enrol_self_plugin::update_instance | ( | $instance, | |
$data | |||
) |
Update instance of enrol plugin.
stdClass | $instance | |
stdClass | $data | modified instance fields |
boolean |
Reimplemented from enrol_plugin.
|
inherited |
Update instance status.
Override when plugin needs to do some action when enabled or disabled.
stdClass | $instance | |
int | $newstatus | ENROL_INSTANCE_ENABLED, ENROL_INSTANCE_DISABLED |
void |
Reimplemented in enrol_meta_plugin, and enrol_cohort_plugin.
|
inherited |
Store user_enrolments changes and trigger event.
stdClass | $instance | |
int | $userid | |
int | $status | |
int | $timestart | |
int | $timeend |
void |
enrol_self_plugin::use_standard_editing_ui | ( | ) |
We are a good plugin and don't invent our own UI/validation code path.
boolean |
Reimplemented from enrol_plugin.
|
inherited |
Called when user is about to be deleted.
object | $user |
void |
|
inherited |
Validate a list of parameter names and types.
array | $data | array of ("fieldname"=>value) of submitted data |
array | $rules | array of ("fieldname"=>PARAM_X types - or "fieldname"=>array( list of valid options ) |
array | of "element_name"=>"error_description" if there are errors, or an empty array if everything is OK. |