Merge branch 'scorm-task' of https://github.com/GanitGenius/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Wed, 5 Apr 2017 00:02:03 +0000 (02:02 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Wed, 5 Apr 2017 00:02:03 +0000 (02:02 +0200)
1060 files changed:
admin/auth_config.php
admin/editors.php
admin/oauth2callback.php
admin/roles/tests/behat/override_roles_highlighting.feature
admin/settings/courses.php
admin/tool/availabilityconditions/tests/behat/manage_conditions.feature
admin/tool/behat/tests/behat/data_generators.feature
admin/tool/behat/tests/behat/datetime_strings.feature
admin/tool/behat/tests/behat/edit_permissions.feature
admin/tool/behat/tests/behat/get_and_set_fields.feature
admin/tool/behat/tests/behat/manipulate_forms.feature
admin/tool/filetypes/tests/behat/add_filetypes.feature
admin/tool/mobile/classes/api.php
admin/tool/mobile/tests/externallib_test.php
admin/tool/monitor/tests/behat/rule.feature
admin/tool/monitor/tests/behat/subscription.feature
admin/tool/oauth2/classes/form/endpoint.php [new file with mode: 0644]
admin/tool/oauth2/classes/form/issuer.php [new file with mode: 0644]
admin/tool/oauth2/classes/form/user_field_mapping.php [new file with mode: 0644]
admin/tool/oauth2/classes/output/renderer.php [new file with mode: 0644]
admin/tool/oauth2/endpoints.php [new file with mode: 0644]
admin/tool/oauth2/issuers.php [new file with mode: 0644]
admin/tool/oauth2/lang/en/tool_oauth2.php [new file with mode: 0644]
admin/tool/oauth2/pix/auth.svg [new file with mode: 0644]
admin/tool/oauth2/pix/no.svg [new file with mode: 0644]
admin/tool/oauth2/pix/yes.svg [new file with mode: 0644]
admin/tool/oauth2/settings.php [new file with mode: 0644]
admin/tool/oauth2/userfieldmappings.php [new file with mode: 0644]
admin/tool/oauth2/version.php [moved from blocks/course_overview/save.php with 65% similarity]
admin/tool/recyclebin/tests/behat/backup_user_data.feature
admin/tool/recyclebin/tests/behat/basic_functionality.feature
admin/tool/recyclebin/tests/events_test.php
admin/tool/task/schedule_task.php
admin/tool/uploadcourse/classes/step2_form.php
admin/tool/uploaduser/tests/behat/upload_users.feature
admin/tool/usertours/tests/behat/create_tour.feature
admin/tool/usertours/tests/behat/tour_filter.feature
auth/cas/auth.php
auth/cas/config.html [deleted file]
auth/cas/db/upgrade.php
auth/cas/settings.php [new file with mode: 0644]
auth/cas/upgrade.txt [new file with mode: 0644]
auth/cas/version.php
auth/classes/output/login.php
auth/db/auth.php
auth/db/classes/admin_setting_special_auth_configtext.php [new file with mode: 0644]
auth/db/classes/task/sync_users.php
auth/db/config.html [deleted file]
auth/db/db/upgrade.php [new file with mode: 0644]
auth/db/lang/en/auth_db.php
auth/db/settings.php [new file with mode: 0644]
auth/db/tests/db_test.php
auth/db/upgrade.txt
auth/db/version.php
auth/email/auth.php
auth/email/config.html [deleted file]
auth/email/db/upgrade.php [new file with mode: 0644]
auth/email/settings.php [new file with mode: 0644]
auth/email/upgrade.txt [new file with mode: 0644]
auth/email/version.php
auth/fc/auth.php
auth/fc/config.html [deleted file]
auth/fc/db/upgrade.php [new file with mode: 0644]
auth/fc/settings.php [new file with mode: 0644]
auth/fc/upgrade.txt [new file with mode: 0644]
auth/fc/version.php
auth/imap/auth.php
auth/imap/config.html [deleted file]
auth/imap/db/upgrade.php [new file with mode: 0644]
auth/imap/settings.php [new file with mode: 0644]
auth/imap/upgrade.txt [new file with mode: 0644]
auth/imap/version.php
auth/ldap/auth.php
auth/ldap/classes/admin_setting_special_contexts_configtext.php [new file with mode: 0644]
auth/ldap/classes/admin_setting_special_lowercase_configtext.php [new file with mode: 0644]
auth/ldap/classes/admin_setting_special_ntlm_configtext.php [new file with mode: 0644]
auth/ldap/config.html [deleted file]
auth/ldap/db/upgrade.php
auth/ldap/lang/en/auth_ldap.php
auth/ldap/settings.php [new file with mode: 0644]
auth/ldap/tests/plugin_test.php
auth/ldap/upgrade.txt
auth/ldap/version.php
auth/manual/auth.php
auth/manual/config.html [deleted file]
auth/manual/db/upgrade.php
auth/manual/settings.php [new file with mode: 0644]
auth/manual/tests/manual_test.php
auth/manual/upgrade.txt [new file with mode: 0644]
auth/manual/version.php
auth/mnet/auth.php
auth/mnet/config.html [deleted file]
auth/mnet/db/upgrade.php
auth/mnet/settings.php [new file with mode: 0644]
auth/mnet/upgrade.txt
auth/mnet/version.php
auth/nntp/auth.php
auth/nntp/config.html [deleted file]
auth/nntp/db/upgrade.php [new file with mode: 0644]
auth/nntp/settings.php [new file with mode: 0644]
auth/nntp/upgrade.txt [new file with mode: 0644]
auth/nntp/version.php
auth/none/auth.php
auth/none/config.html [deleted file]
auth/none/db/upgrade.php [new file with mode: 0644]
auth/none/settings.php [new file with mode: 0644]
auth/none/upgrade.txt [new file with mode: 0644]
auth/none/version.php
auth/oauth2/auth.php [new file with mode: 0644]
auth/oauth2/classes/api.php [new file with mode: 0644]
auth/oauth2/classes/auth.php [new file with mode: 0644]
auth/oauth2/classes/linked_login.php [new file with mode: 0644]
auth/oauth2/classes/output/renderer.php [new file with mode: 0644]
auth/oauth2/config.html [new file with mode: 0644]
auth/oauth2/confirm-account.php [new file with mode: 0644]
auth/oauth2/confirm-linkedlogin.php [new file with mode: 0644]
auth/oauth2/db/access.php [new file with mode: 0644]
auth/oauth2/db/install.xml [new file with mode: 0755]
auth/oauth2/db/upgrade.php [new file with mode: 0644]
auth/oauth2/lang/en/auth_oauth2.php [new file with mode: 0644]
auth/oauth2/lib.php [new file with mode: 0644]
auth/oauth2/linkedlogins.php [new file with mode: 0644]
auth/oauth2/login.php [new file with mode: 0644]
auth/oauth2/version.php [moved from blocks/course_overview/version.php with 73% similarity]
auth/pam/auth.php
auth/pam/config.html [deleted file]
auth/pam/db/upgrade.php [new file with mode: 0644]
auth/pam/settings.php [new file with mode: 0644]
auth/pam/upgrade.txt [new file with mode: 0644]
auth/pam/version.php
auth/pop3/auth.php
auth/pop3/config.html [deleted file]
auth/pop3/db/upgrade.php [new file with mode: 0644]
auth/pop3/settings.php [new file with mode: 0644]
auth/pop3/upgrade.txt [new file with mode: 0644]
auth/pop3/version.php
auth/shibboleth/auth.php
auth/shibboleth/classes/admin_setting_special_idp_configtextarea.php [new file with mode: 0644]
auth/shibboleth/classes/admin_setting_special_wayf_select.php [new file with mode: 0644]
auth/shibboleth/config.html [deleted file]
auth/shibboleth/db/upgrade.php [new file with mode: 0644]
auth/shibboleth/index.php
auth/shibboleth/index_form.html
auth/shibboleth/lang/en/auth_shibboleth.php
auth/shibboleth/login.php
auth/shibboleth/settings.php [new file with mode: 0644]
auth/shibboleth/upgrade.txt [new file with mode: 0644]
auth/shibboleth/version.php
auth/upgrade.txt
auth/webservice/auth.php
availability/classes/info_module.php
availability/classes/info_section.php
availability/condition/completion/tests/behat/availability_completion.feature
availability/condition/completion/tests/behat/conditional_bug.feature
availability/condition/date/tests/behat/availability_date.feature
availability/condition/grade/tests/behat/availability_grade.feature
availability/condition/group/tests/behat/availability_group.feature
availability/condition/grouping/tests/behat/availability_grouping.feature
availability/condition/profile/tests/behat/availability_profile.feature
availability/tests/behat/display_availability.feature
availability/tests/behat/edit_availability.feature
availability/tests/fixtures/mock_info.php
availability/tests/info_test.php
backup/backupfilesedit_form.php
backup/moodle2/backup_stepslib.php
backup/util/ui/tests/behat/duplicate_activities.feature
backup/util/ui/tests/behat/import_course.feature
backup/util/ui/tests/behat/import_groups.feature
backup/util/ui/tests/behat/restore_moodle2_courses.feature
badges/tests/behat/award_badge.feature
blocks/activity_modules/tests/behat/block_activity_modules.feature
blocks/activity_results/tests/behat/addblockinactivity.feature
blocks/activity_results/tests/behat/addunconfiguredblock.feature
blocks/activity_results/tests/behat/addunsupportedactivity.feature
blocks/activity_results/tests/behat/defaultsettings.feature
blocks/activity_results/tests/behat/highscoreswithoutgroups.feature
blocks/activity_results/tests/behat/highscoreswithscales.feature
blocks/activity_results/tests/behat/highscoreswithscalesandgroups.feature
blocks/activity_results/tests/behat/highscoreswithseperategroups.feature
blocks/activity_results/tests/behat/highscoreswithvisiblegroups.feature
blocks/activity_results/tests/behat/lowscoreswithoutgroups.feature
blocks/activity_results/tests/behat/lowscoreswithscales.feature
blocks/activity_results/tests/behat/lowscoreswithscalesandgroups.feature
blocks/activity_results/tests/behat/lowscoreswithseperategroups.feature
blocks/activity_results/tests/behat/lowscoreswithvisiblegroups.feature
blocks/badges/tests/behat/block_badges.feature
blocks/badges/tests/behat/block_badges_course.feature
blocks/badges/tests/behat/block_badges_dashboard.feature
blocks/badges/tests/behat/block_badges_frontpage.feature
blocks/blog_menu/tests/behat/block_blog_menu.feature
blocks/blog_menu/tests/behat/block_blog_menu_activity.feature
blocks/blog_menu/tests/behat/block_blog_menu_course.feature
blocks/blog_recent/tests/behat/block_blog_recent.feature
blocks/blog_recent/tests/behat/block_blog_recent_activity.feature
blocks/blog_recent/tests/behat/block_blog_recent_course.feature
blocks/blog_tags/tests/behat/blogtag.feature
blocks/calendar_month/block_calendar_month.php
blocks/calendar_month/tests/behat/block_calendar_month.feature
blocks/calendar_month/tests/behat/block_calendar_month_course.feature
blocks/calendar_upcoming/block_calendar_upcoming.php
blocks/classes/external.php [new file with mode: 0644]
blocks/comments/tests/behat/add_comment.feature
blocks/comments/tests/behat/block_comment_activity.feature
blocks/comments/tests/behat/block_comment_course.feature
blocks/comments/tests/behat/delete_comment.feature
blocks/completionstatus/tests/behat/block_completionstatus.feature
blocks/completionstatus/tests/behat/block_completionstatus_activity_completion.feature
blocks/completionstatus/tests/behat/block_completionstatus_manual_other.feature
blocks/completionstatus/tests/behat/block_completionstatus_manual_self.feature
blocks/course_list/tests/behat/block_course_list_category.feature
blocks/course_list/tests/behat/block_course_list_course.feature
blocks/course_list/tests/behat/block_course_list_dashboard.feature
blocks/course_list/tests/behat/block_course_list_frontpage.feature
blocks/course_overview/block_course_overview.php [deleted file]
blocks/course_overview/lang/en/block_course_overview.php [deleted file]
blocks/course_overview/locallib.php [deleted file]
blocks/course_overview/module.js [deleted file]
blocks/course_overview/move.php [deleted file]
blocks/course_overview/renderer.php [deleted file]
blocks/course_overview/settings.php [deleted file]
blocks/course_overview/styles.css [deleted file]
blocks/course_overview/tests/behat/block_course_overview.feature [deleted file]
blocks/course_overview/tests/behat/quiz_overview.feature [deleted file]
blocks/course_summary/tests/behat/block_course_summary_course.feature
blocks/glossary_random/tests/behat/glossary_random.feature
blocks/glossary_random/tests/behat/glossary_random_global.feature
blocks/html/tests/behat/course_block.feature
blocks/login/block_login.php
blocks/messages/tests/behat/block_messages_course.feature
blocks/myoverview/amd/build/calendar_events_repository.min.js [new file with mode: 0644]
blocks/myoverview/amd/build/event_list.min.js [new file with mode: 0644]
blocks/myoverview/amd/build/event_list_by_course.min.js [new file with mode: 0644]
blocks/myoverview/amd/build/paging_bar.min.js [new file with mode: 0644]
blocks/myoverview/amd/build/paging_content.min.js [new file with mode: 0644]
blocks/myoverview/amd/src/calendar_events_repository.js [new file with mode: 0644]
blocks/myoverview/amd/src/event_list.js [new file with mode: 0644]
blocks/myoverview/amd/src/event_list_by_course.js [new file with mode: 0644]
blocks/myoverview/amd/src/paging_bar.js [new file with mode: 0644]
blocks/myoverview/amd/src/paging_content.js [new file with mode: 0644]
blocks/myoverview/block_myoverview.php [new file with mode: 0644]
blocks/myoverview/classes/output/course_summary.php [new file with mode: 0644]
blocks/myoverview/classes/output/courses_view.php [new file with mode: 0644]
blocks/myoverview/classes/output/main.php [new file with mode: 0644]
blocks/myoverview/classes/output/renderer.php [new file with mode: 0644]
blocks/myoverview/db/access.php [moved from blocks/course_overview/db/access.php with 88% similarity]
blocks/myoverview/lang/en/block_myoverview.php [new file with mode: 0644]
blocks/myoverview/pix/activities.svg [new file with mode: 0755]
blocks/myoverview/pix/courses.svg [new file with mode: 0755]
blocks/myoverview/templates/course-event-list-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/course-event-list-items.mustache [new file with mode: 0644]
blocks/myoverview/templates/course-event-list.mustache [new file with mode: 0644]
blocks/myoverview/templates/course-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/course-paging-content-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/course-paging-content.mustache [new file with mode: 0644]
blocks/myoverview/templates/course-summary.mustache [new file with mode: 0644]
blocks/myoverview/templates/courses-view-by-status.mustache [new file with mode: 0644]
blocks/myoverview/templates/courses-view-course-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/courses-view.mustache [new file with mode: 0644]
blocks/myoverview/templates/event-list-group.mustache [new file with mode: 0644]
blocks/myoverview/templates/event-list-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/event-list-items.mustache [new file with mode: 0644]
blocks/myoverview/templates/event-list.mustache [new file with mode: 0644]
blocks/myoverview/templates/main.mustache [new file with mode: 0644]
blocks/myoverview/templates/paging-bar-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/paging-bar.mustache [new file with mode: 0644]
blocks/myoverview/templates/paging-content-item.mustache [new file with mode: 0644]
blocks/myoverview/templates/paging-content.mustache [new file with mode: 0644]
blocks/myoverview/templates/progress-chart.mustache [new file with mode: 0644]
blocks/myoverview/templates/timeline-view-courses.mustache [new file with mode: 0644]
blocks/myoverview/templates/timeline-view-dates.mustache [new file with mode: 0644]
blocks/myoverview/templates/timeline-view.mustache [new file with mode: 0644]
blocks/myoverview/tests/behat/block_myoverview_dashboard.feature [new file with mode: 0644]
blocks/myoverview/tests/behat/block_myoverview_progress.feature [new file with mode: 0644]
blocks/myoverview/version.php [new file with mode: 0644]
blocks/myprofile/tests/behat/block_myprofile_activity.feature
blocks/myprofile/tests/behat/block_myprofile_course.feature
blocks/navigation/tests/behat/expand_courses_node.feature
blocks/news_items/tests/behat/display_news.feature
blocks/online_users/tests/behat/block_online_users_course.feature
blocks/participants/tests/behat/block_participants_course.feature
blocks/private_files/tests/behat/block_private_files_activity.feature
blocks/private_files/tests/behat/block_private_files_course.feature
blocks/recent_activity/tests/behat/structural_changes.feature
blocks/search_forums/tests/behat/block_search_forums_course.feature
blocks/section_links/block_section_links.php
blocks/section_links/tests/behat/block_section_links_course.feature
blocks/site_main_menu/tests/behat/edit_activities.feature
blocks/social_activities/tests/behat/edit_activities.feature
blocks/tags/tests/behat/tagcloud.feature
blocks/tests/behat/add_blocks.feature
blocks/tests/behat/configure_block_throughout_site.feature
blocks/tests/behat/hidden_block_region.feature
blocks/tests/behat/hide_blocks.feature
blocks/tests/behat/manage_blocks.feature
blocks/tests/behat/move_blocks.feature
blocks/tests/behat/restrict_available_blocks.feature
blocks/tests/behat/return_block_original_state.feature
blocks/tests/externallib_test.php [new file with mode: 0644]
blocks/upgrade.txt
blog/tests/behat/blog_visibility.feature
calendar/classes/action_factory.php [new file with mode: 0644]
calendar/classes/export_form.php
calendar/classes/external/event_action_exporter.php [new file with mode: 0644]
calendar/classes/external/event_exporter.php [new file with mode: 0644]
calendar/classes/external/event_icon_exporter.php [new file with mode: 0644]
calendar/classes/external/events_exporter.php [new file with mode: 0644]
calendar/classes/external/events_grouped_by_course_exporter.php [new file with mode: 0644]
calendar/classes/external/events_related_objects_cache.php [new file with mode: 0644]
calendar/classes/external/events_same_course_exporter.php [new file with mode: 0644]
calendar/classes/local/api.php [new file with mode: 0644]
calendar/classes/local/event/container.php [new file with mode: 0644]
calendar/classes/local/event/data_access/event_vault.php [new file with mode: 0644]
calendar/classes/local/event/data_access/event_vault_interface.php [new file with mode: 0644]
calendar/classes/local/event/entities/action_event.php [new file with mode: 0644]
calendar/classes/local/event/entities/action_event_interface.php [new file with mode: 0644]
calendar/classes/local/event/entities/action_interface.php [new file with mode: 0644]
calendar/classes/local/event/entities/event.php [new file with mode: 0644]
calendar/classes/local/event/entities/event_collection_interface.php [new file with mode: 0644]
calendar/classes/local/event/entities/event_interface.php [new file with mode: 0644]
calendar/classes/local/event/entities/repeat_event_collection.php [new file with mode: 0644]
calendar/classes/local/event/exceptions/invalid_callback_exception.php [new file with mode: 0644]
calendar/classes/local/event/exceptions/invalid_parameter_exception.php [new file with mode: 0644]
calendar/classes/local/event/exceptions/limit_invalid_parameter_exception.php [new file with mode: 0644]
calendar/classes/local/event/exceptions/member_does_not_exist_exception.php [new file with mode: 0644]
calendar/classes/local/event/exceptions/no_repeat_parent_exception.php [new file with mode: 0644]
calendar/classes/local/event/exceptions/timesort_invalid_parameter_exception.php [new file with mode: 0644]
calendar/classes/local/event/factories/action_factory_interface.php [new file with mode: 0644]
calendar/classes/local/event/factories/event_abstract_factory.php [new file with mode: 0644]
calendar/classes/local/event/factories/event_factory.php [new file with mode: 0644]
calendar/classes/local/event/factories/event_factory_interface.php [new file with mode: 0644]
calendar/classes/local/event/mappers/event_mapper.php [new file with mode: 0644]
calendar/classes/local/event/mappers/event_mapper_interface.php [new file with mode: 0644]
calendar/classes/local/event/proxies/module_std_proxy.php [new file with mode: 0644]
calendar/classes/local/event/proxies/proxy_interface.php [new file with mode: 0644]
calendar/classes/local/event/proxies/std_proxy.php [new file with mode: 0644]
calendar/classes/local/event/strategies/raw_event_retrieval_strategy.php [new file with mode: 0644]
calendar/classes/local/event/strategies/raw_event_retrieval_strategy_interface.php [new file with mode: 0644]
calendar/classes/local/event/value_objects/action.php [new file with mode: 0644]
calendar/classes/local/event/value_objects/description_interface.php [new file with mode: 0644]
calendar/classes/local/event/value_objects/event_description.php [new file with mode: 0644]
calendar/classes/local/event/value_objects/event_times.php [new file with mode: 0644]
calendar/classes/local/event/value_objects/times_interface.php [new file with mode: 0644]
calendar/classes/rrule_manager.php
calendar/export.php
calendar/export_execute.php
calendar/externallib.php
calendar/lib.php
calendar/renderer.php
calendar/set.php
calendar/tests/action_event_test.php [new file with mode: 0644]
calendar/tests/action_factory_test.php [new file with mode: 0644]
calendar/tests/action_test.php [new file with mode: 0644]
calendar/tests/behat/calendar.feature
calendar/tests/behat/calendar_lookahead.feature
calendar/tests/calendartype_test.php
calendar/tests/container_test.php [new file with mode: 0644]
calendar/tests/event_description_test.php [new file with mode: 0644]
calendar/tests/event_factory_test.php [new file with mode: 0644]
calendar/tests/event_mapper_test.php [new file with mode: 0644]
calendar/tests/event_test.php [new file with mode: 0644]
calendar/tests/event_times_test.php [new file with mode: 0644]
calendar/tests/event_vault_test.php [new file with mode: 0644]
calendar/tests/events_test.php
calendar/tests/externallib_test.php
calendar/tests/helpers.php [new file with mode: 0644]
calendar/tests/ical_test.php [deleted file]
calendar/tests/lib_test.php
calendar/tests/local_api_test.php [new file with mode: 0644]
calendar/tests/module_std_proxy_test.php [new file with mode: 0644]
calendar/tests/raw_event_retrieval_strategy_test.php [new file with mode: 0644]
calendar/tests/repeat_event_collection_test.php [new file with mode: 0644]
calendar/tests/std_proxy_test.php [new file with mode: 0644]
calendar/upgrade.txt
cohort/tests/behat/access_visible_cohorts.feature
cohort/tests/behat/upload_cohort_users.feature
completion/classes/api.php [new file with mode: 0644]
completion/classes/progress.php [new file with mode: 0644]
completion/tests/api_test.php [new file with mode: 0644]
completion/tests/behat/enable_manual_complete_mark.feature
completion/tests/behat/restrict_activity_by_date.feature
completion/tests/behat/restrict_activity_by_grade.feature
completion/tests/behat/restrict_section_availability.feature
completion/tests/behat/teacher_manual_completion.feature
completion/tests/progress_test.php [new file with mode: 0644]
course/changenumsections.php
course/classes/external/course_summary_exporter.php
course/edit_form.php
course/externallib.php
course/format/lib.php
course/format/renderer.php
course/format/social/tests/behat/social_adjust_discussion_count.feature
course/format/topics/backup/moodle2/restore_format_topics_plugin.class.php [new file with mode: 0644]
course/format/topics/db/upgrade.php [new file with mode: 0644]
course/format/topics/db/upgradelib.php [new file with mode: 0644]
course/format/topics/format.php
course/format/topics/lang/en/format_topics.php
course/format/topics/lib.php
course/format/topics/renderer.php
course/format/topics/tests/behat/edit_delete_sections.feature
course/format/topics/tests/format_topics_test.php
course/format/topics/tests/format_topics_upgrade_test.php [new file with mode: 0644]
course/format/topics/version.php
course/format/upgrade.txt
course/format/weeks/backup/moodle2/restore_format_weeks_plugin.class.php [new file with mode: 0644]
course/format/weeks/db/upgrade.php [new file with mode: 0644]
course/format/weeks/db/upgradelib.php [new file with mode: 0644]
course/format/weeks/format.php
course/format/weeks/lang/en/format_weeks.php
course/format/weeks/lib.php
course/format/weeks/tests/behat/edit_delete_sections.feature
course/format/weeks/tests/format_weeks_test.php
course/format/weeks/tests/format_weeks_upgrade_test.php [new file with mode: 0644]
course/format/weeks/version.php
course/lib.php
course/moodleform_mod.php
course/tests/behat/activities_edit_completion.feature
course/tests/behat/activities_edit_name.feature
course/tests/behat/activities_edit_with_block_dock.feature
course/tests/behat/activities_group_icons.feature
course/tests/behat/activities_indentation.feature
course/tests/behat/activities_visibility_icons.feature
course/tests/behat/add_activities.feature
course/tests/behat/course_controls.feature
course/tests/behat/course_creation.feature
course/tests/behat/coursetags.feature
course/tests/behat/edit_settings.feature
course/tests/behat/force_group_mode.feature
course/tests/behat/move_activities.feature
course/tests/behat/move_sections.feature
course/tests/behat/paged_course_navigation.feature
course/tests/behat/rename_roles.feature
course/tests/behat/restrict_available_activities.feature
course/tests/behat/role_renaming.feature
course/tests/behat/section_highlighting.feature
course/tests/behat/section_visibility.feature
course/tests/behat/view_subfolders_inline.feature
course/tests/courseformat_test.php
course/tests/courselib_test.php
course/tests/externallib_test.php
enrol/database/lang/en/enrol_database.php
enrol/database/lib.php
enrol/database/settings.php
enrol/database/tests/sync_test.php
enrol/externallib.php
enrol/guest/tests/behat/guest_access.feature
enrol/lti/tests/behat/basic_settings.feature
enrol/lti/tests/behat/index_page.feature
enrol/meta/tests/behat/enrol_meta.feature
enrol/self/tests/behat/key_holder.feature
enrol/self/tests/behat/self_enrolment.feature
enrol/tests/behat/add_to_group.feature
enrol/tests/behat/enrol_user.feature
enrol/tests/behat/filter_enrolled_users.feature
enrol/tests/behat/manage_enrolments_from_participants.feature
enrol/tests/enrollib_test.php
files/renderer.php
files/tests/behat/add_custom_file_type.feature
files/tests/behat/course_files.feature
grade/export/txt/tests/behat/export.feature
grade/export/xml/tests/behat/export.feature
grade/grading/form/guide/renderer.php
grade/grading/form/guide/tests/behat/edit_guide.feature
grade/grading/form/rubric/tests/behat/edit_rubric.feature
grade/grading/form/rubric/tests/behat/grade_calculation.feature
grade/grading/form/rubric/tests/behat/negative_points.feature
grade/grading/form/rubric/tests/behat/publish_rubric_templates.feature
grade/grading/form/rubric/tests/behat/reuse_own_rubrics.feature
grade/report/grader/tests/behat/ajax_grader.feature
grade/report/grader/tests/behat/switch_views.feature
grade/report/history/tests/behat/basic_functionality.feature
grade/report/singleview/tests/behat/bulk_insert_grades.feature
grade/report/singleview/tests/behat/singleview.feature
grade/report/user/tests/behat/user_view.feature
grade/report/user/tests/behat/view_usereport.feature
grade/tests/behat/grade_UI_settings.feature
grade/tests/behat/grade_aggregation.feature
grade/tests/behat/grade_aggregation_changes.feature
grade/tests/behat/grade_average.feature
grade/tests/behat/grade_calculated_grade_items.feature
grade/tests/behat/grade_calculated_grade_items_20150627.feature
grade/tests/behat/grade_calculated_weights.feature
grade/tests/behat/grade_category_validation.feature
grade/tests/behat/grade_contribution_with_extra_credit.feature
grade/tests/behat/grade_grade_minmax_change.feature
grade/tests/behat/grade_hidden_items.feature
grade/tests/behat/grade_item_validation.feature
grade/tests/behat/grade_letter_boundary.feature
grade/tests/behat/grade_letter_boundary_20160518.feature
grade/tests/behat/grade_mingrade.feature
grade/tests/behat/grade_natural_exclude_empty.feature
grade/tests/behat/grade_natural_exclude_empty_20150619.feature
grade/tests/behat/grade_natural_normalisation.feature
grade/tests/behat/grade_natural_normalisation_20150619.feature
grade/tests/behat/grade_override_letter.feature
grade/tests/behat/grade_point_maximum.feature
grade/tests/behat/grade_scales.feature
grade/tests/behat/grade_scales_aggregation.feature
grade/tests/behat/grade_single_item_scales.feature
grade/tests/behat/grade_to_pass.feature
grade/tests/behat/grade_view.feature
group/tests/behat/auto_creation.feature
group/tests/behat/create_groups.feature
group/tests/behat/delete_groups.feature
group/tests/behat/groups_import.feature
group/tests/behat/id_uniqueness.feature
group/tests/behat/overview.feature
group/tests/behat/update_groups.feature
install/lang/de/install.php
install/lang/tr/moodle.php
lang/en/admin.php
lang/en/calendar.php
lang/en/completion.php
lang/en/moodle.php
lang/en/repository.php
lang/en/role.php
lib/adminlib.php
lib/amd/build/templates.min.js
lib/amd/src/templates.js
lib/authlib.php
lib/blocklib.php
lib/classes/event/course_section_created.php [new file with mode: 0644]
lib/classes/filetypes.php
lib/classes/oauth2/api.php [new file with mode: 0644]
lib/classes/oauth2/client.php [new file with mode: 0644]
lib/classes/oauth2/endpoint.php [new file with mode: 0644]
lib/classes/oauth2/issuer.php [new file with mode: 0644]
lib/classes/oauth2/refresh_system_tokens_task.php [new file with mode: 0644]
lib/classes/oauth2/rest.php [new file with mode: 0644]
lib/classes/oauth2/rest_exception.php [new file with mode: 0644]
lib/classes/oauth2/system_account.php [new file with mode: 0644]
lib/classes/oauth2/user_field_mapping.php [new file with mode: 0644]
lib/classes/output/mustache_pix_helper.php
lib/classes/output/mustache_user_date_helper.php
lib/classes/plugin_manager.php
lib/classes/plugininfo/auth.php
lib/classes/task/calendar_cron_task.php
lib/classes/text.php
lib/classes/user.php
lib/coursecatlib.php
lib/datalib.php
lib/db/access.php
lib/db/install.xml [changed mode: 0644->0755]
lib/db/services.php
lib/db/tasks.php
lib/db/upgrade.php
lib/deprecatedlib.php
lib/editor/atto/tests/behat/autosave.feature
lib/editor/atto/tests/behat/customtoolbar.feature
lib/editor/tinymce/tests/behat/edit_available_icons.feature
lib/enrollib.php
lib/filelib.php
lib/filestorage/file_storage.php
lib/filestorage/stored_file.php
lib/form/editor.php
lib/form/filemanager.php
lib/form/modvisible.php
lib/form/tests/behat/modgrade_validation.feature
lib/form/tests/behat/multi_select_dependencies.feature
lib/grade/grade_item.php
lib/grouplib.php
lib/modinfolib.php
lib/oauthlib.php
lib/outputcomponents.php
lib/outputrenderers.php
lib/phpunit/classes/util.php
lib/setuplib.php
lib/tablelib.php
lib/templates/initials_bar.mustache [new file with mode: 0644]
lib/templates/login.mustache
lib/testing/generator/data_generator.php
lib/testing/tests/generator_test.php
lib/tests/behat/alpha_chooser.feature [new file with mode: 0644]
lib/tests/behat/behat_navigation.php
lib/tests/behat/largeforms.feature
lib/tests/calendar_cron_task_test.php [new file with mode: 0644]
lib/tests/grouplib_test.php
lib/tests/modinfolib_test.php
lib/tests/oauth2_test.php [new file with mode: 0644]
lib/upgrade.txt
login/tests/behat/change_password.feature
message/output/popup/tests/behat/notification_popover_unread.feature
mod/assign/assignmentplugin.php
mod/assign/backup/moodle2/backup_assign_stepslib.php
mod/assign/backup/moodle2/restore_assign_stepslib.php
mod/assign/db/install.xml
mod/assign/db/upgrade.php
mod/assign/externallib.php
mod/assign/feedback/editpdf/classes/document_services.php
mod/assign/feedback/editpdf/classes/page_editor.php
mod/assign/feedback/editpdf/classes/pdf.php
mod/assign/feedback/editpdf/classes/renderer.php
mod/assign/feedback/editpdf/lang/en/assignfeedback_editpdf.php
mod/assign/feedback/editpdf/pix/comment_expcol.png [new file with mode: 0644]
mod/assign/feedback/editpdf/pix/comment_expcol.svg [new file with mode: 0644]
mod/assign/feedback/editpdf/styles.css
mod/assign/feedback/editpdf/tests/behat/annotate_pdf.feature
mod/assign/feedback/editpdf/tests/behat/group_annotations.feature
mod/assign/feedback/editpdf/tests/behat/view_previous_annotations.feature
mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-debug.js
mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-min.js
mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor.js
mod/assign/feedback/editpdf/yui/src/editor/js/comment.js
mod/assign/feedback/editpdf/yui/src/editor/js/commentmenu.js
mod/assign/feedback/editpdf/yui/src/editor/js/commentsearch.js
mod/assign/feedback/editpdf/yui/src/editor/js/editor.js
mod/assign/feedback/editpdf/yui/src/editor/js/globals.js
mod/assign/feedback/file/tests/behat/feedback_file.feature
mod/assign/lang/en/assign.php
mod/assign/lib.php
mod/assign/locallib.php
mod/assign/mod_form.php
mod/assign/renderable.php
mod/assign/renderer.php
mod/assign/settings.php
mod/assign/submission/file/locallib.php
mod/assign/submission/onlinetext/locallib.php
mod/assign/tests/behat/allow_another_attempt.feature
mod/assign/tests/behat/assign_course_reset.feature
mod/assign/tests/behat/assign_group_override.feature
mod/assign/tests/behat/assign_user_override.feature
mod/assign/tests/behat/comment_inline.feature
mod/assign/tests/behat/display_error_message_onbadformat.feature
mod/assign/tests/behat/display_grade.feature
mod/assign/tests/behat/edit_previous_feedback.feature
mod/assign/tests/behat/edit_student_submission.feature
mod/assign/tests/behat/file_submission.feature
mod/assign/tests/behat/filter_by_marker.feature
mod/assign/tests/behat/grading_status.feature
mod/assign/tests/behat/grant_extension.feature
mod/assign/tests/behat/group_submission.feature
mod/assign/tests/behat/online_submissions.feature
mod/assign/tests/behat/outcome_grading.feature
mod/assign/tests/behat/prevent_submission_changes.feature
mod/assign/tests/behat/quickgrading.feature
mod/assign/tests/behat/reopen_locked_submission.feature
mod/assign/tests/behat/rescale_grades.feature
mod/assign/tests/behat/steps_blind_marking.feature
mod/assign/tests/behat/submission_comments.feature
mod/assign/tests/behat/submit_without_group.feature
mod/assign/tests/generator/lib.php
mod/assign/tests/lib_test.php
mod/assign/upgradelib.php
mod/assign/version.php
mod/book/lib.php
mod/book/tests/behat/create_chapters.feature
mod/book/tests/behat/edit_navigation_options.feature
mod/book/tests/behat/log_entries.feature
mod/book/tests/behat/show_hide_chapters.feature
mod/book/tests/lib_test.php
mod/chat/lib.php
mod/chat/tests/behat/chat_calendar_events.feature
mod/chat/tests/behat/chat_course_reset.feature
mod/chat/tests/lib_test.php [new file with mode: 0644]
mod/choice/lang/en/choice.php
mod/choice/lib.php
mod/choice/locallib.php
mod/choice/mod_form.php
mod/choice/tests/behat/add_choice.feature
mod/choice/tests/behat/allow_preview.feature
mod/choice/tests/behat/block_editing.feature
mod/choice/tests/behat/change_response.feature
mod/choice/tests/behat/choice_availability.feature
mod/choice/tests/behat/include_inactive.feature
mod/choice/tests/behat/limit_responses.feature
mod/choice/tests/behat/modify_choice.feature
mod/choice/tests/behat/multiple_options.feature
mod/choice/tests/behat/my_home.feature
mod/choice/tests/behat/publish_results.feature
mod/choice/tests/behat/publish_results_anonymously.feature
mod/choice/tests/behat/remove_choice_options.feature
mod/choice/tests/lib_test.php
mod/data/backup/moodle2/backup_data_stepslib.php
mod/data/classes/external.php
mod/data/classes/external/content_exporter.php [new file with mode: 0644]
mod/data/classes/external/field_exporter.php [new file with mode: 0644]
mod/data/classes/external/record_exporter.php [new file with mode: 0644]
mod/data/db/install.xml
mod/data/db/services.php
mod/data/db/upgrade.php
mod/data/edit.php
mod/data/field/checkbox/field.class.php
mod/data/field/date/field.class.php
mod/data/field/file/field.class.php
mod/data/field/latlong/field.class.php
mod/data/field/menu/field.class.php
mod/data/field/multimenu/field.class.php
mod/data/field/number/field.class.php
mod/data/field/picture/field.class.php
mod/data/field/radiobutton/field.class.php
mod/data/field/text/field.class.php
mod/data/field/textarea/field.class.php
mod/data/field/url/field.class.php
mod/data/lang/en/data.php
mod/data/lib.php
mod/data/locallib.php
mod/data/mod_form.php
mod/data/styles.css
mod/data/tests/behat/add_entries.feature
mod/data/tests/behat/completion_condition_entries.feature [new file with mode: 0644]
mod/data/tests/behat/manageapproved.feature
mod/data/tests/behat/required_entries.feature
mod/data/tests/behat/view_entries.feature
mod/data/tests/externallib_test.php
mod/data/tests/lib_test.php
mod/data/upgrade.txt
mod/data/version.php
mod/data/view.php
mod/feedback/classes/completion.php
mod/feedback/classes/external.php
mod/feedback/classes/external/feedback_value_exporter.php [new file with mode: 0644]
mod/feedback/db/services.php
mod/feedback/db/upgrade.php
mod/feedback/lang/en/feedback.php
mod/feedback/lib.php
mod/feedback/mod_form.php
mod/feedback/tests/behat/anonymous.feature
mod/feedback/tests/behat/behat_mod_feedback.php
mod/feedback/tests/behat/coursemapping.feature
mod/feedback/tests/behat/export_import.feature
mod/feedback/tests/behat/groups.feature
mod/feedback/tests/behat/multichoice.feature
mod/feedback/tests/behat/non_anonymous.feature
mod/feedback/tests/behat/question_types.feature
mod/feedback/tests/behat/question_types_non_anon.feature
mod/feedback/tests/behat/show_nonrespondents.feature
mod/feedback/tests/behat/templates.feature
mod/feedback/tests/external_test.php
mod/feedback/tests/lib_test.php
mod/feedback/version.php
mod/folder/lib.php
mod/folder/tests/lib_test.php
mod/forum/classes/output/email/renderer.php
mod/forum/classes/post_form.php
mod/forum/lib.php
mod/forum/mod_form.php
mod/forum/tests/behat/add_forum.feature
mod/forum/tests/behat/advanced_search.feature
mod/forum/tests/behat/completion_condition_number_discussions.feature
mod/forum/tests/behat/discussion_display.feature
mod/forum/tests/behat/discussion_navigation.feature
mod/forum/tests/behat/discussion_subscriptions.feature
mod/forum/tests/behat/edit_post_student.feature
mod/forum/tests/behat/edit_post_teacher.feature
mod/forum/tests/behat/forum_subscriptions.feature
mod/forum/tests/behat/forum_subscriptions_availability.feature
mod/forum/tests/behat/forum_subscriptions_default.feature
mod/forum/tests/behat/forum_subscriptions_management.feature
mod/forum/tests/behat/groups_in_course_no_groups_in_forum.feature
mod/forum/tests/behat/move_discussion.feature
mod/forum/tests/behat/my_forum_posts.feature
mod/forum/tests/behat/no_groups_in_course.feature
mod/forum/tests/behat/post_to_multiple_groups.feature
mod/forum/tests/behat/posts_ordering_blog.feature
mod/forum/tests/behat/posts_ordering_general.feature
mod/forum/tests/behat/separate_group_discussions.feature
mod/forum/tests/behat/separate_group_single_group_discussions.feature
mod/forum/tests/behat/single_forum_discussion.feature
mod/forum/tests/behat/split_forum_discussion.feature
mod/forum/tests/behat/timed_discussions.feature
mod/forum/tests/behat/track_read_posts.feature
mod/forum/tests/behat/visible_group_discussions.feature
mod/forum/tests/lib_test.php
mod/glossary/lib.php
mod/glossary/mod_form.php
mod/glossary/tests/behat/categories.feature
mod/glossary/tests/behat/entries_always_editable.feature
mod/glossary/tests/behat/entries_require_approval.feature
mod/glossary/tests/behat/prevent_duplicate_entries.feature
mod/glossary/tests/behat/print_friendly_version.feature
mod/glossary/tests/behat/search_entries.feature
mod/glossary/tests/lib_test.php
mod/imscp/lib.php
mod/imscp/tests/lib_test.php
mod/label/lib.php
mod/label/tests/behat/label_visibility.feature
mod/label/tests/lib_test.php [new file with mode: 0644]
mod/lesson/backup/moodle2/backup_lesson_stepslib.php
mod/lesson/classes/external.php
mod/lesson/classes/external/lesson_summary_exporter.php [new file with mode: 0644]
mod/lesson/db/install.xml
mod/lesson/db/services.php
mod/lesson/db/upgrade.php
mod/lesson/lang/en/lesson.php
mod/lesson/lib.php
mod/lesson/locallib.php
mod/lesson/mod_form.php
mod/lesson/report.php
mod/lesson/tests/behat/completion_condition_end_reached.feature
mod/lesson/tests/behat/completion_condition_time_spent.feature
mod/lesson/tests/behat/date_availability.feature
mod/lesson/tests/behat/duplicate_lesson_page.feature
mod/lesson/tests/behat/import_fillintheblank_question.feature
mod/lesson/tests/behat/import_images.feature
mod/lesson/tests/behat/lesson_complete_report.feature
mod/lesson/tests/behat/lesson_course_reset.feature
mod/lesson/tests/behat/lesson_delete_answers.feature
mod/lesson/tests/behat/lesson_edit_cluster.feature
mod/lesson/tests/behat/lesson_edit_pages.feature
mod/lesson/tests/behat/lesson_essay_question.feature
mod/lesson/tests/behat/lesson_group_override.feature
mod/lesson/tests/behat/lesson_informations_at_end.feature
mod/lesson/tests/behat/lesson_navigation.feature
mod/lesson/tests/behat/lesson_number_of_student_attempts.feature
mod/lesson/tests/behat/lesson_outline_report.feature
mod/lesson/tests/behat/lesson_practice.feature
mod/lesson/tests/behat/lesson_progress_bar.feature
mod/lesson/tests/behat/lesson_question_attempts.feature
mod/lesson/tests/behat/lesson_report.feature
mod/lesson/tests/behat/lesson_review.feature
mod/lesson/tests/behat/lesson_student_dashboard.feature
mod/lesson/tests/behat/lesson_student_resume.feature
mod/lesson/tests/behat/lesson_user_override.feature
mod/lesson/tests/behat/lesson_with_clusters.feature
mod/lesson/tests/behat/lesson_with_subcluster.feature
mod/lesson/tests/behat/link_to_gradebook.feature
mod/lesson/tests/behat/password_protection.feature
mod/lesson/tests/behat/questions_images.feature
mod/lesson/tests/behat/teacher_grade_essays.feature
mod/lesson/tests/behat/time_limit.feature
mod/lesson/tests/external_test.php
mod/lesson/tests/lib_test.php
mod/lesson/version.php
mod/lesson/view.php
mod/lti/lib.php
mod/lti/tests/behat/addtool.feature
mod/lti/tests/behat/addtype.feature
mod/lti/tests/behat/contentitem.feature
mod/lti/tests/behat/renametool.feature
mod/lti/tests/lib_test.php
mod/page/lib.php
mod/page/tests/lib_test.php
mod/quiz/classes/output/edit_renderer.php
mod/quiz/edit_rest.php
mod/quiz/lang/en/quiz.php
mod/quiz/lib.php
mod/quiz/locallib.php
mod/quiz/report/grading/tests/behat/grading.feature
mod/quiz/report/overview/tests/behat/basic.feature
mod/quiz/styles.css
mod/quiz/tests/behat/add_quiz.feature
mod/quiz/tests/behat/attempt_basic.feature
mod/quiz/tests/behat/attempt_begin.feature
mod/quiz/tests/behat/attempt_redo_questions.feature
mod/quiz/tests/behat/attempt_require_previous.feature
mod/quiz/tests/behat/backup.feature
mod/quiz/tests/behat/completion_condition_attempts_used.feature
mod/quiz/tests/behat/completion_condition_passing_grade.feature
mod/quiz/tests/behat/editing_add.feature
mod/quiz/tests/behat/editing_move_by_click.feature
mod/quiz/tests/behat/editing_remove_multiple_questions.feature [new file with mode: 0644]
mod/quiz/tests/behat/editing_remove_question.feature
mod/quiz/tests/behat/editing_repaginate.feature
mod/quiz/tests/behat/editing_require_previous.feature
mod/quiz/tests/behat/editing_section_headings.feature
mod/quiz/tests/behat/editing_set_marks_no_attempts.feature
mod/quiz/tests/behat/editing_set_marks_with_attempts.feature
mod/quiz/tests/behat/manually_mark_question.feature
mod/quiz/tests/behat/preview.feature
mod/quiz/tests/behat/quiz_reset.feature
mod/quiz/tests/behat/settings_form_fields_disableif.feature
mod/quiz/tests/lib_test.php
mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-debug.js
mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate-min.js
mod/quiz/yui/build/moodle-mod_quiz-repaginate/moodle-mod_quiz-repaginate.js
mod/quiz/yui/build/moodle-mod_quiz-toolboxes/moodle-mod_quiz-toolboxes-debug.js
mod/quiz/yui/build/moodle-mod_quiz-toolboxes/moodle-mod_quiz-toolboxes-min.js
mod/quiz/yui/build/moodle-mod_quiz-toolboxes/moodle-mod_quiz-toolboxes.js
mod/quiz/yui/src/repaginate/js/repaginate.js
mod/quiz/yui/src/toolboxes/js/resource.js
mod/quiz/yui/src/toolboxes/js/toolbox.js
mod/resource/lib.php
mod/resource/tests/behat/display_resource.feature
mod/resource/tests/lib_test.php
mod/scorm/lang/en/scorm.php
mod/scorm/lib.php
mod/scorm/locallib.php
mod/scorm/mod_form.php
mod/scorm/tests/behat/add_scorm.feature
mod/scorm/tests/behat/completion_condition_require_status.feature
mod/scorm/tests/behat/missing_org.feature
mod/scorm/tests/behat/multisco_review_mode.feature
mod/scorm/tests/externallib_test.php
mod/scorm/tests/lib_test.php
mod/scorm/tests/locallib_test.php [new file with mode: 0644]
mod/survey/lib.php
mod/survey/mod_form.php
mod/survey/tests/behat/survey_completion.feature
mod/survey/tests/behat/survey_types.feature
mod/survey/tests/lib_test.php
mod/url/lib.php
mod/url/tests/lib_test.php
mod/wiki/filesedit.php
mod/wiki/lib.php
mod/wiki/tests/behat/collaborative_individual.feature
mod/wiki/tests/behat/edit_tags.feature
mod/wiki/tests/behat/page_history.feature
mod/wiki/tests/behat/preview_page.feature
mod/wiki/tests/behat/reset_wiki_comments_tags_files.feature
mod/wiki/tests/behat/wiki_comments.feature
mod/wiki/tests/behat/wiki_formats.feature
mod/wiki/tests/behat/wiki_search.feature
mod/wiki/tests/lib_test.php
mod/workshop/lang/en/workshop.php
mod/workshop/lib.php
mod/workshop/locallib.php
mod/workshop/tests/behat/delete_submission.feature
mod/workshop/tests/behat/embedded_images.feature
mod/workshop/tests/behat/example_submission.feature
mod/workshop/tests/behat/export_submission.feature
mod/workshop/tests/behat/grade_to_pass.feature
mod/workshop/tests/behat/workshop_assessment.feature
mod/workshop/tests/lib_test.php [new file with mode: 0644]
notes/tests/behat/participants_notes.feature
phpunit.xml.dist
pluginfile.php
question/category.php
question/edit.php
question/export.php
question/format/gift/tests/behat/import_export.feature
question/format/webct/tests/behat/import.feature
question/format/webct/tests/behat/importcalculated.feature
question/format/xml/tests/behat/import_export.feature
question/import.php
question/renderer.php
question/tests/behat/copy_questions.feature
question/tests/behat/delete_questions.feature
question/tests/behat/edit_questions.feature
question/tests/behat/preview_question.feature
question/tests/behat/question_categories.feature
question/tests/behat/sort_questions.feature
question/type/ddimageortext/tests/behat/add.feature
question/type/ddimageortext/tests/behat/backup_and_restore.feature
question/type/ddimageortext/tests/behat/edit.feature
question/type/ddimageortext/tests/behat/export.feature
question/type/ddimageortext/tests/behat/import.feature
question/type/ddimageortext/tests/behat/preview.feature
question/type/ddmarker/tests/behat/add.feature
question/type/ddmarker/tests/behat/backup_and_restore.feature
question/type/ddmarker/tests/behat/edit.feature
question/type/ddmarker/tests/behat/export.feature
question/type/ddmarker/tests/behat/import.feature
question/type/ddmarker/tests/behat/preview.feature
question/type/ddwtos/tests/behat/add.feature
question/type/ddwtos/tests/behat/backup_and_restore.feature
question/type/ddwtos/tests/behat/edit.feature
question/type/ddwtos/tests/behat/export.feature
question/type/ddwtos/tests/behat/import.feature
question/type/ddwtos/tests/behat/preview.feature
question/type/description/tests/behat/add.feature
question/type/description/tests/behat/backup_and_restore.feature
question/type/description/tests/behat/edit.feature
question/type/description/tests/behat/export.feature
question/type/description/tests/behat/import.feature
question/type/description/tests/behat/preview.feature
question/type/essay/renderer.php
question/type/essay/tests/behat/add.feature
question/type/essay/tests/behat/backup_and_restore.feature
question/type/essay/tests/behat/edit.feature
question/type/essay/tests/behat/export.feature
question/type/essay/tests/behat/import.feature
question/type/essay/tests/behat/preview.feature
question/type/gapselect/tests/behat/basic_test.feature
question/type/gapselect/tests/behat/import_test.feature
question/type/match/tests/behat/add.feature
question/type/match/tests/behat/backup_and_restore.feature
question/type/match/tests/behat/edit.feature
question/type/match/tests/behat/export.feature
question/type/match/tests/behat/import.feature
question/type/match/tests/behat/preview.feature
question/type/multichoice/tests/behat/add.feature
question/type/multichoice/tests/behat/backup_and_restore.feature
question/type/multichoice/tests/behat/edit.feature
question/type/multichoice/tests/behat/export.feature
question/type/multichoice/tests/behat/import.feature
question/type/multichoice/tests/behat/preview.feature
question/type/shortanswer/tests/behat/add.feature
question/type/shortanswer/tests/behat/backup_and_restore.feature
question/type/shortanswer/tests/behat/edit.feature
question/type/shortanswer/tests/behat/export.feature
question/type/shortanswer/tests/behat/import.feature
question/type/shortanswer/tests/behat/preview.feature
question/type/truefalse/tests/behat/add.feature
question/type/truefalse/tests/behat/backup_and_restore.feature
question/type/truefalse/tests/behat/edit.feature
question/type/truefalse/tests/behat/export.feature
question/type/truefalse/tests/behat/import.feature
question/type/truefalse/tests/behat/preview.feature
report/completion/index.php
report/log/tests/behat/filter_log.feature
report/log/tests/behat/filter_log_actions.feature
report/log/tests/behat/user_log.feature
report/loglive/tests/behat/loglive_report.feature
report/outline/tests/behat/outline.feature
report/outline/tests/behat/user.feature
report/participation/tests/behat/filter_participation.feature
report/participation/tests/behat/message_participants.feature
report/progress/index.php
repository/areafiles/lib.php
repository/filepicker.js
repository/googledocs/classes/rest.php [new file with mode: 0644]
repository/googledocs/db/caches.php [new file with mode: 0644]
repository/googledocs/db/upgrade.php
repository/googledocs/lang/en/repository_googledocs.php
repository/googledocs/lib.php
repository/googledocs/tests/generator/lib.php
repository/googledocs/version.php
repository/lib.php
repository/onedrive/classes/access.php [new file with mode: 0644]
repository/onedrive/classes/remove_temp_access_task.php [new file with mode: 0644]
repository/onedrive/classes/rest.php [new file with mode: 0644]
repository/onedrive/db/access.php [new file with mode: 0644]
repository/onedrive/db/caches.php [new file with mode: 0644]
repository/onedrive/db/install.xml [new file with mode: 0644]
repository/onedrive/db/tasks.php [new file with mode: 0644]
repository/onedrive/db/upgrade.php [new file with mode: 0644]
repository/onedrive/importskydrive.php [new file with mode: 0644]
repository/onedrive/lang/en/repository_onedrive.php [new file with mode: 0644]
repository/onedrive/lib.php [new file with mode: 0644]
repository/onedrive/pix/icon.png [new file with mode: 0644]
repository/onedrive/version.php [new file with mode: 0644]
repository/recent/tests/behat/add_recent.feature
repository/repository_ajax.php
repository/skydrive/lang/en/repository_skydrive.php
repository/skydrive/lib.php
repository/tests/behat/cancel_add_file.feature
repository/tests/behat/create_folders.feature
repository/tests/behat/create_shortcut.feature
repository/tests/behat/overwrite_file.feature
repository/tests/behat/zip_and_unzip.feature
repository/upgrade.txt
theme/boost/classes/output/core_question/bank_renderer.php [new file with mode: 0644]
theme/boost/scss/moodle/blocks.scss
theme/boost/scss/moodle/core.scss
theme/boost/scss/moodle/icons.scss
theme/boost/templates/core/filemanager_modal_generallayout.mustache
theme/boost/templates/core/filemanager_selectlayout.mustache
theme/boost/templates/core/login.mustache
theme/boost/tests/behat/contextmenu.feature
theme/boost/tests/behat/regionmainsettingsmenu.feature
theme/bootstrapbase/less/moodle/blocks.less
theme/bootstrapbase/less/moodle/bs4-compat.less
theme/bootstrapbase/less/moodle/core.less
theme/bootstrapbase/less/moodle/modules.less
theme/bootstrapbase/style/moodle.css
theme/bootstrapbase/templates/block_myoverview/course-event-list-item.mustache [new file with mode: 0644]
theme/bootstrapbase/templates/block_myoverview/course-item.mustache [new file with mode: 0644]
theme/bootstrapbase/templates/block_myoverview/event-list-item.mustache [new file with mode: 0644]
theme/bootstrapbase/templates/block_myoverview/main.mustache [new file with mode: 0644]
theme/bootstrapbase/templates/block_myoverview/paging-bar.mustache [new file with mode: 0644]
theme/bootstrapbase/templates/block_myoverview/timeline-view.mustache [new file with mode: 0644]
theme/image.php
user/index.php
user/renderer.php
user/tests/behat/course_preference.feature
user/tests/behat/set_default_homepage.feature
user/tests/behat/user_grade_navigation.feature
user/tests/behat/view_full_profile.feature
user/tests/behat/view_participants.feature
user/tests/behat/view_preferences_page.feature
version.php

index b307cd7..0f9c7a0 100644 (file)
@@ -16,6 +16,9 @@ $err = array();
 
 $returnurl = "$CFG->wwwroot/$CFG->admin/settings.php?section=manageauths";
 
+debugging("Use of config.html files in authentication plugins have been depreciated. " .
+          " Please migrate your plugin to use the admin settings API", DEBUG_DEVELOPER);
+
 // save configuration changes
 if ($frm = data_submitted() and confirm_sesskey()) {
 
@@ -86,12 +89,28 @@ exit;
 
 /// Functions /////////////////////////////////////////////////////////////////
 
-// Good enough for most auth plugins
-// but some may want a custom one if they are offering
-// other options
-// Note: lockconfig_ fields have special handling.
+
+/**
+ * auth field locking
+ * Good enough for most auth plugins
+ * but some may want a custom one if they are offering
+ * other options
+ * Note: lockconfig_ fields have special handling.
+ *
+ * @param string $auth authentication plugin shortname
+ * @param array $user_fields user profile fields
+ * @param string $helptext help text to be displayed at top of form
+ * @param boolean $retrieveopts Map fields or lock only.
+ * @param boolean $updateopts Allow remote updates
+ * @param array $customfields list of custom profile fields
+ * @deprecated since Moodle 3.3
+ */
 function print_auth_lock_options($auth, $user_fields, $helptext, $retrieveopts, $updateopts, $customfields = array()) {
     global $DB, $OUTPUT;
+    debugging("The function 'print_auth_lock_options' has been depreciated, " .
+              "Please migrate your code to use the admin settings API and use the function 'display_auth_lock_options' instead. ",
+              DEBUG_DEVELOPER);
+
     echo '<tr><td colspan="3">';
     if ($retrieveopts) {
         echo $OUTPUT->heading(get_string('auth_data_mapping', 'auth'));
index e1be31f..5d8a50c 100644 (file)
@@ -47,6 +47,7 @@ switch ($action) {
         // remove from enabled list
         $key = array_search($editor, $active_editors);
         unset($active_editors[$key]);
+        add_to_config_log('editor_visibility', '1', '0', $editor);
         break;
 
     case 'enable':
@@ -54,6 +55,7 @@ switch ($action) {
         if (!in_array($editor, $active_editors)) {
             $active_editors[] = $editor;
             $active_editors = array_unique($active_editors);
+            add_to_config_log('editor_visibility', '0', '1', $editor);
         }
         break;
 
@@ -66,6 +68,7 @@ switch ($action) {
                 $fsave = $active_editors[$key];
                 $active_editors[$key] = $active_editors[$key + 1];
                 $active_editors[$key + 1] = $fsave;
+                add_to_config_log('editor_position', $key, $key + 1, $editor);
             }
         }
         break;
@@ -79,6 +82,7 @@ switch ($action) {
                 $fsave = $active_editors[$key];
                 $active_editors[$key] = $active_editors[$key - 1];
                 $active_editors[$key - 1] = $fsave;
+                add_to_config_log('editor_position', $key, $key - 1, $editor);
             }
         }
         break;
index 08bb01d..709e28c 100644 (file)
 
 require_once(__DIR__ . '/../config.php');
 
+$error = optional_param('error', '', PARAM_RAW);
+if ($error) {
+    $message = optional_param('error_description', '', PARAM_RAW);
+    if ($message) {
+        print_error($message);
+    } else {
+        print_error($error);
+    }
+    die();
+}
+
 // The authorization code generated by the authorization server.
 $code = required_param('code', PARAM_RAW);
 // The state parameter we've given (used in moodle as a redirect url).
index f7e358f..8fa6f0f 100644 (file)
@@ -9,11 +9,10 @@ Feature: Highlight non-inherited permissions
       | fullname        | shortname   |
       | Course fullname | C_shortname |
     And I log in as "admin"
-    And I am on site homepage
 
   @javascript
   Scenario: Override a permission
-    Given I follow "Course fullname"
+    Given I am on "Course fullname" course homepage
     And I navigate to "Users > Permissions" in current page administration
     And I select "Manager (0)" from the "roleid" singleselect
     And I click on "Prohibit" "radio" in the "View added and updated modules in recent activity block" "table_row"
index 0f1d394..5f83df7 100644 (file)
@@ -133,7 +133,7 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
     // Completion tracking.
     $temp->add(new admin_setting_heading('progress', new lang_string('completion','completion'), ''));
     $temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', new lang_string('completion', 'completion'),
-        new lang_string('enablecompletion_help', 'completion'), 0, array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
+        new lang_string('enablecompletion_help', 'completion'), 1, array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
 
     // Groups.
     $temp->add(new admin_setting_heading('groups', new lang_string('groups', 'group'), ''));
index c0107b3..97b5b20 100644 (file)
@@ -49,9 +49,7 @@ Feature: Manage availability conditions
 
     # OK, toggling works. Set the grade one to Hide and we'll go see if it actually worked.
     And I click on "Hide" "icon" in the "Restriction by grade" "table_row"
-    And I am on site homepage
-    And I follow "Course 1"
-    And I turn editing mode on
+    And I am on "Course 1" course homepage with editing mode on
     And I add a "Page" to section "1"
     And I expand all fieldsets
     And I click on "Add restriction..." "button"
index 5560c83..d8a325b 100644 (file)
@@ -57,8 +57,7 @@ Feature: Set up contextual data for tests
       | Grouping 1 | C1 | GG1 |
       | Grouping 2 | C1 | GG2 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Users > Groups" in current page administration
     Then I should see "Group 1"
     And I should see "Group 2"
@@ -87,8 +86,7 @@ Feature: Set up contextual data for tests
       | mod/forum:editanypost | Allow | student | Course | C1 |
       | mod/forum:replynews | Prevent | editingteacher | Course | C1 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Users > Permissions" in current page administration
     And I set the field "Advanced role override" to "Student (1)"
     Then "mod/forum:editanypost" capability has "Allow" permission
@@ -108,7 +106,7 @@ Feature: Set up contextual data for tests
       | user | course | role |
       | student1 | C1 | student |
     When I log in as "student1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     Then I should see "Topic 1"
 
   Scenario: Add role assigns
@@ -144,24 +142,20 @@ Feature: Set up contextual data for tests
     Then "Edit settings" "link" should exist in current page administration
     And I log out
     And I log in as "user2"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And "Turn editing on" "link" should exist in current page administration
     And I log out
     And I log in as "user3"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And "Turn editing on" "link" should exist in current page administration
     And I log out
     And I log in as "user4"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And "Turn editing on" "link" should exist in current page administration
     And I log out
     And I log in as "user5"
     And I should see "You are logged in as"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I should see "You can not enrol yourself in this course."
 
   Scenario: Add modules
@@ -199,8 +193,7 @@ Feature: Set up contextual data for tests
       | activity   | name                            | intro                         | course | idnumber    | grade |
       | assign     | Test assignment name with scale | Test assignment description   | C1     | assign1     | Test Scale 1 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     Then I should see "Test assignment name"
     # Assignment 2.2 module type is disabled by default
     # And I should see "Test assignment22 name"
@@ -261,8 +254,7 @@ Feature: Set up contextual data for tests
       | grouping | group |
       | GG1 | G1 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Users > Groups" in current page administration
     Then the "groups" select box should contain "Group 1 (1)"
     And the "groups" select box should contain "Group 2 (1)"
@@ -321,7 +313,7 @@ Feature: Set up contextual data for tests
       | Grade sub category 2 | C1 | Grade category 1 |
     When I log in as "admin"
     And I am on course index
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "View > Grader report" in the course gradebook
     Then I should see "Grade category 1"
     And I should see "Grade sub category 2"
@@ -344,8 +336,7 @@ Feature: Set up contextual data for tests
       | Test Grade Item 2 | C1 | Grade category 1 |
       | Test Grade Item 3 | C1 | Grade sub category 2 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Setup > Gradebook setup" in the course gradebook
     Then I should see "Test Grade Item 1"
     And I follow "Edit   Test Grade Item 1"
@@ -373,8 +364,7 @@ Feature: Set up contextual data for tests
       | name | scale |
       | Test Scale 1 | Disappointing, Good, Very good, Excellent |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Scales" in the course gradebook
     Then I should see "Test Scale 1"
     And I should see "Disappointing,  Good,  Very good,  Excellent"
@@ -395,8 +385,7 @@ Feature: Set up contextual data for tests
     And the following config values are set as admin:
       | enableoutcomes | 1 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I follow "Outcomes"
     Then I should see "Grade outcome 1" in the "#addoutcomes" "css_element"
     And I should see "Grade outcome 2" in the "#removeoutcomes" "css_element"
@@ -424,8 +413,7 @@ Feature: Set up contextual data for tests
     And the following config values are set as admin:
       | enableoutcomes | 1 |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Setup > Gradebook setup" in the course gradebook
     Then I should see "Test Outcome Grade Item 1"
     And I follow "Edit   Test Outcome Grade Item 1"
@@ -442,6 +430,5 @@ Feature: Set up contextual data for tests
       | blockname    | contextlevel | reference | pagetypepattern | defaultregion |
       | online_users | Course       | C1        | course-view-*   | site-pre      |
     When I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     Then I should see "Online users"
index 0b4e7e5..1e15acc 100644 (file)
@@ -19,7 +19,7 @@ Feature: Transform date time string arguments
       | user     | course | role    |
       | teacher1 | C1     | editingteacher |
     And I log in as "teacher1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I follow "Test assignment name"
     And I should see "##yesterday##l, j F Y##"
     And I log out
index c0e7cc0..5de8e0a 100644 (file)
@@ -31,7 +31,7 @@ Feature: Edit capabilities
 
   Scenario: Course capabilities overrides
     Given I log in as "teacher1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Users > Permissions" in current page administration
     And I override the system permissions of "Student" role with:
       | mod/forum:deleteanypost | Prohibit |
@@ -45,8 +45,7 @@ Feature: Edit capabilities
 
   Scenario: Module capabilities overrides
     Given I log in as "teacher1"
-    And I follow "Course 1"
-    And I turn editing mode on
+    And I am on "Course 1" course homepage with editing mode on
     And I add a "Forum" to section "1" and I fill the form with:
       | Forum name | I'm the name |
       | Description | I'm the introduction |
index 4b467bc..151a59d 100644 (file)
@@ -33,8 +33,7 @@ Feature: Verify that all form fields values can be get and set
       | activity | course | idnumber | name | intro | firstpagetitle | wikimode | visible |
       | wiki | C1 | wiki1 | Test this one | Test this one | Test this one | collaborative | 0 |
     And I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Reset" node in "Course administration"
     # Select (multi-select) - Checking "the select box should contain".
     And I expand all fieldsets
@@ -48,9 +47,7 @@ Feature: Verify that all form fields values can be get and set
     And the "Unenrol users" select box should not contain "President"
     And the "Unenrol users" select box should not contain "Baker"
     And the "Unenrol users" select box should not contain "President, Baker"
-    And I am on site homepage
-    And I follow "Course 1"
-    And I turn editing mode on
+    And I am on "Course 1" course homepage with editing mode on
     And I follow "Test this one"
     And I press "Create page"
     # Text (textarea & editor) & Select (multi-select) - Checking "I set the following fields to these values".
@@ -100,7 +97,7 @@ Feature: Verify that all form fields values can be get and set
       | Default format | HTML |
       | Force format | 1 |
     And I press "Cancel"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     # Radio - Checking "I set the field" and "the field matches value".
     And I add a "Choice" to section "1" and I fill the form with:
       | Choice name | Test choice name |
@@ -115,8 +112,7 @@ Feature: Verify that all form fields values can be get and set
     And the field "one" matches value "1"
     And the field "two" matches value ""
     # Check if field xpath set/match works.
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Edit settings" node in "Course administration"
     And I set the field with xpath "//input[@id='id_idnumber']" to "Course id number"
     And the field with xpath "//input[@name='idnumber']" matches value "Course id number"
@@ -129,7 +125,7 @@ Feature: Verify that all form fields values can be get and set
 
   @javascript
   Scenario: with JS enabled all form fields getters and setters works as expected
-    Then I follow "Course 1"
+    Then I am on "Course 1" course homepage
     And I navigate to "Users > Groups" in current page administration
     # Select (multi-select & AJAX) - Checking "I set the field" and "select box should contain".
     And I set the field "groups" to "Group 2"
@@ -141,7 +137,7 @@ Feature: Verify that all form fields values can be get and set
     And the "members" select box should contain "Student 2"
     And the "members" select box should not contain "Student 3"
     # Checkbox (AJAX) - Checking "I set the field" and "I set the following fields to these values".
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I add a "Lesson" to section "1"
     And I set the following fields to these values:
       | Name | Test lesson |
index 5f5efdf..85f52de 100644 (file)
@@ -23,9 +23,7 @@ Feature: Forms manipulation
       | fullname | shortname | category |
       | Course 1 | C1 | 0 |
     And I log in as "admin"
-    And I am on site homepage
-    And I follow "Course 1"
-    And I turn editing mode on
+    And I am on "Course 1" course homepage with editing mode on
     And I add a "Quiz" to section "1"
     When I expand all fieldsets
     Then I should see "Close the quiz"
index 0a9f39f..5c464ba 100644 (file)
@@ -120,9 +120,7 @@ Feature: Add customised file types
       | Custom description | Froggy file                               |
     And I press "Save changes"
     # Create a resource activity and add it to a course
-    And I am on site homepage
-    And I follow "Course 1"
-    And I turn editing mode on
+    And I am on "Course 1" course homepage with editing mode on
     When I add a "File" to section "1"
     And I set the following fields to these values:
       | Name        | An example of customised file type |
index b78de8f..c449ae6 100644 (file)
@@ -185,7 +185,7 @@ class api {
             $settings->frontpageloggedin = $CFG->frontpageloggedin;
             $settings->maxcategorydepth = $CFG->maxcategorydepth;
             $settings->frontpagecourselimit = $CFG->frontpagecourselimit;
-            $settings->numsections = course_get_format($SITE)->get_course()->numsections;
+            $settings->numsections = course_get_format($SITE)->get_last_section_number();
             $settings->newsitems = $SITE->newsitems;
             $settings->commentsperpage = $CFG->commentsperpage;
 
index 6cf0f49..be10099 100644 (file)
@@ -140,7 +140,7 @@ class tool_mobile_external_testcase extends externallib_advanced_testcase {
             array('name' => 'frontpageloggedin', 'value' => $CFG->frontpageloggedin),
             array('name' => 'maxcategorydepth', 'value' => $CFG->maxcategorydepth),
             array('name' => 'frontpagecourselimit', 'value' => $CFG->frontpagecourselimit),
-            array('name' => 'numsections', 'value' => course_get_format($SITE)->get_course()->numsections),
+            array('name' => 'numsections', 'value' => course_get_format($SITE)->get_last_section_number()),
             array('name' => 'newsitems', 'value' => $SITE->newsitems),
             array('name' => 'commentsperpage', 'value' => $CFG->commentsperpage),
             array('name' => 'disableuserimages', 'value' => $CFG->disableuserimages),
index 0d25c54..a38a75d 100644 (file)
@@ -18,7 +18,7 @@ Feature: tool_monitor_rule
     And I navigate to "Event monitoring rules" node in "Site administration > Reports"
     And I click on "Enable" "link"
     And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     And I press "Add a new rule"
     And I set the following fields to these values:
@@ -45,8 +45,7 @@ Feature: tool_monitor_rule
 
   Scenario: Add a rule on course level
     Given I log in as "teacher1"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     When I press "Add a new rule"
     And I set the following fields to these values:
@@ -66,7 +65,7 @@ Feature: tool_monitor_rule
 
   Scenario: Delete a rule on course level
     Given I log in as "teacher1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     When I click on "Delete rule" "link"
     Then I should see "Are you sure you want to delete the rule \"New rule course level\"?"
@@ -76,7 +75,7 @@ Feature: tool_monitor_rule
 
   Scenario: Edit a rule on course level
     Given I log in as "teacher1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     When I click on "Edit rule" "link"
     And I set the following fields to these values:
@@ -95,7 +94,7 @@ Feature: tool_monitor_rule
 
   Scenario: Duplicate a rule on course level
     Given I log in as "teacher1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     When I click on "Duplicate rule" "link" in the "New rule course level" "table_row"
     Then I should see "Rule successfully duplicated"
@@ -154,7 +153,7 @@ Feature: tool_monitor_rule
 
   Scenario: Duplicate a rule on site level
     Given I log in as "teacher1"
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     When I click on "Duplicate rule" "link" in the "New rule site level" "table_row"
     Then I should see "Rule successfully duplicated"
index 9acc86d..2766705 100644 (file)
@@ -22,8 +22,7 @@ Feature: tool_monitor_subscriptions
     And I log in as "admin"
     And I navigate to "Event monitoring rules" node in "Site administration > Reports"
     And I click on "Enable" "link"
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I navigate to "Event monitoring rules" node in "Course administration > Reports"
     And I press "Add a new rule"
     And I set the following fields to these values:
@@ -132,8 +131,7 @@ Feature: tool_monitor_subscriptions
     And I follow "Subscribe to rule \"New rule course level\""
     And I should see "Subscription successfully created"
     And "#toolmonitorsubs_r0" "css_element" should exist
-    And I am on site homepage
-    And I follow "Course 1"
+    And I am on "Course 1" course homepage
     And I trigger cron
     And I am on site homepage
     When I click on ".popover-region-notifications" "css_element"
diff --git a/admin/tool/oauth2/classes/form/endpoint.php b/admin/tool/oauth2/classes/form/endpoint.php
new file mode 100644 (file)
index 0000000..d033f3b
--- /dev/null
@@ -0,0 +1,81 @@
+<?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/>.
+
+/**
+ * This file contains the form add/update oauth2 endpoint.
+ *
+ * @package   tool_oauth2
+ * @copyright 2017 Damyon Wiese
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace tool_oauth2\form;
+defined('MOODLE_INTERNAL') || die();
+
+use stdClass;
+use core\form\persistent;
+
+/**
+ * Issuer form.
+ *
+ * @package   tool_oauth2
+ * @copyright 2017 Damyon Wiese
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class endpoint extends persistent {
+
+    /** @var string $persistentclass */
+    protected static $persistentclass = 'core\\oauth2\\endpoint';
+
+    /** @var array $fieldstoremove */
+    protected static $fieldstoremove = array('submitbutton', 'action');
+
+    /**
+     * Define the form - called by parent constructor
+     */
+    public function definition() {
+        global $PAGE;
+
+        $mform = $this->_form;
+        $endpoint = $this->get_persistent();
+
+        // Name.
+        $mform->addElement('text', 'name', get_string('endpointname', 'tool_oauth2'));
+        $mform->addRule('name', null, 'required', null, 'client');
+        $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('name', 'endpointname', 'tool_oauth2');
+
+        // Url.
+        $mform->addElement('text', 'url', get_string('endpointurl', 'tool_oauth2'));
+        $mform->addRule('url', null, 'required', null, 'client');
+        $mform->addRule('url', get_string('maximumchars', '', 1024), 'maxlength', 1024, 'client');
+        $mform->addHelpButton('url', 'endpointurl', 'tool_oauth2');
+
+        $mform->addElement('hidden', 'action', 'edit');
+        $mform->setType('action', PARAM_ALPHA);
+
+        $mform->addElement('hidden', 'issuerid', $endpoint->get('issuerid'));
+        $mform->setType('issuerid', PARAM_INT);
+        $mform->setConstant('issuerid', $this->_customdata['issuerid']);
+
+        $mform->addElement('hidden', 'id', $endpoint->get('id'));
+        $mform->setType('id', PARAM_INT);
+
+        $this->add_action_buttons(true, get_string('savechanges', 'tool_oauth2'));
+    }
+
+}
+
diff --git a/admin/tool/oauth2/classes/form/issuer.php b/admin/tool/oauth2/classes/form/issuer.php
new file mode 100644 (file)
index 0000000..3a0b64d
--- /dev/null
@@ -0,0 +1,138 @@
+<?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/>.
+
+/**
+ * This file contains the form add/update oauth2 issuer.
+ *
+ * @package   tool_oauth2
+ * @copyright 2017 Damyon Wiese
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace tool_oauth2\form;
+defined('MOODLE_INTERNAL') || die();
+
+use stdClass;
+use core\form\persistent;
+
+/**
+ * Issuer form.
+ *
+ * @package   tool_oauth2
+ * @copyright 2017 Damyon Wiese
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class issuer extends persistent {
+
+    /** @var string $persistentclass */
+    protected static $persistentclass = 'core\\oauth2\\issuer';
+
+    /** @var array $fieldstoremove */
+    protected static $fieldstoremove = array('submitbutton', 'action');
+
+    /**
+     * Define the form - called by parent constructor
+     */
+    public function definition() {
+        global $PAGE, $OUTPUT;
+
+        $mform = $this->_form;
+        $issuer = $this->get_persistent();
+
+        $docslink = optional_param('docslink', '', PARAM_ALPHAEXT);
+        if ($docslink) {
+            $name = s($issuer->get('name'));
+            $mform->addElement('html', $OUTPUT->doc_link($docslink, get_string('issuersetuptype', 'tool_oauth2', $name)));
+        } else {
+            $mform->addElement('html', $OUTPUT->page_doc_link(get_string('issuersetup', 'tool_oauth2')));
+        }
+
+        // Name.
+        $mform->addElement('text', 'name', get_string('issuername', 'tool_oauth2'));
+        $mform->addRule('name', null, 'required', null, 'client');
+        $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('name', 'issuername', 'tool_oauth2');
+
+        // Client ID.
+        $mform->addElement('text', 'clientid', get_string('issuerclientid', 'tool_oauth2'));
+        $mform->addRule('clientid', null, 'required', null, 'client');
+        $mform->addRule('clientid', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('clientid', 'issuerclientid', 'tool_oauth2');
+
+        // Client Secret.
+        $mform->addElement('text', 'clientsecret', get_string('issuerclientsecret', 'tool_oauth2'));
+        $mform->addRule('clientsecret', null, 'required', null, 'client');
+        $mform->addRule('clientsecret', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('clientsecret', 'issuerclientsecret', 'tool_oauth2');
+
+        // Login scopes.
+        $mform->addElement('text', 'loginscopes', get_string('issuerloginscopes', 'tool_oauth2'));
+        $mform->addRule('loginscopes', null, 'required', null, 'client');
+        $mform->addRule('loginscopes', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('loginscopes', 'issuerloginscopes', 'tool_oauth2');
+
+        // Login scopes offline.
+        $mform->addElement('text', 'loginscopesoffline', get_string('issuerloginscopesoffline', 'tool_oauth2'));
+        $mform->addRule('loginscopesoffline', null, 'required', null, 'client');
+        $mform->addRule('loginscopesoffline', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('loginscopesoffline', 'issuerloginscopesoffline', 'tool_oauth2');
+
+        // Login params.
+        $mform->addElement('text', 'loginparams', get_string('issuerloginparams', 'tool_oauth2'));
+        $mform->addRule('loginparams', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('loginparams', 'issuerloginparams', 'tool_oauth2');
+
+        // Login params offline.
+        $mform->addElement('text', 'loginparamsoffline', get_string('issuerloginparamsoffline', 'tool_oauth2'));
+        $mform->addRule('loginparamsoffline', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('loginparamsoffline', 'issuerloginparamsoffline', 'tool_oauth2');
+
+        // Base Url.
+        $mform->addElement('text', 'baseurl', get_string('issuerbaseurl', 'tool_oauth2'));
+        $mform->addRule('baseurl', get_string('maximumchars', '', 1024), 'maxlength', 1024, 'client');
+        $mform->addHelpButton('baseurl', 'issuerbaseurl', 'tool_oauth2');
+
+        // Allowed Domains.
+        $mform->addElement('text', 'alloweddomains', get_string('issueralloweddomains', 'tool_oauth2'));
+        $mform->addRule('alloweddomains', get_string('maximumchars', '', 1024), 'maxlength', 1024, 'client');
+        $mform->addHelpButton('alloweddomains', 'issueralloweddomains', 'tool_oauth2');
+
+        // Image.
+        $mform->addElement('text', 'image', get_string('issuerimage', 'tool_oauth2'), 'maxlength="1024"');
+        $mform->addRule('image', get_string('maximumchars', '', 1024), 'maxlength', 1024, 'client');
+        $mform->addHelpButton('image', 'issuername', 'tool_oauth2');
+
+        // Show on login page.
+        $mform->addElement('checkbox', 'showonloginpage', get_string('issuershowonloginpage', 'tool_oauth2'));
+        $mform->addHelpButton('showonloginpage', 'issuershowonloginpage', 'tool_oauth2');
+
+        $mform->addElement('hidden', 'sortorder');
+        $mform->setType('sortorder', PARAM_INT);
+
+        $mform->addElement('hidden', 'action', 'edit');
+        $mform->setType('action', PARAM_ALPHA);
+
+        $mform->addElement('hidden', 'enabled', $issuer->get('enabled'));
+        $mform->setType('enabled', PARAM_BOOL);
+
+        $mform->addElement('hidden', 'id', $issuer->get('id'));
+        $mform->setType('id', PARAM_INT);
+
+        $this->add_action_buttons(true, get_string('savechanges', 'tool_oauth2'));
+    }
+
+}
+
diff --git a/admin/tool/oauth2/classes/form/user_field_mapping.php b/admin/tool/oauth2/classes/form/user_field_mapping.php
new file mode 100644 (file)
index 0000000..aa118e8
--- /dev/null
@@ -0,0 +1,80 @@
+<?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/>.
+
+/**
+ * This file contains the form add/update oauth2 user_field_mapping.
+ *
+ * @package   tool_oauth2
+ * @copyright 2017 Damyon Wiese
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace tool_oauth2\form;
+defined('MOODLE_INTERNAL') || die();
+
+use stdClass;
+use core\form\persistent;
+
+/**
+ * Issuer form.
+ *
+ * @package   tool_oauth2
+ * @copyright 2017 Damyon Wiese
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class user_field_mapping extends persistent {
+
+    /** @var string $persistentclass */
+    protected static $persistentclass = 'core\\oauth2\\user_field_mapping';
+
+    /** @var array $fieldstoremove */
+    protected static $fieldstoremove = array('submitbutton', 'action');
+
+    /**
+     * Define the form - called by parent constructor
+     */
+    public function definition() {
+        global $PAGE;
+
+        $mform = $this->_form;
+        $userfieldmapping = $this->get_persistent();
+
+        // External.
+        $mform->addElement('text', 'externalfield', get_string('userfieldexternalfield', 'tool_oauth2'));
+        $mform->addRule('externalfield', null, 'required', null, 'client');
+        $mform->addRule('externalfield', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addHelpButton('externalfield', 'userfieldexternalfield', 'tool_oauth2');
+
+        // Internal.
+        $choices = $userfieldmapping->get_internalfield_list();
+        $mform->addElement('select', 'internalfield', get_string('userfieldinternalfield', 'tool_oauth2'), $choices);
+        $mform->addHelpButton('internalfield', 'userfieldinternalfield', 'tool_oauth2');
+
+        $mform->addElement('hidden', 'action', 'edit');
+        $mform->setType('action', PARAM_ALPHA);
+
+        $mform->addElement('hidden', 'issuerid', $userfieldmapping->get('issuerid'));
+        $mform->setConstant('issuerid', $this->_customdata['issuerid']);
+        $mform->setType('issuerid', PARAM_INT);
+
+        $mform->addElement('hidden', 'id', $userfieldmapping->get('id'));
+        $mform->setType('id', PARAM_INT);
+
+        $this->add_action_buttons(true, get_string('savechanges', 'tool_oauth2'));
+    }
+
+}
+
diff --git a/admin/tool/oauth2/classes/output/renderer.php b/admin/tool/oauth2/classes/output/renderer.php
new file mode 100644 (file)
index 0000000..b838d0a
--- /dev/null
@@ -0,0