Merge branch 'MDL-71366-master' of git://github.com/bmbrands/moodle
authorAdrian Greeve <abgreeve@gmail.com>
Thu, 1 Jul 2021 04:01:12 +0000 (12:01 +0800)
committerIlya Tregubov <ilya@moodle.com>
Thu, 1 Jul 2021 08:08:04 +0000 (10:08 +0200)
1093 files changed:
.eslintignore [deleted file]
.eslintrc
.gitignore
.grunt/jsdoc/README.md [new file with mode: 0644]
.grunt/jsdoc/jsdoc.conf.js [new file with mode: 0644]
.grunt/tasks/ignorefiles.js
.grunt/tasks/javascript.js
.grunt/tasks/jsdoc.js [new file with mode: 0644]
.grunt/tasks/style.js
.grunt/tasks/stylelint.js
.stylelintignore [deleted file]
.travis.yml
admin/category.php
admin/classes/local/settings/setting_scheduled_task_status.php [new file with mode: 0644]
admin/cli/mysql_engine.php [deleted file]
admin/roles/classes/admins_existing_selector.php
admin/settings/appearance.php
admin/settings/development.php
admin/settings/language.php
admin/settings/plugins.php
admin/settings/security.php
admin/tests/behat/browse_users.feature
admin/tool/analytics/amd/build/log_info.min.js.map
admin/tool/analytics/amd/build/potential-contexts.min.js.map
admin/tool/analytics/amd/src/log_info.js
admin/tool/analytics/amd/src/potential-contexts.js
admin/tool/dataprivacy/amd/build/add_category.min.js.map
admin/tool/dataprivacy/amd/build/add_purpose.min.js.map
admin/tool/dataprivacy/amd/build/categoriesactions.min.js.map
admin/tool/dataprivacy/amd/build/contactdpo.min.js.map
admin/tool/dataprivacy/amd/build/data_deletion.min.js.map
admin/tool/dataprivacy/amd/build/data_registry.min.js.map
admin/tool/dataprivacy/amd/build/data_request_modal.min.js.map
admin/tool/dataprivacy/amd/build/defaultsactions.min.js.map
admin/tool/dataprivacy/amd/build/effective_retention_period.min.js.map
admin/tool/dataprivacy/amd/build/events.min.js.map
admin/tool/dataprivacy/amd/build/expand_contract.min.js.map
admin/tool/dataprivacy/amd/build/form-user-selector.min.js.map
admin/tool/dataprivacy/amd/build/myrequestactions.min.js.map
admin/tool/dataprivacy/amd/build/purposesactions.min.js.map
admin/tool/dataprivacy/amd/build/request_filter.min.js.map
admin/tool/dataprivacy/amd/build/requestactions.min.js.map
admin/tool/dataprivacy/amd/src/add_category.js
admin/tool/dataprivacy/amd/src/add_purpose.js
admin/tool/dataprivacy/amd/src/categoriesactions.js
admin/tool/dataprivacy/amd/src/contactdpo.js
admin/tool/dataprivacy/amd/src/data_deletion.js
admin/tool/dataprivacy/amd/src/data_registry.js
admin/tool/dataprivacy/amd/src/data_request_modal.js
admin/tool/dataprivacy/amd/src/defaultsactions.js
admin/tool/dataprivacy/amd/src/effective_retention_period.js
admin/tool/dataprivacy/amd/src/events.js
admin/tool/dataprivacy/amd/src/expand_contract.js
admin/tool/dataprivacy/amd/src/form-user-selector.js
admin/tool/dataprivacy/amd/src/myrequestactions.js
admin/tool/dataprivacy/amd/src/purposesactions.js
admin/tool/dataprivacy/amd/src/request_filter.js
admin/tool/dataprivacy/amd/src/requestactions.js
admin/tool/langimport/amd/build/search.min.js.map
admin/tool/langimport/amd/src/search.js
admin/tool/licensemanager/amd/build/delete_license.min.js.map
admin/tool/licensemanager/amd/src/delete_license.js
admin/tool/lp/amd/build/actionselector.min.js.map
admin/tool/lp/amd/build/competencies.min.js.map
admin/tool/lp/amd/build/competency_outcomes.min.js.map
admin/tool/lp/amd/build/competency_plan_navigation.min.js.map
admin/tool/lp/amd/build/competency_rule.min.js.map
admin/tool/lp/amd/build/competency_rule_all.min.js.map
admin/tool/lp/amd/build/competency_rule_points.min.js.map
admin/tool/lp/amd/build/competencyactions.min.js.map
admin/tool/lp/amd/build/competencydialogue.min.js.map
admin/tool/lp/amd/build/competencypicker.min.js.map
admin/tool/lp/amd/build/competencypicker_user_plans.min.js.map
admin/tool/lp/amd/build/competencyruleconfig.min.js.map
admin/tool/lp/amd/build/competencytree.min.js.map
admin/tool/lp/amd/build/course_competency_settings.min.js.map
admin/tool/lp/amd/build/dialogue.min.js.map
admin/tool/lp/amd/build/dragdrop-reorder.min.js.map
admin/tool/lp/amd/build/event_base.min.js.map
admin/tool/lp/amd/build/evidence_delete.min.js.map
admin/tool/lp/amd/build/form-cohort-selector.min.js.map
admin/tool/lp/amd/build/form-user-selector.min.js.map
admin/tool/lp/amd/build/form_competency_element.min.js.map
admin/tool/lp/amd/build/frameworkactions.min.js.map
admin/tool/lp/amd/build/frameworks_datasource.min.js.map
admin/tool/lp/amd/build/grade_dialogue.min.js.map
admin/tool/lp/amd/build/grade_user_competency_inline.min.js.map
admin/tool/lp/amd/build/menubar.min.js.map
admin/tool/lp/amd/build/module_navigation.min.js.map
admin/tool/lp/amd/build/parentcompetency_form.min.js.map
admin/tool/lp/amd/build/planactions.min.js.map
admin/tool/lp/amd/build/scaleconfig.min.js.map
admin/tool/lp/amd/build/scalevalues.min.js.map
admin/tool/lp/amd/build/templateactions.min.js.map
admin/tool/lp/amd/build/tree.min.js.map
admin/tool/lp/amd/build/user_competency_course_navigation.min.js.map
admin/tool/lp/amd/build/user_competency_info.min.js.map
admin/tool/lp/amd/build/user_competency_plan_popup.min.js.map
admin/tool/lp/amd/build/user_competency_workflow.min.js.map
admin/tool/lp/amd/build/user_evidence_actions.min.js.map
admin/tool/lp/amd/src/actionselector.js
admin/tool/lp/amd/src/competencies.js
admin/tool/lp/amd/src/competency_outcomes.js
admin/tool/lp/amd/src/competency_plan_navigation.js
admin/tool/lp/amd/src/competency_rule.js
admin/tool/lp/amd/src/competency_rule_all.js
admin/tool/lp/amd/src/competency_rule_points.js
admin/tool/lp/amd/src/competencyactions.js
admin/tool/lp/amd/src/competencydialogue.js
admin/tool/lp/amd/src/competencypicker.js
admin/tool/lp/amd/src/competencypicker_user_plans.js
admin/tool/lp/amd/src/competencyruleconfig.js
admin/tool/lp/amd/src/competencytree.js
admin/tool/lp/amd/src/course_competency_settings.js
admin/tool/lp/amd/src/dialogue.js
admin/tool/lp/amd/src/dragdrop-reorder.js
admin/tool/lp/amd/src/event_base.js
admin/tool/lp/amd/src/evidence_delete.js
admin/tool/lp/amd/src/form-cohort-selector.js
admin/tool/lp/amd/src/form-user-selector.js
admin/tool/lp/amd/src/form_competency_element.js
admin/tool/lp/amd/src/frameworkactions.js
admin/tool/lp/amd/src/frameworks_datasource.js
admin/tool/lp/amd/src/grade_dialogue.js
admin/tool/lp/amd/src/grade_user_competency_inline.js
admin/tool/lp/amd/src/menubar.js
admin/tool/lp/amd/src/module_navigation.js
admin/tool/lp/amd/src/parentcompetency_form.js
admin/tool/lp/amd/src/planactions.js
admin/tool/lp/amd/src/scaleconfig.js
admin/tool/lp/amd/src/scalevalues.js
admin/tool/lp/amd/src/templateactions.js
admin/tool/lp/amd/src/tree.js
admin/tool/lp/amd/src/user_competency_course_navigation.js
admin/tool/lp/amd/src/user_competency_info.js
admin/tool/lp/amd/src/user_competency_plan_popup.js
admin/tool/lp/amd/src/user_competency_workflow.js
admin/tool/lp/amd/src/user_evidence_actions.js
admin/tool/moodlenet/amd/build/instance_form.min.js.map
admin/tool/moodlenet/amd/build/select_page.min.js.map
admin/tool/moodlenet/amd/build/selectors.min.js.map
admin/tool/moodlenet/amd/build/validator.min.js.map
admin/tool/moodlenet/amd/src/instance_form.js
admin/tool/moodlenet/amd/src/select_page.js
admin/tool/moodlenet/amd/src/selectors.js
admin/tool/moodlenet/amd/src/validator.js
admin/tool/oauth2/issuers.php
admin/tool/oauth2/lang/en/tool_oauth2.php
admin/tool/policy/amd/build/acceptances_filter.min.js.map
admin/tool/policy/amd/build/acceptances_filter_datasource.min.js.map
admin/tool/policy/amd/build/acceptmodal.min.js.map
admin/tool/policy/amd/build/managedocsactions.min.js.map
admin/tool/policy/amd/build/policyactions.min.js.map
admin/tool/policy/amd/src/acceptances_filter.js
admin/tool/policy/amd/src/acceptances_filter_datasource.js
admin/tool/policy/amd/src/acceptmodal.js
admin/tool/policy/amd/src/managedocsactions.js
admin/tool/policy/amd/src/policyactions.js
admin/tool/task/renderer.php
admin/tool/task/styles.css
admin/tool/templatelibrary/amd/build/display.min.js.map
admin/tool/templatelibrary/amd/build/search.min.js.map
admin/tool/templatelibrary/amd/src/display.js
admin/tool/templatelibrary/amd/src/search.js
admin/tool/usertours/amd/build/filter_cssselector.min.js.map
admin/tool/usertours/amd/build/managesteps.min.js.map
admin/tool/usertours/amd/build/managetours.min.js.map
admin/tool/usertours/amd/build/tour.min.js.map
admin/tool/usertours/amd/build/usertours.min.js
admin/tool/usertours/amd/build/usertours.min.js.map
admin/tool/usertours/amd/src/filter_cssselector.js
admin/tool/usertours/amd/src/managesteps.js
admin/tool/usertours/amd/src/managetours.js
admin/tool/usertours/amd/src/tour.js
admin/tool/usertours/amd/src/usertours.js
admin/tool/usertours/classes/external/tour.php
admin/tool/usertours/classes/output/tour.php
admin/tool/usertours/lang/en/tool_usertours.php
admin/tool/usertours/templates/tourstep.mustache
admin/tool/usertours/tests/behat/tour_filter.feature
admin/tool/usertours/tests/behat/tour_navigation.feature
admin/tool/usertours/upgrade.txt
admin/user.php
backup/controller/backup_controller.class.php
backup/moodle2/tests/moodle2_course_format_test.php
backup/tests/automated_backup_test.php
backup/util/helper/backup_cron_helper.class.php
backup/util/ui/amd/build/async_backup.min.js.map
backup/util/ui/amd/src/async_backup.js
badges/amd/build/backpackactions.min.js.map
badges/amd/build/selectors.min.js.map
badges/amd/src/backpackactions.js
badges/amd/src/selectors.js
blocks/accessreview/amd/build/module.min.js.map
blocks/accessreview/amd/src/module.js
blocks/amd/build/events.min.js.map
blocks/amd/src/events.js
blocks/myoverview/amd/build/main.min.js.map
blocks/myoverview/amd/build/repository.min.js.map
blocks/myoverview/amd/build/selectors.min.js.map
blocks/myoverview/amd/build/view.min.js.map
blocks/myoverview/amd/build/view_nav.min.js.map
blocks/myoverview/amd/src/main.js
blocks/myoverview/amd/src/repository.js
blocks/myoverview/amd/src/selectors.js
blocks/myoverview/amd/src/view.js
blocks/myoverview/amd/src/view_nav.js
blocks/navigation/amd/build/ajax_response_renderer.min.js
blocks/navigation/amd/build/ajax_response_renderer.min.js.map
blocks/navigation/amd/build/nav_loader.min.js.map
blocks/navigation/amd/build/navblock.min.js.map
blocks/navigation/amd/build/site_admin_loader.min.js.map
blocks/navigation/amd/src/ajax_response_renderer.js
blocks/navigation/amd/src/nav_loader.js
blocks/navigation/amd/src/navblock.js
blocks/navigation/amd/src/site_admin_loader.js
blocks/navigation/renderer.php
blocks/navigation/styles.css
blocks/online_users/amd/build/change_user_visibility.min.js.map
blocks/online_users/amd/src/change_user_visibility.js
blocks/recentlyaccessedcourses/amd/build/main.min.js.map
blocks/recentlyaccessedcourses/amd/src/main.js
blocks/recentlyaccesseditems/amd/build/main.min.js.map
blocks/recentlyaccesseditems/amd/build/repository.min.js.map
blocks/recentlyaccesseditems/amd/src/main.js
blocks/recentlyaccesseditems/amd/src/repository.js
blocks/settings/amd/build/settingsblock.min.js.map
blocks/settings/amd/src/settingsblock.js
blocks/settings/renderer.php
blocks/settings/styles.css
blocks/starredcourses/amd/build/main.min.js.map
blocks/starredcourses/amd/build/repository.min.js.map
blocks/starredcourses/amd/src/main.js
blocks/starredcourses/amd/src/repository.js
blocks/timeline/amd/build/event_list.min.js.map
blocks/timeline/amd/build/view.min.js.map
blocks/timeline/amd/build/view_courses.min.js.map
blocks/timeline/amd/build/view_dates.min.js.map
blocks/timeline/amd/build/view_nav.min.js.map
blocks/timeline/amd/src/event_list.js
blocks/timeline/amd/src/view.js
blocks/timeline/amd/src/view_courses.js
blocks/timeline/amd/src/view_dates.js
blocks/timeline/amd/src/view_nav.js
cache/classes/factory.php
cache/disabledlib.php
calendar/amd/build/calendar.min.js.map
calendar/amd/build/calendar_filter.min.js.map
calendar/amd/build/calendar_mini.min.js.map
calendar/amd/build/calendar_threemonth.min.js.map
calendar/amd/build/calendar_view.min.js.map
calendar/amd/build/crud.min.js.map
calendar/amd/build/drag_drop_data_store.min.js.map
calendar/amd/build/event_form.min.js.map
calendar/amd/build/events.min.js.map
calendar/amd/build/modal_delete.min.js.map
calendar/amd/build/modal_event_form.min.js.map
calendar/amd/build/month_navigation_drag_drop.min.js.map
calendar/amd/build/month_view_drag_drop.min.js.map
calendar/amd/build/repository.min.js.map
calendar/amd/build/selectors.min.js.map
calendar/amd/build/summary_modal.min.js.map
calendar/amd/build/view_manager.min.js.map
calendar/amd/src/calendar.js
calendar/amd/src/calendar_filter.js
calendar/amd/src/calendar_mini.js
calendar/amd/src/calendar_threemonth.js
calendar/amd/src/calendar_view.js
calendar/amd/src/crud.js
calendar/amd/src/drag_drop_data_store.js
calendar/amd/src/event_form.js
calendar/amd/src/events.js
calendar/amd/src/modal_delete.js
calendar/amd/src/modal_event_form.js
calendar/amd/src/month_navigation_drag_drop.js
calendar/amd/src/month_view_drag_drop.js
calendar/amd/src/repository.js
calendar/amd/src/selectors.js
calendar/amd/src/summary_modal.js
calendar/amd/src/view_manager.js
calendar/classes/external/footer_options_exporter.php
calendar/classes/local/event/forms/managesubscriptions.php
calendar/export.php
calendar/managesubscriptions.php
calendar/renderer.php
calendar/templates/footer_options.mustache
calendar/tests/behat/calendar_import.feature
calendar/tests/behat/export.feature
cohort/locallib.php
cohort/tests/behat/add_cohort.feature
completion/tests/behat/completion_course_page_display.feature
composer.json
composer.lock
config-dist.php
contentbank/amd/build/actions.min.js.map
contentbank/amd/build/search.min.js.map
contentbank/amd/build/selectors.min.js.map
contentbank/amd/build/sort.min.js.map
contentbank/amd/src/actions.js
contentbank/amd/src/search.js
contentbank/amd/src/selectors.js
contentbank/amd/src/sort.js
course/amd/build/actions.min.js.map
course/amd/build/activitychooser.min.js.map
course/amd/build/copy_modal.min.js.map
course/amd/build/downloadcontent.min.js.map
course/amd/build/events.min.js
course/amd/build/events.min.js.map
course/amd/build/local/activitychooser/dialogue.min.js.map
course/amd/build/local/activitychooser/repository.min.js.map
course/amd/build/local/activitychooser/selectors.min.js.map
course/amd/build/manual_completion_toggle.min.js.map
course/amd/build/view.min.js.map
course/amd/src/actions.js
course/amd/src/activitychooser.js
course/amd/src/copy_modal.js
course/amd/src/downloadcontent.js
course/amd/src/events.js
course/amd/src/local/activitychooser/dialogue.js
course/amd/src/local/activitychooser/repository.js
course/amd/src/local/activitychooser/selectors.js
course/amd/src/manual_completion_toggle.js
course/amd/src/view.js
course/classes/category.php
course/classes/task/course_delete_modules.php
course/format/amd/build/courseeditor.min.js [new file with mode: 0644]
course/format/amd/build/courseeditor.min.js.map [new file with mode: 0644]
course/format/amd/build/local/courseeditor/courseeditor.min.js [new file with mode: 0644]
course/format/amd/build/local/courseeditor/courseeditor.min.js.map [new file with mode: 0644]
course/format/amd/build/local/courseeditor/mutations.min.js [new file with mode: 0644]
course/format/amd/build/local/courseeditor/mutations.min.js.map [new file with mode: 0644]
course/format/amd/src/courseeditor.js [new file with mode: 0644]
course/format/amd/src/local/courseeditor/courseeditor.js [new file with mode: 0644]
course/format/amd/src/local/courseeditor/mutations.js [new file with mode: 0644]
course/format/classes/base.php [moved from course/classes/course_format.php with 97% similarity]
course/format/classes/external/get_state.php [new file with mode: 0644]
course/format/classes/external/update_course.php [new file with mode: 0644]
course/format/classes/output/legacy_renderer.php [new file with mode: 0644]
course/format/classes/output/local/content.php [moved from course/classes/output/course_format.php with 91% similarity]
course/format/classes/output/local/content/addsection.php [moved from course/classes/output/course_format/addsection.php with 96% similarity]
course/format/classes/output/local/content/frontpagesection.php [moved from course/classes/output/course_format/frontpagesection.php with 92% similarity]
course/format/classes/output/local/content/section.php [moved from course/classes/output/section_format.php with 87% similarity]
course/format/classes/output/local/content/section/availability.php [moved from course/classes/output/section_format/availability.php with 96% similarity]
course/format/classes/output/local/content/section/cm.php [moved from course/classes/output/cm_format.php with 95% similarity]
course/format/classes/output/local/content/section/cmitem.php [moved from course/classes/output/section_format/cmitem.php with 93% similarity]
course/format/classes/output/local/content/section/cmlist.php [moved from course/classes/output/section_format/cmlist.php with 94% similarity]
course/format/classes/output/local/content/section/cmsummary.php [moved from course/classes/output/section_format/cmsummary.php with 96% similarity]
course/format/classes/output/local/content/section/controlmenu.php [moved from course/classes/output/section_format/controlmenu.php with 98% similarity]
course/format/classes/output/local/content/section/header.php [moved from course/classes/output/section_format/header.php with 95% similarity]
course/format/classes/output/local/content/section/summary.php [moved from course/classes/output/section_format/summary.php with 94% similarity]
course/format/classes/output/local/content/sectionnavigation.php [moved from course/classes/output/course_format/sectionnavigation.php with 96% similarity]
course/format/classes/output/local/content/sectionselector.php [moved from course/classes/output/course_format/sectionselector.php with 95% similarity]
course/format/classes/output/local/state/cm.php [new file with mode: 0644]
course/format/classes/output/local/state/course.php [new file with mode: 0644]
course/format/classes/output/local/state/section.php [new file with mode: 0644]
course/format/classes/output/section_renderer.php [new file with mode: 0644]
course/format/classes/output/site_renderer.php [new file with mode: 0644]
course/format/classes/privacy/provider.php [new file with mode: 0644]
course/format/classes/stateactions.php [new file with mode: 0644]
course/format/classes/stateupdates.php [new file with mode: 0644]
course/format/formatlegacy.php
course/format/lib.php
course/format/renderer.php
course/format/singleactivity/classes/output/renderer.php [moved from course/format/singleactivity/renderer.php with 83% similarity]
course/format/singleactivity/lib.php
course/format/social/classes/output/renderer.php [new file with mode: 0644]
course/format/social/lib.php
course/format/templates/local/content.mustache [moved from course/templates/local/course_format.mustache with 93% similarity]
course/format/templates/local/content/addsection.mustache [moved from course/templates/local/course_format/addsection.mustache with 96% similarity]
course/format/templates/local/content/cm.mustache [moved from course/templates/local/cm_format.mustache with 98% similarity]
course/format/templates/local/content/frontpagesection.mustache [moved from course/templates/local/course_format/frontpagesection.mustache with 91% similarity]
course/format/templates/local/content/section.mustache [moved from course/templates/local/section_format.mustache with 83% similarity]
course/format/templates/local/content/section/availability.mustache [moved from course/templates/local/section_format/availability.mustache with 94% similarity]
course/format/templates/local/content/section/cmitem.mustache [moved from course/templates/local/section_format/cmitem.mustache with 93% similarity]
course/format/templates/local/content/section/cmlist.mustache [moved from course/templates/local/section_format/cmlist.mustache with 95% similarity]
course/format/templates/local/content/section/cmsummary.mustache [moved from course/templates/local/section_format/cmsummary.mustache with 95% similarity]
course/format/templates/local/content/section/controlmenu.mustache [moved from course/templates/local/section_format/controlmenu.mustache with 94% similarity]
course/format/templates/local/content/section/header.mustache [moved from course/templates/local/section_format/header.mustache with 94% similarity]
course/format/templates/local/content/section/summary.mustache [moved from course/templates/local/section_format/summary.mustache with 93% similarity]
course/format/templates/local/content/sectionnavigation.mustache [moved from course/templates/local/course_format/sectionnavigation.mustache with 95% similarity]
course/format/templates/local/content/sectionselector.mustache [moved from course/templates/local/course_format/sectionselector.mustache with 96% similarity]
course/format/tests/base_test.php [moved from course/tests/courseformat_test.php with 84% similarity]
course/format/tests/external/get_state_test.php [new file with mode: 0644]
course/format/tests/external/update_course_test.php [new file with mode: 0644]
course/format/tests/fixtures/format_theunittest.php [moved from course/tests/fixtures/format_theunittest.php with 97% similarity]
course/format/tests/fixtures/format_theunittest_output_course_format_invalidoutput.php [new file with mode: 0644]
course/format/tests/fixtures/format_theunittest_output_course_format_state.php [new file with mode: 0644]
course/format/tests/fixtures/format_theunittest_stateactions.php [new file with mode: 0644]
course/format/tests/stateactions_test.php [new file with mode: 0644]
course/format/tests/stateupdates_test.php [new file with mode: 0644]
course/format/topics/classes/output/courseformat/content/section/controlmenu.php [moved from course/format/topics/classes/output/section_format/controlmenu.php with 95% similarity]
course/format/topics/classes/output/renderer.php [moved from course/format/topics/renderer.php with 86% similarity]
course/format/topics/format.php
course/format/topics/lib.php
course/format/weeks/classes/output/renderer.php [moved from course/format/weeks/renderer.php with 87% similarity]
course/format/weeks/format.php
course/format/weeks/lib.php
course/lib.php
course/renderer.php
course/tests/behat/sectionzero_title.feature [new file with mode: 0644]
course/tests/category_test.php
course/tests/course_delete_modules_test.php [new file with mode: 0644]
course/tests/courselib_test.php
course/upgrade.txt
customfield/amd/build/form.min.js.map
customfield/amd/src/form.js
enrol/locallib.php
enrol/manual/amd/build/form-potential-user-selector.min.js.map
enrol/manual/amd/src/form-potential-user-selector.js
enrol/tests/course_enrolment_manager_test.php
filter/amd/build/events.min.js.map
filter/amd/src/events.js
filter/mediaplugin/tests/filter_test.php
grade/amd/build/edittree_index.min.js.map
grade/amd/build/grades/grader/gradingpanel/comparison.min.js.map
grade/amd/build/grades/grader/gradingpanel/normalise.min.js.map
grade/amd/build/grades/grader/gradingpanel/point.min.js.map
grade/amd/build/grades/grader/gradingpanel/repository.min.js.map
grade/amd/build/grades/grader/gradingpanel/scale.min.js.map
grade/amd/src/edittree_index.js
grade/amd/src/grades/grader/gradingpanel/comparison.js
grade/amd/src/grades/grader/gradingpanel/normalise.js
grade/amd/src/grades/grader/gradingpanel/point.js
grade/amd/src/grades/grader/gradingpanel/repository.js
grade/amd/src/grades/grader/gradingpanel/scale.js
grade/grading/form/guide/amd/build/comment_chooser.min.js.map
grade/grading/form/guide/amd/build/grades/grader/gradingpanel.min.js.map
grade/grading/form/guide/amd/build/grades/grader/gradingpanel/comments.min.js.map
grade/grading/form/guide/amd/build/grades/grader/gradingpanel/comments/selectors.min.js.map
grade/grading/form/guide/amd/src/comment_chooser.js
grade/grading/form/guide/amd/src/grades/grader/gradingpanel.js
grade/grading/form/guide/amd/src/grades/grader/gradingpanel/comments.js
grade/grading/form/guide/amd/src/grades/grader/gradingpanel/comments/selectors.js
grade/grading/form/rubric/amd/build/grades/grader/gradingpanel.min.js.map
grade/grading/form/rubric/amd/src/grades/grader/gradingpanel.js
grade/report/grader/lib.php
grade/report/grader/styles.css
grade/report/grader/tests/behat/ajax_grader.feature
group/module.js
group/overview.php
h5p/amd/build/editor_display.min.js.map
h5p/amd/src/editor_display.js
install/lang/af/install.php
install/lang/an/install.php
install/lang/ar/install.php
install/lang/az/install.php
install/lang/bn/install.php
install/lang/bs/install.php
install/lang/ca/install.php
install/lang/ca_valencia/install.php
install/lang/cs/install.php
install/lang/cy/install.php
install/lang/da/install.php
install/lang/de/install.php
install/lang/dz/install.php
install/lang/el/install.php
install/lang/el_wp/install.php
install/lang/en/install.php
install/lang/es/install.php
install/lang/es_co/install.php
install/lang/es_mx/install.php
install/lang/et/install.php
install/lang/eu/install.php
install/lang/fa/install.php
install/lang/fi/install.php
install/lang/fr/install.php
install/lang/gl/install.php
install/lang/he/install.php
install/lang/hr/install.php
install/lang/hu/install.php
install/lang/id/admin.php
install/lang/id/install.php
install/lang/it/install.php
install/lang/ja/install.php
install/lang/ko/install.php
install/lang/lt/install.php
install/lang/lt_uni/install.php
install/lang/ms/install.php
install/lang/my/admin.php [new file with mode: 0644]
install/lang/my/error.php [new file with mode: 0644]
install/lang/my/moodle.php [new file with mode: 0644]
install/lang/nl/install.php
install/lang/no/install.php
install/lang/oc_gsc/install.php
install/lang/oc_lnc/install.php
install/lang/pl/install.php
install/lang/pt/admin.php
install/lang/pt/install.php
install/lang/pt_br/install.php
install/lang/ro/install.php
install/lang/ro_wp/install.php
install/lang/ru/install.php
install/lang/sk/install.php
install/lang/sl/install.php
install/lang/sr_cr/install.php
install/lang/sr_lt/install.php
install/lang/sv/install.php
install/lang/tg/install.php
install/lang/tr/install.php
install/lang/uk/install.php
install/lang/zh_cn/install.php
install/lang/zh_tw/install.php
install/stringnames.txt
lang/en/admin.php
lang/en/completion.php
lang/en/courseformat.php [new file with mode: 0644]
lang/en/deprecated.txt
lang/en/langconfig.php
lang/en/moodle.php
lib/accesslib.php
lib/adminlib.php
lib/amd/build/addblockmodal.min.js.map
lib/amd/build/ajax.min.js.map
lib/amd/build/auto_rows.min.js.map
lib/amd/build/autoscroll.min.js.map
lib/amd/build/backoff_timer.min.js.map
lib/amd/build/chart_axis.min.js.map
lib/amd/build/chart_bar.min.js.map
lib/amd/build/chart_base.min.js.map
lib/amd/build/chart_builder.min.js.map
lib/amd/build/chart_line.min.js.map
lib/amd/build/chart_output.min.js.map
lib/amd/build/chart_output_base.min.js.map
lib/amd/build/chart_output_chartjs.min.js.map
lib/amd/build/chart_output_htmltable.min.js.map
lib/amd/build/chart_pie.min.js.map
lib/amd/build/chart_series.min.js.map
lib/amd/build/chartjs.min.js.map
lib/amd/build/config.min.js.map
lib/amd/build/custom_interaction_events.min.js.map
lib/amd/build/dragdrop.min.js.map
lib/amd/build/drawer_events.min.js.map
lib/amd/build/emoji/auto_complete.min.js.map
lib/amd/build/emoji/data.min.js.map
lib/amd/build/emoji/picker.min.js.map
lib/amd/build/event_dispatcher.min.js.map
lib/amd/build/first.min.js.map
lib/amd/build/form-autocomplete.min.js.map
lib/amd/build/form-cohort-selector.min.js.map
lib/amd/build/form-course-selector.min.js.map
lib/amd/build/fragment.min.js.map
lib/amd/build/fullscreen.min.js.map
lib/amd/build/icon_system.min.js.map
lib/amd/build/icon_system_fontawesome.min.js.map
lib/amd/build/icon_system_standard.min.js.map
lib/amd/build/inplace_editable.min.js.map
lib/amd/build/key_codes.min.js.map
lib/amd/build/loadingicon.min.js.map
lib/amd/build/local/aria/aria-hidden.min.js.map
lib/amd/build/local/aria/focuslock.min.js.map
lib/amd/build/local/aria/selectors.min.js.map
lib/amd/build/local/modal/alert.min.js.map
lib/amd/build/local/reactive/basecomponent.min.js [new file with mode: 0644]
lib/amd/build/local/reactive/basecomponent.min.js.map [new file with mode: 0644]
lib/amd/build/local/reactive/reactive.min.js [new file with mode: 0644]
lib/amd/build/local/reactive/reactive.min.js.map [new file with mode: 0644]
lib/amd/build/local/reactive/statemanager.min.js [new file with mode: 0644]
lib/amd/build/local/reactive/statemanager.min.js.map [new file with mode: 0644]
lib/amd/build/localstorage.min.js.map
lib/amd/build/log.min.js.map
lib/amd/build/modal.min.js.map
lib/amd/build/modal_backdrop.min.js.map
lib/amd/build/modal_cancel.min.js.map
lib/amd/build/modal_events.min.js.map
lib/amd/build/modal_factory.min.js.map
lib/amd/build/modal_registry.min.js.map
lib/amd/build/modal_save_cancel.min.js.map
lib/amd/build/network.min.js
lib/amd/build/network.min.js.map
lib/amd/build/normalise.min.js.map
lib/amd/build/notification.min.js.map
lib/amd/build/page_global.min.js.map
lib/amd/build/pending.min.js.map
lib/amd/build/permissionmanager.min.js.map
lib/amd/build/popover_region_controller.min.js.map
lib/amd/build/prefetch.min.js
lib/amd/build/prefetch.min.js.map
lib/amd/build/reactive.min.js [new file with mode: 0644]
lib/amd/build/reactive.min.js.map [new file with mode: 0644]
lib/amd/build/sessionstorage.min.js.map
lib/amd/build/showhidesettings.min.js.map
lib/amd/build/sortable_list.min.js.map
lib/amd/build/storagewrapper.min.js.map
lib/amd/build/str.min.js.map
lib/amd/build/tag.min.js.map
lib/amd/build/templates.min.js.map
lib/amd/build/toast.min.js.map
lib/amd/build/tooltip.min.js.map
lib/amd/build/tree.min.js
lib/amd/build/tree.min.js.map
lib/amd/build/truncate.min.js.map
lib/amd/build/url.min.js.map
lib/amd/build/user_date.min.js.map
lib/amd/build/utils.min.js.map
lib/amd/build/yui.min.js.map
lib/amd/src/addblockmodal.js
lib/amd/src/ajax.js
lib/amd/src/aria.js
lib/amd/src/auto_rows.js
lib/amd/src/autoscroll.js
lib/amd/src/backoff_timer.js
lib/amd/src/chart_axis.js
lib/amd/src/chart_bar.js
lib/amd/src/chart_base.js
lib/amd/src/chart_builder.js
lib/amd/src/chart_line.js
lib/amd/src/chart_output.js
lib/amd/src/chart_output_base.js
lib/amd/src/chart_output_chartjs.js
lib/amd/src/chart_output_htmltable.js
lib/amd/src/chart_pie.js
lib/amd/src/chart_series.js
lib/amd/src/chartjs.js
lib/amd/src/config.js
lib/amd/src/custom_interaction_events.js
lib/amd/src/dragdrop.js
lib/amd/src/drawer_events.js
lib/amd/src/emoji/auto_complete.js
lib/amd/src/emoji/data.js
lib/amd/src/emoji/picker.js
lib/amd/src/event_dispatcher.js
lib/amd/src/first.js
lib/amd/src/form-autocomplete.js
lib/amd/src/form-cohort-selector.js
lib/amd/src/form-course-selector.js
lib/amd/src/fragment.js
lib/amd/src/fullscreen.js
lib/amd/src/icon_system.js
lib/amd/src/icon_system_fontawesome.js
lib/amd/src/icon_system_standard.js
lib/amd/src/inplace_editable.js
lib/amd/src/key_codes.js
lib/amd/src/loadingicon.js
lib/amd/src/local/aria/aria-hidden.js
lib/amd/src/local/aria/focuslock.js
lib/amd/src/local/aria/selectors.js
lib/amd/src/local/modal/alert.js
lib/amd/src/local/reactive/basecomponent.js [new file with mode: 0644]
lib/amd/src/local/reactive/reactive.js [new file with mode: 0644]
lib/amd/src/local/reactive/statemanager.js [new file with mode: 0644]
lib/amd/src/localstorage.js
lib/amd/src/log.js
lib/amd/src/modal.js
lib/amd/src/modal_backdrop.js
lib/amd/src/modal_cancel.js
lib/amd/src/modal_events.js
lib/amd/src/modal_factory.js
lib/amd/src/modal_registry.js
lib/amd/src/modal_save_cancel.js
lib/amd/src/network.js
lib/amd/src/normalise.js
lib/amd/src/notification.js
lib/amd/src/page_global.js
lib/amd/src/pending.js
lib/amd/src/permissionmanager.js
lib/amd/src/popover_region_controller.js
lib/amd/src/prefetch.js
lib/amd/src/reactive.js [new file with mode: 0644]
lib/amd/src/sessionstorage.js
lib/amd/src/showhidesettings.js
lib/amd/src/sortable_list.js
lib/amd/src/storagewrapper.js
lib/amd/src/str.js
lib/amd/src/tag.js
lib/amd/src/templates.js
lib/amd/src/toast.js
lib/amd/src/tooltip.js
lib/amd/src/tree.js
lib/amd/src/truncate.js
lib/amd/src/url.js
lib/amd/src/user_date.js
lib/amd/src/utils.js
lib/amd/src/yui.js
lib/babel-polyfill/polyfill.js [deleted file]
lib/babel-polyfill/polyfill.min.js [deleted file]
lib/babel-polyfill/readme_moodle.txt [deleted file]
lib/behat/classes/util.php
lib/classes/antivirus/scanner.php
lib/classes/check/environment/publicpaths.php
lib/classes/check/manager.php
lib/classes/check/performance/dbschema.php [new file with mode: 0644]
lib/classes/check/table.php
lib/classes/oauth2/api.php
lib/classes/oauth2/client.php
lib/classes/oauth2/client/linkedin.php [new file with mode: 0644]
lib/classes/oauth2/service/linkedin.php [new file with mode: 0644]
lib/classes/string_manager_standard.php
lib/classes/task/scheduled_task.php
lib/classes/task/task_base.php
lib/completionlib.php
lib/components.json
lib/db/install.xml
lib/db/renamedclasses.php
lib/db/services.php
lib/db/upgrade.php
lib/deprecatedlib.php
lib/editor/atto/amd/build/events.min.js [new file with mode: 0644]
lib/editor/atto/amd/build/events.min.js.map [new file with mode: 0644]
lib/editor/atto/amd/src/events.js [new file with mode: 0644]
lib/editor/atto/plugins/link/lang/en/atto_link.php
lib/editor/atto/plugins/link/lib.php
lib/editor/atto/plugins/link/tests/behat/link.feature
lib/editor/atto/plugins/link/yui/build/moodle-atto_link-button/moodle-atto_link-button-debug.js
lib/editor/atto/plugins/link/yui/build/moodle-atto_link-button/moodle-atto_link-button-min.js
lib/editor/atto/plugins/link/yui/build/moodle-atto_link-button/moodle-atto_link-button.js
lib/editor/atto/plugins/link/yui/src/button/js/button.js
lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-debug.js
lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-min.js
lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button.js
lib/editor/atto/plugins/table/yui/src/button/js/button.js
lib/editor/atto/yui/build/moodle-editor_atto-menu/moodle-editor_atto-menu-debug.js
lib/editor/atto/yui/build/moodle-editor_atto-menu/moodle-editor_atto-menu-min.js
lib/editor/atto/yui/build/moodle-editor_atto-menu/moodle-editor_atto-menu.js
lib/editor/atto/yui/build/moodle-editor_atto-plugin/moodle-editor_atto-plugin-debug.js
lib/editor/atto/yui/build/moodle-editor_atto-plugin/moodle-editor_atto-plugin-min.js
lib/editor/atto/yui/build/moodle-editor_atto-plugin/moodle-editor_atto-plugin.js
lib/editor/atto/yui/src/editor/js/editor-plugin-buttons.js
lib/editor/atto/yui/src/editor/js/menu.js
lib/filelib.php
lib/filestorage/file_system.php
lib/filestorage/file_system_filedir.php
lib/filestorage/tests/file_system_test.php
lib/filestorage/tests/fixtures/testimage.svg [new file with mode: 0644]
lib/filestorage/tests/fixtures/testimage_error.svg [new file with mode: 0644]
lib/filestorage/tests/fixtures/testimage_viewbox.svg [new file with mode: 0644]
lib/filestorage/tests/fixtures/testimage_width_height.svg [new file with mode: 0644]
lib/flickrclient.php
lib/form/amd/build/defaultcustom.min.js.map
lib/form/amd/build/dynamicform.min.js.map
lib/form/amd/build/encryptedpassword.min.js.map
lib/form/amd/build/events.min.js.map
lib/form/amd/build/filetypes.min.js.map
lib/form/amd/build/modalform.min.js.map
lib/form/amd/build/passwordunmask.min.js.map
lib/form/amd/build/showadvanced.min.js.map
lib/form/amd/build/submit.min.js.map
lib/form/amd/src/defaultcustom.js
lib/form/amd/src/dynamicform.js
lib/form/amd/src/encryptedpassword.js
lib/form/amd/src/events.js
lib/form/amd/src/filetypes.js
lib/form/amd/src/modalform.js
lib/form/amd/src/passwordunmask.js
lib/form/amd/src/showadvanced.js
lib/form/amd/src/submit.js
lib/form/dndupload.js
lib/form/modgrade.php
lib/form/password.php
lib/form/templates/element-template.mustache
lib/form/tests/behat/graderescale_for_database_pointscale.feature [new file with mode: 0644]
lib/form/tests/behat/graderescale_for_forum_pointscale.feature [new file with mode: 0644]
lib/form/tests/behat/graderescale_for_glossary_pointscale.feature [new file with mode: 0644]
lib/form/tests/behat/graderescale_for_lesson_pointscale.feature [new file with mode: 0644]
lib/form/tests/behat/modgrade_validation.feature
lib/graphlib.php
lib/grouplib.php
lib/modinfolib.php
lib/moodlelib.php
lib/navigationlib.php
lib/outputrenderers.php
lib/outputrequirementslib.php
lib/phpunit/classes/util.php
lib/plagiarismlib.php
lib/polyfills/polyfill.js
lib/polyfills/readme_moodle.txt
lib/portfoliolib.php
lib/table/amd/build/dynamic.min.js.map
lib/table/amd/build/local/dynamic/events.min.js.map
lib/table/amd/build/local/dynamic/repository.min.js.map
lib/table/amd/build/local/dynamic/selectors.min.js.map
lib/table/amd/src/dynamic.js
lib/table/amd/src/local/dynamic/events.js
lib/table/amd/src/local/dynamic/repository.js
lib/table/amd/src/local/dynamic/selectors.js
lib/templates/action_menu.mustache
lib/templates/action_menu_trigger.mustache
lib/templates/custom_menu_item.mustache
lib/templates/search_input_navbar.mustache
lib/tests/behat/behat_navigation.php
lib/tests/client_test.php [new file with mode: 0644]
lib/tests/component_test.php
lib/tests/grouplib_test.php
lib/tests/modinfolib_test.php
lib/thirdpartylibs.xml
lib/upgrade.txt
login/change_password_form.php
login/signup_form.php
media/player/videojs/amd/build/document.min.js.map
media/player/videojs/amd/build/loader.min.js.map
media/player/videojs/amd/build/window.min.js.map
media/player/videojs/amd/src/document.js
media/player/videojs/amd/src/loader.js
media/player/videojs/amd/src/window.js
message/amd/build/message_drawer_events.min.js.map
message/amd/build/message_drawer_helper.min.js.map
message/amd/build/message_drawer_lazy_load_list.min.js.map
message/amd/build/message_drawer_view_contacts_section_contacts.min.js.map
message/amd/build/message_drawer_view_contacts_section_requests.min.js.map
message/amd/build/message_notification_preference.min.js.map
message/amd/build/message_preferences.min.js.map
message/amd/build/message_repository.min.js.map
message/amd/build/notification_preference.min.js.map
message/amd/build/notification_processor.min.js.map
message/amd/build/notification_processor_settings.min.js.map
message/amd/build/preferences_notifications_list_controller.min.js.map
message/amd/build/preferences_processor_form.min.js.map
message/amd/build/toggle_contact_button.min.js.map
message/amd/src/message_drawer_events.js
message/amd/src/message_drawer_helper.js
message/amd/src/message_drawer_lazy_load_list.js
message/amd/src/message_drawer_view_contacts_section_contacts.js
message/amd/src/message_drawer_view_contacts_section_requests.js
message/amd/src/message_notification_preference.js
message/amd/src/message_preferences.js
message/amd/src/message_repository.js
message/amd/src/notification_preference.js
message/amd/src/notification_processor.js
message/amd/src/notification_processor_settings.js
message/amd/src/preferences_notifications_list_controller.js
message/amd/src/preferences_processor_form.js
message/amd/src/toggle_contact_button.js
message/output/popup/amd/build/notification_area_content_area.min.js.map
message/output/popup/amd/build/notification_area_control_area.min.js.map
message/output/popup/amd/build/notification_area_events.min.js
message/output/popup/amd/build/notification_area_events.min.js.map
message/output/popup/amd/build/notification_popover_controller.min.js.map
message/output/popup/amd/build/notification_repository.min.js.map
message/output/popup/amd/src/notification_area_content_area.js
message/output/popup/amd/src/notification_area_control_area.js
message/output/popup/amd/src/notification_area_events.js
message/output/popup/amd/src/notification_popover_controller.js
message/output/popup/amd/src/notification_repository.js
message/templates/message_popover.mustache
mod/assign/amd/build/grading_actions.min.js.map
mod/assign/amd/build/grading_events.min.js.map
mod/assign/amd/build/grading_form_change_checker.min.js.map
mod/assign/amd/build/grading_navigation.min.js.map
mod/assign/amd/build/grading_navigation_user_info.min.js.map
mod/assign/amd/build/grading_panel.min.js.map
mod/assign/amd/build/grading_review_panel.min.js.map
mod/assign/amd/src/grading_actions.js
mod/assign/amd/src/grading_events.js
mod/assign/amd/src/grading_form_change_checker.js
mod/assign/amd/src/grading_navigation.js
mod/assign/amd/src/grading_navigation_user_info.js
mod/assign/amd/src/grading_panel.js
mod/assign/amd/src/grading_review_panel.js
mod/assign/classes/output/grading_app.php
mod/assign/feedback/comments/locallib.php
mod/assign/feedback/comments/tests/behat/preserve_changes_on_validation_failure.feature [new file with mode: 0644]
mod/assign/feedback/editpdf/ajax.php
mod/assign/feedback/editpdf/db/upgrade.php
mod/assign/feedback/editpdf/fpdi/Fpdi.php
mod/assign/feedback/editpdf/fpdi/FpdiTrait.php
mod/assign/feedback/editpdf/fpdi/Tcpdf/Fpdi.php
mod/assign/feedback/editpdf/fpdi/Tfpdf/Fpdi.php
mod/assign/feedback/editpdf/fpdi/autoload.php
mod/assign/feedback/editpdf/fpdi/readme_moodle.txt
mod/assign/feedback/editpdf/thirdpartylibs.xml
mod/assign/feedback/editpdf/version.php
mod/assign/templates/grading_navigation.mustache
mod/assign/tests/behat/grading_app_filters.feature
mod/chat/lang/en/chat.php
mod/chat/lang/en/deprecated.txt
mod/chat/lib.php
mod/chat/view.php
mod/feedback/amd/build/edit.min.js.map
mod/feedback/amd/src/edit.js
mod/forum/amd/build/discussion.min.js.map
mod/forum/amd/build/discussion_list.min.js.map
mod/forum/amd/build/discussion_nested_v2.min.js.map
mod/forum/amd/build/favourite_toggle.min.js.map
mod/forum/amd/build/form-user-selector.min.js.map
mod/forum/amd/build/forum_events.min.js.map
mod/forum/amd/build/grades/expandconversation.min.js.map
mod/forum/amd/build/grades/grader.min.js.map
mod/forum/amd/build/grades/grader/selectors.min.js.map
mod/forum/amd/build/inpage_reply.min.js.map
mod/forum/amd/build/local/grades/grader.min.js.map
mod/forum/amd/build/local/grades/local/grader/gradingpanel.min.js.map
mod/forum/amd/build/local/grades/local/grader/selectors.min.js.map
mod/forum/amd/build/local/grades/local/grader/user_picker.min.js.map
mod/forum/amd/build/local/grades/local/grader/user_picker/selectors.min.js.map
mod/forum/amd/build/local/layout/fullscreen.min.js
mod/forum/amd/build/local/layout/fullscreen.min.js.map
mod/forum/amd/build/lock_toggle.min.js.map
mod/forum/amd/build/pin_toggle.min.js.map
mod/forum/amd/build/posts_list.min.js.map
mod/forum/amd/build/repository.min.js.map
mod/forum/amd/build/selectors.min.js.map
mod/forum/amd/build/subscription_toggle.min.js.map
mod/forum/amd/src/discussion.js
mod/forum/amd/src/discussion_list.js
mod/forum/amd/src/discussion_nested_v2.js
mod/forum/amd/src/favourite_toggle.js
mod/forum/amd/src/form-user-selector.js
mod/forum/amd/src/forum_events.js
mod/forum/amd/src/grades/expandconversation.js
mod/forum/amd/src/grades/grader.js
mod/forum/amd/src/grades/grader/selectors.js
mod/forum/amd/src/inpage_reply.js
mod/forum/amd/src/local/grades/grader.js
mod/forum/amd/src/local/grades/local/grader/gradingpanel.js
mod/forum/amd/src/local/grades/local/grader/selectors.js
mod/forum/amd/src/local/grades/local/grader/user_picker.js
mod/forum/amd/src/local/grades/local/grader/user_picker/selectors.js
mod/forum/amd/src/local/layout/fullscreen.js
mod/forum/amd/src/lock_toggle.js
mod/forum/amd/src/pin_toggle.js
mod/forum/amd/src/posts_list.js
mod/forum/amd/src/repository.js
mod/forum/amd/src/selectors.js
mod/forum/amd/src/subscription_toggle.js
mod/forum/report/summary/amd/build/filters.min.js.map
mod/forum/report/summary/amd/build/selectors.min.js.map
mod/forum/report/summary/amd/src/filters.js
mod/forum/report/summary/amd/src/selectors.js
mod/lti/amd/build/cartridge_registration_form.min.js.map
mod/lti/amd/build/contentitem.min.js.map
mod/lti/amd/build/contentitem_return.min.js.map
mod/lti/amd/build/events.min.js.map
mod/lti/amd/build/external_registration.min.js.map
mod/lti/amd/build/external_registration_return.min.js.map
mod/lti/amd/build/form-field.min.js.map
mod/lti/amd/build/keys.min.js.map
mod/lti/amd/build/tool_card_controller.min.js.map
mod/lti/amd/build/tool_configure_controller.min.js.map
mod/lti/amd/build/tool_proxy.min.js.map
mod/lti/amd/build/tool_proxy_card_controller.min.js.map
mod/lti/amd/build/tool_type.min.js.map
mod/lti/amd/src/cartridge_registration_form.js
mod/lti/amd/src/contentitem.js
mod/lti/amd/src/contentitem_return.js
mod/lti/amd/src/events.js
mod/lti/amd/src/external_registration.js
mod/lti/amd/src/external_registration_return.js
mod/lti/amd/src/form-field.js
mod/lti/amd/src/keys.js
mod/lti/amd/src/tool_card_controller.js
mod/lti/amd/src/tool_configure_controller.js
mod/lti/amd/src/tool_proxy.js
mod/lti/amd/src/tool_proxy_card_controller.js
mod/lti/amd/src/tool_type.js
mod/quiz/accessmanager_form.php
mod/quiz/accessrule/seb/amd/build/managetemplates.min.js.map
mod/quiz/accessrule/seb/amd/src/managetemplates.js
mod/quiz/amd/build/add_question_modal_launcher.min.js.map
mod/quiz/amd/build/add_random_form.min.js.map
mod/quiz/amd/build/add_random_question.min.js.map
mod/quiz/amd/build/modal_add_random_question.min.js.map
mod/quiz/amd/build/modal_quiz_question_bank.min.js.map
mod/quiz/amd/build/preflightcheck.min.js.map
mod/quiz/amd/build/quizquestionbank.min.js.map
mod/quiz/amd/build/random_question_form_preview.min.js.map
mod/quiz/amd/build/repaginate.min.js.map
mod/quiz/amd/src/add_question_modal_launcher.js
mod/quiz/amd/src/add_random_form.js
mod/quiz/amd/src/add_random_question.js
mod/quiz/amd/src/modal_add_random_question.js
mod/quiz/amd/src/modal_quiz_question_bank.js
mod/quiz/amd/src/preflightcheck.js
mod/quiz/amd/src/quizquestionbank.js
mod/quiz/amd/src/random_question_form_preview.js
mod/quiz/amd/src/repaginate.js
mod/quiz/attempt.php
mod/quiz/classes/output/edit_renderer.php
mod/quiz/module.js
mod/quiz/renderer.php
mod/quiz/report/attemptsreport.php
mod/quiz/report/attemptsreport_table.php
mod/quiz/report/overview/overview_table.php
mod/quiz/report/overview/tests/behat/basic.feature
mod/quiz/styles.css
mod/quiz/summary.php
mod/survey/amd/build/validation.min.js.map
mod/survey/amd/src/validation.js
npm-shrinkwrap.json
package.json
payment/amd/build/events.min.js.map
payment/amd/build/gateways_modal.min.js.map
payment/amd/build/modal_gateways.min.js.map
payment/amd/build/repository.min.js.map
payment/amd/build/selectors.min.js.map
payment/amd/src/events.js
payment/amd/src/gateways_modal.js
payment/amd/src/modal_gateways.js
payment/amd/src/repository.js
payment/amd/src/selectors.js
payment/gateway/paypal/amd/build/repository.min.js.map
payment/gateway/paypal/amd/src/repository.js
plagiarism/lib.php
plagiarism/upgrade.txt
portfolio/flickr/lib.php
privacy/tests/provider_test.php
question/amd/build/repository.min.js.map
question/amd/build/selectors.min.js.map
question/amd/src/repository.js
question/amd/src/selectors.js
question/engine/renderer.php
question/preview.php
question/qengine.js
question/type/ddimageortext/amd/build/form.min.js.map
question/type/ddimageortext/amd/build/question.min.js.map
question/type/ddimageortext/amd/src/form.js
question/type/ddimageortext/amd/src/question.js
question/type/ddmarker/amd/build/form.min.js.map
question/type/ddmarker/amd/build/question.min.js.map
question/type/ddmarker/amd/build/shapes.min.js.map
question/type/ddmarker/amd/src/form.js
question/type/ddmarker/amd/src/question.js
question/type/ddmarker/amd/src/shapes.js
question/type/ddwtos/amd/build/ddwtos.min.js.map
question/type/ddwtos/amd/src/ddwtos.js
question/type/multichoice/amd/build/answers.min.js.map
question/type/multichoice/amd/src/answers.js
report/competency/amd/build/grading_popup.min.js.map
report/competency/amd/build/user_course_navigation.min.js.map
report/competency/amd/src/grading_popup.js
report/competency/amd/src/user_course_navigation.js
report/insights/amd/build/actions.min.js.map
report/insights/amd/build/message_users.min.js.map
report/insights/amd/src/actions.js
report/insights/amd/src/message_users.js
report/log/classes/table_log.php
report/loglive/classes/table_log.php
report/participation/amd/build/participants.min.js.map
report/participation/amd/src/participants.js
report/performance/lang/en/report_performance.php
report/progress/amd/build/completion_override.min.js.map
report/progress/amd/src/completion_override.js
report/progress/index.php
report/progress/tests/behat/course_report_progress.feature
report/security/lang/en/report_security.php
repository/filepicker.js
repository/nextcloud/lang/en/repository_nextcloud.php
repository/nextcloud/lib.php
repository/nextcloud/tests/lib_test.php
search/amd/build/form-search-user-selector.min.js.map
search/amd/src/form-search-user-selector.js
search/engine/solr/tests/engine_test.php
theme/boost/amd/build/drawer.min.js.map
theme/boost/amd/build/loader.min.js.map
theme/boost/amd/build/scroll.min.js.map
theme/boost/amd/src/drawer.js
theme/boost/amd/src/loader.js
theme/boost/amd/src/scroll.js
theme/boost/scss/moodle.scss
theme/boost/scss/moodle/blocks.scss
theme/boost/scss/moodle/bootswatch.scss [deleted file]
theme/boost/scss/moodle/calendar.scss
theme/boost/scss/moodle/core.scss
theme/boost/scss/moodle/forms.scss
theme/boost/scss/moodle/navbar.scss [new file with mode: 0644]
theme/boost/scss/moodle/popover-region.scss
theme/boost/scss/moodle/search.scss
theme/boost/scss/moodle/variables.scss
theme/boost/style/moodle.css
theme/boost/templates/navbar-secure.mustache
theme/boost/templates/navbar.mustache
theme/classic/scss/preset/default.scss
theme/classic/style/moodle.css
theme/classic/templates/navbar.mustache
user/action_redir.php
user/amd/build/edit_profile_fields.min.js.map
user/amd/build/form_user_selector.min.js.map
user/amd/build/local/participants/bulkactions.min.js.map
user/amd/build/local/participantsfilter/filter.min.js.map
user/amd/build/local/participantsfilter/filtertypes/country.min.js.map
user/amd/build/local/participantsfilter/filtertypes/courseid.min.js.map
user/amd/build/local/participantsfilter/filtertypes/keyword.min.js.map
user/amd/build/local/participantsfilter/selectors.min.js.map
user/amd/build/participants.min.js.map
user/amd/build/participantsfilter.min.js.map
user/amd/build/unified_filter.min.js.map
user/amd/build/unified_filter_datasource.min.js.map
user/amd/src/edit_profile_fields.js
user/amd/src/form_user_selector.js
user/amd/src/local/participants/bulkactions.js
user/amd/src/local/participantsfilter/filter.js
user/amd/src/local/participantsfilter/filtertypes/country.js
user/amd/src/local/participantsfilter/filtertypes/courseid.js
user/amd/src/local/participantsfilter/filtertypes/keyword.js
user/amd/src/local/participantsfilter/selectors.js
user/amd/src/participants.js
user/amd/src/participantsfilter.js
user/amd/src/unified_filter.js
user/amd/src/unified_filter_datasource.js
user/classes/fields.php
user/externallib.php
user/tests/externallib_test.php
user/tests/fields_test.php
user/upgrade.txt
version.php

diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644 (file)
index 1dbc3b7..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-# Generated by "grunt ignorefiles"
-!/.grunt
-*/**/yui/src/*/meta/
-*/**/build/
-node_modules/
-vendor/
-admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
-auth/cas/CAS/
-cache/stores/mongodb/MongoDB/
-enrol/lti/ims-blti/
-filter/algebra/AlgParser.pm
-filter/tex/mimetex.*
-h5p/h5plib/v124/joubel/core/
-h5p/h5plib/v124/joubel/editor/
-lib/editor/atto/plugins/html/yui/src/codemirror/
-lib/editor/atto/plugins/html/yui/src/beautify/
-lib/editor/atto/yui/src/rangy/js/*.*
-lib/editor/tinymce/plugins/pdw/tinymce/
-lib/editor/tinymce/plugins/spellchecker/rpc.php
-lib/editor/tinymce/tiny_mce/
-lib/mlbackend/php/phpml/
-lib/adodb/
-lib/behat/axe/
-lib/bennu/
-lib/evalmath/
-lib/phpspreadsheet/
-lib/google/
-lib/htmlpurifier/
-lib/jabber/
-lib/minify/matthiasmullie-minify/
-lib/minify/matthiasmullie-pathconverter/
-lib/pear/HTML/Common.php
-lib/pear/HTML/QuickForm.php
-lib/pear/HTML/QuickForm/
-lib/pear/PEAR.php
-lib/phpmailer/
-lib/simplepie/
-lib/tcpdf/
-lib/yuilib/
-lib/yuilib/gallery/
-lib/jquery/
-lib/html2text/
-lib/markdown/
-lib/xhprof/
-lib/horde/
-lib/requirejs/
-lib/amd/src/loglevel.js
-lib/mustache/
-lib/amd/src/mustache.js
-lib/graphlib.php
-lib/php-css-parser/
-lib/rtlcss/
-lib/scssphp/
-lib/spout/
-lib/amd/src/chartjs-lazy.js
-lib/maxmind/GeoIp2/
-lib/maxmind/MaxMind/
-lib/ltiprovider/
-lib/amd/src/truncate.js
-lib/fonts/
-lib/amd/src/adapter.js
-lib/validateurlsyntax.php
-lib/amd/src/popper.js
-lib/geopattern-php/
-lib/php-jwt/
-lib/babel-polyfill/
-lib/polyfills/
-lib/emoji-data/
-lib/plist/
-lib/zipstream/
-lib/php-enum/
-lib/http-message/
-media/player/videojs/amd/src/video-lazy.js
-media/player/videojs/amd/src/Youtube-lazy.js
-media/player/videojs/videojs/
-media/player/videojs/amd/src/videojs-flash-lazy.js
-media/player/videojs/videojs/video-js.swf
-mod/assign/feedback/editpdf/fpdi/
-repository/s3/S3.php
-theme/boost/scss/bootstrap/
-theme/boost/amd/src/bootstrap/alert.js
-theme/boost/amd/src/bootstrap/button.js
-theme/boost/amd/src/bootstrap/carousel.js
-theme/boost/amd/src/bootstrap/collapse.js
-theme/boost/amd/src/bootstrap/dropdown.js
-theme/boost/amd/src/bootstrap/modal.js
-theme/boost/amd/src/bootstrap/popover.js
-theme/boost/amd/src/bootstrap/tools/sanitizer.js
-theme/boost/amd/src/bootstrap/scrollspy.js
-theme/boost/amd/src/bootstrap/tab.js
-theme/boost/amd/src/bootstrap/toast.js
-theme/boost/amd/src/bootstrap/tooltip.js
-theme/boost/amd/src/bootstrap/util.js
-theme/boost/amd/src/index.js
-theme/boost/scss/fontawesome/
index 0dce8d8..2db5dd1 100644 (file)
--- a/.eslintrc
+++ b/.eslintrc
       }
     },
     {
-      files: ["**/amd/src/*.js", "**/amd/src/**/*.js", "Gruntfile.js", ".grunt/*.js", ".grunt/tasks/*.js"],
+      files: ["**/amd/src/*.js", "**/amd/src/**/*.js", "Gruntfile.js", ".grunt/*.js", ".grunt/tasks/*.js", "jsdoc.conf.js"],
       // We support es6 now. Woot!
       env: {
         es6: true
index de65630..8e60f99 100644 (file)
@@ -48,3 +48,6 @@ atlassian-ide-plugin.xml
 /node_modules/
 /.vscode/
 moodle-plugin-ci.phar
+.eslintignore
+.stylelintignore
+/jsdoc
diff --git a/.grunt/jsdoc/README.md b/.grunt/jsdoc/README.md
new file mode 100644 (file)
index 0000000..338303c
--- /dev/null
@@ -0,0 +1,19 @@
+# Moodle JavaScript Documentation
+
+```
+                                 .-..-.
+   _____                         | || |
+  /____/-.---_  .---.  .---.  .-.| || | .---.
+  | |  _   _  |/  _  \/  _  \/  _  || |/  __ \
+  * | | | | | || |_| || |_| || |_| || || |___/
+    |_| |_| |_|\_____/\_____/\_____||_|\_____)
+
+Moodle - the world's open source learning platform
+
+```
+
+## About
+This generated documentation includes API documentation for JavaScript written in the AMD and ES2015 module formats within Moodle.
+
+## Related information
+See [https://docs.moodle.org/dev](https://docs.moodle.org/dev) for other related Developer Documentation.
diff --git a/.grunt/jsdoc/jsdoc.conf.js b/.grunt/jsdoc/jsdoc.conf.js
new file mode 100644 (file)
index 0000000..240cbe6
--- /dev/null
@@ -0,0 +1,131 @@
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Helper functions for working with Moodle component names, directories, and sources.
+ *
+ * @copyright  2019 Andrew Nicols <andrew@nicols.co.uk>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+"use strict";
+/* eslint-env node */
+
+// Do not include any plugins as stanard.
+const plugins = [];
+
+plugins.push('plugins/markdown');
+
+/**
+ * Get the source configuration.
+ *
+ * @return {Object}
+ */
+const getSource = () => {
+    const glob = require('glob');
+    const path = require('path');
+    const ComponentList = require(path.resolve('.grunt/components.js'));
+    const thirdPartyPaths = ComponentList.getThirdPartyPaths();
+
+    const source = {
+        include: [],
+        includePattern: ".+\\.js$",
+    };
+
+    let includeList = [];
+
+    ComponentList.getAmdSrcGlobList().forEach(async pattern => {
+        includeList.push(...glob.sync(pattern));
+    });
+
+    const cwdLength = process.cwd().length + 1;
+    includeList.forEach(path => {
+        if (source.include.indexOf(path) !== -1) {
+            // Ensure no duplicates.
+            return;
+        }
+
+        const relPath = path.substring(cwdLength);
+        if (thirdPartyPaths.indexOf(relPath) !== -1) {
+            return;
+        }
+
+        source.include.push(path);
+    });
+
+    source.include.push('.grunt/jsdoc/README.md');
+    return source;
+};
+
+const tags = {
+    // Allow the use of unknown tags.
+    // We have a lot of legacy uses of these.
+    allowUnknownTags: true,
+
+    // We make use of jsdoc and closure dictionaries as standard.
+    dictionaries: [
+        'jsdoc',
+        'closure',
+    ],
+};
+
+// Template configuraiton.
+const templates = {
+    cleverLinks: false,
+    monospaceLinks: false,
+};
+
+module.exports = {
+    opts: {
+        destination: "./jsdoc/",
+        template: "node_modules/docdash",
+    },
+    plugins,
+    recurseDepth: 10,
+    source: getSource(),
+    sourceType: 'module',
+    tags,
+    templates,
+    docdash: {
+        collapse: true,
+        search: true,
+        sort: true,
+        sectionOrder: [
+            "Namespaces",
+            "Modules",
+            "Events",
+            "Classes",
+            "Externals",
+            "Mixins",
+            "Tutorials",
+            "Interfaces"
+        ],
+        "menu": {
+            "Developer Docs": {
+                href: "https://docs.moodle.org/dev",
+                target: "_blank",
+                "class": "menu-item",
+                id: "devdocs"
+            },
+            "MDN Docs": {
+                href: "https://developer.mozilla.org/en-US/docs/Web/JavaScript",
+                target: "_blank",
+                "class": "menu-item",
+                id: "mdndocs",
+            },
+        },
+        typedefs: true,
+    },
+};
index 9cc2f6c..828aab6 100644 (file)
@@ -49,6 +49,7 @@ module.exports = grunt => {
             '**/yui/build/*',
             'theme/boost/style/moodle.css',
             'theme/classic/style/moodle.css',
+            'jsdoc/styles/*.css',
         ].concat(thirdPartyPaths);
         grunt.file.write('.stylelintignore', stylelintIgnores.join('\n') + '\n');
     };
index 4cc309c..b2d36a5 100644 (file)
@@ -37,17 +37,23 @@ const babelRename = function(destPath, srcPath) {
 };
 
 module.exports = grunt => {
+    // Load the Ignorefiles tasks.
+    require('./ignorefiles')(grunt);
+
     // Load the Shifter tasks.
     require('./shifter')(grunt);
 
     // Load ESLint.
     require('./eslint')(grunt);
 
+    // Load JSDoc.
+    require('./jsdoc')(grunt);
+
     const path = require('path');
 
     // Register JS tasks.
     grunt.registerTask('yui', ['eslint:yui', 'shifter']);
-    grunt.registerTask('amd', ['eslint:amd', 'babel']);
+    grunt.registerTask('amd', ['ignorefiles', 'eslint:amd', 'babel']);
     grunt.registerTask('js', ['amd', 'yui']);
 
     // Register NPM tasks.
diff --git a/.grunt/tasks/jsdoc.js b/.grunt/tasks/jsdoc.js
new file mode 100644 (file)
index 0000000..e2f0680
--- /dev/null
@@ -0,0 +1,36 @@
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+/* jshint node: true, browser: false */
+/* eslint-env node */
+
+/**
+ * @copyright  2021 Andrew Nicols
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+module.exports = grunt => {
+    // Project configuration.
+    grunt.config.merge({
+        jsdoc: {
+            dist: {
+                options: {
+                    configure: ".grunt/jsdoc/jsdoc.conf.js",
+                },
+            },
+        },
+    });
+
+    grunt.loadNpmTasks('grunt-jsdoc');
+};
index 05f713c..e468d6d 100644 (file)
@@ -21,6 +21,9 @@
  */
 
 module.exports = grunt => {
+    // Load the ignorefiles tasks.
+    require('./ignorefiles')(grunt);
+
     // Load the Style Lint tasks.
     require('./stylelint')(grunt);
 
index 4da9067..0891d42 100644 (file)
@@ -125,8 +125,9 @@ module.exports = grunt => {
             grunt.config.merge(getScssConfigForFiles(scssFiles));
             scssTasks.unshift('stylelint:scss');
         }
+        scssTasks.unshift('ignorefiles');
 
-        const cssTasks = [];
+        const cssTasks = ['ignorefiles'];
         if (hasCss) {
             grunt.config.merge(getCssConfigForFiles(cssFiles));
             cssTasks.push('stylelint:css');
@@ -169,6 +170,7 @@ module.exports = grunt => {
                 excludes: [
                     '**/moodle.css',
                     '**/editor.css',
+                    'jsdoc/styles/*.css',
                 ],
                 tasks: ['rawcss']
             },
diff --git a/.stylelintignore b/.stylelintignore
deleted file mode 100644 (file)
index 6428a78..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-# Generated by "grunt ignorefiles"
-**/yui/build/*
-theme/boost/style/moodle.css
-theme/classic/style/moodle.css
-node_modules/
-vendor/
-admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
-auth/cas/CAS/
-cache/stores/mongodb/MongoDB/
-enrol/lti/ims-blti/
-filter/algebra/AlgParser.pm
-filter/tex/mimetex.*
-h5p/h5plib/v124/joubel/core/
-h5p/h5plib/v124/joubel/editor/
-lib/editor/atto/plugins/html/yui/src/codemirror/
-lib/editor/atto/plugins/html/yui/src/beautify/
-lib/editor/atto/yui/src/rangy/js/*.*
-lib/editor/tinymce/plugins/pdw/tinymce/
-lib/editor/tinymce/plugins/spellchecker/rpc.php
-lib/editor/tinymce/tiny_mce/
-lib/mlbackend/php/phpml/
-lib/adodb/
-lib/behat/axe/
-lib/bennu/
-lib/evalmath/
-lib/phpspreadsheet/
-lib/google/
-lib/htmlpurifier/
-lib/jabber/
-lib/minify/matthiasmullie-minify/
-lib/minify/matthiasmullie-pathconverter/
-lib/pear/HTML/Common.php
-lib/pear/HTML/QuickForm.php
-lib/pear/HTML/QuickForm/
-lib/pear/PEAR.php
-lib/phpmailer/
-lib/simplepie/
-lib/tcpdf/
-lib/yuilib/
-lib/yuilib/gallery/
-lib/jquery/
-lib/html2text/
-lib/markdown/
-lib/xhprof/
-lib/horde/
-lib/requirejs/
-lib/amd/src/loglevel.js
-lib/mustache/
-lib/amd/src/mustache.js
-lib/graphlib.php
-lib/php-css-parser/
-lib/rtlcss/
-lib/scssphp/
-lib/spout/
-lib/amd/src/chartjs-lazy.js
-lib/maxmind/GeoIp2/
-lib/maxmind/MaxMind/
-lib/ltiprovider/
-lib/amd/src/truncate.js
-lib/fonts/
-lib/amd/src/adapter.js
-lib/validateurlsyntax.php
-lib/amd/src/popper.js
-lib/geopattern-php/
-lib/php-jwt/
-lib/babel-polyfill/
-lib/polyfills/
-lib/emoji-data/
-lib/plist/
-lib/zipstream/
-lib/php-enum/
-lib/http-message/
-media/player/videojs/amd/src/video-lazy.js
-media/player/videojs/amd/src/Youtube-lazy.js
-media/player/videojs/videojs/
-media/player/videojs/amd/src/videojs-flash-lazy.js
-media/player/videojs/videojs/video-js.swf
-mod/assign/feedback/editpdf/fpdi/
-repository/s3/S3.php
-theme/boost/scss/bootstrap/
-theme/boost/amd/src/bootstrap/alert.js
-theme/boost/amd/src/bootstrap/button.js
-theme/boost/amd/src/bootstrap/carousel.js
-theme/boost/amd/src/bootstrap/collapse.js
-theme/boost/amd/src/bootstrap/dropdown.js
-theme/boost/amd/src/bootstrap/modal.js
-theme/boost/amd/src/bootstrap/popover.js
-theme/boost/amd/src/bootstrap/tools/sanitizer.js
-theme/boost/amd/src/bootstrap/scrollspy.js
-theme/boost/amd/src/bootstrap/tab.js
-theme/boost/amd/src/bootstrap/toast.js
-theme/boost/amd/src/bootstrap/tooltip.js
-theme/boost/amd/src/bootstrap/util.js
-theme/boost/amd/src/index.js
-theme/boost/scss/fontawesome/
index 40dd786..ec0419b 100644 (file)
@@ -10,7 +10,7 @@ language: php
 
 os: linux
 
-dist: xenial
+dist: bionic
 
 services:
     - mysql
index 9bfa2bb..9cd3aba 100644 (file)
@@ -158,4 +158,9 @@ echo $outputhtml;
 echo html_writer::end_tag('fieldset');
 echo html_writer::end_tag('form');
 
+$PAGE->requires->yui_module('moodle-core-formchangechecker', 'M.core_formchangechecker.init', [[
+    'formid' => 'adminsettings'
+]]);
+$PAGE->requires->string_for_js('changesmadereallygoaway', 'moodle');
+
 echo $OUTPUT->footer();
diff --git a/admin/classes/local/settings/setting_scheduled_task_status.php b/admin/classes/local/settings/setting_scheduled_task_status.php
new file mode 100644 (file)
index 0000000..b878036
--- /dev/null
@@ -0,0 +1,121 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Admin setting to show current scheduled task's status.
+ *
+ * @package core
+ * @copyright 2021 Universitat Rovira i Virgili
+ * @author Jordi Pujol-Ahull√≥ <jpahullo@gmail.com>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace core_admin\local\settings;
+
+defined('MOODLE_INTERNAL') || die();
+
+global $CFG;
+require_once($CFG->libdir . '/adminlib.php');
+require_once($CFG->libdir . '/moodlelib.php');
+
+use admin_setting_description;
+use core\task\manager;
+use core\task\scheduled_task;
+use html_writer;
+use lang_string;
+use moodle_url;
+use stdClass;
+
+/**
+ * This admin setting tells whether a given scheduled task is enabled, providing a link to its configuration page.
+ *
+ * The goal of this setting is to help contextualizing the configuration settings with related scheduled task status,
+ * providing the big picture of that part of the system.
+ *
+ * @package core
+ * @copyright 2021 Universitat Rovira i Virgili
+ * @author Jordi Pujol-Ahull√≥ <jpahullo@gmail.com>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class setting_scheduled_task_status extends admin_setting_description {
+    /**
+     * @var string fully qualified class name of a scheduled task.
+     */
+    private $classname;
+    /**
+     * @var string additional text to append to the description.
+     */
+    private $extradescription;
+
+    /**
+     * setting_scheduled_task_status constructor.
+     * @param string $name unique setting name.
+     * @param string $scheduledtaskclassname full classpath class name of the scheduled task.
+     * @param string $extradescription extra detail to append to the scheduled task status to add context in the setting
+     * page.
+     */
+    public function __construct(string $name, string $scheduledtaskclassname, string $extradescription = '') {
+        $visiblename = new lang_string('task_status', 'admin');
+        $this->classname = $scheduledtaskclassname;
+        $this->extradescription = $extradescription;
+
+        parent::__construct($name, $visiblename, '');
+    }
+
+    /**
+     * Calculates lazily the content of the description.
+     * @param mixed $data nothing expected in this case.
+     * @param string $query nothing expected in this case.
+     * @return string the HTML content to print for this setting.
+     */
+    public function output_html($data, $query = ''): string {
+        if (empty($this->description)) {
+            $this->description = $this->get_task_description();
+        }
+
+        return parent::output_html($data, $query);
+    }
+
+    /**
+     * Returns the HTML to print as the description.
+     * @return string description to be printed.
+     */
+    private function get_task_description(): string {
+        $task = manager::get_scheduled_task($this->classname);
+        if ($task->is_enabled()) {
+            $taskenabled = get_string('enabled', 'admin');
+        } else {
+            $taskenabled = get_string('disabled', 'admin');
+        }
+        $taskenabled = strtolower($taskenabled);
+        $gotourl = new moodle_url(
+            '/admin/tool/task/scheduledtasks.php',
+            [],
+            scheduled_task::get_html_id($this->classname)
+        );
+        if (!empty($this->extradescription)) {
+            $this->extradescription = '<br />' . $this->extradescription;
+        }
+
+        $taskdetail = new stdClass();
+        $taskdetail->class = $this->classname;
+        $taskdetail->name = $task->get_name();
+        $taskdetail->status = $taskenabled;
+        $taskdetail->gotourl = $gotourl->out(false);
+        $taskdetail->extradescription = $this->extradescription;
+
+        return html_writer::tag('p', get_string('task_status_desc', 'admin', $taskdetail));
+    }
+}
diff --git a/admin/cli/mysql_engine.php b/admin/cli/mysql_engine.php
deleted file mode 100644 (file)
index d392b0b..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<?php
-
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * MySQL engine conversion tool.
- *
- * @package    core
- * @subpackage cli
- * @copyright  2009 Petr Skoda (http://skodak.org)
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-define('CLI_SCRIPT', true);
-
-require(__DIR__.'/../../config.php');
-require_once($CFG->libdir.'/clilib.php');      // cli only functions
-
-if ($DB->get_dbfamily() !== 'mysql') {
-    cli_error('This function is designed for MySQL databases only!');
-}
-
-// now get cli options
-list($options, $unrecognized) = cli_get_params(array('help'=>false, 'list'=>false, 'engine'=>false, 'available'=>false),
-                                               array('h'=>'help', 'l'=>'list', 'a'=>'available'));
-
-if ($unrecognized) {
-    $unrecognized = implode("\n  ", $unrecognized);
-    cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
-}
-
-$help =
-"MySQL engine conversions script.
-
-It is recommended to stop the web server before the conversion.
-Do not use MyISAM if possible, because it is not ACID compliant
-and does not support transactions.
-
-Options:
---engine=ENGINE       Convert MySQL tables to different engine
--l, --list            Show table information
--a, --available       Show list of available engines
--h, --help            Print out this help
-
-Example:
-\$sudo -u www-data /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB
-";
-
-if (!empty($options['engine'])) {
-    $engines = mysql_get_engines();
-    $engine = clean_param($options['engine'], PARAM_ALPHA);
-    if (!isset($engines[strtoupper($engine)])) {
-        cli_error("Error: engine '$engine' is not available on this server!");
-    }
-
-    echo "Converting tables to '$engine' for&n