Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
Todo List
Member _fix_course_cats ($children, &$sortorder, $parent, $depth, $path, &$fixcontexts)
Document the arguments of this function better
Class admin_page_defaultmessageoutputs
MDL-64866 This will be deleted in Moodle 4.1.
Member admin_page_defaultmessageoutputs::__construct ()
MDL-64866 This will be deleted in Moodle 4.1.
Member admin_setting_configmulticheckbox::load_choices ()
Check if this function is still required content commented out only returns true
Member admin_setting_configmulticheckbox::output_html ($data, $query='')
Add vartype handling to ensure $data is an array
Member admin_setting_configmultiselect::output_html ($data, $query='')
Add vartype handling to ensure $data is an array
Member admin_setting_courselist_frontpage::output_html ($data, $query='')
Add vartype handling to make sure $data is an array
Member admin_setting_gradecat_combo::output_html ($data, $query='')
Add vartype handling to ensure $data is array
Member admin_setting_gradecat_combo::write_setting ($data)
Add vartype handling to ensure $data is array
Member admin_setting_ldap_rolemapping::output_html ($data, $query='')
Add vartype handling to ensure $data is an array
Class admin_setting_managelicenses
MDL-45184 This class will be deleted in Moodle 4.3.
Member admin_setting_managelicenses::__construct ()
MDL-45184 This class will be deleted in Moodle 4.3
Member admin_setting_managelicenses::get_defaultsetting ()
MDL-45184 This method will be deleted in Moodle 4.3
Member admin_setting_managelicenses::get_setting ()
MDL-45184 This method will be deleted in Moodle 4.3
Member admin_setting_managelicenses::output_html ($data, $query='')
MDL-45184 This method will be deleted in Moodle 4.3
Member admin_setting_managelicenses::write_setting ($data)
MDL-45184 This method will be deleted in Moodle 4.3
Member auth_plugin_base::get_title ()
Document this function
Class base_setting_ui

extend as required for restore

Member behat_context_helper::set_session (Environment $environment)
MDL-55365 This will be deleted in Moodle 3.6.
Member behat_deprecated::i_dock_block ($blockname)
MDL-65215 This will be deleted in Moodle 4.1.
Member behat_deprecated::i_navigate_to_node_in ($nodetext, $parentnodes)
MDL-63004 This will be deleted in Moodle 4.0.
Member behat_field_manager::get_field (NodeElement $fieldnode, $locator, Session $session)
MDL-XXXXX This will be deleted in Moodle 2.8
Member behat_field_manager::get_node_type (NodeElement $fieldnode, $locator, Session $session)
MDL-XXXXX This will be deleted in Moodle 2.8
Member behat_session_interface::EXTENDED_TIMEOUT
MDL-64982 This will be deleted in Moodle 3.11
Member behat_session_interface::REDUCED_TIMEOUT
MDL-64982 This will be deleted in Moodle 3.11
Member behat_session_interface::TIMEOUT
MDL-64982 This will be deleted in Moodle 3.11
Member block_recent_activity::get_recent_enrolments ()
MDL-36993 this function always return empty array
Member blocks_remove_inappropriate ($course)
Write/Fix this function. Currently returns immediately
Member cache_helper::invalidate_by_definition ($component, $area, array $identifiers=array(), $keys=array())
Invalidating by definition should also add to the event cache so that sessions can be invalidated (when required).
Class cache_session
we should support locking in the session as well. Should be pretty simple to set up.
Member chat_portfolio_caller::prepare_package ()
Document this function
Member check_php_version ($version='5.2.4')
Check PHP version being required here is it too low?
Class core\task\legacy_plugin_cron_task
MDL-61165 This will be deleted in Moodle 4.3
Member core_analytics\local\analyser\base::get_analysables ()

MDL-65284 This will be removed in Moodle 4.1

Member core_analytics\manager::add_builtin_models ()
Remove this method in Moodle 4.1 (MDL-65186).
Member core_analytics\manager::get_enabled_time_splitting_methods ()
MDL-65086 This will be deleted in Moodle 4.1
Member core_cache_renderer::lock_summaries (array $locks)
Add some actions so that people can configure lock instances.
Member core_calendar\external\calendar_event_exporter::get_module_timestamp_max_limit (\DateTimeInterface $starttime, $max)
final deprecation. To be removed in Moodle 4.0
Member core_calendar\external\calendar_event_exporter::get_module_timestamp_min_limit (\DateTimeInterface $starttime, $min)
final deprecation. To be removed in Moodle 4.0
Member core_competency\api::filter_users_with_capability_on_user_context_sql ($capability, $userid=0, $type=SQL_PARAMS_QM, $prefix='param')
MDL-52243 Move this function to lib/accesslib.php
Member core_course_category::preload_course_contacts (&$courses)
MDL-38596 minimize number of queries to preload contacts for the list of courses
Member core_files_renderer::fm_js_template_listfilename ()
MDL-32736 remove onclick="return false;"
Member core_grading\privacy\gradingform_provider::delete_gradingform_for_context (\context $context)
MDL-63167 Remove this file.
Member core_grading\privacy\gradingform_provider::delete_gradingform_for_userid (int $userid, context $context)
MDL-63167 Remove this file.
Member core_grading\privacy\gradingform_provider::get_gradingform_export_data (\context $context, $definition, int $userid)
MDL-63167 Remove this file.
Member core_message\api::can_post_message ($recipient, $sender=null)
Final deprecation in MDL-66266
Member core_question\bank\view::build_query_sql ($category, $recurse, $showhidden)
MDL-41978 This will be deleted in Moodle 2.8
Member core_question\bank\view::display_category_form ($contexts, $pageurl, $current)
MDL-41978 This will be deleted in Moodle 2.8
Member core_question\bank\view::display_category_form_checkbox ($name, $value, $label)
MDL-41978 This will be deleted in Moodle 2.8
Member core_question\bank\view::display_options ($recurse, $showhidden, $showquestiontext)
MDL-41978 This will be deleted in Moodle 2.8
Member core_question\bank\view::print_category_info ($category)
MDL-41978 This will be deleted in Moodle 2.8
Member core_rtlcss::processDeclaration ($node)
Remove the dir-rtl flipping when dir-rtl is fully deprecated.
Class core_user

move api's from user/lib.php and deprecate old ones.

Member create_user_record ($username, $password, $auth='manual')
Outline auth types and provide code example
Member cron_bc_hack_plugin_functions ($plugintype, $plugins)
MDL-61165 This will be deleted in Moodle 4.3.
Member cron_execute_plugin_type ($plugintype, $description=null)
MDL-61165 This will be deleted in Moodle 4.3.
Member cron_run_single_task (\core\task\scheduled_task $task)
final deprecation. To be removed in Moodle 4.3 MDL-63594.
Member draw_rand_array ($array, $draws)
Finish documenting this function
Member endecrypt ($pwd, $data, $case)
Finish documenting this function
Member environment_results::strToReport ($string, $class)
Document this function
Member events_cleanup ($component, $cachedhandlers)
final deprecation. To be removed in Moodle 4.0
Member events_dequeue ($qhandler)
final deprecation. To be removed in Moodle 4.0
Member events_get_cached ($component)
final deprecation. To be removed in Moodle 4.0
Member events_get_handlers ($eventname)
final deprecation. To be removed in Moodle 4.0
Member file_correct_filepath ($str)
review this function
Member file_encode_url ($urlbase, $path, $forcedownload=false, $https=false)
MDL-31071 deprecate this function $CFG
Member file_get_drafarea_folders ($draftitemid, $filepath, &$data)
MDL-31073 use normal return value instead, this does not fit the rest of api here (skodak)
Member file_info::copy_to_pathname ($pathname)
MDL-31068 implement move() rename() unzip() zip()
Member file_info_context_user::get_area_user_backup ($itemid, $filepath, $filename)
MDL-31091 maybe we need new caability for access control
Member file_info_context_user::get_area_user_private ($itemid, $filepath, $filename)
MDL-31070 this method should respect $CFG->userquota
Member file_pluginfile ($relativepath, $forcedownload, $preview=null, $offline=false, $embed=false)
MDL-31088 file serving improments
Class form_filemanager
do not use this abstraction (skodak)
Member format_base::instance ($courseorid)
MDL-35727 use MUC for caching of instances, limit the number of cached instances
Member forum_count_replies ($post, $children=true)
MDL-65252 This will be removed in Moodle 4.1
Member forum_get_recent_mod_activity (&$activities, &$index, $timestart, $courseid, $cmid, $userid=0, $groupid=0)
Document this functions args
Member forum_print_posts_nested ($course, &$cm, $forum, $discussion, $parent, $reply, $forumtracked, $posts)
Document this function
Member forum_print_posts_threaded ($course, &$cm, $forum, $discussion, $parent, $depth, $reply, $forumtracked, $posts)
Document this function
Member get_context_instance ($contextlevel, $instance=0, $strictness=IGNORE_MISSING)
This will be deleted in Moodle 2.8, refer MDL-34472
Member get_courses_page ($categoryid="all", $sort="c.sortorder ASC", $fields="c.*", &$totalcount, $limitfrom="", $limitnum="")
The final deprecation of this function will take place in Moodle 41 - see MDL-65319.
Member get_directory_list ($rootdir, $excludefiles='', $descend=true, $getdirs=false, $getfiles=true)
Finish documenting this function. Add examples of $excludefile usage.
Member get_max_upload_file_size ($sitebytes=0, $coursebytes=0, $modulebytes=0, $unused=false)
Finish documenting this function
Member get_roles_on_exact_context (context $context)
final deprecation. To be removed in Moodle 4.0
Member get_roles_with_assignment_on_context (context $context)
final deprecation. To be removed in Moodle 4.0
Member global_navigation::module_extends_navigation ($modname)
(MDL-25290) A shared caching solution should be used to save details on what extends navigation.
File gradingform_provider.php
MDL-63167 Remove this file.
Member is_in_popup ()
Use a central function to create the popup calls all over Moodle and In the moment only works with resources and probably questions.
Member license_manager::add ($license)
MDL-67344 This will be deleted in Moodle 4.3.
Member logstore_legacy\log\store::__construct (\tool_log\log\manager $manager)
MDL-52805 This is to be removed in Moodle 4.0
Member logstore_legacy\log\store::dispose ()
MDL-52805 This will be removed in Moodle 4.0
Member logstore_legacy\log\store::get_events_select ($selectwhere, array $params, $sort, $limitfrom, $limitnum)
MDL-52805 This will be removed in Moodle 4.0
Member logstore_legacy\log\store::get_events_select_count ($selectwhere, array $params)
MDL-52805 This will be removed in Moodle 4.0
Member logstore_legacy\log\store::get_events_select_iterator ($selectwhere, array $params, $sort, $limitfrom, $limitnum)
MDL-52805 This will be removed in Moodle 4.0
Member logstore_legacy\log\store::get_log_event ($data)
MDL-52805 This will be removed in Moodle 4.0
Member logstore_legacy\log\store::is_logging ()
MDL-52805 This will be removed in Moodle 4.0
Member logstore_legacy\log\store::legacy_add_to_log ($courseid, $module, $action, $url, $info, $cm, $user, $ip=null, $time=null)
MDL-52805 This will be removed in Moodle 3.3
Member lti_get_shortcuts ($defaultitem)
MDL-68011 This is to be moved from here to deprecatedlib.php in Moodle 4.3
Member make_grades_menu ($gradingtype)
Finish documenting this function or better deprecated this completely!
Member make_unique_id_code ($extra='')
Finish documenting this function
Member mnetservice_enrol::get_remote_publishers ()

once the MNet core is refactored this may be part of a parent class

the name of the service should be changed to the name of this plugin

Member mnetservice_enrol::get_remote_subscribers ()

once the MNet core is refactored this may be part of a parent class

the name of the service should be changed to the name of this plugin

Member mnetservice_enrol::is_available ()
move this to some parent class once we have such
Member mod_forum_external::get_forum_discussion_posts ($discussionid, $sortby="created", $sortdirection="DESC")
MDL-65252 This will be removed in Moodle 4.1
Member mod_forum_external::update_discussion_post ($postid, $subject='', $message='', $messageformat=FORMAT_HTML, $options=[])
support more options: timed posts, groups change and tags.
Member mod_quiz\question\bank\custom_view::print_choose_category_message ($categoryandcontext)
MDL-41978 This will be deleted in Moodle 2.8
Member mod_workshop_renderer::helper_grading_report_assessment ($assessment, $shownames, array $userinfo, $separator)
Highlight the nulls
Member moodle1_assignment_subplugin_handler::append_subplugin_data ($data)
sub paths containing subplugindata isn't handed through).
Class moodle1_files_handler
migrate site_files
Member moodle1_gradebook_handler::on_gradebook_grade_item_grades_start ()
Member moodle1_handlers_factory::get_plugin_handlers ($type, moodle1_converter $converter)
ask mod's subplugins
Member moodle_database::get_record ($table, array $conditions, $fields=' *', $strictness=IGNORE_MISSING)
MDL-30407 MUST_EXIST option should not throw a dml_exception, it should throw a different exception as it's a requested check.
Member moodle_database::sql_fullname ($first='firstname', $last='lastname')
MDL-31233 This may not be needed here.
Member moodle_process_email ($modargs, $body)
Finish documenting this function
Member moodle_url::remove_all_params ($params=null)
remove the unused param.
Class moodleform
MDL-19380 rethink the file scanning
Member moodleform::save_files ($destination)
MDL-31294 remove this api
Member mssql_sql_generator::getDropDefaultSQL ($xmldb_table, $xmldb_field)
MDL-31147 Moodle 2.1 - Drop getDropDefaultSQL()
Member mysql_sql_generator::getDropDefaultSQL ($xmldb_table, $xmldb_field)
MDL-31147 Moodle 2.1 - Drop getDropDefaultSQL()
Member oracle_sql_generator::getDropDefaultSQL ($xmldb_table, $xmldb_field)
MDL-31147 Moodle 2.1 - Drop getDropDefaultSQL()
Member plagiarism_get_form_elements_module ($mform, $context, $modulename="")
MDL-67526 This is to be moved from here to deprecatedlib.php in Moodle 4.3
Member plagiarism_load_available_plugins ()
MDL-67872 the deprecated code in this function to be removed in Moodle 4.3
Member plagiarism_plugin::get_form_elements_module ($mform, $context, $modulename="")
MDL-67526 Remove this method.
Member plagiarism_plugin::save_form_elements ($data)
MDL-67526 Remove this method.
Member plagiarism_save_form_elements ($data)
MDL-67526 This is to be moved from here to deprecatedlib.php in Moodle 4.3
Member plugin_callback ($type, $name, $feature, $action, $params=null, $default=null)
Decide about to deprecate and drop plugin_callback() - MDL-30743
Member portfolio_caller_base::set_formats_from_button ($formats)
MDL-31298 - re-analyze set_formats_from_button comment
Member portfolio_format_leap2a_entry::validate ()
MDL-31303 - add category with a scheme 'selection_type'
Member portfolio_format_leap2a_writer::__construct (stdclass $user)
MDL-31302 - add exporter and format
Member portfolio_format_richhtml::conflicts ($format)
MDL-31305 - revisit the conflict with file, since we zip here
Member portfolio_instances ($visibleonly=true, $useronly=true)
MDL-15768 - check capabilities here
Member postgres_sql_generator::getDropDefaultSQL ($xmldb_table, $xmldb_field)
MDL-31147 Moodle 2.1 - Drop getDropDefaultSQL()
Member print_arrow ($direction='up', $strsort=null, $return=false)
final deprecation of this function once MDL-45448 is resolved
Member print_grade_menu ($courseid, $name, $current, $includenograde=true, $return=false)

Finish documenting this function

Deprecate: this is only used in a few contrib modules

Member print_password_policy ()
this should be handled by a function/method in the language pack library once we have a support for it @uses $CFG
Member report_insights_context_insights (\context $context)
MDL-65799 This will be deleted in Moodle 4.2
Member report_log_renderable::get_actions ()
MDL-44528 Get list from log_store.
Member report_log_renderable::get_edulevel_options ()
MDL-44528 Get list from log_store.
Member repository::build_tree ($fileinfo, $search, $dynamicmode, &$list)
take $search into account, and respect a threshold for dynamic loading
Member repository::move_to_filepool ($thefile, $record)

MDL-28637

Member repository_recent::file_is_accessible ($source)
MDL-33805 remove this function when recent files are managed correctly
Member repository_type::get_contextvisibility ($context)
check if the context visibility has been overwritten by the plugin creator (need to create special functions to be overvwritten in repository class)
Member restore_dbops::get_backup_ids_cached ($restoreid, $itemname, $itemid)
MDL-25290 replace static backupids* with MUC code
Member restore_dbops::reset_backup_ids_cached ()
MDL-25290 static should be replaced with MUC code.
Member restore_dbops::set_backup_ids_cached ($restoreid, $itemname, $itemid, $extrarecord)
MDL-25290 replace static BACKUP_IDS_* with MUC code
File run_from_cli.php
final deprecation. To be removed in Moodle 4.3 MDL-63594.
Member search_generate_text_SQL ($parsetree, $datafield, $metafield, $mainidfield, $useridfield, $userfirstnamefield, $userlastnamefield, $timefield, $instancefield)
MDL-48940 This will be deleted in Moodle 3.2
Member sql_generator::getDropDefaultSQL ($xmldb_table, $xmldb_field)
MDL-31147 Moodle 2.1 - Drop getDropDefaultSQL()
Member sqlite_sql_generator::getDropDefaultSQL ($xmldb_table, $xmldb_field)
MDL-31147 Moodle 2.1 - Drop getDropDefaultSQL()
File store.php
MDL-52805 This is to be removed in Moodle 4.0
Member survey_print_multi ($question)
Check this function
Member TAG_MAX_LENGTH
define(TAG_MAX_LENGTH) this is not correct, varchar(255) are 255 unicode chars ;-)
Member toolbook_importhtml_parse_headings ($html)
implement this once the type 'typeonefile' is enabled
Member user_delete_user ($user)
Decide if this transaction is really needed (look for internal TODO:)
Member workshop::delete_assessment ($id)
Give grading strategy plugins a chance to clean up their data, too.
Member zip_archive::open ($archivepathname, $mode=file_archive::CREATE, $encoding=null)
MDL-31048 return error message
Member zip_packer::extract_to_pathname ($archivefile, $pathname, array $onlyfiles=null, file_progress $progress=null, $returnbool=false)
MDL-31048 localise messages
Member zip_packer::extract_to_storage ($archivefile, $contextid, $component, $filearea, $itemid, $pathbase, $userid=NULL, file_progress $progress=null)
MDL-31048 localise messages