Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
|
Files | |
file | install.php |
This file is executed right after the install.xml. | |
file | upgrade.php |
This file keeps track of upgrades to Moodle. | |
file | upgradelib.php |
Upgrade helper functions. | |
Functions | |
make_competence_scale () | |
Create another default scale. More... | |
object | make_default_scale () |
This function creates a default separated/connected scale so there's something in the database. More... | |
upgrade_analytics_fix_contextids_defaults () | |
Fix the incorrect default values inserted into analytics contextids field. | |
upgrade_calculated_grade_items ($courseid=null) | |
Marks all courses that require calculated grade items be updated. More... | |
upgrade_calendar_action_events_fix (stdClass $info, bool $output=true, int $endtime=0) | |
Detects the calendar action events needing to be fixed. More... | |
upgrade_calendar_events_fix_remaining (array $info, bool $output=true, int $maxseconds=0) | |
Detects the calendar events needing to be fixed. More... | |
upgrade_calendar_events_get_teacherid (int $courseid) | |
Get a valid editing teacher for a given courseid. More... | |
upgrade_calendar_events_mtrace (string $string, bool $output) | |
Wrapper over mtrace() to allow a few more things to be specified. More... | |
upgrade_calendar_events_status (bool $output=true) | |
Detects the calendar events needing to be fixed. More... | |
upgrade_calendar_override_events_fix (stdClass $info, bool $output=true, int $endtime=0) | |
Detects the calendar override events needing to be fixed. More... | |
upgrade_calendar_site_status (bool $output=true) | |
Detects if the site may need to get the calendar events fixed or no. More... | |
upgrade_calendar_standard_events_fix (stdClass $info, bool $output=true, int $endtime=0) | |
Detects the calendar standard events needing to be fixed. More... | |
upgrade_calendar_subscription_events_fix (stdClass $info, bool $output=true, int $endtime=0) | |
Detects the calendar subscription events needing to be fixed. More... | |
upgrade_convert_hub_config_site_param_names (stdClass $hubconfig, string $huburl) | |
Convert the site settings for the 'hub' component in the config_plugins table. More... | |
upgrade_core_licenses () | |
Upgrade core licenses shipped with Moodle. | |
upgrade_course_letter_boundary ($courseid=null) | |
Marks all courses that require rounded grade items be updated. More... | |
upgrade_delete_orphaned_file_records () | |
Deletes file records which have their repository deleted. | |
upgrade_extra_credit_weightoverride ($onlycourseid=0) | |
Marks all courses with changes in extra credit weight calculation. More... | |
upgrade_fix_serialized_objects ($serializeddata) | |
Provides a way to check and update a serialized string that uses the deprecated object class. More... | |
upgrade_group_members_only ($groupingid, $availability) | |
Using data for a single course-module that has groupmembersonly enabled, returns the new availability value that incorporates the correct groupmembersonly option. More... | |
upgrade_letter_boundary_needs_freeze ($context) | |
Checks the letter boundary of the provided context to see if it needs freezing. More... | |
upgrade_mysql_get_supported_tables () | |
Returns all non-view and non-temp tables with sane names. More... | |
upgrade_rename_prediction_actions_useful_incorrectly_flagged () | |
Updates the existing prediction actions in the database according to the new suggested actions. More... | |
upgrade_standardise_score ($rawgrade, $sourcemin, $sourcemax, $targetmin, $targetmax) | |
Given a float value situated between a source minimum and a source maximum, converts it to the corresponding value situated between a target minimum and a target maximum. More... | |
xmldb_main_install () | |
Main post-install tasks to be executed after the BD schema is available. More... | |
xmldb_main_upgrade ($oldversion) | |
Main upgrade tasks to be executed on Moodle version bump. More... | |
make_competence_scale | ( | ) |
Create another default scale.
int | $oldversion |
bool | always true |
object make_default_scale | ( | ) |
This function creates a default separated/connected scale so there's something in the database.
The locations of strings and files is a bit odd, but this is because we need to maintain backward compatibility with many different existing language translations and older sites.
void |
upgrade_calculated_grade_items | ( | $courseid = null | ) |
Marks all courses that require calculated grade items be updated.
Used during upgrade and in course restore process.
This upgrade script is needed because the calculated grade items were stuck with a maximum of 100 and could be changed. This flags the courses that are affected and the grade book is frozen to retain grade integrity.
int | $courseid | Specify a course ID to run this script on just one course. |
upgrade_calendar_action_events_fix | ( | stdClass | $info, |
bool | $output = true , |
||
int | $endtime = 0 |
||
) |
Detects the calendar action events needing to be fixed.
With optional output.
stdClass | $info | an object with total and bad counters, plus sql to retrieve them. |
bool | $output | true if the function must output information, false if not. |
int | $endtime | cutoff time when the process must stop (0 means no cutoff). |
bool | true if the function has not finished fixing everything, false if it has finished. |
upgrade_calendar_events_fix_remaining | ( | array | $info, |
bool | $output = true , |
||
int | $maxseconds = 0 |
||
) |
Detects the calendar events needing to be fixed.
With optional output.
stdClass[] | an array of event types (as keys) with total and bad counters, plus sql to retrieve them. | |
bool | $output | true if the function must output information, false if not. |
int | $maxseconds | Number of seconds the function will run as max, with zero meaning no limit. |
bool | true if the function has not finished fixing everything, false if it has finished. |
upgrade_calendar_events_get_teacherid | ( | int | $courseid | ) |
Get a valid editing teacher for a given courseid.
int | $courseid | The course to look for editing teachers. |
int | A user id of an editing teacher or, if missing, the admin userid. |
upgrade_calendar_events_mtrace | ( | string | $string, |
bool | $output | ||
) |
Wrapper over mtrace() to allow a few more things to be specified.
string | $string | string to output. |
bool | $output | true to perform the output, false to avoid it. |
upgrade_calendar_events_status | ( | bool | $output = true | ) |
Detects the calendar events needing to be fixed.
With optional output.
bool | $output | true if the function must output information, false if not. |
stdClass[] | an array of event types (as keys) with total and bad counters, plus sql to retrieve them. |
upgrade_calendar_override_events_fix | ( | stdClass | $info, |
bool | $output = true , |
||
int | $endtime = 0 |
||
) |
Detects the calendar override events needing to be fixed.
With optional output.
stdClass | $info | an object with total and bad counters, plus sql to retrieve them. |
bool | $output | true if the function must output information, false if not. |
int | $endtime | cutoff time when the process must stop (0 means no cutoff). |
bool | true if the function has not finished fixing everything, false if it has finished. |
upgrade_calendar_site_status | ( | bool | $output = true | ) |
Detects if the site may need to get the calendar events fixed or no.
With optional output.
bool | $output | true if the function must output information, false if not. |
bool | true if the site needs to run the fixes, false if not. |
upgrade_calendar_standard_events_fix | ( | stdClass | $info, |
bool | $output = true , |
||
int | $endtime = 0 |
||
) |
Detects the calendar standard events needing to be fixed.
With optional output.
stdClass | $info | an object with total and bad counters, plus sql to retrieve them. |
bool | $output | true if the function must output information, false if not. |
int | $endtime | cutoff time when the process must stop (0 means no cutoff). |
bool | true if the function has not finished fixing everything, false if it has finished. |
upgrade_calendar_subscription_events_fix | ( | stdClass | $info, |
bool | $output = true , |
||
int | $endtime = 0 |
||
) |
Detects the calendar subscription events needing to be fixed.
With optional output.
stdClass | $info | an object with total and bad counters, plus sql to retrieve them. |
bool | $output | true if the function must output information, false if not. |
int | $endtime | cutoff time when the process must stop (0 means no cutoff). |
bool | true if the function has not finished fixing everything, false if it has finished. |
upgrade_convert_hub_config_site_param_names | ( | stdClass | $hubconfig, |
string | $huburl | ||
) |
Convert the site settings for the 'hub' component in the config_plugins table.
stdClass | $hubconfig | Settings loaded for the 'hub' component. |
string | $huburl | The URL of the hub to use as the valid one in case of conflict. |
stdClass | List of new settings to be applied (including null values to be unset). |
upgrade_course_letter_boundary | ( | $courseid = null | ) |
Marks all courses that require rounded grade items be updated.
Used during upgrade and in course restore process.
This upgrade script is needed because it has been decided that if a grade is rounded up, and it will changed a letter grade or satisfy a course completion grade criteria, then it should be set as so, and the letter will be awarded and or the course completion grade will be awarded.
int | $courseid | Specify a course ID to run this script on just one course. |
upgrade_extra_credit_weightoverride | ( | $onlycourseid = 0 | ) |
Marks all courses with changes in extra credit weight calculation.
Used during upgrade and in course restore process
This upgrade script is needed because we changed the algorithm for calculating the automatic weights of extra credit items and want to prevent changes in the existing student grades.
int | $onlycourseid |
upgrade_fix_serialized_objects | ( | $serializeddata | ) |
Provides a way to check and update a serialized string that uses the deprecated object class.
string | $serializeddata | Serialized string which may contain the now deprecated object. |
array | Returns an array where the first variable is a bool with a status of whether the initial data was changed or not. The second variable is the said data. |
upgrade_group_members_only | ( | $groupingid, | |
$availability | |||
) |
Using data for a single course-module that has groupmembersonly enabled, returns the new availability value that incorporates the correct groupmembersonly option.
Included as a function so that it can be shared between upgrade and restore, and unit-tested.
int | $groupingid | Grouping id for the course-module (0 if none) |
string | $availability | Availability JSON data for the module (null if none) |
string | New value for availability for the module |
upgrade_letter_boundary_needs_freeze | ( | $context | ) |
Checks the letter boundary of the provided context to see if it needs freezing.
Each letter boundary is tested to see if receiving that boundary number will result in achieving the cosponsoring letter.
object | $context | Context object |
bool | if the letter boundary for this context should be frozen. |
upgrade_mysql_get_supported_tables | ( | ) |
Returns all non-view and non-temp tables with sane names.
Prints list of non-supported tables using $OUTPUT->notification()
array |
upgrade_rename_prediction_actions_useful_incorrectly_flagged | ( | ) |
Updates the existing prediction actions in the database according to the new suggested actions.
null |
upgrade_standardise_score | ( | $rawgrade, | |
$sourcemin, | |||
$sourcemax, | |||
$targetmin, | |||
$targetmax | |||
) |
Given a float value situated between a source minimum and a source maximum, converts it to the corresponding value situated between a target minimum and a target maximum.
Thanks to Darlene for the formula :-)
float | $rawgrade | |
float | $sourcemin | |
float | $sourcemax | |
float | $targetmin | |
float | $targetmax |
float | Converted value |
xmldb_main_install | ( | ) |
Main post-install tasks to be executed after the BD schema is available.
This function is automatically executed after Moodle core DB has been created at initial install. It's in charge of perform the initial tasks not covered by the install.xml file, like create initial users, roles, templates, moving stuff from other plugins...
Note that the function is only invoked once, at install time, so if new tasks are needed in the future, they will need to be added both here (for new sites) and in the corresponding upgrade.php file (for existing sites).
All plugins within Moodle (modules, blocks, reports...) support the existence of their own install.php file, using the "Frankenstyle" component name as defined at , for example:
Finally, note that it's also supported to have one uninstall.php file that is executed also once, each time one plugin is uninstalled (before the DB schema is deleted). Those uninstall files will contain one function, using the "Frankenstyle" naming conventions, like xmldb_enrol_meta_uninstall() or xmldb_workshop_uninstall().
xmldb_main_upgrade | ( | $oldversion | ) |
Main upgrade tasks to be executed on Moodle version bump.
This function is automatically executed after one bump in the Moodle core version is detected. It's in charge of performing the required tasks to raise core from the previous version to the next one.
It's a collection of ordered blocks of code, named "upgrade steps", each one performing one isolated (from the rest of steps) task. Usually tasks involve creating new DB objects or performing manipulation of the information for cleanup/fixup purposes.
Each upgrade step has a fixed structure, that can be summarised as follows:
if ($oldversion < XXXXXXXXXX.XX) { // Explanation of the update step, linking to issue in the Tracker if necessary upgrade_set_timeout(XX); // Optional for big tasks // Code to execute goes here, usually the XMLDB Editor will // help you here. See . upgrade_main_savepoint(true, XXXXXXXXXX.XX); }
All plugins within Moodle (modules, blocks, reports...) support the existence of their own upgrade.php file, using the "Frankenstyle" component name as defined at , for example:
In order to keep the contents of this file reduced, it's allowed to create some helper functions to be used here in the upgradelib.php file at the same directory. Note that such a file must be manually included from upgrade.php, and there are some restrictions about what can be used within it.
For more information, take a look to the documentation available:
int | $oldversion |
bool | always true |