Compare commits

...

4556 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 28f6460de3 Moodle release 3.4.5 2018-09-08 16:49:46 +02:00
AMOS bot a63c88c57a Automatically generated installer lang files 2018-09-08 00:07:45 +00:00
Jun Pataleta 1796e82ef3 weekly release 3.4.4+ 2018-09-07 11:12:18 +08:00
Jun Pataleta d6df81c983 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-09-07 11:11:55 +08:00
Jake Dallimore d7fbf4a33e Merge branch 'MDL-63302-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-09-06 09:23:55 +08:00
Jun Pataleta 165ce9437e MDL-63302 tool_dataprivacy: Increment version of the merged plugin
This is to distinguish the versions available from the plugins directory
from the versions that are part of Moodle standard distribution.
2018-09-06 08:51:52 +08:00
Eloy Lafuente (stronk7) eacb15b2b2 Merge branch 'MDL-63292-34-policyversion' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-09-05 21:10:23 +02:00
David Mudrák ae650468ed MDL-63292 tool_policy: Increment version of the merged plugin
This is to distinguish the versions available from the plugins directory
from the versions that are part of Moodle standard distribution.
2018-09-05 13:47:32 +02:00
Jake Dallimore dab2e7771f MDL-62947 mod_feedback: fix feedback so it correctly uses forms API
Feedback code was doing the following, which is incompatible with the
sec-patched quickforms lib:
- appending '[0]' to non-group element names, meaning type checks in
getCleanType() were falling back to PARAM_RAW instead of PARAM_INT,
and meaning _findValue() was comparing elements it thought to be arrays
with scalar submit values (worked with eval() implementation as the 0th
element of a string was the character, but not working when patched).
- external unit tests incorrectly testing multichoice questions in the
process_page tests - patched lib highlighted failures.

It was also doing the following:
- actively setting null as default element values instead of 0 for
radio buttons and dropdowns (for 'not selected'). This is incompatible
with more recent quickforms lib (see MDL-63070).
- creating groups using addElement instead of addGroup - not recommended

This patch addresses the above.
2018-09-05 12:13:52 +08:00
Jake Dallimore bd509e7575 MDL-62947 core_form: fix remote code execution exploit in QuickForms
Applies the patch found upstream:
https://github.com/pear/HTML_QuickForm/commit/
d3a6d5c44dedf3c164c6c79198e4ef479bcedcd2 and make util methods static
for php7 compatibility.
2018-09-05 12:13:52 +08:00
AMOS bot e6394e2eaa Automatically generated installer lang files 2018-09-05 00:07:38 +00:00
Damyon Wiese 40e3c83ec8 MDL-62748 course: maxsections is a limit
For course formats shipped with core, maxsections should be a limit to the number of sections
allowed in the course.
2018-09-04 22:37:50 +02:00
Mihail Geshoski 3ea7d116b8 MDL-62857 theme_boost: Better filtering on navbar / breadcrumbs 2018-09-04 22:37:50 +02:00
Tim Hunt cfc4393aa6 MDL-62880 qtype_ddwtos: drop support for legacy import format
It was more than 8 years since we wrote in that format.
2018-09-04 22:37:50 +02:00
Eloy Lafuente (stronk7) f477be8684 Merge branch 'MDL-63249-34-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-09-04 22:35:12 +02:00
Helen Foster 9d9d1b985f MDL-63249 lang: Merge English strings from the en_fix language pack
Significant string changes:

* completionpass_help, gradetopassnotset in mod_quiz - grade to pass
  set in quiz settings not gradebook
* namecolumnmissing,core_cohort - fixing incorrect message about adding
  users to a cohort
2018-09-04 15:14:50 +02:00
David Monllao bb5a6b610c Merge branch 'MDL-62342-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-09-04 14:34:13 +02:00
Neill Magill 2720c9570a MDL-62944 calendar: Clarify the intended use of $checkcapability 2018-09-04 12:19:07 +02:00
David Monllao 3955345d8c Merge branch 'MDL-62944-m34' of https://github.com/NeillM/moodle into MOODLE_34_STABLE 2018-09-04 12:16:15 +02:00
David Monllao 2df693e17d Merge branch 'MDL-55993-34' of https://github.com/albertolarah/moodle into MOODLE_34_STABLE 2018-09-04 10:53:40 +02:00
Jun Pataleta 929962527c Merge branch 'MDL-60901_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-09-04 10:17:45 +08:00
Dan Poltawski 8252dfbd00 MDL-48846 filter: Stop reffering to invalid moodle.org/download/mimetex 2018-09-03 23:45:16 +02:00
Eloy Lafuente (stronk7) de7cc3fbea Merge branch 'MDL-61325-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-09-03 23:34:02 +02:00
Eloy Lafuente (stronk7) 898d1beb5c Merge branch 'MDL-63255-34' of git://github.com/vmdef/moodle into MOODLE_34_STABLE 2018-09-03 23:31:21 +02:00
Eloy Lafuente (stronk7) eb19e3352a Merge branch 'MDL-62848-34-placeholderwidth' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-09-03 23:01:59 +02:00
David Monllao 0c8dfdcf0e Merge branch 'MDL-38301-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-09-03 12:45:06 +02:00
David Monllao f14acd208f Merge branch 'MDL-55744-34_atto_should_not_autosave_on_not_loggedin_users' of https://github.com/dravek/moodle into MOODLE_34_STABLE 2018-09-03 12:28:07 +02:00
Alberto Lara Hernández a5ca74838f Merge branch 'MDL-55993-34' of https://github.com/albertolarah/moodle into MDL-55993-34 2018-09-03 12:25:24 +02:00
Alberto Lara Hernández 588b484099 MDL-55993 mod_assign: web services don´t set a URL. 2018-09-03 12:25:17 +02:00
Eloy Lafuente (stronk7) 47de66238b MDL-60901 environment: 3.6 requirements
Changes include:
- MySQL 5.6 is required.
- PostgreSQL 8.4 is required.
- Oracle 11.2 is required.
- 64bits architecture is recommended.
2018-09-03 10:14:22 +02:00
Víctor Déniz Falcón 93654d4b60 Merge branch 'MDL-63255-34' of git://github.com/vmdef/moodle into MDL-63255-34-test 2018-09-03 07:00:33 +01:00
Mihail Geshoski 4dc8fa2237 MDL-62342 privacy: Fix strings used in the consent on behalf modal 2018-09-03 13:00:58 +08:00
Mihail Geshoski 38127e5ed6 MDL-62342 privacy: Use singular/plural form in labels 2018-09-03 13:00:58 +08:00
Mihail Geshoski 69e15470dc MDL-56998 blog: Remove associated blog posts when module is deleted 2018-09-03 08:40:02 +08:00
AMOS bot 8c55985f99 Automatically generated installer lang files 2018-09-02 00:07:36 +00:00
AMOS bot 150f2bdfe3 Automatically generated installer lang files 2018-09-01 00:07:36 +00:00
David Mudrák 847444bc5b MDL-62848 form: Fix width of the autocomplete input field
Make sure that the autcomplete input field is wide enough to display the
placeholder text.
2018-08-31 14:54:33 +02:00
David Mudrák 6906f50822 MDL-62848 form: Fix missing support for {{#js}} helper in autocomplete
The form-autocomplete module uses three Mustache templates
core/form_autocomplete_input, core/form_autocomplete_suggestions and
core/form_autocomplete_selection. However, it did not support executing
the JS that is eventually part of those templates.
2018-08-31 14:54:33 +02:00
Simey Lameze 9d9d5af530 MDL-62944 calendar: Fix actionevent logic on template
During the calendar work, we have added the feature of
drag and drop activity event or "action events".

The problem at that time was, action events could not be
editable through the calendar UI, but should be allowed
to drag and drop. So, we couldn't use the return of
calendar_edit_event_allowed() because it can return true
(in case of teachers, that have permission to change the
activity) and the attribute isactionevent was created to
control on the UI if the user is viewing an action event.

So what my patch does is just add the check if we are
viewing an action event, and in this case, it won't display
the cog to edit that event.
2018-08-31 10:19:26 +01:00
Neill Magill c98058add8 MDL-62944 activities: Activities should not require capability
Activities should not require the user manipulating them to have
calendar capabilities for their events to be added to the Moodle
calendar
2018-08-31 10:19:26 +01:00
Neill Magill de198dce1b MDL-62944 activities: Test adding activities with no calendar capability 2018-08-31 10:19:25 +01:00
Neill Magill 2d533ee7e8 MDL-62944 completion: Calendar capabilities should not be required
The completion API should not require a user to have the capability to
add calendar events for it to function correctly.
2018-08-31 10:19:25 +01:00
Neill Magill 8b2e002cca MDL-62944 completion: Test that completion dates add events to calendar
When a user does not have calendar capabilities completion dates should
still be created correctly.
2018-08-31 10:19:25 +01:00
Neill Magill a620750547 MDL-62944 mod_data: Action menu missing from database pages
The action menu was missing from many of the database activity pages,
which meant that it could not be accessed until enough had been done to
the activity to make the editing tabs that used view.php accessible.
2018-08-31 10:19:25 +01:00
Eloy Lafuente (stronk7) 0416ad83f6 weekly release 3.4.4+ 2018-08-30 19:04:22 +02:00
Eloy Lafuente (stronk7) 620654f9bb Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-08-30 19:04:19 +02:00
Dan Marsden a26c9ceff5 MDL-61325 use correct value when looking for string. 2018-08-30 09:14:40 +08:00
AMOS bot a2e0bea764 Automatically generated installer lang files 2018-08-30 00:08:14 +00:00
Eloy Lafuente (stronk7) f0f0bd87cd Merge branch 'MDL-63094-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-08-29 00:22:57 +02:00
Eloy Lafuente (stronk7) 916415860a Merge branch 'MDL-62914-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-08-28 23:17:04 +02:00
Victor Deniz f7ea5aef8f MDL-63255 core_user: fix hardcoded sql table aliases 2018-08-28 11:57:05 +01:00
Jake Dallimore 22cbbb04bb Merge branch 'MDL-63101-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-08-28 16:56:12 +08:00
Andrew Nicols 3cb27d07cd Merge branch 'MDL-62782-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-08-28 07:07:59 +08:00
Eloy Lafuente (stronk7) 351552597e Merge branch 'MDL-62989-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-27 17:51:39 +02:00
Jun Pataleta db3a6dc2c8 MDL-63187 tool_dataprivacy: Behat fixes for confirmation lang strings 2018-08-27 22:44:58 +08:00
David Monllao 5158d78e89 Merge branch 'MDL-63174-34-emptyusername' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-08-27 15:09:11 +02:00
David Monllao 322c827a92 MDL-63187 tool_dataprivacy: Update delete purpose and category lang strings 2018-08-27 12:12:08 +02:00
David Monllao 9e4450e2c3 Merge branch 'MDL-63187-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-08-27 11:59:00 +02:00
David Monllao dacd9f0aaf Merge branch 'MDL-63210_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-08-27 11:47:07 +02:00
David Monllao 3497dbd58f Merge branch 'MDL-62867-34-missing_colon_in_query' of https://github.com/bitumin/moodle into MOODLE_34_STABLE 2018-08-27 11:23:05 +02:00
Andrew Nicols e553601950 Merge branch 'MDL-53024-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-08-27 15:46:53 +08:00
Damyon Wiese d0920c3ccf MDL-53024 assign: Remove incorrect logic in query
We are simplifying this query so it will return grades if the attempt matches
the submission attempt, or there is no submission. The case where there is a grade
but no submission can happen only for group assignments.
2018-08-27 15:35:04 +08:00
Zig Tan 79c0b489dd MDL-38301 mod_assign: Fix date validation logic & message consistency 2018-08-27 15:33:35 +08:00
Andrew Nicols bb52200f87 MDL-63101 cache: Improve accuracy of cache event invalidation 2018-08-27 14:44:26 +08:00
Alberto Lara Hernández 0cd85a850c MDL-55993 mod_assign: web services don´t set a URL. 2018-08-24 16:30:21 +02:00
Mitxel Moriana a21664df59 MDL-62867 tags: Fix missing colon in sql placeholder
Due to a missing colon in an sql query field value placeholder
the calculation of the ordering field for a newly added tag
was ignoring itemid.
2018-08-24 15:02:10 +02:00
Mihail Geshoski 2f4fe81c81 MDL-62989 privacy: Improve data request order for users 2018-08-24 15:34:24 +08:00
Jake Dallimore 1a7ae6c763 weekly release 3.4.4+ 2018-08-24 13:08:55 +08:00
Mark Nelson 5b4811c28b MDL-63210 core: convert for loop to forEach in JS 2018-08-24 11:34:50 +08:00
Jun Pataleta 73daef62b4 MDL-63187 tool_dataprivacy: Improve confirm message lang strings
* Updated the delete confirmation messages so that the category/purpose
names are shown in italics. This makes it easier for the privacy officer
to see the category/purpose that is being deleted.
2018-08-23 16:58:59 +08:00
Jun Pataleta 6368757029 MDL-63187 tool_dataprivacy: Behat tests for purposes/categories CRUD 2018-08-23 16:58:59 +08:00
Jun Pataleta 19efff94f4 MDL-63187 tool_dataprivacy: Fix delete button text
* No need to add the purpose/category name for the delete button itself
* Fix delete confirmation lang strings.
* Add button titles to Add purpose/category buttons so they can be
  clicked on when running Behat tests.
2018-08-23 16:58:59 +08:00
Mark Nelson a456850616 MDL-63210 core: touch-up after review
1. Reworded the string.
2. Removed logic handling form data.
3. Do not use window.location.replace.

Backport of MDL-54551.
2018-08-23 12:40:04 +08:00
Thom Rawson 24342e7617 MDL-63210 core: AJAX call redirects to login page when session expired
Backport of MDL-54551.
2018-08-23 12:40:04 +08:00
Jake Dallimore b56a0d69f1 MDL-36255 core_grade: fix to ensure correct context used for filters
Some grade object (outcomes,scales) can be created at site or course
context, so this patch just makes sure we use the respective context
when applying format_string to the name in the get_name() function.
2018-08-22 17:58:07 +08:00
Andrew Nicols 86c7c955eb MDL-63094 tool_policy: Fix the cookie banner to the bottom
Floating banners cause issues with clickability in Behat as it is unable
to understand that it cannot interact with the elements underneath the
floating banner, or that it needs to scroll the page so that the
required content is no longer beneath the floating banner.

Changing the banner to be fixed to the bottom of the page during Behat
runes is a reliable fix.
2018-08-22 11:00:08 +08:00
Andrew Nicols 0c94a92429 MDL-63094 js: Do not check visibility before hiding backdrop
It's possible for the backdrop to be created during the show, before the
modal is actually fully shown.

This check is unnecessary because the getBackdrop() function always
returns a value and will always succeed.
2018-08-22 10:28:32 +08:00
Andrew Nicols fed3dbe83e MDL-63094 tool_policy: Fix race condition in modal display
The way in which the modal was displayed meant that there were no
pending JS items, whilst the modal was rendered, causing random behat
fails.

This JS has been restructured to create the Modal and pass it a set of
Promises for both the title, and body.
2018-08-22 10:27:58 +08:00
Henning Bostelmann 45c3cf28e9 MDL-62914 Calendar: handle TZURL iCal property 2018-08-22 10:11:17 +08:00
Andrew Nicols ebb2a1e101 Merge branch 'MDL-62660_34' of https://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-08-22 08:04:33 +08:00
Eloy Lafuente (stronk7) 4d7029fd03 MDL-62660 xmldb: fix tool_dataprivacy_request_>status to int(2)
So the new defined statuses fit in the column for all databases.
2018-08-22 00:05:30 +02:00
Jake Dallimore 70b6f5fb55 Merge branch 'MDL-36255-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-08-21 16:07:02 +08:00
Jake Dallimore e03c0c9c4c Merge branch 'MDL-62534-34' of https://github.com/mackensen/moodle into MOODLE_34_STABLE 2018-08-21 11:45:42 +08:00
Andrew Nicols 50eea43f99 Merge branch 'MDL-62660-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-08-21 11:11:33 +08:00
Jun Pataleta 5f51b6dcf0 MDL-62660 tool_dataprivacy: Behat fix for data deletion 2018-08-21 10:38:28 +08:00
Jun Pataleta 52df040e61 MDL-62660 tool_dataprivacy: CI fixes 2018-08-21 09:38:14 +08:00
Charles Fulton 93c174cbf1 MDL-62534 course formats: do not purge empty sections on upgrade 2018-08-20 09:16:22 -04:00
Michael Hawkins a8fb33368c MDL-62660 tool_dataprivacy: Behat additions for deletion and data expiry 2018-08-20 16:05:13 +08:00
Michael Hawkins ceb825a892 MDL-62660 tool_dataprivacy: Add and update PHPUnit tests
Updated tests with latest statuses.
Added testing for request download expiry functionality and method.
Added assign_site_dpo within a parent class for unit tests.
2018-08-20 16:05:12 +08:00
Michael Hawkins c47a276b00 MDL-62660 tool_dataprivacy: Add scheduled task to expire data requests 2018-08-20 16:05:12 +08:00
Jun Pataleta 1efd8b0291 MDL-62660 tool_dataprivacy: Fix version number in upgrade code 2018-08-20 16:05:12 +08:00
Michael Hawkins 332a03df8b MDL-62660 tool_dataprivacy: Add ability to expire data requests
Also replaced Completed status with situation specific statuses.
Also improved UX on request pages in line with expiries and the aadditional statuses.
2018-08-20 16:03:55 +08:00
Andrew Nicols 90f7c52e40 MDL-62660 tool_dataprivacy: Add method for unit tests to run adhoc tasks 2018-08-20 16:02:32 +08:00
Luca Bösch 13b07ada78 MDL-36255 grades: allow multilang filters in grades 2018-08-20 08:34:36 +02:00
Jake Dallimore 402d5de15a Merge branch 'MDL-57741-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-08-20 10:12:34 +08:00
Eloy Lafuente (stronk7) 94409c69b1 weekly release 3.4.4+ 2018-08-17 17:37:42 +02:00
Eloy Lafuente (stronk7) b0bbe6b2c8 NOBUG: Fixed file access permissions 2018-08-17 17:37:41 +02:00
Eloy Lafuente (stronk7) edb7272666 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-08-17 17:37:39 +02:00
David Mudrák 1d3cbad20e MDL-63174 user: user_create_user to throw exception on empty username
The core API function user_create_user() did not check the case when the
given username was empty.

Also adding a missing string 'usernamelowercase' for the existing lower
case check and unit tests.
2018-08-17 13:24:23 +02:00
David Mudrák fa9d16fd66 MDL-63174 user: core_user_create_users to throw exception on empty names
To be consistent with the web administration UI, we should not allow to
create invalid user records with empty username, lastname or firstname
via the web services.
2018-08-17 13:24:23 +02:00
Damyon Wiese 9d6bf4c4c0 MDL-62884 privacy: Additional fix for popper.js
The older version of popper needs custom CSS to ensure the menus are
visible without scrolling.
2018-08-17 16:07:15 +08:00
Damyon Wiese aaf055af33 MDL-62884 privacy: Fix styles
An action menu displayed inside a table needs to be tested on every theme. It is
required to ensure that the menu displays correctly, even when it would display outside
the scrollable region for the table.
2018-08-17 16:07:07 +08:00
cescobedo 08f4b0323b MDL-57741 enrol_lti: Add Launch URL to Published as LTI tools 2018-08-16 09:19:27 +02:00
AMOS bot 494a91d003 Automatically generated installer lang files 2018-08-16 00:08:27 +00:00
Jake Dallimore 9028bd17a5 Merge branch 'MDL-63050-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-08-15 11:00:32 +08:00
Andrew Nicols a3d0d0adba Merge branch 'MDL-62600-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-08-15 08:55:46 +08:00
AMOS bot 0b68426b3c Automatically generated installer lang files 2018-08-15 00:07:49 +00:00
Luke Carrier b939f70922 MDL-61238 cohort: require_once all libraries 2018-08-15 00:13:58 +02:00
Eloy Lafuente (stronk7) 5ae2ec409b Merge branch 'MDL-62341-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-15 00:06:22 +02:00
Eloy Lafuente (stronk7) e660bc47f0 Merge branch 'MDL-58409-34_needs_clean_in_autocomplete_element' of https://github.com/dravek/moodle into MOODLE_34_STABLE 2018-08-14 17:50:55 +02:00
Eloy Lafuente (stronk7) e8eb4f7825 Merge branch 'MDL-61650-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-08-14 16:57:34 +02:00
Michael Hawkins 635a878bae MDL-62600 tool_dataprivacy: Corrected availability of PO pages to admins 2018-08-14 12:28:54 +08:00
Andrew Nicols 85a0f30489 Merge branch 'MDL-62643-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-08-14 09:21:12 +08:00
Karen Holland df8f32bdf8 MDL-62896 Privacy: External plugin Additional label update. 2018-08-14 08:05:38 +08:00
David Monllao 7fda5667ba Merge branch 'MDL-62761-34' of https://github.com/jmvedrine/moodle into MOODLE_34_STABLE 2018-08-13 15:30:15 +02:00
David Monllao 3d5d4ad291 Merge branch 'MDL-59015-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-13 12:19:33 +02:00
Jake Dallimore 6a96c6d9b7 Merge branch 'MDL-60114_34_radio-option-choose' of https://github.com/awagner/moodle into MOODLE_34_STABLE 2018-08-13 16:04:07 +08:00
Andrew Nicols 3636e715e0 Merge branch 'MDL-62799-34-2' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-08-13 13:53:28 +08:00
Jun Pataleta 7c85d38e93 MDL-62799 core: Add tool_dataprivacy to list of standard plugins 2018-08-13 12:46:16 +08:00
Jun Pataleta 51e87bce2f MDL-62799 tool_dataprivacy: Fix CiBoT complaints 2018-08-13 12:30:26 +08:00
Jun Pataleta 983b72cedd MDL-62799 tool_dataprivacy: Move user generation within the test
Patch originally from MDL-62962.
2018-08-13 12:30:07 +08:00
sam marshall fc4ca0f91c MDL-62799 tool_dataprivacy: Add capabilities to control data downloads
Patch originally from MDL-61652.
2018-08-13 12:29:46 +08:00
Jun Pataleta e2a2d8424b MDL-62799 tool_dataprivacy: Behat tests for contacting PO
Patch originally from MDL-62026.
2018-08-13 12:29:36 +08:00
Jun Pataleta b6168a9990 MDL-62799 tool_dataprivacy: Allow manual completion of general enquiries
Patch originally from MDL-62026.
2018-08-13 12:29:24 +08:00
Jun Pataleta aaa58a165d MDL-62799 tool_dataprivacy: Merge the data privacy tool in 3.4 2018-08-13 09:07:42 +08:00
Mihail Geshoski 5676f7308f MDL-62341 privacy: Add behat test 2018-08-13 08:00:26 +08:00
Mihail Geshoski 52415401b6 MDL-62341 privacy: Add link to previous page in viewall policies page 2018-08-13 08:00:26 +08:00
Mihail Geshoski 59e3d345a1 MDL-59015 blocks: Confusing View more button in course overview block 2018-08-13 07:59:07 +08:00
Jean-Michel Vedrine 5eb7a89f6f MDL-62761 lesson: wrong deadlines on index with overrides 2018-08-12 07:53:56 +02:00
Andreas Wagner 76847757ec MDL-60114 mod_data: adding db activity lost radio field choose option 2018-08-11 07:45:51 +02:00
Eloy Lafuente (stronk7) e8452a3d0a weekly release 3.4.4+ 2018-08-10 13:22:01 +02:00
Andrew Nicols 2e7ffa7af4 Merge branch 'MDL-62619_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-08-10 08:46:00 +08:00
Eloy Lafuente (stronk7) 283369be28 MDL-62619 privacy: Prevent action when boolean queries are involved
Before the patch, queries like:

SELECT 1 FROM dual UNION SELECT 2 FROM dual

were failing badly, with everything but the first numeric element
being ignored by the optimization.

So, being conservative, now we reduce the query being analysed,
ignoring any subquery, inline view (anything within parenthesis
in general) and, in the remaining query, if a boolean query (UNION,
MINUS, INTERSECT...) is found, we don't apply any optimization.
2018-08-09 16:15:54 +02:00
Eloy Lafuente (stronk7) 3b10f8db20 Merge branch 'MDL-62619-34-privacycontexts' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-08-08 01:03:21 +02:00
Eloy Lafuente (stronk7) 8ad1ba5675 Merge branch 'MDL-43334-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-08-08 00:16:43 +02:00
Eloy Lafuente (stronk7) e08af21694 Merge branch 'MDL-61839-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-07 23:56:34 +02:00
Eloy Lafuente (stronk7) e9fcb3bcf9 Merge branch 'MDL-61870-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-08-07 23:48:49 +02:00
Eloy Lafuente (stronk7) 8a6b47642e Merge branch 'MDL-62750_34' of https://github.com/aanabit/moodle into MOODLE_34_STABLE 2018-08-07 17:23:59 +02:00
David Matamoros b391ba4214 MDL-55744 EDITOR_ATTO: Now atto does not autosave for not loggedin user 2018-08-07 15:24:15 +02:00
David Matamoros cb9ab70513 MDL-58409 core_form: needs clean in autocomplete element 2018-08-07 11:04:36 +02:00
Andrew Nicols 51b1c2b4d6 MDL-62800 behat: Correct path to P&P
This commit was originally a part of MDL-62950
2018-08-07 14:13:34 +08:00
Andrew Nicols d812eb333b Merge branch 'MDL-62798-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-07 13:13:13 +08:00
Andrew Nicols 288710cac2 Merge branch 'MDL-62800-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-07 12:11:52 +08:00
Mihail Geshoski 32c0d93b26 MDL-62800 tool_policy: Add policy plugin in standard_plugins_list() 2018-08-07 11:21:19 +08:00
sarjona 5174d7ad75 MDL-62800 tool_policy: Merge the policy tool to 3.4
The following changes has been done from the original repo:
- Remove README.md, LICENSE.md and .travis.yml
- Review the version.php content, to look like a standard plugin
- Adapt jquery-eu-cookie-law-popup.js and readme_moodle.txt to remove the
eslint-ignore
2018-08-07 11:04:38 +08:00
Andrew Nicols 7c8dadf029 Merge branch 'wip-MDL-61424-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-08-07 09:30:09 +08:00
Amaia Anabitarte 9a0e25e7dd MDL-62750 lang: Trim langlist setting values 2018-08-06 09:41:27 +01:00
Mihail Geshoski 3c1e4d11b7 MDL-62798 repositories: Report sections by name in server repository 2018-08-06 09:54:49 +08:00
Mihail Geshoski 5d10a3e920 MDL-61839 glossary: One letter search in glossary returns all entries 2018-08-06 09:50:38 +08:00
Damyon Wiese 29d815799b MDL-61650 assign: More consistent empty text
Consistently check for empty submissions with count_words(trim($text)).
2018-08-03 16:53:47 +08:00
Andrew Nicols 80ed1e0cd7 weekly release 3.4.4+ 2018-08-03 11:30:24 +08:00
Andrew Nicols c6149d54d6 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-08-03 11:30:22 +08:00
Damyon Wiese 3eaca718a5 MDL-61870 mod_assign: Conditionally backup groups
When group info is not backed up, do not backup assignment submissions or overrides that related to a specific group.
We are already correctly not restoring them, but it is more robust not to include them in the backup file at all.
2018-08-02 13:09:06 +08:00
Zig Tan 3b7ead71a4 MDL-61870 mod_assign: Fix/clean up imported group override duedates
Applying patch supplied from Damyon Wiese to address the root-cause
of this issue in the backup/restore logic.
2018-08-02 13:09:01 +08:00
Zig Tan ae25d0ec2c MDL-61870 mod_assign: Fix/clean up imported group override duedates
- Prevent group override duedate events from being imported when groups are excluded
- Clean up any existing group override duedate events when editing assignment in upgradelib.php
- Updated lib.php unit tests
2018-08-02 13:08:28 +08:00
Andrew Nicols 5f901db7e7 Merge branch 'MDL-59847-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-08-02 11:41:01 +08:00
Andrew Nicols 8266c03f7a Merge branch 'MDL-62983-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-08-02 11:27:51 +08:00
Andrew Nicols 03587989ea MDL-63050 cachestore_redis: Update hExists to check empty 2018-08-02 11:00:42 +08:00
Andrew Nicols 8058d53f6a MDL-63050 redis: Make session check compatible with Redis 4.0 2018-08-02 11:00:42 +08:00
David Mudrák 52b377677a MDL-59847 core: Fix display of hidden identity fields in user selectors
User selectors now respect the user's permission to view other users'
hidden profile fields.
2018-08-02 10:35:25 +08:00
Eloy Lafuente (stronk7) 6cabd9b1f2 Merge branch 'MDL-57666-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-08-02 01:28:10 +02:00
Eloy Lafuente (stronk7) 85e4550689 Merge branch 'MDL-62965-34-userprofilesignup' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-08-02 00:41:45 +02:00
Eloy Lafuente (stronk7) 5636f37daf Merge branch 'MDL-59595-34-2' of git://github.com/snake/moodle into MOODLE_34_STABLE 2018-08-02 00:21:44 +02:00
Eloy Lafuente (stronk7) 71db484a6a Merge branch 'MDL-62977_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-08-01 16:44:15 +02:00
Jonathon Fowler d065231113 MDL-62983 core_user: Hold multiple filters when clicking any link 2018-08-01 12:11:00 +02:00
Eloy Lafuente (stronk7) 5aa54cc598 Merge branch 'MDL-41847-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-07-31 23:51:04 +02:00
David Monllao 389a43143e Merge branch 'm34_MDL-58015' of https://github.com/danmarsden/moodle into MOODLE_34_STABLE 2018-07-31 13:37:16 +02:00
David Monllao 09fd0f485a Merge branch 'MDL-59611-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-07-31 13:31:23 +02:00
David Monllao 0aa0600059 Merge branch 'MDL-44538-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-07-31 11:21:23 +02:00
Jun Pataleta b415e34429 Merge branch 'MDL-58768-34-2' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-07-31 16:16:35 +08:00
Shamim Rezaie 723e5b7533 MDL-58768 mod_assign: Added userid param to calendar callbacks
The mod_assign_core_calendar_is_event_visible and mod_assign_core_calendar_provide_event_action
functions now accept a new parameter ($userid) so they are not always dependet to the logged in user.
2018-07-31 15:45:36 +10:00
Shamim Rezaie 4ac18c8480 MDL-58768 core: Fix a typo for callback name 2018-07-31 15:45:36 +10:00
Shamim Rezaie ec92334c18 MDL-58768 mod_assign: Add $user param to assign::can_grade 2018-07-31 15:45:36 +10:00
Shamim Rezaie 856d6bcaf7 MDL-58768 calendar: Add $requestinguser to the container class
The requesting user is not always the same as the current user. The container class now allows a different user
to be set as the requesting user. All capability checks are done against the requesting user.

Also, the $requestinguser is passed to core_calendar_provide_event_action and core_calendar_is_event_visible
callback functions. These callback functions need to be updated in all activity modules to accept a $user parameter.
2018-07-31 15:45:36 +10:00
Shamim Rezaie b2704139ad MDL-58768 coursecat: coursecat::get to accept a $user parameter 2018-07-31 15:45:35 +10:00
Shamim Rezaie 991850894e MDL-58768 Calendar: Update get_raw_events_legacy_implementation
Update get_raw_events_legacy_implementation to work with the passed $users parameter instead of the logged in user.
Also, fixed a bug where get_raw_events_legacy_implementation was failing when $users was set to true, and a list of
$groups was given.
2018-07-31 15:45:35 +10:00
Shamim Rezaie a20071b2fe MDL-58768 Calendar: Added user param to calendar_set_filters
Decoupled calendar_set_filters from $USER.
Also removed the backward compatibility bit from the function because it was a left over.
2018-07-31 15:44:58 +10:00
Shamim Rezaie c71fe8690c MDL-58768 Calendar: Added userid param to calendar_get_default_courses 2018-07-31 15:31:58 +10:00
Eloy Lafuente (stronk7) 66e70ef537 Merge branch 'MDL-57977-34' of git://github.com/vmdef/moodle into MOODLE_34_STABLE 2018-07-30 21:10:17 +02:00
Eloy Lafuente (stronk7) 0ed13e1936 MDL-63002 core: fixed incorrect calls to non-existent delete_record() 2018-07-30 16:17:24 +02:00
Marina Glancy 01ed2a4b1c MDL-61424 admin: reset registration if token is rejected 2018-07-30 16:13:30 +02:00
Mihail Geshoski f99d2fc276 MDL-57666 repositories: Error when copying file from Dropbox repository 2018-07-30 09:30:41 +08:00
AMOS bot d4079a3b2d Automatically generated installer lang files 2018-07-28 00:08:54 +00:00
David Mudrák e2cbb82469 MDL-62965 core_user: Fix missing user profile fields on signup page 2018-07-27 10:36:47 +02:00
Jun Pataleta aaca3f9244 Merge branch 'MDL-62950-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-07-27 16:18:25 +08:00
David Mudrák b2586b47c6 MDL-62619 privacy: Fix a missing alias in the blog provider class
The new implementation revealed another existing bug that did not expose
before due to coincidently same named table alias in the outer query.
2018-07-27 10:14:33 +02:00
David Mudrák 52bb7f16d3 MDL-62619 privacy: Fix some bits of performance improvements
* We need to use is_numeric() in this case as is_int() would never
  return true.
* Extend the supported cases, add support for SQL consisting just of
  numerical value or selectinga numerical constant.
* Do not rely on any particulat letter case in provided SQL.
* Add unit tests for the new method. Even when it is a protected one, it
  is an essential unit to be tested on its own.
2018-07-27 10:14:33 +02:00
Andrew Nicols 9f3ca3e7ac MDL-62619 privacy: Improve performance of contexts loading
When possible, we want to use JOIN over WHERE IN. It is known that the
later performs badly in MySQL.
2018-07-27 10:14:33 +02:00
David Mudrák bee9ca08af MDL-59847 core: Fix display of hidden identity fields in user lists
Places that display list of users (such as course participants page)
with additional identifier fields now respect the user's permission to
view other users' hidden profile fields.
2018-07-27 10:09:05 +02:00
Sara Arjona 6e09d47fc5 MDL-41847 core_user: Add preferred lang field to the user creation form
The preferred language has been added only to the user creation form.
For existing users, you should access to the user profile, click over
Preferences and go to the Preferred language page.
2018-07-27 09:07:39 +02:00
Sara Arjona 396b60a4c2 MDL-41847 core_user: Add lang to login URL email for new user accounts 2018-07-27 09:07:39 +02:00
Andrew Nicols ebba2fc8d3 MDL-62950 behat: Disable editing for boost test 2018-07-27 11:06:30 +08:00
Andrew Nicols e93427657a MDL-62950 behat: Correct use of nav 2018-07-27 11:02:52 +08:00
Andrew Nicols f1cb7fc6a3 MDL-62950 behat: Correct path to P&P 2018-07-27 11:02:47 +08:00
Mark Nelson 687d4c6aec MDL-62977 mod_wiki: style buttons appropriately 2018-07-27 10:51:38 +08:00
AMOS bot 58829757c3 Automatically generated installer lang files 2018-07-27 00:40:34 +00:00
Dan Marsden f3a4d3fef3 MDL-58015 mod_scorm: set orgidentifier correctly for popup. 2018-07-27 10:37:06 +12:00
Eloy Lafuente (stronk7) e8ebf0f088 weekly release 3.4.4+ 2018-07-26 19:56:45 +02:00
Eloy Lafuente (stronk7) bbc29a982c Merge branch 'MDL-62771-34_move_plag_disclosure' of https://github.com/jmcgettrick/moodle into MOODLE_34_STABLE 2018-07-26 00:39:36 +02:00
Andrew Nicols d2354a36e2 Merge branch 'MDL-60826-34-fix' of https://github.com/lameze/moodle into MOODLE_34_STABLE 2018-07-25 13:42:37 +08:00
Simey Lameze e1f4fdeef0 MDL-60826 calendar: fix group event type logic 2018-07-25 12:50:48 +08:00
Tony Butler c4ebaeccfc MDL-59611 mod_assign: Move help icons for subplugin types out of labels 2018-07-25 12:22:05 +08:00
Andrew Nicols 7aaaf91ff7 Merge branch 'MDL-60826-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-07-25 09:20:14 +08:00
Simey Lameze 0159ae55db MDL-60826 calendar: further performance improvements
This commit does few tweaks and other performance improvements to
calendar_get_allowed_event_types to be more efficient. Also some minor
queries optimizations on the event form to fetch the list of courses
without groups.
2018-07-25 09:03:54 +08:00
Simey Lameze 98e7b3b5bc MDL-60826 calendar: restrict course fields to be retrieved 2018-07-25 09:03:54 +08:00
Simey Lameze b7f4c5d9db MDL-60826 calendar: update manage subscription page to use new function 2018-07-25 09:03:54 +08:00
Simey Lameze e220725ad7 MDL-60826 calendar: lazy load groups on event form 2018-07-25 09:03:54 +08:00
Simey Lameze 7eec9cd236 MDL-60826 calendar: tests for calendar_get_allowed_event_types 2018-07-25 09:03:54 +08:00
Simey Lameze 8105a66d02 MDL-60826 calendar: introduce calendar_get_allowed_event_types function 2018-07-25 09:03:54 +08:00
Eloy Lafuente (stronk7) efa0914c75 Merge branch 'MDL-62961_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-07-25 01:25:02 +02:00
Eloy Lafuente (stronk7) aa7004d325 Merge branch 'MDL-62935-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-07-25 01:17:31 +02:00
Eloy Lafuente (stronk7) d35b833ff1 Merge branch 'MDL-62653-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-07-25 00:39:20 +02:00
Eloy Lafuente (stronk7) f62ab7dcbc Merge branch 'MDL-60874-34-enrolautocomplete' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-07-24 19:06:37 +02:00
Eloy Lafuente (stronk7) ce3f2aec3d Merge branch 'MDL-62925_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-07-24 18:33:05 +02:00
Bas Brands 826725db5b MDL-62935 boost: slideshow view page overflow 2018-07-24 10:27:39 +02:00
Jun Pataleta 9ed6f59d5c Merge branch 'MDL-62919-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-07-24 16:23:01 +08:00
Jun Pataleta 42f4ae18eb Merge branch 'MDL-62939-34-cleanhtmluserdesc' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-07-24 11:58:01 +08:00
Jake Dallimore ab53088e8d MDL-59595 admin: Make sure $ADMIN is properly unset when changing users 2018-07-24 08:33:04 +08:00
Jake Dallimore 3bbb669729 MDL-59595 admin: unit test covering the adminroot cache reset scenario
The adminroot cache should be reset when the current user is changed,
which can occur during cron or during unit tests.
2018-07-24 08:33:04 +08:00
Victor Deniz 215dd70bd7 MDL-57977 search: GlobalSearch by alternate name fields
Enable support for searching all name fields in search
2018-07-23 10:12:28 +01:00
Mark Nelson 9573812fc1 MDL-62961 mod_feedback: style buttons appropriately 2018-07-23 15:49:18 +08:00
Andrew Nicols b82c612bf5 Merge branch 'MDL-35977-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-07-23 15:31:38 +08:00
Jun Pataleta 8962d2972f Merge branch 'MDL-62949-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-07-23 14:53:19 +08:00
Andrew Nicols 7c20db0f18 Merge branch 'MDL-61707-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-07-23 11:41:17 +08:00
Andrew Nicols aa425b569b Merge branch 'MDL-29701-34' of https://github.com/phuchau1509/moodle into MOODLE_34_STABLE 2018-07-23 09:44:23 +08:00
Mihail Geshoski 80418bedc0 MDL-61707 authentication: Remove presignup session upon user signup 2018-07-23 09:33:32 +08:00
Mihail Geshoski 28ec0dff6e MDL-35977 comments: Missing label in blog and assignment comment area 2018-07-23 08:56:06 +08:00
Andrew Nicols 7968c4c46a MDL-62949 calendar: Fix behat nav to calendar 2018-07-20 18:01:45 +08:00
Andrew Nicols 2d6cb43e1e weekly release 3.4.4+ 2018-07-20 15:09:07 +08:00
Andrew Nicols 68bc0a0b80 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-07-20 15:09:06 +08:00
Jake Hau b405813ec0 MDL-29701 editor: mform disableif doesn't work on editor element 2018-07-19 11:35:59 +07:00
David Mudrák 4b6910d319 MDL-62939 user: Fix field type of the user profile description
As this is an editor element field, the it is supposed to be PARAM_RAW.
Otherwise it cleans-up certain non-HTML syntax such as Markdown
blockquote characters.
2018-07-18 14:30:05 +02:00
Jun Pataleta 760e425c62 Merge branch 'MDL-62811_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-07-18 16:12:00 +08:00
Andrew Nicols c87e271a95 Merge branch 'MDL-62889_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-07-18 15:36:50 +08:00
Jun Pataleta c6dc53a0d6 Merge branch 'MDL-62769_34' of https://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-07-18 14:54:17 +08:00
Mark Nelson 23a04bf2cb MDL-62889 message_popup: redirect using moodle_url
Without this relative URLs passed (like /message/index.php)
were being redirected to HOST/message/index.php rather than
$CFG->wwwroot/message/index.php.
2018-07-18 13:25:36 +08:00
Mark Nelson b36383fb42 MDL-62889 message_popup: redirect to notification page if url is empty
If you pass a URL that is not a valid URL (for example
';') it is cleaned to an empty string which redirects to
$CFG->wwwroot/message/output/popup/ which is not a valid
page.
2018-07-18 13:24:57 +08:00
Mark Nelson bf69854d40 MDL-62889 message_popup: allow redirects to external URLs
Many institutions create notifications that link to an
external service. We need to allow redirects to these
systems.
2018-07-18 13:18:15 +08:00
Mark Nelson f52e88ac70 MDL-62889 message_popup: only add redirecturl if it exists
We allow notifications to have a null value for the 'contexturl'.
In this case we should not be appending a 'redirecturl' param to
the URL when it is going to be empty.
2018-07-18 13:16:18 +08:00
Jun Pataleta d0026b8b25 Merge branch 'MDL-62781-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-07-18 10:05:19 +08:00
Jun Pataleta a67cc10051 MDL-62781 core_question: Remove unnecessary assertion 2018-07-18 09:59:51 +08:00
Tim Hunt cf3f82bd18 MDL-62781 question/privacy: fix tests with CodeRunner is installed
The tests were assuming that no plugin ever created questions on
install.

Also change the tests to do the counting in the DB. That is more
efficient.
2018-07-18 09:59:51 +08:00
AMOS bot 2e1dab9f60 Automatically generated installer lang files 2018-07-18 00:07:42 +00:00
cescobedo c6a9858c98 MDL-62919 auth_shibboleth: Use the right shibboleth_auth_instructions
Change $CFG->auth_instructions by shibboleth/auth_instructions in the index_form.html
2018-07-17 21:08:00 +02:00
David Monllao 9c48f36931 Merge branch 'MDL-59447-34' of https://github.com/nwp90/moodle into MOODLE_34_STABLE 2018-07-17 14:35:13 +02:00
David Monllao c0a2bba4e7 Merge branch 'MDL-54830-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-07-17 13:55:20 +02:00
David Monllao c650dd8568 Merge branch 'MDL-61351_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-07-17 12:32:16 +02:00
Tim Schroeder af4c2fb8cf MDL-61351 auth_shibboleth: removed redundant session handler class check 2018-07-17 16:48:22 +08:00
Tim Schroeder 823bbbfc00 MDL-61351 core: added \core\session\manager\get_handler_class()
* This is needed e.g. by the shibboleth logout handler to check which
type of sessions are used.
2018-07-17 16:48:22 +08:00
Mark Nelson 18a937e9d1 MDL-61351 auth_shibboleth: move new functions to separate class
This reduces the amount of code to an already confusing logout.php
file and prevents conflicts if someone else happens to be using
the same function name in a file.
2018-07-17 16:48:22 +08:00
David Monllao b55fa75d03 Merge branch 'MDL-62868-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-07-17 10:20:30 +02:00
Tim Schroeder 2170351cbc MDL-61351 shibboleth: Logout: fix session handler class not being used
* use $CFG->session_handler_class to determine which type of session is
  used
* if not set, use $CFG->dbsession instead
2018-07-17 16:19:13 +08:00
David Monllao 2abfaea271 Merge branch 'MDL-62663_34' of https://github.com/andrewhancox/moodle into MOODLE_34_STABLE 2018-07-17 09:58:47 +02:00
David Monllao efd4bdb490 Merge branch 'MDL-60924-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-07-17 09:39:23 +02:00
Mark Nelson 5d12627609 MDL-62925 mod_wiki: style 'Search wikis' button 2018-07-17 11:31:58 +08:00
Andrew Nicols 52a3e011e3 Merge branch 'MDL-62849-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-07-17 10:37:09 +08:00
Adrian Greeve f1900faf75 MDL-62849 files lib: Add method to return all files.
Added a function which returns all the files from all directories
in the draftarea.
2018-07-17 10:28:22 +08:00
AMOS bot a52a06c744 Automatically generated installer lang files 2018-07-17 00:08:28 +00:00
David Mudrák 33d87fdbc4 MDL-60874 enrol_manual: Improve searching of users in quick enrol UI
* The maximum of users to be displayed raised from 30 to 100. This is
  consistent with the legacy users selector available via enrolment
  methods page.
* If there are more users found matching the search criteria, notify the
  user instead of displaying them. This is to prevent false impression
  that there are only that many users.
* Added behat tests for the new behaviour.
2018-07-16 20:54:40 +02:00
David Mudrák 5015c4229e MDL-60874 core_form: allow autocomplete AJAX handlers return a string
Custom AJAX handlers for the form autocomplete fields can now optionally
return string in their processResults() callback. If a string is
returned, it is displayed instead of the list of suggested items.

The string is displayed same way as we inform about no available
suggestions.
2018-07-16 20:54:40 +02:00
sarjona 44bae9d937 MDL-60924 core_user: Hold participant filters when clicking some link 2018-07-16 18:06:29 +02:00
David Monllao b88a479c6d Merge branch 'MDL-49025-m34' of https://github.com/NeillM/moodle into MOODLE_34_STABLE 2018-07-16 13:35:13 +02:00
David Monllao 982a838ec1 Merge branch 'MDL-61019-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-07-16 13:25:21 +02:00
Andrew Nicols a96703eae4 Merge branch 'MDL-45851_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-07-16 13:18:44 +08:00
Jake Dallimore 6a3aaf1803 MDL-54830 core_course: fix maxbytes logic in course_update web service
The service should allow the special value of 0 (site limit) to be set.
2018-07-16 10:43:33 +08:00
Jake Dallimore 36f47cb5e5 MDL-62868 core_group: clear group_grouping cache when changing grouping 2018-07-16 10:36:48 +08:00
Jake Dallimore ae125e5c39 Merge branch 'MDL-45389-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-07-16 10:12:16 +08:00
Neill Magill 3c5064892c MDL-49025 assign: Submissions of an empty directory should not save
Before this change if only a folder was submitted the submission_is_empty
check would return true. This meant that the draft area would be saved.
The is_empty check would then be called which would return false. This
caused the submission form to indicate to the user that the submission
had failed.

Now is_empty and submission_is_empty should both return false if only
folders are submitted.
2018-07-13 14:05:41 +01:00
Neill Magill dae2f76b7d MDL-49025 assign: Test than an empty directory will not submit 2018-07-13 14:05:41 +01:00
Luca Bösch 7775958575 MDL-61019 Theme boost: lesson display issues with buttons/progress bar. 2018-07-13 09:24:25 +02:00
Luca Bösch e1dc6ff735 MDL-45389 theme_bootstrapbase: Forum index page alignment in clean. 2018-07-13 09:24:08 +02:00
Luca Bösch c9f5af8596 MDL-44538 action_menu: rounded corner of highlights only where needed. 2018-07-13 09:24:00 +02:00
Andrew Nicols d1040fe2b3 MDL-62653 behat: Ensure that tasks run properly from behat 2018-07-13 13:54:15 +08:00
Jake Dallimore a7c1f4497c weekly release 3.4.4+ 2018-07-13 12:26:11 +08:00
Nick Phillips a29d421ac4 MDL-59447 question: GIFT import to respect multichoice defaults
Fix GIFT import to respect default answernumbering for new multichoice
questions (introduced in MDL-50011). Default for shuffleanswers is still
ignored, as this is a rather coarse-grained way to do it, and the wrong
setting for shuffleanswers would irreversibly alter the meaning of some
questions.

This is not an ideal long-term fix, but will save significant effort
for anyone who needs to be able to set answernumbering style for
questions imported in GIFT format.
2018-07-13 13:32:27 +12:00
Andrew Nicols aae5f920ae Merge branch 'MDL-62746-34-fix' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-07-12 16:22:47 +08:00
Jun Pataleta b53c5e3891 MDL-62746 tag: Behat fix for combining tags scenario 2018-07-12 16:04:06 +08:00
David Monllao 30854621a0 MDL-59599 navigation: Respect previous activity-level navigation
The original patch was overwriting grading methods navigation.

All credit goes to Andrew Nicols.
2018-07-12 10:25:34 +08:00
David Monllao 6cc1f2efda Merge branch 'MDL-62618-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-07-11 18:48:22 +02:00
Jake Dallimore 63dc12acea Merge branch 'MDL-62712-34' of https://github.com/HuongNV13/moodle into MOODLE_34_STABLE 2018-07-11 09:02:51 +08:00
Andrew Nicols 8350a4fddd Merge branch 'MDL-52318-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-07-11 08:58:59 +08:00
David Monllao 42a2445ddc Merge branch 'MDL-62262-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-07-10 13:33:30 +02:00
David Monllao c07a557a40 Merge branch 'MDL-62823-m34' of https://github.com/NeillM/moodle into MOODLE_34_STABLE 2018-07-10 11:46:50 +02:00
Andrew Nicols 080bb928ab Merge branch 'MDL-61578-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-07-10 16:46:43 +08:00
Huong Nguyen d49d4dbcd4 MDL-62712 Filepicker: Improve upload process
Lost the uploading file when user press Submit before upload process has done
2018-07-10 15:21:40 +07:00
David Monllao 32b39ec6bb Merge branch 'MDL-62814-34' of https://github.com/HuongNV13/moodle into MOODLE_34_STABLE 2018-07-10 07:51:05 +02:00
Andrew Hancox b88f38e65d MDL-61578 backup: Added unit test for is_course_modified check. 2018-07-10 10:59:52 +08:00
Michael Hawkins af2afaae9b MDL-61578 backup: Prevent backup logging triggering fresh backups.
Thanks to Renaat Debleu for their contribution to this solution.
2018-07-10 10:57:28 +08:00
Andrew Nicols 273e37cba7 Merge branch 'MDL-62746-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-07-10 10:09:17 +08:00
Jake Dallimore a91db9907e Merge branch 'MDL-62772-34_always_show_disclosure' of https://github.com/jmcgettrick/moodle into MOODLE_34_STABLE 2018-07-10 09:00:57 +08:00
David Monllao 2722c38955 Merge branch 'mdl34_MDL-62753' of https://github.com/OdyX/moodle into MOODLE_34_STABLE 2018-07-09 15:15:54 +02:00
David Monllao 662e17e502 Merge branch 'MDL-56881-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-07-09 14:39:21 +02:00
David Monllao be49e1f9cc Merge branch 'MDL-62037-34' of https://github.com/lethevinh/moodle into MOODLE_34_STABLE 2018-07-09 13:48:59 +02:00
David Monllao 5d33da7569 Merge branch 'MDL-62831-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-07-09 13:36:29 +02:00
David Monllao 7f044c1ed4 MDL-59599 navigation: Strict zero-position comparision 2018-07-09 12:27:43 +02:00
David Monllao 4013b661b4 Merge branch 'MDL-59599-34' of https://github.com/Kathrin84/moodle into MOODLE_34_STABLE 2018-07-09 12:00:20 +02:00
Andrew Hancox 8b36e8a5c2 MDL-62663 core_user: Enforce viewalldetails capability when editing user 2018-07-09 09:50:26 +01:00
John McGettrick 61d5685b04 MDL-62772 mod_assign: Show disclosure for all submitters 2018-07-09 09:14:38 +01:00
Andrew Nicols cb932b8692 Merge branch 'MDL-33509-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-07-09 14:02:22 +08:00
Damyon Wiese ee70cf9d15 MDL-43334 backup: Fix cancel JS
The cancel button is a form element within a div that has the confirmcancel class. When we
accept a cancel modal, we should attempt to click the most specific form element of the
div, not the entire div.
2018-07-09 12:18:46 +08:00
Damyon Wiese ad83f25e94 MDL-43334 backup: Lanuage for cancel
Cancel backup buttons need clear lang strings.
2018-07-09 12:18:45 +08:00
Andrew Nicols b54f6d4781 MDL-56093 auth_db: Remove issue no. from comment 2018-07-09 12:14:50 +08:00
Andrew Nicols 8a78198376 Merge branch 'MOODLE_34_STABLE_MDL_56093' of https://github.com/eledia/moodle into MOODLE_34_STABLE 2018-07-09 12:14:46 +08:00
Jake Dallimore ebaabae83d Merge branch 'MDL-61359-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-07-09 12:11:26 +08:00
Jake Dallimore 2eeb189638 MDL-52318 core_form: allow multiple filepicker-enabled url elements
In cases when filepicker support is enabled, this patch adds a wrapper
div around the url element and includes the filepicker id in its id.
This allows the js callback code to target the specific input field
with which it is associated.
2018-07-09 11:34:00 +08:00
Jake Dallimore ea89ce9406 MDL-56881 mod_choice: add unit tests for choice_user_submit_response
Tests cover option limits and multiple option responses.
2018-07-09 11:09:13 +08:00
Jake Dallimore 3dac03b060 MDL-56881 mod_choice: clarify lang string for limit-reached scenarios 2018-07-09 11:08:45 +08:00
Jake Dallimore c58e6ca41e MDL-56881 mod_choice: fix bug with limits when saving existing choice
The check determining whether a choice option's limit was exceeded was
including the user's existing answers in its checks, meaning a user
couldn't save an existing choice answer, or select further options,
if all a choice option limit was reached. This patch fixes that.
2018-07-09 11:08:41 +08:00
Eloy Lafuente (stronk7) 5ebb6eb15c Moodle release 3.4.4 2018-07-07 06:53:43 +02:00
AMOS bot c97874b7a8 Automatically generated installer lang files 2018-07-07 00:08:37 +00:00
Luca Bösch 79e6e5de26 MDL-62262 quiz: quiz index page showing wrong dates. 2018-07-06 15:05:03 +02:00
vinhle ba335d048c MDL-62037 Filepicker: Review image not change when overwrite same 2018-07-06 17:50:34 +07:00
John McGettrick 39e69c1b9b MDL-62771 mod_forum: Move print_disclosure 2018-07-06 09:21:22 +01:00
Andrew Nicols 71e351ec79 weekly release 3.4.3+ 2018-07-06 14:05:10 +08:00
Andrew Nicols 9347c4f8a3 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-07-06 14:05:08 +08:00
Huong Nguyen 7591658a47 MDL-62814 Question: Improve column base display_header
Column base does not support custom tip if sortable is an array
2018-07-06 10:59:38 +07:00
Tim Hunt b05acb6b10 MDL-62811 question bank: rendering shouldn't load individual questions 2018-07-05 17:01:54 +01:00
Benjamin Wolf be616a6fd9 MDL-56093 auth_db: Save custom profile fields in auth_db 2018-07-05 11:12:50 +02:00
Didier 'OdyX' Raboud 79172a41fe MDL-62753 shibboleth: Logout: fix DB sessions kill
* Use the Moodle 2+ {sessions} table, and decode the session
  correctly using session_decode (adodb_unserialize is deprecated).
* Kill all user sessions using \core\session\manager's
  kill_user_sessions.
2018-07-05 09:06:47 +02:00
Michael Hawkins 1d3ff57a88 MDL-62618 user: Display full names consistently on users page 2018-07-05 10:17:16 +08:00
Michael Hawkins d0f3521f27 MDL-62618 forum: Made full names displayed consistent 2018-07-05 10:17:16 +08:00
AMOS bot c1491880fa Automatically generated installer lang files 2018-07-05 00:08:32 +00:00
Kathrin Osswald f3f44ad3d8 MDL-59599 navigation: Improve activity status for nav nodes. 2018-07-04 20:00:56 +02:00
Tim Hunt 3b5086f510 MDL-45851 restore: random questions must always be created
They are really a pointer from a particular quiz to a question category.
They should never be shared, because if they are, unexpected things
happend when they are edited.
2018-07-04 16:30:33 +01:00
Tim Hunt 9dd7b0f7f4 MDL-62820 question import: properly escape output 2018-07-04 15:41:05 +08:00
Jake Dallimore eeefdaebcf Merge branch 'wip-nolink-bug-34' of https://gitlab.di.unito.it/rabellino/moodle into MOODLE_34_STABLE 2018-07-04 14:39:08 +08:00
Damyon Wiese d2761afa21 MDL-62782 assign: viewgrades allows files
Grade viewer role should be able to see feedback files for an assignment submission.
2018-07-04 14:19:24 +08:00
Jake Dallimore 29f7ef8305 Merge branch 'MDL-41463-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-07-04 12:59:44 +08:00
Damyon Wiese 89908c0256 MDL-62831 mod_assign: Download as folders help
The help string for the download as folders setting should not mention the number of files
submitted by the student. It is not related to that, it is only dependant on the value of this setting.
2018-07-04 12:20:50 +08:00
Jake Dallimore 7aeaba8b8b Merge branch 'MDL-44081-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-07-04 10:51:09 +08:00
Andrew Nicols 136f206331 MDL-62834 behat: Move include to function 2018-07-04 10:45:35 +08:00
Eloy Lafuente (stronk7) 80ad7014f9 Merge branch 'wip-MDL-62526-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-07-04 04:19:31 +02:00
Adrian Greeve adbfa2fbfa MDL-62616 tool_log: Add a setting to disable exporting logs. 2018-07-04 10:00:16 +08:00
Eloy Lafuente (stronk7) ed3bf90af1 Merge branch 'MDL-62792_34' of https://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-07-04 00:55:31 +02:00
Eloy Lafuente (stronk7) 3861d07c02 Merge branch 'MDL-62838_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-07-04 00:52:23 +02:00
Eloy Lafuente (stronk7) 131fbed9fb Merge branch 'MDL-62834_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-07-04 00:46:49 +02:00
David Monllao e418005609 Merge branch 'MDL-61296-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-07-03 23:34:25 +02:00
David Monllao 41562c927f Merge branch 'MDL-62656-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-07-03 23:34:25 +02:00
David Monllao d83f207e8a Merge branch 'MDL-60915_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-07-03 23:34:24 +02:00
David Monllao bc1f051c49 Merge branch 'MDL-60014-34-catcherror-nopermission-annotatepdfcron' of https://github.com/Eva-Dv/moodle into MOODLE_34_STABLE 2018-07-03 23:34:24 +02:00
David Monllao 69ae176ca3 Merge branch 'MDL-62813-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-07-03 23:34:23 +02:00
David Monllao 6fef4bfb2f Merge branch 'MDL-32232-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-07-03 14:00:29 +02:00
Michael Hawkins d683aff069 MDL-62767 theme: Remove old localcaches when clearing/updating theme cache 2018-07-03 14:00:51 +08:00
Michael Hawkins 58fba949c4 MDL-61359 message: Updated sender contact text to text node content 2018-07-03 13:33:32 +08:00
Michael Hawkins 032abb1a6f MDL-62801 themes: Added missing filelib include 2018-07-03 13:08:51 +08:00
Marina Glancy 58b1b213ee MDL-62790 course: cap check in core_course_get_categories 2018-07-03 12:04:14 +08:00
Mihail Geshoski 94ac5fce56 MDL-33509 forms: Change button type in url resource editing page 2018-07-03 12:00:03 +08:00
Jake Dallimore eb2f403c10 Merge branch 'MDL-62715-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-07-03 08:50:14 +08:00
Eloy Lafuente (stronk7) af9ae800ee Merge branch 'MDL-62763-34-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-07-02 20:09:27 +02:00
Eloy Lafuente (stronk7) 9cc4cc02cf Merge branch 'MDL-62621-34-ixcomment' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-07-02 20:03:01 +02:00
Helen Foster 23790560f3 MDL-62763 lang: Merge English strings from the en_fix language pack
Significant string change:

* idnumbermod_help,core - mentioning resource and custom reporting
2018-07-02 13:44:38 +02:00
Jake Dallimore c082a46980 Merge branch 'MDL-62801-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-07-02 16:19:30 +08:00
David Mudrák 644a76167a MDL-62621 comments: Add missing indexes on comments table
The composite index over the fields contextid, commentarea and itemid
helps the comments API to load all comments for the given area
effectively.

The index over the userid field helps the privacy API to load all
comments by the given user.
2018-07-02 10:11:51 +02:00
Mihail Geshoski 31f830c2e8 MDL-62656 course: Align elements in course and category management 2018-07-02 08:26:14 +08:00
Eloy Lafuente (stronk7) 7cba6c1671 MDL-60915 core_dml: Change behavior to disabled by default
In stables it was decided to keep the current behavior
(not buffering/cursors) so nothing breaks/changes suddenly.

So this commit just disables the default buffer size used in
Moodle 3.5 and up (100000), defaulting to zero (feature disabled).

Still the feature can be enabled via dboptions and it's docummented
in the config-dist file.
2018-07-02 01:15:49 +02:00
sam marshall 9d97d1e006 MDL-60915 Document new dboption in config-dist.php 2018-07-02 00:46:36 +02:00
sam marshall f83d748f77 MDL-60915 core_dml: fix miscellaneous incorrect recordset usage
The new recordset support for Postgres requires transactions and
will cause errors if recordsets are not closed correctly. This
commit fixes problems that were identified during unit tests, and
via some basic code analysis, across all core code. Most of these
are incorrect usage of recordset (forgetting to close them).
2018-07-02 00:46:26 +02:00
sam marshall 838f07703a MDL-60915 core_dml: get_recordset on Postgres eats all the RAM
On Postgres, get_recordset_sql loads all the results into memory
(within the Postgres library, which doesn't count towards the PHP
memory limit, but does count towards making your server run out of
memory) as soon as the query completes.

This commit changes the code to use cursors, which in Postgres
allow the results to be returned in smaller chunks (by default
100,000 rows).
2018-07-02 00:46:09 +02:00
Tim Hunt 189c996f4f MDL-62838 filters: dont use statics inside functions. Use MUC 2018-06-29 17:25:17 +01:00
Tim Hunt a8887717eb MDL-62834 behat: new step for enabling filters 2018-06-29 11:27:49 +01:00
Neill Magill cc008824ee MDL-62823 filter: Save changes button should be styled 2018-06-29 08:41:48 +01:00
Michael Hawkins dc39780050 MDL-62801 themes: Remove old mustache caches when new one generated 2018-06-29 10:51:09 +08:00
Zig Tan 282e6fe54d MDL-44081 assign: Fix Grader annotation button accessibility ordering 2018-06-29 09:28:46 +08:00
Luca Bösch dccacb6649 MDL-41463 course: Reset remove groups section advanced toggle. 2018-06-28 23:04:34 +02:00
Luca Bösch 7fe6acac9e MDL-32232 lesson: changing a page type chooser option for consistency 2018-06-28 23:04:23 +02:00
Sergio Rabellino 328ec4459f MDL-61403 filter: Fix for the nolink tag ignored
Fix for the nolink tag ignored if there are some other attributes defined in the same span
2018-06-28 11:01:40 +02:00
Simey Lameze 2a643b019e MDL-62813 calendar: add behat test for form validation 2018-06-28 14:12:32 +08:00
Simey Lameze 8291540ae7 MDL-62813 calendar: fix dmlreadexception on event form 2018-06-28 14:12:32 +08:00
Jake Dallimore ec68f39a1b weekly release 3.4.3+ 2018-06-28 14:03:01 +08:00
Marina Glancy 5a4668943d MDL-62526 admin: ask privacy policy agreement for moodle.net 2018-06-28 11:44:23 +08:00
Eloy Lafuente (stronk7) fa38f0302e Merge branch 'MDL-62325-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-06-28 02:06:10 +02:00
Eloy Lafuente (stronk7) 672dacf797 Merge branch 'wip-MDL-62755-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-06-28 01:56:52 +02:00
Eloy Lafuente (stronk7) 681fd03543 Merge branch 'MDL-62747_34' of https://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-06-28 00:32:52 +02:00
Matteo Scaramuccia 50402581d1 MDL-51080 env: warn when running MariaDB w/ wrong dbtype 2018-06-28 00:15:41 +02:00
Jake Dallimore b088c6d89b Merge branch 'MDL-61732-34' of https://github.com/Dagefoerde/moodle into MOODLE_34_STABLE 2018-06-27 12:18:36 +08:00
Eloy Lafuente (stronk7) 7811b73968 Merge branch 'MDL-45088-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-27 03:23:34 +02:00
Eloy Lafuente (stronk7) 08f2d2a061 Merge branch 'MDL-62703-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-06-27 03:17:59 +02:00
Eloy Lafuente (stronk7) 98523f6970 Merge branch 'MDL-62735-34-refactor' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-06-26 10:44:45 +02:00
Eloy Lafuente (stronk7) a73c0c82f0 Merge branch 'MDL-59047-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-06-26 03:05:38 +02:00
Eloy Lafuente (stronk7) 30fca6d09c Merge branch 'MDL-51419-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-06-26 02:42:34 +02:00
Eva Davitasvili ffa3e0e25e MDL-60014 assign: Annotate PDF - catch no permission error 2018-06-25 14:10:06 -04:00
Tim Hunt 215f3c9c25 MDL-62792 filters: fix some bad PHPdocs 2018-06-25 15:55:25 +01:00
Tim Hunt 4b862a14c9 MDL-62792 filter_mathjaxloader: don't use statics for once-only items 2018-06-25 15:55:23 +01:00
Shamim Rezaie 7bb4d2d88e MDL-62325 enrol_paypal: Added some keys and indexes to enrol_paypal.
- Added these keys to the enrol_paypal db: courseid, userid, instanceid
- Added these indexes to the enrol_paypal db: business, receiver_email
2018-06-25 13:01:16 +10:00
Adrian Greeve e57455a92d MDL-62755 mod_assign: Update to unit tests.
Overrides are now checked to be exported properly.
2018-06-25 09:52:37 +08:00
Adrian Greeve aa0a70f203 MDL-62755 mod_assign: Fix override export problem.
The cutoffdate and allowsubmissionsfromdate were not
being exported.
2018-06-25 09:52:37 +08:00
Christian Glahn 4fbb27eb13 MDL-61732 filters: Have emoticons respect nolink
Also extracts static emoticon cache to a field in order to increases
testability of filter_emoticon, because we are now able to reset the
static emoticon cache before tests, particularly for observing the
response to changing $CFG->emoticons.
2018-06-22 10:27:54 +02:00
Jake Dallimore 8e6d95b9cf MDL-51419 core_files: Support for utf8 in file names in MS Edge 2018-06-22 10:30:23 +08:00
Jake Dallimore 8aeacce28a MDL-62735 core_search: searchareas page now respects indexing support 2018-06-22 10:15:12 +08:00
Luca Bösch ebb40e783d MDL-45088 xmldb: Fix table alignment 2018-06-21 19:36:12 +02:00
Tim Hunt e997551349 MDL-62769 quiz statistics: graph should show all, not last, variant 2018-06-21 14:55:30 +01:00
Eloy Lafuente (stronk7) 7b1139543c weekly release 3.4.3+ 2018-06-21 14:01:04 +02:00
Andrew Nicols f720f30fd8 MDL-62715 mod_assign: Bump submissions back when grading in tests 2018-06-21 08:41:24 +08:00
Jun Pataleta 33bce7fa20 Merge branch 'MDL-62017-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-20 19:39:58 +08:00
David Monllao aa7263c202 Merge branch 'MDL-61482-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-06-20 13:29:33 +02:00
cescobedo e21e44b054 MDL-61296 auth_ldap: remove PHP notices when field does not exist. 2018-06-20 11:49:11 +02:00
Luca Bösch e99625f496 MDL-62017 tool_customlang: format language customisation buttons. 2018-06-20 10:54:04 +02:00
Eloy Lafuente (stronk7) 288fe4fe35 Merge branch 'MDL-62014-34' of git://github.com/nashtechdev01/moodle into MOODLE_34_STABLE 2018-06-20 00:57:37 +02:00
Eloy Lafuente (stronk7) 908a8be88b Merge branch 'MDL-36424-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-19 19:20:46 +02:00
Eloy Lafuente (stronk7) 3000c7bd3a Merge branch 'wip-MDL-61786-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-06-19 19:16:51 +02:00
Eloy Lafuente (stronk7) 93bce58feb Merge branch 'MDL-62358-34' of https://github.com/HuongNV13/moodle into MOODLE_34_STABLE 2018-06-19 19:08:59 +02:00
Eloy Lafuente (stronk7) ec78b3cb99 Merge branch 'MDL-44791-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-19 18:59:57 +02:00
Eloy Lafuente (stronk7) 421a61a4fb Merge branch 'MDL-62449-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-06-19 18:52:40 +02:00
Zig Tan ac8b6611c9 MDL-61482 mod_assign: Clean html in offline grading CSV 2018-06-19 23:30:24 +08:00
Tim Hunt 3d2ba2e8f1 MDL-62747 accesslib: rdef caching should handle roles with no caps 2018-06-19 16:26:25 +01:00
Jun Pataleta 98434f6594 MDL-62746 tag: Make forms in tag modals use proper BS classes 2018-06-19 23:23:27 +08:00
Bas Brands d4213e994c MDL-62703 Themes: remove hover styles in course listings 2018-06-19 16:32:41 +02:00
Bas Brands 18c7a47105 MDL-59047 question type: short answer boost styles 2018-06-19 15:50:15 +02:00
David Monllao f601f8fa3f Merge branch 'MDL-62588-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-06-19 12:53:28 +02:00
Jun Pataleta 7090d8002b Merge branch 'MDL-61894-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-19 17:56:42 +08:00
David Monllao 61f06e8430 Merge branch 'MDL-58702-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-06-19 11:55:00 +02:00
Andrew Nicols 0e9bbab80b Merge branch 'MDL-60950-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-06-19 11:41:11 +08:00
Damyon Wiese 8b4346c530 MDL-60950 assign: Update incompatible unit test
Maintain compatibility with unit test changes after MDL-55609.
2018-06-19 10:59:19 +08:00
Damyon Wiese 0877aacab9 MDL-60950 assign: Rename class
testable_assign was renamed to mod_assign_testable_assign
2018-06-19 10:59:18 +08:00
Damyon Wiese 53e833b459 MDL-60950 assign: Robust filtering of grading table
For assignments with gradetype set to none, we need special handling when generating the query to filter submissions that need grading.
2018-06-19 10:59:18 +08:00
Damyon Wiese ba22824230 MDL-60950 assign: Test for the requires grading filter
This test covers when the requires grading filter is applied, but the
assignment has no grade and the feedbackcomments plugin is disabled.
2018-06-19 10:59:18 +08:00
Eloy Lafuente (stronk7) 6742a6f486 Merge branch 'MDL-62638-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-06-19 02:04:09 +02:00
Eloy Lafuente (stronk7) 53be2f2707 Merge branch 'MDL-62571_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-06-19 01:49:58 +02:00
Sara Arjona 368aa15e22 MDL-62449 scorm: Move related data to data in the privacy export 2018-06-18 10:43:56 +02:00
Sara Arjona 55471119bd MDL-62449 scorm: Add SCORM data to privacy export (name, description) 2018-06-18 10:43:55 +02:00
Jun Pataleta d45d70b86b Merge branch 'MDL-62614-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-06-18 16:12:12 +08:00
Jun Pataleta 303aaced3d Merge branch 'MDL-62658_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-06-18 14:36:31 +08:00
Jun Pataleta 784bb185a5 Merge branch 'wip-MDL-62474-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-06-18 14:32:12 +08:00
Mark Nelson 276f6435af MDL-62658 message_popup: fixed issue with malformed URL being generated 2018-06-18 14:31:35 +08:00
Adrian Greeve 4cc042dff7 MDL-62474 theme_boost: Update to provider and unit test.
Theme boost contains a user preference which was not reported
before. Unit tests have been added to test the update.
2018-06-18 14:09:02 +08:00
Willian Mano 49d65dc9ee MDL-62474 theme_boost: Fix Boost privacy provider 2018-06-18 14:08:55 +08:00
Huong Nguyen 70c2cb7266 MDL-62614 Privacy: Core tag provider delete_item_tags function not work 2018-06-18 14:00:50 +08:00
Andrew Nicols 10845183f3 Merge branch 'MDL-62320-34' of git://github.com/vmdef/moodle into MOODLE_34_STABLE 2018-06-18 13:59:31 +08:00
Shamim Rezaie 5dcdf1d1ba MDL-62588 enrol_paypal: Add missing instanceid field 2018-06-18 15:15:50 +10:00
Andrew Nicols 7d0956191d Merge branch 'MDL-57968-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-06-18 09:10:36 +08:00
Victor Deniz ab3759815a MDL-62320 mimetypes: Add JSON to the default mime types list 2018-06-15 13:18:18 +01:00
Damyon Wiese 7621280df1 MDL-62643 assign: Skip empty online text files
Online text assignment submissions with no text entered into the editor should not
create a blank html document for providing feedback.
2018-06-15 13:45:39 +08:00
HungTran b338e8d272 MDL-62014 course: Add title to activity completion button 2018-06-15 10:21:01 +07:00
Zig Tan c53170461f MDL-58702 backup: Fix restoration of role mappings labels
Changes:
- Add logic to retrieve all the existing current roles.
- Apply the backup's role shortname by matching on the archetype.
- Added backup lang string 'undefinedrolemapping'.
2018-06-15 09:56:17 +08:00
Luca Bösch b4fdf0a5a3 MDL-61894 tag: Modal buttons style. 2018-06-14 17:30:50 +02:00
Luca Bösch 8fcf9309bb MDL-44791 admin: Open server check doc links in new window. 2018-06-14 17:29:52 +02:00
Ed Basset 6f5ae7edad MDL-36424 wiki: set group so subwiki tabs/pages display correctly 2018-06-14 17:29:35 +02:00
Huong Nguyen 132169831f MDL-62358 Question: Improve number function
Support all 'question numbers' that might be needed
2018-06-14 19:47:11 +07:00
Eloy Lafuente (stronk7) d8832ae8b9 weekly release 3.4.3+ 2018-06-14 10:56:00 +02:00
Eloy Lafuente (stronk7) 3e7543e81f Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-06-14 10:55:58 +02:00
Mark Nelson 5d42ef7732 MDL-31443 core_backup: change review heading to 'Restore settings' 2018-06-13 18:39:20 +02:00
Luca Bösch adf5986331 MDL-31443 core_backup: revert changes to util/ui/renderer.php 2018-06-13 18:39:19 +02:00
Jun Pataleta a7a630a3f5 Merge branch 'MDL59980_block_bug_34_STABLE' of git://github.com/kristian-94/moodle into MOODLE_34_STABLE 2018-06-13 09:58:33 +08:00
AMOS bot 92c1d10595 Automatically generated installer lang files 2018-06-13 00:08:19 +00:00
Kristian Ringer 6eef69757b MDL-59980 core_admin: Fix bug preventing block modification in settings 2018-06-13 09:33:02 +10:00
Simey Lameze 816b448956 MDL-62446 mod_glossary: optimize provider code 2018-06-12 18:28:31 +02:00
Simey Lameze f0c0534cf8 MDL-62446 mod_glossary: improve privacy unit tests 2018-06-12 18:28:30 +02:00
David Monllao cf482a6e6e Merge branch 'MDL-58063-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-06-12 11:05:53 +02:00
David Monllao c1f3810e42 Merge branch 'MDL-55609-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-06-12 10:20:38 +02:00
Jun Pataleta 1568720496 Merge branch 'wip-MDL-62574-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-06-12 11:55:32 +08:00
Adrian Greeve f136376f51 MDL-62574 core_privacy: Unit tests to check the context base.
This now tests the possibility of a context being deleted.
2018-06-12 11:28:33 +08:00
Adrian Greeve 9bef4c5495 MDL-62574 core_privacy: Check the contextlist for real contexts.
There are situations when contexts will be deleted in the provider.
The context list is not updated and so we have introduced a try
catch.
2018-06-12 11:28:33 +08:00
Andrew Nicols c172b1e2f7 Merge branch 'MDL-62628-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-06-12 09:55:08 +08:00
Andrew Nicols 37e7988513 Merge branch 'MDL-60819-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-06-12 09:27:49 +08:00
Eloy Lafuente (stronk7) 66705e877b Merge branch 'MDL-31443-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-12 01:38:09 +02:00
Michael Aherne 55e47947e5 MDL-62577 unit tests: Quote class name in re-run command. 2018-06-12 00:08:24 +02:00
Leon Stringer fc1b6699df MDL-61786 auth: Changed strings for Test Settings to lang strings
The output strings for the Test Settings function were hard-coded English
strings. They've been changed to standard language strings which can be
translated and maintained via AMOS.
2018-06-11 14:18:46 +08:00
Jake Dallimore 843c3d5242 MDL-60819 core_files: fix exception thrown from generate_image_thumbnail
This function now requires gdlib.php.
2018-06-11 10:46:57 +08:00
Luca Bösch 68d4285fc4 MDL-31443 backup: Title and cancel messages stating import and restore 2018-06-08 11:33:09 +02:00
Mihail Geshoski eb1798f392 MDL-62628 resource: Folder name formatting issue when displayed inline 2018-06-08 08:36:48 +08:00
Mihail Geshoski fa141e42e5 MDL-58063 blocks: Cannot access manage files in HTML block in clean 2018-06-08 08:30:37 +08:00
Eloy Lafuente (stronk7) cad7a07170 weekly release 3.4.3+ 2018-06-07 16:59:57 +02:00
Bas Brands 5275d9edc6 MDL-62638 Theme boost: remove broken css 2018-06-07 16:44:54 +02:00
Jun Pataleta b7ce4d277b Merge branch 'MDL-61826-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-06-06 11:25:17 +02:00
Jun Pataleta 77870cc549 Merge branch 'MDL-46513_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-06-06 11:25:14 +02:00
Jun Pataleta 456651626c Merge branch 'MDL-62586-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-06-06 11:25:11 +02:00
Andrew Nicols 4606d898b0 Merge branch 'm34_MDL-61702_MariaDB_InnoDB10d3d1_Params_Removed' of https://github.com/scara/moodle into MOODLE_34_STABLE 2018-06-06 11:25:07 +02:00
Eloy Lafuente (stronk7) ca9a22327d Merge branch 'MDL-39486-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-06-06 11:25:04 +02:00
David Monllao 2e0fa15542 Merge branch 'MDL-46344-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-06-06 11:25:01 +02:00
Jun Pataleta cf5ed61e0d Merge branch 'MDL-62336_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-06-06 11:24:57 +02:00
Jun Pataleta e266745dd9 Merge branch 'MDL-61778-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-06-06 11:24:54 +02:00
cescobedo 4db0f1446c MDL-57968 core_message: Remove multiple unnecessary AJAX requests
Remove AJAX requests core_message_get_unread_conversations_count and
message_popup_get_unread_popup_notification_count and
render the unread messages and notifications into mustache template.
2018-06-06 11:07:48 +02:00
Jun Pataleta b8df0041ef MDL-61826 auth: Make Facebook endpoints more maintainable 2018-06-06 12:44:55 +08:00
Łukasz Szeremeta e5b9894cb1 MDL-61826 auth: Facebook OAuth2 - getting a better-quality profile photo
Get 200x200 px instead of 50x50 px user profile picture from Facebook OAuth2.
2018-06-06 12:44:55 +08:00
Bas Brands 82082aef16 MDL-62586 Themes: use Boostrap media compontent for author display 2018-06-05 15:14:22 +02:00
Luca Bösch 3149273dc0 MDL-62605 core_user: course name filter in unenrol modal. 2018-06-05 08:12:10 +02:00
Luca Bösch c5999e9816 MDL-46344 outputrenderers: Localize 'This page is'. 2018-06-01 11:43:54 +02:00
Michael Hawkins 40e7951409 MDL-61778 message: Renamed online status icon and replaced Boost icon 2018-06-01 10:25:24 +08:00
Andrew Nicols 572c939ec2 MDL-55609 assignfeedback_comments: Remove shared setUp 2018-06-01 07:33:14 +08:00
Andrew Nicols 6f1bf92b2f MDL-55609 mod_assign: Move fixture to folder 2018-06-01 07:33:14 +08:00
Andrew Nicols aea6fc7e83 MDL-55609 mod_assign: Remove shared setUp for all tests 2018-06-01 07:33:12 +08:00
Andrew Nicols 5e3bc5f34f MDL-55609 testing: Add a create_and_enrol helper 2018-06-01 07:32:25 +08:00
Matteo Scaramuccia 7d91d88601 MDL-61702 dml: MariaDB 10.3 supports only the Barracuda file format.
More details about this change also in https://tracker.moodle.org/browse/MDL-59099

Ref.: https://mariadb.com/kb/en/library/mariadb-1031-release-notes/#other-variables
2018-05-31 23:00:08 +02:00
Mark Nelson 6a1bb0f2be MDL-62571 mod_forum: fixed redirection URLs 2018-05-31 21:15:57 +08:00
David Monllao 8ebe976393 weekly release 3.4.3+ 2018-05-31 08:39:35 +02:00
Andrew Nicols de6d69b43e Merge branch 'MDL-57486-34-fix' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-05-30 13:27:31 +08:00
Jun Pataleta 43ae2182a9 MDL-57486 tool_recyclebin: Close the files recordset properly 2018-05-30 13:16:39 +08:00
Andrew Nicols b8bc620619 Merge branch 'MDL-57600-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-05-30 09:19:05 +08:00
Andrew Nicols 999fcfaa9f MDL-57486 tool_recyclebin: Coding style fix 2018-05-30 08:35:38 +08:00
Andrew Nicols f722092645 Merge branch 'm34_MDL-57486' of https://github.com/danmarsden/moodle into MOODLE_34_STABLE 2018-05-30 08:35:17 +08:00
Dan Marsden 92a2087415 MDL-57486 tool_recyclebin: Delete items when context already deleted. 2018-05-29 14:26:02 +12:00
Jun Pataleta 8ee54d3a01 Merge branch 'MDL-56498-34' of git://github.com/mickhawkins/moodle into MOODLE_34_STABLE 2018-05-29 09:37:05 +08:00
David Monllao c2036ae370 Merge branch 'MDL-62316_oauth_guess_image_fix_34_STABLE' of https://github.com/leonstr/moodle into MOODLE_34_STABLE 2018-05-28 16:48:57 +02:00
David Monllao 85b0aa82b5 Merge branch 'wip-MDL-62584-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-28 16:32:22 +02:00
David Monllao 2bb95d9c5a Merge branch 'MDL-42779-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-05-28 11:43:02 +02:00
Mark Nelson 86e3a67a95 MDL-62336 media_videojs: ensure videos have unique IDs 2018-05-28 16:44:46 +08:00
Luca Bösch 000e6f4975 MDL-42779 course: Pagination in management page preserves view action 2018-05-28 10:37:08 +02:00
Mark Nelson 9963253093 MDL-46513 mod_chat: pass has_capability result to fullname function 2018-05-28 15:53:10 +08:00
David Monllao 3753139ffe Merge branch 'MDL-57742_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-28 09:16:55 +02:00
David Monllao 8359822423 Merge branch 'm34_MDL-59596_DDL_Issues_With_MariaDB_10p2_SQLMode' of https://github.com/scara/moodle into MOODLE_34_STABLE 2018-05-28 08:19:35 +02:00
Mark Nelson 6c4ffecc59 MDL-57742 core_lib: Updated readme_moodle.txt 2018-05-28 13:14:02 +08:00
David Balch 2d8ba1ea5e MDL-57742 core_lib: Make tool_consumer_instance_guid optional
In the specification, tool_consumer_instance_guid is only listed
as recommended. However, the library was requiring it.

https://www.imsglobal.org/specs/ltiv2p0/implementation-guide#toc-42
2018-05-28 13:13:55 +08:00
Andrew Nicols cb6b89a3e6 Merge branch 'MDL-62515-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-05-28 12:30:17 +08:00
Marina Glancy d5897a6b17 MDL-62584 xmlrpc: return correct content-length 2018-05-28 11:20:08 +08:00
Simey Lameze e04ac51a29 MDL-57600 course: fix typo on courselib test 2018-05-28 09:42:11 +08:00
Alex 39a586d2fa MDL-57600 format: Fix spelling errors 2018-05-28 09:42:10 +08:00
Jun Pataleta eb7b1a9688 Merge branch 'MDL-61832-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-05-28 09:20:59 +08:00
Andrew Nicols e5434384e5 MDL-62543 mod_forum: Add RSS Unit tests 2018-05-28 08:54:58 +08:00
Andrew Nicols c5e1d2e5d2 Merge branch 'MDL-62543-34' of git://github.com/tobiasreischmann/moodle into MOODLE_34_STABLE 2018-05-28 08:54:46 +08:00
Eloy Lafuente (stronk7) bad2f9df33 Merge branch 'MDL-62408_34_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_34_STABLE 2018-05-28 02:15:39 +02:00
Mihail Geshoski 27b62bbaf4 MDL-39486 lesson: Length of label text too narrow in matching questions 2018-05-25 10:03:14 +08:00
Luca Bösch 9e1acf813b MDL-61832 lesson: don't hide lesson page editing options 2018-05-24 15:43:28 +02:00
David Monllao 9cf74e2636 weekly release 3.4.3+ 2018-05-24 10:45:59 +02:00
Tobias Reischmann 708dca3400 MDL-62543 forum: Switched the usage of the deleted flag for rss
The deleted flag was introduced through the Privacy API and was used
for post selection for the rss feed. In there it was used in the
wrong way, which lead to the exclusion of all non deleted posts instead
of excluding all deleted ones.
This commit fixes this problem.
2018-05-23 14:24:11 +02:00
Simey Lameze 951febb2a8 MDL-61189 editor_tinymce: save data before submitting 2018-05-23 10:48:50 +08:00
Jake Dallimore dde3643075 Merge branch 'MDL-61932-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-05-23 10:03:09 +08:00
Jun Pataleta 1fc9b813b2 MDL-61932 mod_glossary: Fetch the correct front page section 1 ID 2018-05-23 09:58:40 +08:00
Jun Pataleta a8662028ab MDL-61932 mod_glossary: Display site-level glossaries on section 1
* Glossary activities created on the front page by importing
entries are being added to section 0, but the front page only shows
activities on section 1.
2018-05-23 09:58:37 +08:00
Leon Stringer 1755077688 MDL-62316 OAuth 2: Only guess image if base URL set.
If you added an OAuth 2 service with no base URL guess_image() would try to
parse this empty value looking for a favicon.ico.  We now check if the base
URL is empty beforehand and skip this if so.
2018-05-22 19:46:12 +01:00
Jun Pataleta 41d477d8d6 Merge branch 'wip-MDL-62239-34' of https://github.com/Beedell/moodle into MOODLE_34_STABLE 2018-05-22 10:05:06 +08:00
Andrew Nicols 7c8dc9bc0d Merge branch 'MDL-62482_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-05-22 09:42:40 +08:00
Andrew Nicols 69471d8f81 Merge branch 'MDL-62488_34_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_34_STABLE 2018-05-22 09:31:41 +08:00
Jake Dallimore e41a1d1409 Merge branch 'MDL-61015-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-05-22 08:15:30 +08:00
Eloy Lafuente (stronk7) 48dbc763c9 Merge branch 'MDL-62500-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-21 13:37:48 +02:00
John Beedell e306188732 MDL-62239 QTYPE: iOS 11.3 broke Moodle drag-drop question types 2018-05-21 11:50:36 +01:00
David Monllao 137508e70f Merge branch 'm34_MDL-61893_Accept_Any_Node_Carbon_Version' of https://github.com/scara/moodle into MOODLE_34_STABLE 2018-05-21 12:04:50 +02:00
Luca Bösch 32211803c3 MDL-61015 course: consistently display hidden sections
This commit moves the availability info on top.
2018-05-21 11:33:57 +02:00
Marina Glancy eeb84ca381 MDL-61015 course: consistently display hidden sections
When section is hidden but the course setting says to show hidden sections display the hidden
sections consistently with how we display the sections with access restriction.

The only difference is that we didn't previously display the summary of the hidden section
in this case, the new logic repeats this behavior
2018-05-21 11:33:57 +02:00
David Monllao 5aa946dda7 Merge branch 'MDL-62516-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-21 11:15:15 +02:00
Jun Pataleta 88d0b05172 Merge branch 'MDL-62229-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-05-21 17:04:16 +08:00
Jake Dallimore f25a5f42ea Merge branch 'MDL-62440_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-05-21 14:56:05 +08:00
Andrew Nicols 841b8c5e34 MDL-62516 mod_forum: Only delete files for requested user 2018-05-21 14:12:49 +08:00
Michael Hawkins 81a8c42a15 MDL-56498 message: Ensure clicked notifications are marked read 2018-05-21 13:08:58 +08:00
Jun Pataleta c23417e9ad MDL-62515 templates: Remove unnecessary button role for submit button 2018-05-21 09:33:32 +08:00
Andrew Nicols dc387ce16f Merge branch 'MDL-62386-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-05-21 09:11:44 +08:00
Andrew Nicols 63e64aa6cb MDL-62500 tag: Update checkbox label when updating tag 2018-05-20 15:15:37 +08:00
Matteo Scaramuccia dd61328be3 MDL-61893 JavaScript: Bumped npm packages
Performed by removing the current 'npm-shrinkwrap.json' file:
$ rm -Rf node_modules
$ rm -f npm-shrinkwrap.json
$ npm install
$ npm shrinkwrap
2018-05-18 00:34:14 +02:00
Matteo Scaramuccia 4cc2b64cb6 MDL-61893 JavaScript: Accept any node version but Carbon (LTS) 2018-05-18 00:34:14 +02:00
Mark Johnson 83acfca76a MDL-62488 filebrowser: Stop unit tests assuming number of categories 2018-05-17 16:02:28 +01:00
Tim Hunt d7cdf10744 MDL-62482 file_storage: may have many files with same content hash 2018-05-17 11:25:12 +01:00
Tim Hunt a534d3e044 MDL-62440 participants: out-of-memory is many site-wide role assigns 2018-05-17 10:44:30 +01:00
Eloy Lafuente (stronk7) 05a434229c Moodle release 3.4.3 2018-05-16 18:42:18 +02:00
Marina Glancy e5c3ba2df9 MDL-62469 qtype_calculated: check remaining placeholders, see MDL-62275 2018-05-16 17:30:09 +02:00
David Monllao 2f3bcbc5ce Merge branch 'MDL-62456_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-16 08:58:47 +02:00
Andrew Nicols 4c2a5ce403 Merge branch 'wip-MDL-62147-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-16 14:28:13 +08:00
Jun Pataleta 97a800149c Merge branch 'MDL-62463-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-16 14:21:51 +08:00
Frédéric Massart 9510c3c535 MDL-62147 core_grades: Report contexts and data related to scales 2018-05-16 13:56:14 +08:00
Marina Glancy 5c1b473931 MDL-62147 core_grades: Declare metadata of scales and import tables 2018-05-16 13:56:14 +08:00
Marina Glancy f2f7255f7b MDL-62147 portfolio: add missing tables to privacy provider 2018-05-16 13:56:11 +08:00
Marina Glancy 3a20fb23a5 MDL-62147 privacy: unittest ensures that all tables covered 2018-05-16 13:56:07 +08:00
Andrew Nicols 6f0e3c70a9 MDL-62463 mod_glossary: Fix SQL query
The query was doing:
WHERE c.id ... AND ... OR ... OR ...

Which equates to:
WHERE (c.id ... AND ...) OR ... OR ...

Adding parens to:
WHERE (c.id ... AND (... OR ... OR ...))
2018-05-16 13:51:17 +08:00
Marina Glancy 212b6daf32 MDL-62147 privacy: corrections to tables, temporary tables 2018-05-16 12:46:24 +08:00
Mark Nelson d5f69f0c5c MDL-62456 mod_lti: add missing add_external_location_link call 2018-05-16 12:23:06 +08:00
Jake Dallimore b066f554c4 Merge branch 'MDL-62134-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-16 12:02:30 +08:00
Andrew Nicols e6a65ee796 MDL-62134 core_privacy: Allow for a failure handler 2018-05-16 11:52:46 +08:00
Andrew Nicols d44adb98f6 Merge branch 'MDL-62426-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-05-16 11:00:55 +08:00
Jake Dallimore 321d41a022 MDL-62426 core_enrol: control enrolment subcontexts at the provider
Added a function to the core_enrol provider allowing enrol plugins
to set their subcontext relative to a fixed 'enrolments' parent dir.
2018-05-16 10:23:24 +08:00
Jake Dallimore 2f477b5764 MDL-62426 enrol_flatfile: make provider a plugin provider
The enrol_flatfile table can contain userdata relating to pending
enrolments, so this should be exported and deleted as necessary.
2018-05-16 09:38:11 +08:00
Marina Glancy 8596627666 MDL-62134 privacy: consistantly call components methods 2018-05-16 09:05:45 +08:00
Eloy Lafuente (stronk7) 7f7e03e923 Merge branch 'MDL-62447_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-05-16 01:26:16 +02:00
Eloy Lafuente (stronk7) f9d6769ecd Merge branch 'MDL-62448-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-15 17:29:15 +02:00
Sara Arjona dc15df1651 MDL-62448 block_rss_client: Export all feeds from Privacy API 2018-05-15 14:26:55 +02:00
David Monllao 17d4aeacb4 Merge branch 'MDL-62228_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-15 13:31:50 +02:00
David Monllao 4d2dc4246d MDL-62447 user: Fix component name typo 2018-05-15 10:45:24 +02:00
Mark Johnson d577e027b6 MDL-62408 behat: Correct PHPUNIT_TEST checks in behat_config_util 2018-05-15 09:12:53 +01:00
David Monllao 08c3480834 weekly release 3.4.2+ 2018-05-15 09:42:13 +02:00
David Monllao 67d10dd9f3 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-05-15 09:42:11 +02:00
Mark Nelson 13a215ee8f MDL-62228 core: remove unnecessary context check in privacy providers 2018-05-15 11:59:38 +08:00
Andrew Nicols 8b90c6d421 Merge branch 'MDL-62444-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-05-15 11:39:09 +08:00
Andrew Nicols 1087c7ecf6 Merge branch 'MDL-62428_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-15 11:05:40 +08:00
Zig Tan a7a2e52230 MDL-62444 mod_assignment: Fix missing lang string. 2018-05-15 09:54:23 +08:00
Jun Pataleta a061b37c9f Merge branch 'MDL-62432-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-15 09:34:11 +08:00
Andrew Nicols a7e25a4743 MDL-62432 quiz: Check contexts more carefully 2018-05-15 09:25:51 +08:00
Eloy Lafuente (stronk7) 6ed7752d77 Merge branch 'MDL-62430_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-05-15 02:56:13 +02:00
AMOS bot 3d519e9028 Automatically generated installer lang files 2018-05-15 00:06:29 +00:00
David Monllao cca4584795 MDL-62430 block_html: Check that block instances are block_html 2018-05-14 17:07:12 +02:00
David Monllao 285d723271 Merge branch 'MDL-62370-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-14 16:00:58 +02:00
Andrew Nicols 862b48ec3e Merge branch 'MDL-62356-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-14 21:01:44 +08:00
Andrew Nicols 2c00480315 Merge branch 'MDL-62357-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-14 20:45:12 +08:00
Andrew Nicols 93476477d6 MDL-62370 core_privacy: Directory-less subsystems are compliant 2018-05-14 20:01:35 +08:00
Marina Glancy 755fe15718 MDL-62430 privacy: validate context when deleting all user data 2018-05-14 18:14:04 +08:00
David Monllao 38899f4068 Merge branch 'MDL-62425-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-14 10:59:06 +02:00
cescobedo 07e77422e6 MDL-62356 enrol_meta: Add privacy implementation for enrol_meta 2018-05-14 10:57:44 +02:00
cescobedo 2e2bfe1c8e MDL-62357 enrol_cohort: Add privacy implementation for enrol_cohort 2018-05-14 10:50:06 +02:00
Andrew Nicols b04d01c29e MDL-62425 core: Add privacy implementation 2018-05-14 15:42:59 +08:00
Andrew Nicols 67b4cde9bd MDL-62425 core_privacy: Add core to the list of components 2018-05-14 15:42:05 +08:00
Mark Nelson e1baf5e1d6 MDL-62428 core: fix incorrect early return in privacy providers 2018-05-14 13:07:49 +08:00
Jake Dallimore 0f82392c8b Merge branch 'MDL-62420-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-14 11:58:13 +08:00
Jake Dallimore a023256c41 Merge branch 'MDL-62393-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-14 09:37:57 +08:00
Andrew Nicols 108ed14f1d MDL-62420 enrol_lti: Fix random unit test fail in privacy 2018-05-14 08:44:10 +08:00
Eloy Lafuente (stronk7) d419fe2ccf Merge branch 'MDL-62371-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-14 02:42:04 +02:00
Eloy Lafuente (stronk7) d70da80b82 Merge branch 'MDL-62251-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-13 23:56:20 +02:00
Andrew Nicols 8ef2cc73c7 MDL-62371 core_privacy: Add support for progress trace 2018-05-13 15:45:24 +08:00
AMOS bot 2e764430b3 Automatically generated installer lang files 2018-05-13 00:06:43 +00:00
Andrew Nicols 644c42f936 MDL-62393 message: Fix random unit test fails 2018-05-12 22:54:29 +08:00
Eloy Lafuente (stronk7) 6df0fa92f3 weekly release 3.4.2+ 2018-05-12 12:56:48 +02:00
Eloy Lafuente (stronk7) a274f62195 MDL-62275 qtype_calculatedmulti: Fix typo 2018-05-11 21:17:25 +02:00
David Monllao c941c541b4 MDL-62029 core_course: Site format is not a standard plugin 2018-05-11 20:19:25 +02:00
Eloy Lafuente (stronk7) 6204ed292e Merge branch 'MDL-62384-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-11 18:27:58 +02:00
David Monllao 3c4be4e9f5 Merge branch 'MDL-61858_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-11 18:07:10 +02:00
David Monllao 2489791a70 Merge branch 'MDL-62368_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-11 17:59:30 +02:00
Bas Brands 75bff87d18 MDL-62386 theme: Fix audio playback display for HTML audio
Fixed for boost
Fixed for bootstrapbase
2018-05-11 14:52:53 +02:00
Mark Nelson e0700b4c79 MDL-61858 tool_phpunit: added missing privacy null provider 2018-05-11 19:39:43 +08:00
Mark Nelson 91fdd3b806 MDL-61858 gradingform_guide: added missing metadata implementation 2018-05-11 19:39:43 +08:00
Mark Nelson a4a05cffdb MDL-61858 core_portfolio: added missing metadata implementation 2018-05-11 19:39:43 +08:00
Andrew Nicols 039f5b0472 MDL-61858 core_privacy: Add test to ensure component implementations 2018-05-11 19:39:43 +08:00
Sara Arjona 4a6aa192a0 MDL-61951 core_grading: Review SQL to avoid Oracle errors 2018-05-11 13:35:34 +02:00
David Monllao c4a24dbc2e Merge branch 'MDL-61714-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-11 11:31:36 +02:00
Sara Arjona 1f89dde34f MDL-61714 admin: Removed Slovenian digital age 2018-05-11 10:12:51 +02:00
Shamim Rezaie 5604f5977f MDL-62251 Privacy: Fix dir separator in export_file() 2018-05-11 17:33:08 +10:00
Shamim Rezaie 6d882faecf MDL-62251 Privacy: Url path separator should be platform independant
It should always be forward slash.
2018-05-11 17:31:23 +10:00
Shamim Rezaie b561a9a3c2 MDL-62251 Privacy: Fix get_path() and get_full_path() bug in Windows 2018-05-11 17:27:49 +10:00
Shamim Rezaie 836f8eb62e MDL-62251 backup: Fix replace_tempdir() bug under Windows
rename() fails under Windows if the destination file/directory exists.
I modified the code to only call $this->get_workdir_path() once as that function
creates the directory if doesn't exist. And we don't want that considering the
behaviour of rename on Windows.
2018-05-11 17:19:12 +10:00
Eloy Lafuente (stronk7) 5bcf683030 MDL-62354 notes: Reduce string to avoid js_call_amd() lenght limits
That way we are under the max 1024 allowed and also, the help string
is shown properly in the modal (previously part of it was not visible
falling off-window).
2018-05-11 14:53:12 +08:00
Jun Pataleta 3403ae0f9d Merge branch 'MDL-62394-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-11 14:23:33 +08:00
Andrew Nicols 6e7bc3a86a MDL-62394 privacy: Make JSON export pretty 2018-05-11 14:12:40 +08:00
Mark Nelson cd674a6d1d MDL-62368 enrol_lti: implement privacy provider 2018-05-11 14:06:13 +08:00
Mihail Geshoski 9b5778fcd1 MDL-62384 privacy: Modify user contexts query for auth_oauth2 2018-05-11 11:14:12 +08:00
Andrew Nicols 2986db7b8d MDL-62384 core_rating: Move WHERE clauses to JOIN 2018-05-11 11:14:11 +08:00
Andrew Nicols 75f2840454 MDL-62384 core_grade: Move WHERE clause to JOIN 2018-05-11 11:14:11 +08:00
Andrew Nicols 0d91ed2942 MDL-62384 mod_lesson: Move WHERE clause to JOIN 2018-05-11 11:14:11 +08:00
Andrew Nicols b2b8f037de MDL-62384 logstore_standard: Remove unnecessary join on context 2018-05-11 11:14:10 +08:00
Andrew Nicols 0011785c0a MDL-62384 mod_quiz: Improve performancy of privacy queries 2018-05-11 11:14:10 +08:00
Adrian Greeve bfd070b711 MDL-62384 mod_data: Update sql to improve performance. 2018-05-11 11:14:10 +08:00
Adrian Greeve 53616ddb09 MDL-62384 tool_monitor: Update to sql to fix performance. 2018-05-11 11:14:09 +08:00
Adrian Greeve 9c10ba6e78 MDL-62384 core_competency: Update to sql to increase performance. 2018-05-11 11:14:09 +08:00
Adrian Greeve db2797b58c MDL-62384 core_completion: Update to sql to improve performance. 2018-05-11 11:14:09 +08:00
Adrian Greeve a50cb83349 MDL-62384 mod_assign: Update to sql query for performance. 2018-05-11 11:14:08 +08:00
Andrew Nicols 25e366c3f5 Merge branch 'wip-MDL-61814-34-fix' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-05-11 10:49:23 +08:00
Adrian Greeve df986a59fc MDL-61814 report_stats: Update to sql to increase performance. 2018-05-11 10:43:57 +08:00
Jake Dallimore 78f478c00b MDL-61951 core_grading: SQL improvements for grading_instance join 2018-05-11 10:19:50 +08:00
Jake Dallimore 031a7948f1 Merge branch 'MDL-61951-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-11 10:19:46 +08:00
Jun Pataleta 0c1f7db133 Merge branch 'MDL-62117-34-fix' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-11 09:31:43 +08:00
Andrew Nicols 3fa0cd9708 MDL-62117 enrol_paypal: Improve SQL efficiency 2018-05-11 09:30:10 +08:00
Tim Hunt 023c3d4f0d MDL-62275 qtype_calc*: improve validation of formulae
Many thanks to Marina Glancy for helping with this.
2018-05-11 01:28:47 +02:00
David Monllao 20f9ff3a10 Merge branch 'MDL-62366-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-05-10 18:14:10 +02:00
David Monllao 464a6c7f7e Merge branch 'MDL-61714-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-10 18:10:55 +02:00
David Monllao 43f86202dc Merge branch 'MDL-62200-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-05-10 18:04:26 +02:00
David Monllao 0cd244b5c7 Merge branch 'MDL-61949-34-privacy-upgrade-txt' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-05-10 17:53:16 +02:00
Jake Dallimore 1d49ba282a MDL-61951 core_grading: Several fixes to the privacy implementation
- Fixed legacy polyfill method definitions
- Added unit test for legacy polyfill
- Fixed delete_gradingform_for_userid in gradingform provider
2018-05-10 13:27:21 +02:00
Sara Arjona 500a03f9ed MDL-61951 grading: Implement privacy API 2018-05-10 13:27:20 +02:00
Andrew Nicols 74d018c3e0 MDL-61905 mod_workshop: Adjust privacy SQL queries
This change moves the content of WHERE to the JOIN, thus filtering the
results before they are returned. This reduces the number of joined rows
which gives a big performance benefit.
2018-05-10 13:05:48 +02:00
David Mudrák 0628adc6c7 MDL-61949 privacy: Add mention of the new API in upgrade.txt files
The notice is explicitly repeated for activity modules because they
usually process user data heavily.
2018-05-10 12:01:09 +02:00
Eloy Lafuente (stronk7) 4f53102a9e Merge branch 'MDL-62354-34-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-05-10 11:38:50 +02:00
Sara Arjona 3c3451b1b6 MDL-61714 admin: Update digital age consent map according legislation 2018-05-10 10:33:17 +02:00
David Monllao 29d090c15c Merge branch 'MDL-61309-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-10 08:48:19 +02:00
Andrew Nicols 500146d1e6 MDL-61309 mod_forum: Improve privacy query performance 2018-05-10 14:06:30 +08:00
Marina Glancy 6cc7e8cd51 MDL-62206 blocks: do not add fixed form elements as hidden 2018-05-10 12:08:56 +08:00
Adam Olley 18a3db531e MDL-62210 mod_assign: limit file lookup to the target assign 2018-05-10 11:21:58 +08:00
Brendan Cox 00781f3590 MDL-62210 mod_assign: improved validation in portfolio caller class 2018-05-10 11:21:58 +08:00
Jake Dallimore 475d4345ca Merge branch 'MDL-62383-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-05-10 10:03:57 +08:00
Jun Pataleta 569e2aae3b MDL-62383 privacy: Close recordset in contextlist::add_from_sql() 2018-05-10 09:56:48 +08:00
Jake Dallimore eb0b01e3c9 MDL-62257 mnetservice_enrol: minor fixes to privacy provider 2018-05-10 09:37:46 +08:00
Jake Dallimore 6147acceba Merge branch 'MDL-62257-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-10 09:37:40 +08:00
Eloy Lafuente (stronk7) 5c581ac980 Merge branch 'MDL-61309-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-10 09:18:59 +08:00
David Monllao fe99227626 Merge branch 'MDL-62308_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-10 09:18:59 +08:00
David Monllao a586c08def MDL-61976 mod_wiki: Trim returned value to avoid EOF-related failures 2018-05-10 09:18:59 +08:00
Andrew Nicols 9db4483076 Merge branch 'wip-MDL-62351-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-10 09:18:58 +08:00
David Monllao 927fe3ce99 Merge branch 'MDL-62249-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-05-10 09:18:58 +08:00
Andrew Nicols b53663e359 Merge branch 'MDL-62217_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-05-10 09:18:57 +08:00
Andrew Nicols 3e88f8e7d1 Merge branch 'MDL-62269-34' of git://github.com/vmdef/moodle into MOODLE_34_STABLE 2018-05-10 09:18:57 +08:00
David Monllao 608cb5dcc0 Merge branch 'wip-MDL-61976-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-10 09:18:56 +08:00
David Monllao d99070f10e MDL-61994 mod_glossary: Fixing wrong subsystem name 2018-05-10 09:18:56 +08:00
David Monllao 9b7163faf1 Merge branch 'MDL-61994-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-05-10 09:18:55 +08:00
David Monllao 40e290fe27 Merge branch 'MDL-61309-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-10 09:18:55 +08:00
Brendan Cox f53c4b18b4 MDL-62232 mod_forum: Additional tests for portfolio file export 2018-05-10 09:18:55 +08:00
Adam Olley ef56dcb9dd MDL-62232 mod_forum: Limit portfolio to files belonging to the post 2018-05-10 09:18:54 +08:00
Andrew Nicols 1e0ca61d45 Merge branch 'MDL-61905-34-privacyworkshop' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-05-10 09:18:54 +08:00
Andrew Nicols adb4e9b55e Merge branch 'MDL-62029-34-2' of git://github.com/snake/moodle into MOODLE_34_STABLE 2018-05-10 09:18:53 +08:00
Jun Pataleta 31f20b9309 Merge branch 'MDL-62332-34' of git://github.com/bmbrands/moodle into MOODLE_34_STABLE 2018-05-10 09:18:53 +08:00
Andrew Nicols 472770e15e Merge branch 'MDL-62318-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-10 09:18:52 +08:00
Andrew Nicols 8a5c22a052 Merge branch 'MDL-62117-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-10 09:18:52 +08:00
Marina Glancy 32df854591 MDL-62233 portfolio: check caller parent class 2018-05-10 09:18:51 +08:00
Zig Tan 42caaedf5e MDL-62366 mod_assign: Followup fix for attemptnumber in exported JSON 2018-05-10 09:18:46 +08:00
Andrew Nicols 1813fb1019 MDL-61309 mod_forum: Remove unnecessary deletion check 2018-05-10 07:48:13 +08:00
Helen Foster b909153fef MDL-62354 lang: Merge English strings from the en_fix language pack
* publishstate_help, core_notes - including GDPR guidance
2018-05-09 22:56:40 +02:00
Mark Nelson 0b01e3abc1 MDL-62308 core_backup: implement privacy provider
The provider was added to 'backup/util/ui/' due to
Moodle's implementation of autoclass loading. See
fetch_subsystems() in lib/classes/component.php.
2018-05-09 23:14:25 +08:00
Marina Glancy ed061d4a9a MDL-62351 privacy: check that subsystem/plugintype exist 2018-05-09 17:38:11 +08:00
Marina Glancy 6a06f60fc6 MDL-61976 mod_wiki: implement privacy API 2018-05-09 17:30:45 +08:00
Victor Deniz b694fb4a33 MDL-62269 auth_mnet: Implement privacy API
AMOS BEGIN
 CPY [privacy:metadata:address,core_user],[privacy:metadata:mnet_external:address,auth_mnet]
 CPY [privacy:metadata:aim,core_user],[privacy:metadata:mnet_external:aim,auth_mnet]
 CPY [privacy:metadata:aim,core_user],[privacy:metadata:mnet_external:aim,auth_mnet]
 CPY [privacy:metadata:alternatename,core_user],[privacy:metadata:mnet_external:alternatename,auth_mnet]
 CPY [privacy:metadata:autosubscribe,core_user],[privacy:metadata:mnet_external:autosubscribe,auth_mnet]
 CPY [privacy:metadata:calendartype,core_user],[privacy:metadata:mnet_external:calendartype,auth_mnet]
 CPY [privacy:metadata:city,core_user],[privacy:metadata:mnet_external:city,auth_mnet]
 CPY [privacy:metadata:country,core_user],[privacy:metadata:mnet_external:country,auth_mnet]
 CPY [privacy:metadata:currentlogin,core_user],[privacy:metadata:mnet_external:currentlogin,auth_mnet]
 CPY [privacy:metadata:department,core_user],[privacy:metadata:mnet_external:department,auth_mnet]
 CPY [privacy:metadata:description,core_user],[privacy:metadata:mnet_external:description,auth_mnet]
 CPY [privacy:metadata:email,core_user],[privacy:metadata:mnet_external:email,auth_mnet]
 CPY [privacy:metadata:emailstop,core_user],[privacy:metadata:mnet_external:emailstop,auth_mnet]
 CPY [privacy:metadata:firstaccess,core_user],[privacy:metadata:mnet_external:firstaccess,auth_mnet]
 CPY [privacy:metadata:firstname,core_user],[privacy:metadata:mnet_external:firstname,auth_mnet]
 CPY [privacy:metadata:firstnamephonetic,core_user],[privacy:metadata:mnet_external:firstnamephonetic,auth_mnet]
 CPY [privacy:metadata:icq,core_user],[privacy:metadata:mnet_external:icq,auth_mnet]
 CPY [privacy:metadata:id,core_user],[privacy:metadata:mnet_external:id,auth_mnet]
 CPY [privacy:metadata:idnumber,core_user],[privacy:metadata:mnet_external:idnumber,auth_mnet]
 CPY [privacy:metadata:imagealt,core_user],[privacy:metadata:mnet_external:imagealt,auth_mnet]
 CPY [privacy:metadata:institution,core_user],[privacy:metadata:mnet_external:institution,auth_mnet]
 CPY [privacy:metadata:lang,core_user],[privacy:metadata:mnet_external:lang,auth_mnet]
 CPY [privacy:metadata:lastaccess,core_user],[privacy:metadata:mnet_external:lastaccess,auth_mnet]
 CPY [privacy:metadata:lastlogin,core_user],[privacy:metadata:mnet_external:lastlogin,auth_mnet]
 CPY [privacy:metadata:lastname,core_user],[privacy:metadata:mnet_external:lastname,auth_mnet]
 CPY [privacy:metadata:lastnamephonetic,core_user],[privacy:metadata:mnet_external:lastnamephonetic,auth_mnet]
 CPY [privacy:metadata:maildigest,core_user],[privacy:metadata:mnet_external:maildigest,auth_mnet]
 CPY [privacy:metadata:maildisplay,core_user],[privacy:metadata:mnet_external:maildisplay,auth_mnet]
 CPY [privacy:metadata:middlename,core_user],[privacy:metadata:mnet_external:middlename,auth_mnet]
 CPY [privacy:metadata:msn,core_user],[privacy:metadata:mnet_external:msn,auth_mnet]
 CPY [privacy:metadata:phone,core_user],[privacy:metadata:mnet_external:phone1,auth_mnet]
 CPY [privacy:metadata:picture,core_user],[privacy:metadata:mnet_external:picture,auth_mnet]
 CPY [privacy:metadata:policyagreed,core_user],[privacy:metadata:mnet_external:policyagreed,auth_mnet]
 CPY [privacy:metadata:skype,core_user],[privacy:metadata:mnet_external:skype,auth_mnet]
 CPY [privacy:metadata:suspended,core_user],[privacy:metadata:mnet_external:suspended,auth_mnet]
 CPY [privacy:metadata:timezone,core_user],[privacy:metadata:mnet_external:timezone,auth_mnet]
 CPY [privacy:metadata:trackforums,core_user],[privacy:metadata:mnet_external:trackforums,auth_mnet]
 CPY [privacy:metadata:trustbitmask,core_user],[privacy:metadata:mnet_external:trustbitmask,auth_mnet]
 CPY [privacy:metadata:url,core_user],[privacy:metadata:mnet_external:url,auth_mnet]
 CPY [privacy:metadata:username,core_user],[privacy:metadata:mnet_external:username,auth_mnet]
 CPY [privacy:metadata:yahoo,core_user],[privacy:metadata:mnet_external:yahoo,auth_mnet]
AMOS END
2018-05-09 10:06:18 +01:00
David Monllao 852a814791 MDL-62217 search_solr: Plugin provider fake implementation 2018-05-09 10:58:06 +02:00
David Monllao 3cd8687bec MDL-62217 search: Privacy providers 2018-05-09 10:58:05 +02:00
David Mudrák 0d7e2fc5ec MDL-61905 workshop: Implement privacy API in grading evaluators
Standard workshop ships with only one evaluation method and that one
holds no personal data.
2018-05-09 10:02:46 +02:00
David Mudrák fdcb33c5c5 MDL-61905 workshop: Implement privacy API in assessment allocators
Assessment allocation methods normally do not store any personal data.
Their duty is to create assessment records that are then exported by the
workshop core itself.

Still, some allocators (such as the Manual allocation) can store certain
personal data such as user preferences.
2018-05-09 10:02:46 +02:00
David Mudrák 07dc8783a9 MDL-61905 workshop: Implement privacy API in grading strategies
On low level, standard grading strategies subplugins do not store
personal themselves.  They make use of the grades storage provided by
the workshop itself.  What they do contain though is the information
about how the assessment forms were defined. And they are also
responsible for correctly interpreting the values in the central grades
table.

Grading strategies fulfil the contract with the parent workshop module
by implementing the workshopform_provider interface. That gives them a
chance to export data about the assessment form to each of exported
assessment.
2018-05-09 10:02:45 +02:00
David Mudrák 4d829b1159 MDL-61905 workshop: Implement the privacy API in the workshop core
Workshop module stores personal data in its tables, via user
preference and via core_files and core_plagiarism subsystems.

When exporting the data, we export not only data created by users
themselves (such as their submissions and provided peer-assessments) but
also all relevant data that can (or must) be used to interpret created
content and evaluate the user's performance and skills.

On the other hand, when deleting data at user's request, we delete only
those data that do not affect other users' performance evaluation. The
reasoning is that one's right for privacy does not overweight someone
else's right for fair assessment. For that reason, we can't fully delete
whole provided peer-assessments, for example. Because they are used in
cross-comparison and grading evaluation of all other peers who assessed
the same submission. So instead, we replace provided texts but still
keep the original record.

Workshop defines the interface for its grading strategy subplugins to
allow them attach personal data under their control to the exported
structures.
2018-05-09 10:02:45 +02:00
Jake Dallimore 791824e682 MDL-62029 core_course: Fixes to context-aware provider implementation. 2018-05-09 15:41:31 +08:00
Andrew Nicols 3c7fe9a187 MDL-61309 mod_forum: Implement privacy deletion 2018-05-09 14:03:33 +08:00
Andrew Nicols 6359c7e7be MDL-61309 mod_forum: Implement the Privacy API 2018-05-09 14:03:33 +08:00
Andrew Nicols 36f95f4473 MDL-61309 core_tags: Add privacy unit test trait 2018-05-09 13:54:49 +08:00
Shamim Rezaie 059b45807e MDL-62318 core_group: Updating cache when deleting group memberships 2018-05-09 13:30:28 +10:00
Shamim Rezaie bc36eb358c MDL-62318 core_group: Add implementation of privacy API 2018-05-09 13:30:28 +10:00
Simey Lameze 9dcb1ca891 MDL-61994 mod_glossary: add unit tests for provider 2018-05-09 10:59:35 +08:00
Simey Lameze e8aed4e726 MDL-61994 mod_glossary: implement privacy providers 2018-05-09 10:59:35 +08:00
Adrian Greeve 5701891122 MDL-62029 core_privacy: context aware provider creation. 2018-05-09 10:08:07 +08:00
Adrian Greeve 79c1c70d3e MDL-62029 core_course: Create privacy files for core_course. 2018-05-09 10:07:59 +08:00
Marina Glancy 4972e130b0 MDL-61996 core: when loggedin always check user is complete 2018-05-09 02:56:55 +02:00
Andrew Nicols 29fde8b965 Merge branch 'MDL-62010-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-09 08:51:40 +08:00
cescobedo 9a8e043005 MDL-62010 core_enrol: Add privacy implementation for core_enrol 2018-05-08 18:54:50 +02:00
David Monllao 01c96e9407 MDL-61814 core_user: Remove empty line to avoid ci warning 2018-05-08 17:19:53 +02:00
David Monllao fe91efe959 Merge branch 'wip-MDL-61814-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-05-08 17:19:44 +02:00
David Monllao b70613ff41 Merge branch 'MDL-61943-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-08 16:44:09 +02:00
David Monllao f4fb0b93ce weekly release 3.4.2+ 2018-05-08 14:02:17 +02:00
David Monllao 4d5b3a33b4 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-05-08 14:02:16 +02:00
cescobedo 042bce6e96 MDL-61943 core_role: Add privacy implementation for core_role 2018-05-08 13:43:07 +02:00
cescobedo 7f0e4dc648 MDL-62257 mnetservice_enrol: Implement Privacy API 2018-05-08 10:08:14 +02:00
Bas Brands ebad5e1ad0 MDL-62332 Theme boost: paging bar empty active link 2018-05-08 09:54:34 +02:00
Andrew Nicols c4e40568e6 Merge branch 'wip-MDL-61937-34-fix' of https://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-08 14:44:34 +08:00
Marina Glancy 7e34297bc4 MDL-61937 mod_data: fix commentarea name 2018-05-08 14:39:55 +08:00
Adrian Greeve 00ee2d2253 MDL-61814 report_stats: Update to be a full privacy provider. 2018-05-08 13:50:32 +08:00
Adrian Greeve 4f63dba263 MDL-61814 core_portfolio: Update to portfolio provider. 2018-05-08 13:50:19 +08:00
Adrian Greeve 50c5de127c MDL-61814 core_user: Implement privacy system for user. 2018-05-08 13:50:06 +08:00
Zig Tan 3a4032ddc8 MDL-62249 block_tag_flickr: Corrected privacy providers 2018-05-08 12:12:01 +08:00
Marina Glancy b3db534b8c MDL-61976 privacy: replace pluginfile in test writer 2018-05-08 12:02:40 +08:00
Marina Glancy a37d821895 MDL-61976 privacy: add subcontext argument to has_any_data 2018-05-08 12:02:40 +08:00
Andrew Nicols 763db71ad3 Merge branch 'wip-MDL-62068-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-08 11:45:16 +08:00
Shamim Rezaie 87abd9b0aa MDL-62117 enrol_paypal: Add implementation of Privacy API 2018-05-08 13:34:25 +10:00
Marina Glancy 8d34874399 MDL-62068 core_tag: implement privacy API 2018-05-08 11:31:54 +08:00
Andrew Nicols 1fe42d1cd1 Merge branch 'MDL-62285-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2018-05-08 11:11:24 +08:00
Ryan Wyllie 5764a4640f MDL-62285 privacy: use context id when generating context path
moodle_content_writer::get_context_path() now includes the context
id in the path to ensure that it will always generate unique paths
even when the context names are not unique.
2018-05-08 01:41:03 +00:00
Eloy Lafuente (stronk7) 403e3b0333 Merge branch 'MDL-61521-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-05-08 01:44:53 +02:00
Andrew Nicols c305233628 Merge branch 'MDL-62326-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-07 17:26:10 +08:00
Andrew Nicols 47265c83e0 Merge branch 'MDL-62169-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-05-07 17:25:49 +08:00
Zig Tan a942eb648a MDL-62169 mod_assignment: Improved phpunit test reliability 2018-05-07 16:44:03 +08:00
Andrew Nicols 26fad064f0 Merge branch 'MDL-61919_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-07 15:46:46 +08:00
Andrew Nicols 26c255a160 Merge branch 'wip-MDL-62137-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-05-07 15:27:53 +08:00
Andrew Nicols e00c025ed6 MDL-62326 core_antivirus: Implement null provider 2018-05-07 14:40:22 +08:00
Adrian Greeve 3bf826e23d MDL-62137 core_privacy: Update to helper to use core_completion 2018-05-07 14:27:10 +08:00
Adrian Greeve 3f98a6af5b MDL-62137 core_completion: Privacy files for core_completion. 2018-05-07 14:27:10 +08:00
Andrew Nicols ab4de7a081 Merge branch 'MDL-62169-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-05-07 14:16:25 +08:00
Andrew Nicols 269327c0fb Merge branch 'MDL-61407-34-fix' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-05-07 13:51:37 +08:00
Zig Tan 4b012e921c MDL-62169 mod_assignment: Implemented privacy providers 2018-05-07 13:45:38 +08:00
Jun Pataleta f304a59b8a MDL-61407 mod_quiz: Determine quiz step for manual comment 2018-05-07 13:35:18 +08:00
Andrew Nicols 6294e3b9ec MDL-61937 mod_data: Correct rating export args in privacy 2018-05-07 09:43:20 +08:00
David Monllao 845a6a8329 MDL-61937 mod_data: Target the correct area 2018-05-07 09:43:20 +08:00
Andrew Nicols d038e858df MDL-61407 question: Export step files in privacy 2018-05-07 07:10:07 +08:00
Eloy Lafuente (stronk7) 176aacfe93 MDL-61693 core_calendar: make results deterministic for better testing 2018-05-06 18:19:05 +02:00
David Monllao 9063bdf5b1 MDL-62218 analytics: Add missing sample origin checking 2018-05-04 16:38:41 +02:00
Bas Brands 1ed8bd1b2f MDL-62200 Theme boost: popup in popup styles 2018-05-04 14:08:16 +02:00
Frédéric Massart c78bbe369c MDL-61877 core_competency: False negative due to random ordering 2018-05-04 11:18:48 +02:00
Zig Tan baec14ae3a MDL-61693 core_calendar: Simplified get calendar event details SQL 2018-05-04 13:11:21 +08:00
Jake Dallimore 876fd26435 Merge branch 'MDL-61407-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-04 11:51:22 +08:00
Andrew Nicols c7c6f2107b Merge branch 'wip-MDL-61937-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-04 11:29:55 +08:00
Jun Pataleta f49cae6e04 Merge branch 'MDL-61877-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-04 11:25:37 +08:00
Marina Glancy ba84a6e926 MDL-61937 mod_data: implement privacy provider 2018-05-04 11:16:00 +08:00
Marina Glancy defa163768 MDL-61937 tag: new method in privacy api 2018-05-04 11:15:59 +08:00
Marina Glancy f88ea97b79 MDL-61937 rating: delete method in privacy provider 2018-05-04 11:15:59 +08:00
Marina Glancy 4e71852fbc MDL-61937 comment: do not use API in provider
When exporting comments we can not use comments API because:
- we don't need to call component validate, comments may be disabled right now but
  are still stored
- we don't need to call display callback
- we need to export all comments and not only first 15 of them
2018-05-04 11:15:59 +08:00
Marina Glancy 7e8fc8cc0f MDL-61937 mod_data: generator for all field types 2018-05-04 11:15:59 +08:00
cescobedo 4cd32d3712 MDL-61937 datafield: Add privacy implementation for all datafield 2018-05-04 11:15:58 +08:00
Andrew Nicols a8027ed5cb Merge branch 'MDL-62218-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2018-05-04 11:12:21 +08:00
Ryan Wyllie e5affab8bd MDL-62218 analytics: make privacy test class name more unique 2018-05-04 03:06:31 +00:00
David Monllao 4e262e6b2b MDL-62218 analytics: Privacy API implementation 2018-05-04 03:06:23 +00:00
David Monllao eb5bcca5ad MDL-62218 mlbackend: Null privacy providers for core mlbackends 2018-05-04 03:06:16 +00:00
Mark Nelson 94b01d5304 MDL-61919 core_message: implement privacy provider 2018-05-04 11:03:22 +08:00
Jake Dallimore fcc16c0dd3 Merge branch 'MDL-62046-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-05-04 10:27:44 +08:00
Jake Dallimore 79aac77a26 Merge branch 'MDL-62032-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-05-04 09:57:17 +08:00
Jake Dallimore 3bc60b4f89 Merge branch 'MDL-62030-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-05-04 09:51:53 +08:00
Jake Dallimore 872958acbf Merge branch 'MDL-59845-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-04 09:47:39 +08:00
Jake Dallimore b4ff89c851 Merge branch 'MDL-62007-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-05-04 09:22:57 +08:00
Eloy Lafuente (stronk7) e9780ff068 Merge branch 'MDL-62315-34-privacycoreform' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-05-03 23:40:49 +02:00
Eloy Lafuente (stronk7) 640fda0ce5 Merge branch 'MDL-61800-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-03 23:28:42 +02:00
David Mudrák 8010382a9c MDL-62315 form: Implement the privacy API for core_form subsystem
Forms subsystem has no own database table. The only personal data is the
user preference 'filemanager_recentviewmode' that stores the view mode
of the file picker element.

It was discussed whether handling of this preference should be added
here into core_form, or rather into core_repository subsystem. The final
decision was to consider the preference as owned by the core_form
because it is affecting the display of a form element, not the
repository backend (even though the strings describing it had been put
into core_repository strings).
2018-05-03 19:06:19 +02:00
Andrew Nicols ce76768382 Merge branch 'MDL-62240-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-03 19:05:51 +08:00
Jake Dallimore a4efb88ff2 Merge branch 'MDL-62310-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-03 18:03:29 +08:00
Jun Pataleta 6d0112902a Merge branch 'MDL-61194-34' of git://git.cameron1729.xyz/moodle into MOODLE_34_STABLE 2018-05-03 17:06:28 +08:00
Cameron Ball 1078a686bd MDL-61194 assignfeedback_editpdf: Check if we can convert online text
This patch adds a check to make sure there is a converter available that
will be able to handle html->pdf conversion before adding onlinetext
submissions to the list of files to combine.
2018-05-03 16:46:32 +08:00
Mihail Geshoski 352fd99b38 MDL-62046 profilefield_textarea: Add privacy files and unit tests 2018-05-03 16:26:42 +08:00
David Monllao 238a285a1b Merge branch 'MDL-61693-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-05-03 10:24:25 +02:00
Andrew Nicols df14c026bf MDL-61407 privacy: Reset the writer after writer tests
The writer was not reset after these tests which had the potential to
affect the next test after these were run.
2018-05-03 16:14:38 +08:00
Andrew Nicols 2915719cb9 MDL-61407 quizaccess: Add null_writer implementations 2018-05-03 16:14:37 +08:00
Andrew Nicols 9abdeed325 MDL-61407 quiz: Add reports for quiz 2018-05-03 16:14:37 +08:00
Andrew Nicols 52dd3facb5 MDL-61407 qtype: Add null_writer for all qtypes 2018-05-03 16:14:37 +08:00
Andrew Nicols 27aaaf2998 MDL-61407 qformat: Add null_writer for all qformats
Questions formats do not store any personal data.
Any contrib format which does store personal data should utilise the
standard export interfaces as this subsystem will not call them directly.
2018-05-03 16:14:36 +08:00
Andrew Nicols e4fcfbb8f9 MDL-61407 question: Add null_writer for all behaviours
Behaviours do not store any personal data.
Any contrib behaviour which does store personal data should utilise the
standard export interfaces as this subsystem will not call them directly.
2018-05-03 16:14:36 +08:00
Andrew Nicols 4e62b0f999 MDL-61407 mod_quiz: Add initial privacy implementation 2018-05-03 16:14:35 +08:00
Andrew Nicols b09f1d8be9 MDL-61407 question: Add initial privacy implementation 2018-05-03 16:14:35 +08:00
Mihail Geshoski 3bab35e6b1 MDL-62032 profilefield_text: Add privacy files and unit tests 2018-05-03 16:08:55 +08:00
David Monllao 419af6769e Merge branch 'MDL-62059-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-03 10:08:16 +02:00
Mihail Geshoski 82f8050bb8 MDL-62030 profilefield_menu: Add privacy files and unit tests 2018-05-03 15:52:57 +08:00
Mihail Geshoski 8e8a48cfd9 MDL-62007 profilefield_checkbox: Modify privacy provider 2018-05-03 15:28:28 +08:00
Sara Arjona 4a877f36d2 MDL-62240 privacy: Avoid error when path is higher than allowed
A new method shorten_filenames has been added to moodlelib.
2018-05-03 09:17:05 +02:00
Andrew Nicols 27b956ef56 MDL-62240 file: Add includehash to shorten_filename + unit tests 2018-05-03 09:17:04 +02:00
Mihail Geshoski 5603f19631 MDL-62007 profilefield_datetime: Add privacy files and unit tests 2018-05-03 14:58:28 +08:00
Jun Pataleta 44378db9cf Merge branch 'MDL-61956-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-05-03 14:43:56 +08:00
Jake Dallimore 83ff8f1eac Merge branch 'MDL-62264-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-05-03 14:06:05 +08:00
Jun Pataleta 31ced1fa3f Merge branch 'MDL-62202-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-03 13:31:46 +08:00
Andrew Nicols 361fc9a30c Merge branch 'MDL-62009-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-03 12:28:24 +08:00
Andrew Nicols 37d4ba0269 Merge branch 'wip-MDL-62312-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-03 11:10:28 +08:00
Jake Dallimore 8d229bfb4c Merge branch 'MDL-62280-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-03 10:53:25 +08:00
Marina Glancy 59354457e0 MDL-62312 course: Move core_publish renderer methods to course renderer 2018-05-03 10:09:00 +08:00
Jun Pataleta 276d129e03 Merge branch 'MDL-60414-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-05-03 09:33:12 +08:00
AMOS bot 639add8bf9 Automatically generated installer lang files 2018-05-03 00:06:30 +00:00
Luca Bösch 7b25853ccb MDL-60414 theme_boost: bootstrap dropdown menu html spec char rendering 2018-05-02 23:02:39 +02:00
Jun Pataleta 111a056d3f MDL-62312 admin: Move moodleorg_registration_message to admin renderer 2018-05-02 23:43:48 +08:00
Andrew Nicols b3753e60fa MDL-61407 question: Allow formatters to ignore caps 2018-05-02 19:10:24 +08:00
Andrew Nicols e9419db48d MDL-61407 privacy: Track changes in any context 2018-05-02 19:10:24 +08:00
cescobedo 6d30a1ded4 MDL-62310 core_admin: Implement Privacy API 2018-05-02 11:58:48 +02:00
Andrew Nicols 9cf2c160dc MDL-62135 tool_log: Use plugintype_class_callback 2018-05-02 17:46:45 +08:00
Andrew Nicols f4603b1e15 Merge branch 'MDL-62135-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-02 17:38:23 +08:00
cescobedo 97585a325d MDL-62264 core_mnet: Implement Privacy API 2018-05-02 11:20:20 +02:00
Frédéric Massart fb34d23759 MDL-62135 logstore_legacy: Implement privacy API 2018-05-02 17:18:19 +08:00
Frédéric Massart f46e96bd91 MDL-62135 logstore_database: Implement privacy API 2018-05-02 17:18:19 +08:00
Frédéric Massart 4a62ff444e MDL-62135 logstore_standard: Implement privacy API 2018-05-02 17:18:19 +08:00
Frédéric Massart d3cbf97a2e MDL-62135 tool_log: Implement privacy API 2018-05-02 17:18:19 +08:00
David Mudrák b62eb9310e MDL-61905 workshop: Drop the old 1.x era tables
These tables may still contain relics of old personal data if the site
was installed before Moodle 2.0. We do not need these tables any more.
Following the "privacy by design" principles, we are dropping them now.
2018-05-02 11:15:13 +02:00
Luca Bösch f6ebb57702 MDL-61956 calendar: allow to see hidden course with switch role 2018-05-02 09:37:13 +02:00
Sara Arjona c381d9c18f MDL-62202 privacy: Move Privacy and policies category to Users page 2018-05-02 08:46:01 +02:00
Jun Pataleta 386c5299d8 Merge branch 'MDL-62253-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-02 13:53:01 +08:00
Jun Pataleta c96525e2bd Merge branch 'MDL-61898-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-05-02 13:46:40 +08:00
Andrew Nicols 5886b5ef47 MDL-61898 cache: Implement privacy API for all stores and locks 2018-05-02 13:37:29 +08:00
Andrew Nicols 8bde0603d1 MDL-61898 core_cache: Implement Privacy API 2018-05-02 13:37:29 +08:00
Frédéric Massart fcf745c170 MDL-62214 tool_messageinbound: False negative due to time() usage
PHP Unit is so fast that my test couldn't cope with it!
2018-05-02 13:09:55 +08:00
Andrew Nicols bdda38b8b6 Merge branch 'MDL-61920_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-05-02 13:07:51 +08:00
Andrew Nicols 8048aedf46 Merge branch 'MDL-62266-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-05-02 12:34:34 +08:00
Andrew Nicols 057a8fe78b Merge branch 'MDL-62214-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-02 12:29:10 +08:00
Andrew Nicols 8b8f1bf85c MDL-61800 task: Reset the OUTPUT and PAGE on execution 2018-05-02 11:58:09 +08:00
Andrew Nicols d5a6324fe1 Merge branch 'MDL-62236-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-02 10:54:00 +08:00
Andrew Nicols 2964d00f94 MDL-59845 tool_lp: Add js tracking around UI refresh 2018-05-02 09:16:14 +08:00
Eloy Lafuente (stronk7) 8e5187c0b6 weekly release 3.4.2+ 2018-05-01 23:04:20 +02:00
Eloy Lafuente (stronk7) 04c8c1431b Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-05-01 23:04:19 +02:00
Frédéric Massart 61091a5457 MDL-62167 core_badges: Remove usage of a reserved keyword of Oracle 2018-05-01 15:22:33 +02:00
Frédéric Massart b5400f20cb MDL-62167 core_badges: Prevent SQL error with Oracle 2018-05-01 15:22:32 +02:00
Andrew Nicols 5d705cbed4 Merge branch 'wip-MDL-61308-34-testfix' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-05-01 12:32:49 +02:00
Adrian Greeve 8966bb5b38 MDL-61308 assignsubmission_comments: Unit test ordering fix. 2018-05-01 12:32:39 +02:00
Andrew Nicols 46985532b5 Merge branch 'MDL-62231-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-01 12:32:28 +02:00
Shamim Rezaie 75dc5bf14b MDL-62231 block_recent_activity: Implement null provider for the block 2018-05-01 14:07:52 +10:00
Andrew Nicols 82c8ef17b0 Merge branch 'wip-MDL-62138-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-05-01 11:57:41 +08:00
Andrew Nicols aeaf9f0986 Merge branch 'MDL-61411-34' of git://github.com/Kathrin84/moodle into MOODLE_34_STABLE 2018-05-01 11:22:27 +08:00
Andrew Nicols 031f4e28d9 Merge branch 'MDL-62167-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-05-01 11:14:47 +08:00
Andrew Nicols 9bb560cd7c MDL-62280 xhprof: Support tideways_xhprof 2018-05-01 11:03:00 +08:00
Frédéric Massart 269cbdce37 MDL-62009 core_grades: Implement privacy API 2018-05-01 10:50:30 +08:00
Jun Pataleta 998fad0954 Merge branch 'MDL-62060-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-01 10:44:53 +08:00
Shamim Rezaie 970515e932 MDL-62060 core_privacy: Make sure the exported json is human readable 2018-05-01 12:36:42 +10:00
Frédéric Massart de070d92e1 MDL-62214 tool_messageinbound: Implement privacy API 2018-05-01 09:23:21 +08:00
Frédéric Massart 5555399582 MDL-62214 tool_messageinbound: Delete old messages pending verification 2018-05-01 09:23:20 +08:00
Frédéric Massart bfa32ae5c0 MDL-62253 core_auth: Implement privacy API 2018-05-01 09:15:22 +08:00
Jake Dallimore fc7c30e3f0 Merge branch 'MDL-62005-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-05-01 09:10:39 +08:00
AMOS bot fad52c36fd Automatically generated installer lang files 2018-05-01 00:07:04 +00:00
Jun Pataleta 1e3a6e2d32 Merge branch 'MDL-62248-34-fix' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-30 21:24:34 +08:00
Andrew Nicols a59a5912ee MDL-62248 core_privacy: Add getter for user context prefs 2018-04-30 20:37:46 +08:00
Mark Nelson 5e8f5cbce3 MDL-61920 mod_lti: implement privacy provider 2018-04-30 18:49:38 +08:00
Mark Nelson 2d390e8b69 MDL-61920 ltiservice_toolsettings: implement privacy provider 2018-04-30 18:49:38 +08:00
Mark Nelson d1c45ed355 MDL-61920 ltiservice_toolproxy: implement privacy provider 2018-04-30 18:49:38 +08:00
Mark Nelson 08fd60f505 MDL-61920 ltiservice_profile: implement privacy provider 2018-04-30 18:49:38 +08:00
Mark Nelson dd95c21a95 MDL-61920 ltiservice_memberships: implement privacy provider 2018-04-30 18:49:38 +08:00
Jun Pataleta dc9888df17 Merge branch 'MDL-61012_v3.4.x' of https://github.com/troywilliams/moodle into MOODLE_34_STABLE 2018-04-30 17:29:04 +08:00
Sara Arjona 636a50044b MDL-62266 core_availability: Implement privacy API 2018-04-30 11:20:55 +02:00
Shamim Rezaie ac2e6921cb MDL-62005 block_comments: Add implementation of Privacy API 2018-04-30 18:20:54 +10:00
Andrew Nicols 2dcc83ac38 MDL-62248 core_privacy: Unit test for get_user_preferences 2018-04-30 16:01:38 +08:00
Andrew Nicols c2f944b022 Merge branch 'MDL-62248-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-30 16:01:33 +08:00
Frédéric Massart f47cd85ff6 MDL-62248 core_block: Implement privacy API 2018-04-30 15:30:27 +08:00
Frédéric Massart 1a329e6977 MDL-62248 core_privacy: Test writer writes user prefs in right contexts 2018-04-30 15:30:27 +08:00
Shamim Rezaie 351bfbef06 MDL-62059 mod_book: Implement null provider for mod_book 2018-04-30 16:15:59 +10:00
Andrew Nicols 951c886951 Merge branch 'MDL-62235-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-30 14:01:28 +08:00
Frédéric Massart a4c23f2b13 MDL-62235 core_files: Implement privacy API 2018-04-30 13:46:09 +08:00
Andrew Nicols 647c7ec982 Merge branch 'MDL-62208-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-30 13:20:40 +08:00
Troy Williams 31ebe1ff67 MDL-61012 course: Allow extending class to set 2018-04-30 16:27:38 +12:00
Andrew Nicols aaf9b0db67 Merge branch 'MDL-62241-34-typehint' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-04-30 11:45:20 +08:00
Andrew Nicols 790a3c60de Merge branch 'MDL-61959-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-30 10:24:58 +08:00
Andrew Nicols ab58842db9 MDL-61308 mod_assign: Whitespace fix 2018-04-30 09:27:23 +08:00
Andrew Nicols 38c5451942 Merge branch 'wip-MDL-61308-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-30 09:19:48 +08:00
AMOS bot 1a3bdfd652 Automatically generated installer lang files 2018-04-30 00:06:29 +00:00
Frédéric Massart 5dcc3bca58 MDL-62236 core_webservice: Implement privacy API 2018-04-29 10:10:40 +08:00
David Mudrák 4e5e4d715b MDL-62241 privacy: Include the unit tests from the 3.3 branch
The tests do not actually do anything, they just make sure that the
method signature is correct on the given PHP version. They are mostly
relevant and useful on 3.3.
2018-04-27 15:23:04 +02:00
Eloy Lafuente (stronk7) 533e41f82e weekly release 3.4.2+ 2018-04-27 13:15:48 +02:00
Eloy Lafuente (stronk7) 24a171c5b9 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-04-27 13:15:41 +02:00
Eloy Lafuente (stronk7) 43be1507a1 MDL-61993 profilefield_checkbox: take rid of oracle reserved word 2018-04-27 10:42:57 +02:00
Frédéric Massart 7c772f449b MDL-61877 core_competency: Handle comments in privacy API 2018-04-27 11:30:30 +08:00
Frédéric Massart 72da93a9ea MDL-61877 core_competency: Implement privacy API 2018-04-27 11:30:30 +08:00
Frédéric Massart 802ab825ed MDL-62167 core_badges: Implement privacy API 2018-04-27 10:51:53 +08:00
Bas Brands 5c8bebc159 MDL-62172 Theme boostrapbase: align advanced checkbox in mform 2018-04-27 09:56:13 +08:00
Eloy Lafuente (stronk7) 1d5d122b27 Merge branch 'MDL-60882-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-04-27 01:38:45 +02:00
Eloy Lafuente (stronk7) 242797a9d8 Merge branch 'wip_MDL-62011_34_approval_of_course_request' of https://github.com/grabs/moodle into MOODLE_34_STABLE 2018-04-27 01:30:17 +02:00
Eloy Lafuente (stronk7) 734825bc6d Merge branch 'MDL-61993-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-27 01:01:14 +02:00
Eloy Lafuente (stronk7) bd087739c6 Merge branch 'MDL-61863-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-26 22:31:49 +02:00
Eloy Lafuente (stronk7) 28a7c5b677 Merge branch 'MDL-61715-34' of https://github.com/lethevinh/moodle into MOODLE_34_STABLE 2018-04-26 22:23:07 +02:00
Sara Arjona c7b3f78e25 MDL-61959 mod_scorm: Implement privacy API 2018-04-26 19:57:14 +02:00
Sara Arjona ec2474927f MDL-61959 scormreport_objectives: Implement privacy API 2018-04-26 19:57:13 +02:00
sarjona abb19f6cd1 MDL-61959 scormreport_interactions: Implement privacy API 2018-04-26 19:57:13 +02:00
Sara Arjona f95d1bd73a MDL-61959 scormreport_graphs: Implement privacy API 2018-04-26 19:57:13 +02:00
sarjona 3d791f1b6b MDL-61959 scormreport_basic: Implement privacy API 2018-04-26 19:57:12 +02:00
Juan Leyva 82482a0b65 MDL-62229 tool_mobile: Add missing supported module
The Workshop module it’s been supported since Moodle 3.4 so it
should’ve been included here.
2018-04-26 19:18:41 +02:00
Jun Pataleta 3b9f278a95 Merge branch 'MDL-61986_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-04-27 00:46:42 +08:00
Eloy Lafuente (stronk7) 6ca9bbd0e8 MDL-61986 mod_lesson: oracle order by clob fix 2018-04-26 18:31:40 +02:00
Eloy Lafuente (stronk7) 8e786a3a30 Merge branch 'MDL-62224_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-04-26 17:38:35 +02:00
Zig Tan 770045533a MDL-61693 core_calendar: Implemented privacy providers 2018-04-26 21:10:59 +08:00
Mark Nelson d45a552c02 MDL-62224 core_rss: implement correct provider 2018-04-26 20:16:59 +08:00
Kathrin Osswald 276350a9a6 MDL-61411 theme Boost: Close navigation on all items (on small screens) 2018-04-26 13:19:40 +02:00
Juan Leyva ae4963c300 MDL-61521 course: Add missing text formatting for category name 2018-04-26 12:38:10 +02:00
Juan Leyva 27a3313539 MDL-60882 mod_choice: Avoid teacher delete all responses
Teachers should be able to delete all responses but when indicating the
response ids.
When the response ids are not passed, only their own responses should
be deleted (as the function documentation said).
2018-04-26 10:26:50 +02:00
Andrew Nicols 45742c52a4 Merge branch 'MDL-61947-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-26 14:52:36 +08:00
Jun Pataleta 4ab9b1a502 Merge branch 'MDL-62188-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-26 14:49:44 +08:00
Adrian Greeve fa83660e35 MDL-61308 assign_feedback: Privacy code for user rights. 2018-04-26 14:24:34 +08:00
Adrian Greeve 15c5a72024 MDL-61308 assign_submission: Privacy code for user rights. 2018-04-26 14:24:24 +08:00
Adrian Greeve 63f3fd97b0 MDL-61308 mod_assign: Adding privacy classes. 2018-04-26 14:24:13 +08:00
Sara Arjona 49f37c4573 MDL-62188 enrol: Avoid ignoring the Recover grades default setting 2018-04-26 08:14:08 +02:00
Frédéric Massart 7029b4eff4 MDL-62208 core_fileconverter: Implement privacy API 2018-04-26 12:55:16 +08:00
Zig Tan 730f7da8eb MDL-61947 core_my: Implemented privacy providers 2018-04-26 12:50:55 +08:00
Mihail Geshoski 389fed5720 MDL-61993 profilefield_checkbox: Add privacy files and unit tests 2018-04-26 10:30:25 +08:00
Eloy Lafuente (stronk7) 9967972257 Merge branch 'MDL-61979-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-26 03:09:36 +02:00
Eloy Lafuente (stronk7) 698391ffe4 Merge branch 'MDL-61998-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-26 02:40:05 +02:00
Andrew Nicols bae1a479aa Merge branch 'MDL-61944-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-26 08:35:10 +08:00
Eloy Lafuente (stronk7) 365697c942 Merge branch 'MDL-62181-34-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-04-25 19:09:46 +02:00
David Monllao a61fab9c50 Merge branch 'MDL-62175-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-04-25 17:37:33 +02:00
David Monllao 4fbacc4a5e Merge branch 'MDL-61986-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-25 16:32:49 +02:00
cescobedo 0ffb2b4156 MDL-61944 tool_mobile: Implement Privacy API 2018-04-25 15:35:52 +02:00
AMOS bot 9d3b7bb04c Automatically generated installer lang files 2018-04-25 00:06:34 +00:00
David Mudrák b712af05fb MDL-62181 lang: Fix changed admin node title in behat scenario 2018-04-24 22:08:27 +02:00
Helen Foster 7cc490a3dd MDL-62181 lang: Merge English strings from the en_fix language pack
Significant string changes:

* sitepolicies, core_admin - 'Site policies' changed to 'Site security
  settings'
* sitepolicy_help and sitepolicyguest_help, core_admin - setting will
  only have an effect if the site policy handler is set to default
* sitepolicyhandler_desc,core_admin - improved wording
* pathtodot_help, core_admin - Windows and Mac paths
* debugstringids_desc, core_admin - improved explanation
2018-04-24 22:08:27 +02:00
Eloy Lafuente (stronk7) 66df2222f5 weekly release 3.4.2+ 2018-04-24 18:57:22 +02:00
Eloy Lafuente (stronk7) 373a574f62 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-04-24 18:57:20 +02:00
Juan Leyva c15b72b415 MDL-62175 auth_email: Fix site policy enabled check 2018-04-24 15:06:56 +02:00
vinhle b7236f9fdb MDL-61715 question: qbank_chooser is not intelligent about headings 2018-04-24 16:09:49 +07:00
Zig Tan 376212f1b9 MDL-61863 core_notes: Implemented privacy providers 2018-04-24 12:08:07 +08:00
Jun Pataleta b22517e334 Merge branch 'MDL-62079-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-24 11:56:10 +08:00
Andrew Nicols 3fd4a77fde MDL-62079 core_filters: Implement null provider 2018-04-24 11:49:04 +08:00
Mark Nelson 26ec8c1b67 MDL-62140 core_privacy: only reset tests when necessary 2018-04-24 11:16:46 +08:00
Frédéric Massart 7a88d29380 MDL-61984 mod_chat: Do not assume context passed is one of chat 2018-04-24 11:04:08 +08:00
Andrew Nicols 3df1711e6d MDL-62140 core_privacy: Improve unit test 2018-04-24 10:19:03 +08:00
Andrew Nicols 14d714b69c Merge branch 'MDL-62140_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-04-24 10:18:44 +08:00
Jun Pataleta 72c09c0e3f Merge branch 'MDL-61764_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-04-24 09:54:08 +08:00
Jun Pataleta d52682b09d Merge branch 'MDL-61882-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-24 09:38:14 +08:00
Andrew Nicols 61506589a6 Merge branch 'MDL-61984-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-24 09:34:44 +08:00
Andrew Nicols b124c934ee Merge branch 'MDL-61995-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-24 08:16:07 +08:00
AMOS bot 65b7b6cac5 Automatically generated installer lang files 2018-04-24 00:06:32 +00:00
cescobedo 52797db36b MDL-61882 auth_oauth2: Implement Privacy API 2018-04-23 17:40:03 +02:00
David Monllao 63869e39b5 Merge branch 'MDL-61915-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-23 16:26:18 +02:00
David Monllao 9053adb675 Merge branch 'MDL-62042-m34' of https://github.com/sammarshallou/moodle into MOODLE_34_STABLE 2018-04-23 16:08:13 +02:00
cescobedo d73cb53055 MDL-61915 enrol: Add privacy implementation for all enrol plugins
None of the Enrol plugins (except lti and paypal) have any user preference or database table.
They all implement the null provider.
2018-04-23 14:24:36 +02:00
Mark Nelson 9b6bf24f7f MDL-62140 core_privacy: add helper functions to add system/user context 2018-04-23 20:06:32 +08:00
Andrew Nicols eb8d5f283e Merge branch 'wip-MDL-61759-34' of https://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-04-23 18:32:20 +08:00
David Monllao ba2d1550a9 Merge branch 'MDL-62078-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-23 12:08:58 +02:00
David Monllao ace94710be Merge branch 'MDL-62047-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-23 11:59:32 +02:00
David Monllao 75af50bb8d Merge branch 'MDL-61891-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-23 11:55:33 +02:00
Sara Arjona 54ccd521a9 MDL-61998 cohort: Implement privacy API 2018-04-23 11:41:31 +02:00
Zig Tan 9a4404e071 MDL-61995 tool_assignmentupgrade: Implemented privacy providers 2018-04-23 16:49:29 +08:00
Marina Glancy afc0076cf2 MDL-61759 admin: non-existing site policy handler means no policy 2018-04-23 16:46:46 +08:00
Andrew Nicols bcefe75402 Merge branch 'MDL-62055-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-23 16:04:01 +08:00
Jun Pataleta 2e49807d50 Merge branch 'MDL-62049_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-04-23 13:54:31 +08:00
Marina Glancy dbdae3d343 MDL-62138 core: remove core_register and core_publish
These components have no classes and no strings and have no purspose. Component core_hub is responsible
for storing data, defining classes and strings for site registration and course publishing

This also reverts MDL-61945
2018-04-23 13:21:15 +08:00
Jun Pataleta 06f237aa68 Merge branch 'wip-MDL-61966-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-23 13:11:22 +08:00
Mark Nelson 1062a75b04 MDL-62049 core_privacy: use correct lang string for date 2018-04-23 13:03:35 +08:00
Andrew Nicols 84f092a44b MDL-61891 core_portfolio: Use manager method caller 2018-04-23 10:09:13 +08:00
Andrew Nicols 35e39d8b5d MDL-61891 core_plagiarism: Use manager method caller 2018-04-23 10:09:13 +08:00
Andrew Nicols 7fe24b695c MDL-61891 privacy: Add helper to call methods on interfaces 2018-04-23 10:09:13 +08:00
Andrew Nicols a7ffba763d Merge branch 'MDL-61759-34-nonexistinghandler' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-04-22 21:05:55 +08:00
Frédéric Massart 973457da4c MDL-61986 mod_lesson: Implement privacy API 2018-04-22 17:31:30 +08:00
sarjona 8a18c88a60 MDL-62078 rss: Link to core_userkey in the Privacy API implementation 2018-04-22 09:04:53 +02:00
Andreas Grabs ab8eb0a56e MDL-62011 course: Approval of a course request fails 2018-04-21 20:55:46 +02:00
AMOS bot 95368281bc Automatically generated installer lang files 2018-04-21 01:02:39 +00:00
Eloy Lafuente (stronk7) f234880958 weekly release 3.4.2+ 2018-04-20 23:52:15 +02:00
Eloy Lafuente (stronk7) d1387ac765 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-04-20 23:52:13 +02:00
sam marshall 5262ae8faf MDL-62042 core_search: Unicode non-characters cause indexing problems
Unicode characters such as U+FFEF can be entered into Moodle data and
cause indexing failures. This change strips them out of search fields.
2018-04-20 13:17:20 +01:00
Sara Arjona aae70e19ae MDL-62055 imscp: Implement privacy API 2018-04-20 08:58:18 +02:00
Adrian Greeve 19f06a1877 MDL-61966 block_myoverview: Update to provider for user preferences. 2018-04-20 14:52:45 +08:00
Mark Nelson fbf766ba01 MDL-61764 message_popup: implement privacy provider 2018-04-20 12:06:06 +08:00
Jun Pataleta d4db4a869f Merge branch 'MDL-62048_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-04-20 11:53:29 +08:00
Andrew Nicols 627299b796 Merge branch 'MDL-61892-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-20 11:49:31 +08:00
Zig Tan 6e102f2c6d MDL-61892 admin/tools: Implement null privacy providers 2018-04-20 11:41:58 +08:00
Andrew Nicols fb639d95b5 Merge branch 'wip-MDL-62035-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-20 11:33:59 +08:00
Adrian Greeve af90bd0b7e MDL-62035 core_blog: Update to blog with comments.
This makes blog use the updated delete methods in the
comments provider.
2018-04-20 10:46:07 +08:00
Adrian Greeve b598bd2f79 MDL-62035 core_comment: Update to deletion methods.
Also clarification with the export method to clarify that it
is only for one context.
2018-04-20 10:45:56 +08:00
Andrew Nicols c8cf913c76 Merge branch 'MDL-62003-34-privacyfiles' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-04-20 10:34:35 +08:00
Jun Pataleta 88639eefc4 Merge branch 'MDL-61848-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-20 09:20:04 +08:00
Eloy Lafuente (stronk7) 444bdb189a Merge branch 'MDL-61836-34-order' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-20 03:04:24 +02:00
Andrew Nicols 96f5327b3d MDL-61836 blog: Fix random order failures 2018-04-20 08:49:00 +08:00
Łukasz Szeremeta f505863218 MDL-61827 auth: Change Facebook Graph API v2.8 to v.2.12 in OAuth2
Use v2.12 Facebook Graph API instead of v2.8
2018-04-20 02:33:41 +02:00
Eloy Lafuente (stronk7) f6dc9263f8 Merge branch 'MDL-61836-34-fix' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-20 02:28:38 +02:00
Eloy Lafuente (stronk7) 09577f1ec8 Merge branch 'MDL-61991-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-04-20 02:24:54 +02:00
Andrew Nicols 92b4e5956e MDL-61836 comment: Add missing require 2018-04-20 08:17:46 +08:00
Eloy Lafuente (stronk7) 1de7010e47 Merge branch 'MDL-61975-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-20 02:17:42 +02:00
Eloy Lafuente (stronk7) 7bf7bee56c Merge branch 'MDL-61348-take2_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-04-20 02:02:02 +02:00
cescobedo 95bc9fa631 MDL-61848 auth_manual: Implement Privacy API 2018-04-20 00:14:20 +02:00
Andrew Nicols a1656afa41 Merge branch 'MDL-61836-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-19 20:36:47 +08:00
Frédéric Massart df77539994 MDL-61836 core_blog: Prevent randomness in comments order 2018-04-19 16:06:06 +08:00
Mark Nelson 04ef818023 MDL-62025 mod_choice: add missing join on modules table 2018-04-19 15:51:07 +08:00
Andrew Nicols 1444ea075e MDL-62047 core_userkey: Add privacy implementation 2018-04-19 15:30:40 +08:00
Andrew Nicols 457f4b7551 MDL-62047 core_userkey: Define component path 2018-04-19 15:30:40 +08:00
Andrew Nicols f02e11d668 Merge branch 'MDL-61568-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-19 15:01:08 +08:00
Andrew Nicols a1eef605f0 Merge branch 'MDL-61970-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-19 14:53:23 +08:00
Andrew Nicols fe3ece78ea Merge branch 'MDL-61969-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-19 14:48:49 +08:00
Jun Pataleta 8905f55508 Merge branch 'MDL-61878-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-19 14:40:03 +08:00
Zig Tan 89feef08e8 MDL-61568 repository_flickr: Fix oauth secret export 2018-04-19 14:37:55 +08:00
Mihail Geshoski 96a257f7a9 MDL-61878 fileconverter_googledrive: Add privacy files and unit tests 2018-04-19 13:17:06 +08:00
Frédéric Massart 45b3665c00 MDL-61970 mod_survey: Do not assume context passed is one of survey 2018-04-19 13:11:43 +08:00
Mark Nelson 509c176f0a MDL-62048 core_privacy: extend test to ensure table exists 2018-04-19 13:03:53 +08:00
Andrew Nicols 8788ad4f14 Merge branch 'MDL-61945-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-19 11:55:26 +08:00
Andrew Nicols 64466bd2b8 Merge branch 'MDL-61948-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-19 11:47:16 +08:00
Andrew Nicols 1d1baa54f0 Merge branch 'MDL-61836-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-19 11:20:15 +08:00
Andrew Nicols 4376919fee Merge branch 'MDL-61970-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-19 11:13:15 +08:00
AMOS bot 6de72ccebd Automatically generated installer lang files 2018-04-19 00:06:20 +00:00
David Monllao 5011a166b8 Merge branch 'MDL-61716-34' of git://github.com/mastnym/moodle into MOODLE_34_STABLE 2018-04-18 17:40:21 +02:00
David Monllao 6e6edbe001 MDL-61958 rss: Add rss test suite 2018-04-18 17:38:23 +02:00
David Monllao 6728b43113 Merge branch 'MDL-61958-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-18 17:22:31 +02:00
David Mudrák 34858987ca MDL-62003 privacy: Fix reported coding style violation 2018-04-18 17:11:10 +02:00
David Mudrák c6f9dce2a0 MDL-62003 privacy: Consistently export files into _files folder
There were two major issues with the previous implementation:

* The exported folder name was localised so it was "Files" or "Soubory"
  etc depending on the current language. Yet URLs referring to the files
  in that folder were always rewritten with hard-coded English "files".
* Files from all fileareas and itemids were all exported to a single
  target directory. So if there were two files with the same name being
  exported from multiple areas (such as submission_content and
  submission_attachment in the workshop module), one would overwrite
  another.

The patch addresses these issues as follows:

* To unify the folder name and also to minimise the risk of conflict
  with a subcontext folder, we now always export stored files under
  "_files" folder.
* Under that folder, there is a subdirectory with the area name and then
  eventually another subdirectory with non-zero itemid. And there
  finally the stored_file is exported to under its own file path.
2018-04-18 17:11:10 +02:00
Martin Mastny 06d3bab902 MDL-61716 auth_oauth2: field names in mappings allow all characters 2018-04-18 16:54:56 +02:00
David Monllao 0eb5643936 Merge branch 'MDL-61796-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-04-18 15:20:52 +02:00
David Monllao 4d53f252e3 Merge branch 'MDL-38099-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-04-18 14:14:46 +02:00
Sara Arjona 775a804c68 MDL-61958 core_rss: Implement privacy API 2018-04-18 13:39:21 +02:00
Sara Arjona ac183832bc MDL-61958 rss: Create core_rss lang file and move rss string
At the moment will only be copied one of the rss strings ('rss').
The issue MDL-61997 has been created to move the rest of the core_rss lang
strings from moodle.php to rss.php.

AMOS BEGIN
 CPY [rss,core],[rss,core_rss]
AMOS END
2018-04-18 13:39:21 +02:00
Sara Arjona 9d0f4315f0 MDL-61958 lang: Move privatefilesmanage string to correct place 2018-04-18 13:39:20 +02:00
Eloy Lafuente (stronk7) 524312d1ef Merge branch 'MDL-61621_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-04-18 12:58:27 +02:00
Jun Pataleta 81bd6817b9 Merge branch 'MDL-62025_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-04-18 16:26:01 +08:00
Jun Pataleta 99b227c604 Merge branch 'MDL-61928_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-04-18 16:00:37 +08:00
Mark Nelson ecc63154f9 MDL-62025 mod_choice: only export in the CONTEXT_MODULE context 2018-04-18 15:11:58 +08:00
Frédéric Massart 642389a9a9 MDL-61970 mod_survey: Implement privacy API 2018-04-18 14:56:46 +08:00
Andrew Nicols 8cac59ef84 Merge branch 'MDL-61568-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-18 14:25:25 +08:00
Mihail Geshoski bb9dcb7479 MDL-61969 datapreset_imagegallery: Implement null privacy provider 2018-04-18 13:50:46 +08:00
Zig Tan 3b1e2eb6f4 MDL-61568 core_repository: Implement privacy providers 2018-04-18 13:44:21 +08:00
Mihail Geshoski 1692fae8c0 MDL-61948 core_media: Implement null privacy provider 2018-04-18 13:44:21 +08:00
Zig Tan 7d8b9d454e MDL-61568 repository_onedrive: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan f4b2263a56 MDL-61568 repository_youtube: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan db318336de MDL-61568 repository_wikimedia: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan e072d0eec4 MDL-61568 repository_picasa: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan 3d8caa7ea5 MDL-61568 repository_merlot: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan 4984f4bdac MDL-61568 repository_googledocs: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan b2eccf48da MDL-61568 repository_flickr_public: Implement privacy providers 2018-04-18 13:44:21 +08:00
Zig Tan 98daec96f4 MDL-61568 repository_flickr: Implement privacy providers 2018-04-18 13:44:20 +08:00
Zig Tan b8fb5e361a MDL-61568 repository_dropbox: Implement privacy providers 2018-04-18 13:44:20 +08:00
Zig Tan 4917cc34e7 MDL-61568 repository_boxnet: Implement privacy providers 2018-04-18 13:44:20 +08:00
Zig Tan 66208cc750 MDL-61568 repository_webdav: Implement null privacy provider 2018-04-18 13:44:20 +08:00
Zig Tan 9df4cecb27 MDL-61568 repository_user: Implement null privacy provider 2018-04-18 13:44:20 +08:00
Zig Tan 8338bf6593 MDL-61568 repository_url: Implement null privacy provider 2018-04-18 13:44:20 +08:00
Zig Tan 1c86c7ddc1 MDL-61568 repository_upload: Implement null privacy provider 2018-04-18 13:44:20 +08:00
Zig Tan ec0dae6909 MDL-61568 repository_skydrive: Implement null privacy provider 2018-04-18 13:44:20 +08:00
Zig Tan 9556d7bb2b MDL-61568 repository_s3: Implement null privacy provider 2018-04-18 13:44:20 +08:00
Zig Tan 7eb62206da MDL-61568 repository_recent: Implement null privacy provider 2018-04-18 13:44:19 +08:00
Zig Tan d4b288aa9f MDL-61568 repository_local: Implement null privacy provider 2018-04-18 13:44:19 +08:00
Zig Tan 18b5d648d3 MDL-61568 repository_filesystem: Implement null privacy provider 2018-04-18 13:44:19 +08:00
Zig Tan 7fcec033b0 MDL-61568 repository_equella: Implement null privacy provider 2018-04-18 13:44:19 +08:00
Zig Tan f1e5ab7715 MDL-61568 repository_coursefiles: Implement null privacy provider 2018-04-18 13:44:19 +08:00
Zig Tan ece49dae92 MDL-61568 repository_areafiles: Implement null privacy provider 2018-04-18 13:44:19 +08:00
Jun Pataleta 8e7f7d2e50 Merge branch 'MDL-61520-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-04-18 13:28:22 +08:00
Andrew Nicols 56909e7f80 Merge branch 'MDL-61957-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-18 13:09:27 +08:00
Zig Tan 4c58569211 MDL-61979 tool_cohortroles: Implemented privacy providers 2018-04-18 10:50:36 +08:00
Jun Pataleta 3da0292df5 Merge branch 'MDL-61950-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2018-04-18 09:46:48 +08:00
Eloy Lafuente (stronk7) 4663dc19f2 Merge branch 'm34_MDL-59857' of https://github.com/danmarsden/moodle into MOODLE_34_STABLE 2018-04-18 03:07:45 +02:00
AMOS bot 1971a6b958 Automatically generated installer lang files 2018-04-18 00:07:59 +00:00
Luca Bösch 3515c76f92 MDL-61796 themes: In Clean, normalize filter labels font size.
Actually, in every theme not overriding the template.
2018-04-17 22:43:50 +02:00
Luca Bösch fb795d0177 MDL-61991 theme_boost: Question correctness displayed as label. 2018-04-17 22:39:54 +02:00
Luca Bösch 868681e9ba MDL-38099 comments: year in comments date 2018-04-17 22:39:01 +02:00
Eloy Lafuente (stronk7) 9a6b854e5c weekly release 3.4.2+ 2018-04-17 19:54:42 +02:00
Eloy Lafuente (stronk7) 397bd9aa3c Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-04-17 19:54:40 +02:00
Sara Arjona 54d35aec03 MDL-61957 gradereport_user: Implement privacy API 2018-04-17 14:34:20 +02:00
Sara Arjona 7b15e26ef7 MDL-61957 gradereport_singleview: Implement privacy API 2018-04-17 14:34:20 +02:00
Sara Arjona c2ea064a30 MDL-61957 gradereport_overview: Implement privacy API 2018-04-17 14:34:20 +02:00
Sara Arjona 7b585ddb84 MDL-61957 gradereport_outcomes: Implement privacy API 2018-04-17 14:34:19 +02:00
Sara Arjona a991d5b9f4 MDL-61957 gradereport_history: Implement privacy API 2018-04-17 14:34:19 +02:00
Sara Arjona 1ab6c6caef MDL-61957 gradereport_grader: Implement privacy API 2018-04-17 14:34:19 +02:00
Frédéric Massart 24abced8a6 MDL-61984 mod_chat: Implement privacy API 2018-04-17 15:34:16 +08:00
Andrew Nicols d2b9bbf551 MDL-61663 phpunit: Add portfolio to the testsuite list 2018-04-17 14:44:43 +08:00
cescobedo 14bdc702a5 MDL-61945 core_register: Implement Privacy API 2018-04-17 08:25:27 +02:00
Frédéric Massart fd8a0e5498 MDL-61862 mod_feedback: Tweak query to support UNION on TEXT fields
Thanks Oracle.
2018-04-17 12:09:51 +08:00
Andrew Nicols ca91ebf33e Merge branch 'wip-MDL-61663-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-17 11:46:32 +08:00
Andrew Nicols 8df10e8a28 Merge branch 'MDL-61977-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-17 11:43:07 +08:00
Adrian Greeve 6292041827 MDL-61663 portfolio: Update to the external system link names.
Changed the name of the link to something less like an English
string for each of the portfolios.
2018-04-17 11:41:38 +08:00
Andrew Nicols cc53b1773a Merge branch 'MDL-61980-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-17 11:35:01 +08:00
Andrew Nicols 708d156131 Merge branch 'MDL-61916-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-17 11:18:43 +08:00
Andrew Nicols 1266d56c57 Merge branch 'MDL-61918-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-17 11:12:55 +08:00
Andrew Nicols c4c73a3b44 Merge branch 'MDL-61903-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-17 11:10:16 +08:00
Mihail Geshoski 24a051e949 MDL-61903 webservice: Implement null privacy provider
Implement null privacy provider to rest, soap and xmlrpc webservice plugins.
2018-04-17 09:20:35 +08:00
AMOS bot 1fc5fe1ddd Automatically generated installer lang files 2018-04-17 00:07:17 +00:00
Dan Marsden e819de5611 MDL-59857 mod_scorm: use valid length for grade type field. 2018-04-17 08:36:46 +12:00
Jun Pataleta 0cc1957ddd Merge branch 'MDL-61862-34' of git://github.com/FMCorz/moodle into MOODLE_34_STABLE 2018-04-16 23:30:28 +08:00
Eloy Lafuente (stronk7) 953a4575d7 MDL-61819 editor: add testsuite to phpunit.xml 2018-04-16 16:38:35 +02:00
David Monllao ed94efe520 Merge branch 'MDL-61819-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-16 16:15:01 +02:00
Andrew Nicols 8c9880c2ba MDL-61819 core_editor: Implement core provider 2018-04-16 21:55:35 +08:00
Andrew Nicols 8f52e5f0da MDL-61819 editor_atto: Implement null provider 2018-04-16 21:55:35 +08:00
Andrew Nicols b4d758c6a7 MDL-61819 editor: Implement editor null providers 2018-04-16 21:55:34 +08:00
Frédéric Massart 0de5067c23 MDL-61862 mod_feedback: Implement core_privacy API 2018-04-16 18:45:56 +08:00
David Monllao 1f52bff88a Merge branch 'MDL-61741-34-paypal' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-04-16 10:58:34 +02:00
David Monllao e0c45f30a8 Merge branch 'wip-MDL-61808-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-16 10:03:57 +02:00
Jun Pataleta 6b2ac967a8 Merge branch 'MDL-61708-MOODLE34-lti-fullnamedisplay' of https://github.com/wjroes/moodle into MOODLE_34_STABLE 2018-04-16 15:29:31 +08:00
Jun Pataleta ce1bde9502 Merge branch 'MDL-61974-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-16 13:16:54 +08:00
Andrew Nicols 28780bdb62 MDL-61974 privacy: Rewrite the content writer storage 2018-04-16 11:12:37 +08:00
Andrew Nicols 9959542265 Merge branch 'MDL-61952-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-16 10:51:48 +08:00
Andrew Nicols a7713fd8eb Merge branch 'MDL-61954-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-16 10:47:02 +08:00
Andrew Nicols bff5ccf474 Merge branch 'MDL-61902-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-16 10:21:38 +08:00
Mihail Geshoski 9d1d7caf54 MDL-61918 assignment: Implement null privacy provider
Implement null privacy provider to offline, online, upload and uploadsingle assignment plugins.
2018-04-16 10:02:39 +08:00
Mihail Geshoski ee7c1b3a24 MDL-61902 media: Implement null privacy provider 2018-04-16 09:47:51 +08:00
AMOS bot 8c43f4cc9f Automatically generated installer lang files 2018-04-16 00:07:18 +00:00
Adrian Greeve 496c5f57f6 MDL-61808 tool_monitor: Implemented privacy classes.
This plugin is now compatible with the new privacy system.
2018-04-14 10:50:00 +08:00
AMOS bot 966acf7fc5 Automatically generated installer lang files 2018-04-14 00:08:01 +00:00
Mihail Geshoski 4548bff23b MDL-61980 booktool: Implement null privacy provider
Implement null privacy provider into booktool_exportimscp, booktool_importhtml, booktool_print plugin.
2018-04-13 16:18:23 +08:00
David Mudrák 0c24851679 MDL-61759 admin: Fix notice if attempting use nonexisting policy handler
The list of all known handlers may not contain the configured value,
raising the PHP undefined index notice.
2018-04-13 10:00:33 +02:00
Jake Dallimore f98c0bc576 MDL-61663 portfolio_picasa: add privacy provider implementation 2018-04-13 14:48:54 +08:00
Jake Dallimore fa49cdeb8a MDL-61663 portfolio_googledocs: add privacy provider implementation 2018-04-13 14:48:54 +08:00
Jake Dallimore 634830af0b MDL-61663 portfolio_flickr: add privacy provider implementation 2018-04-13 14:48:54 +08:00
Jake Dallimore 77f4c014b4 MDL-61663 portfolio_download: add privacy provider implementation 2018-04-13 14:48:54 +08:00
Jake Dallimore 3b8e4fb5de MDL-61663 portfolio_boxnet: add privacy provider implementation 2018-04-13 14:48:53 +08:00
Jake Dallimore c321bdd891 MDL-61663 portfolio_mahara: add privacy provider implementation 2018-04-13 14:48:53 +08:00
Jake Dallimore 77430d203d MDL-61663 core_portfolio: add subsystem privacy provider
Added provider for portfolio plugins, and legacy polyfill for plugins.
2018-04-13 14:48:53 +08:00
Zig Tan 69693630a4 MDL-61977 tool_profiling: Implemented null privacy provider 2018-04-13 14:39:09 +08:00
Zig Tan 0e16e180df MDL-61975 tool_recyclebin: Implemented null privacy provider 2018-04-13 14:00:48 +08:00
Frédéric Massart 2cd0309d90 MDL-61836 core_blog: Implement privacy API 2018-04-13 13:30:13 +08:00
AMOS bot 52a844087a Automatically generated installer lang files 2018-04-13 00:07:27 +00:00
David Monllao 109eb1124c weekly release 3.4.2+ 2018-04-12 14:38:25 +02:00
David Monllao 5c1004b8a3 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-04-12 14:38:24 +02:00
Sara Arjona 5309e7f63d MDL-61954 gradeimport_xml: Implement privacy API 2018-04-12 09:54:12 +02:00
Sara Arjona 686e91d5c0 MDL-61954 gradeimport_direct: Implement privacy API 2018-04-12 09:54:12 +02:00
Sara Arjona 1355912aa8 MDL-61954 gradeimport_csv: Implement privacy API 2018-04-12 09:54:12 +02:00
Sara Arjona b9aa614831 MDL-61952 gradeexport_xml: Implement privacy API 2018-04-12 08:41:56 +02:00
Sara Arjona 1e803c595a MDL-61952 gradeexport_xls: Implement privacy API 2018-04-12 08:41:56 +02:00
Sara Arjona c52427e1b8 MDL-61952 gradeexport_txt: Implement privacy API 2018-04-12 08:41:56 +02:00
Sara Arjona 33b62aab65 MDL-61952 gradeexport_ods: Implement privacy API 2018-04-12 08:41:55 +02:00
Ryan Wyllie 0961388a0a MDL-61950 question: include random questions in statistics calculator 2018-04-12 05:39:37 +00:00
nlnrose 92c327fccd MDL-61802 Admin: Corrected typo in test file.
The file privcacy_provider_test.php was supposed to be
privacy_provider_test.php.
2018-04-12 00:23:48 +02:00
Eloy Lafuente (stronk7) fe7fbf24b9 Merge branch 'MDL-61828-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-12 00:14:41 +02:00
Eloy Lafuente (stronk7) 2998e41620 Merge branch 'MDL-61895-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-11 23:58:02 +02:00
Eloy Lafuente (stronk7) 89e4561e94 Merge branch 'MDL-61896-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-11 23:54:55 +02:00
Eloy Lafuente (stronk7) 92c7a3b3c5 Merge branch 'MDL-61859-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-04-11 22:28:46 +02:00
Eloy Lafuente (stronk7) f33ef72a29 Merge branch 'MDL-61743_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-04-11 19:23:22 +02:00
David Monllao db7a1199cf Merge branch 'MDL-61873-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-11 18:42:00 +02:00
David Monllao 6a670f942c Merge branch 'MDL-61581-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-04-11 18:07:56 +02:00
Jake Dallimore 4d5ae78760 Merge branch 'MDL-59691-34' of https://github.com/lucisgit/moodle into MOODLE_34_STABLE 2018-04-11 16:01:26 +08:00
David Monllao 02ca3a12ce MDL-61743 message: Add context level checking 2018-04-11 08:57:51 +02:00
David Monllao fc2238cfec MDL-61743 core_privacy: Add context level checks for all users deletion 2018-04-11 08:57:50 +02:00
Andrew Nicols ab30639634 MDL-61743 core_privacy: Reduce context specificty
Deletion is called for a context against all components, not just
modules.
2018-04-11 08:57:25 +02:00
Simey Lameze 666b12c1e6 MDL-61520 quiz: fix references for xhtml on stats report 2018-04-11 10:49:31 +08:00
Andrew Nicols 53f38ff0d9 Merge branch 'MDL-61881-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-11 10:15:05 +08:00
Zig Tan 4030001cf8 MDL-61881 report: fix privacy lang strings 2018-04-11 10:07:05 +08:00
Zig Tan 184f7d3a85 MDL-61881 report_usersessions: Implement null privacy provider 2018-04-11 10:07:05 +08:00
Zig Tan 7409199411 MDL-61881 report_stats: Implement null privacy provider 2018-04-11 10:07:05 +08:00
Zig Tan bc421d6d46 MDL-61881 report_security: Implement null privacy provider 2018-04-11 10:07:05 +08:00
Zig Tan 850bbe3b97 MDL-61881 report_questioninstances: Implement null privacy provider 2018-04-11 10:07:05 +08:00
Zig Tan e95b8a7c7b MDL-61881 report_performance: Implement null privacy provider 2018-04-11 10:07:05 +08:00
Zig Tan c98c41712d MDL-61881 report_participation: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan df5f0c8f93 MDL-61881 report_outline: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan b05ffcfc57 MDL-61881 report_loglive: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan 7015547371 MDL-61881 report_log: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan 70242a8f17 MDL-61881 report_insights: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan 6b39e44679 MDL-61881 report_eventlist: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan bb49184116 MDL-61881 report_courseoverview: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan 07dd873f63 MDL-61881 report_configlog: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan 00ab1f6e58 MDL-61881 report_competency: Implement null privacy provider 2018-04-11 10:07:04 +08:00
Zig Tan 8f2e5829ce MDL-61881 report_backup: Implement null privacy provider 2018-04-11 10:07:03 +08:00
Andrew Nicols d564f67b2d Merge branch 'MDL-61731-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-11 09:12:28 +08:00
Mihail Geshoski db6aacf45e MDL-61731 message_email: Add privacy files and unit tests 2018-04-11 09:04:48 +08:00
Andrew Nicols b808bf5374 Merge branch 'MDL-61867-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-11 08:52:16 +08:00
AMOS bot 2fbd688d8f Automatically generated installer lang files 2018-04-11 00:07:21 +00:00
Eloy Lafuente (stronk7) d39ae0084a Merge branch 'MDL-61824-m34' of https://github.com/sammarshallou/moodle into MOODLE_34_STABLE 2018-04-11 01:07:01 +02:00
Eric Merrill f539686553 MDL-61913 restore: Protect against blocks that aren't being created 2018-04-11 00:52:00 +02:00
Tim Hunt fadee607e9 MDL-61928 formslib: shortforms should work with non-editable forms 2018-04-10 17:40:19 +01:00
Tim Hunt 199b34b5d0 MDL-61348 quiz reports: fix incorrect groups averages
the averages were wrong if a user had mulitple enrolments in a course,
which can happen with some enrolment plugins.
2018-04-10 17:12:04 +01:00
Eloy Lafuente (stronk7) 713a61f712 Merge branch 'wip-MDL-58697-34-assigngrading' of git://github.com/adamann2/moodle into MOODLE_34_STABLE 2018-04-10 15:53:59 +02:00
sam marshall 5a4cd49648 MDL-61824 core_search: Deleting restored context caused error
When restoring content, this adds it to a queue for indexing. If the
restored content was then deleted before the indexing takes place,
this caused an exception in the scheduled task.

This change makes it continue safely past missing contexts.
2018-04-10 13:07:57 +01:00
David Monllao dec44f9d39 Merge branch 'MDL-61838-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-10 13:44:36 +02:00
David Monllao 61bb1ebe33 Merge branch 'MDL-61843-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-10 13:42:50 +02:00
Eloy Lafuente (stronk7) 933ce256a6 MDL-61875 tests: Use existing component & support $CFG->admin 2018-04-10 13:14:01 +02:00
Eloy Lafuente (stronk7) 70348aa81e Merge branch 'MDL-61875-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-04-10 13:06:30 +02:00
David Monllao 5f1145b4ce Merge branch 'MDL-61846-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-10 09:00:08 +02:00
David Monllao 308435acb4 Merge branch 'MDL-61129-fix-accessibility-on-tables-mod_survey_Moodle-34' of https://github.com/guillalva06/moodle into MOODLE_34_STABLE 2018-04-10 07:59:09 +02:00
Andrew Nicols a8c579b4c5 Merge branch 'MDL-61795-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-10 10:42:10 +08:00
Mihail Geshoski 321a30e14f MDL-61795 block_rss_client: Add privacy files and unit tests 2018-04-10 09:37:38 +08:00
Jake Dallimore edadfa06cb MDL-61875 core_privacy: update the core_component_list in the manager 2018-04-10 08:51:00 +08:00
Jake Dallimore 21c438f24a MDL-61875 core_component: new method to get full components list 2018-04-10 08:50:58 +08:00
Eloy Lafuente (stronk7) 4d01802d31 Merge branch 'MDL-61860-34' of https://github.com/mackensen/moodle into MOODLE_34_STABLE 2018-04-10 01:01:07 +02:00
Eloy Lafuente (stronk7) 91513c6bd3 Merge branch 'MDL-60196_34' of https://github.com/mfabriczy/moodle into MOODLE_34_STABLE 2018-04-10 00:57:35 +02:00
cescobedo 623acad16b MDL-61916 format: Add privacy implementation for all format plugins
None of the Course format plugins have any user preference or database table.
They all implement the null provider.
2018-04-10 00:24:58 +02:00
Daniel Thies f62a247467 MDL-61476 mod_glossary: Check XML arrays exist 2018-04-09 23:45:58 +02:00
Daniel Thies 8071b5fc9e MDL-61476 mod_glossary: Support tags in entries export 2018-04-09 23:45:38 +02:00
Eloy Lafuente (stronk7) 6d044ed3d9 Merge branch 'MDL-61861-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-09 20:28:34 +02:00
Tony Butler 966f659277 MDL-59691 assignfeedback_editpdf: Allow comment placement to all edges
Plus a couple of extra usability improvements:
- Collapse comment during move to allow precise placement
- Change cursor style to indicate that dragging is possible
2018-04-09 16:56:08 +01:00
Tony Butler 00e98f2a8b MDL-59691 assignfeedback_editpdf: Allow comments to collapse to top-left
Forcing them to collapse to the bottom-left corner seems less natural
and effectively changes the location of existing comments from pre-3.3
2018-04-09 16:56:08 +01:00
Guillermo Alvarez ca9f979270 MDL-61129 survey: Add colgroup attribute at survey question tables 2018-04-09 10:32:43 -05:00
Andrew Nicols 6f1680569b Merge branch 'MDL-61829-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-09 15:28:37 +08:00
Andrew Nicols f647b94a75 Merge branch 'MDL-61736-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-04-09 15:25:48 +08:00
Sara Arjona b1f50cdf98 MDL-61736 user: Show correct status when enrol method is disabled
When disabling an enrolment method, the user status will be displayed
as "Not current" instead of "Active".
2018-04-09 08:47:12 +02:00
Zig Tan 26109431b5 MDL-61829 block_community: Implement privacy provider 2018-04-09 14:09:27 +08:00
Mihail Geshoski 36506f7354 MDL-61867 fileconverter_unoconv: Add privacy files 2018-04-09 11:44:48 +08:00
Helen Foster 60d78e5a11 MDL-61033 mod_quiz: Update lang string 2018-04-09 10:40:17 +08:00
Andrew Nicols 7569618528 Merge branch 'MDL-61033-34' of https://github.com/nashtechdev01/moodle into MOODLE_34_STABLE 2018-04-09 10:39:34 +08:00
Andrew Nicols f42a899268 MDL-61896 filter: Implement privacy API for all filters 2018-04-08 15:56:14 +08:00
Andrew Nicols 46612109ff MDL-61895 availability: Implement null provider for plugins 2018-04-08 14:22:16 +08:00
Andrew Nicols 5712717383 MDL-61861 privacy: Add unit tests to check all providers. 2018-04-08 14:13:22 +08:00
Andrew Nicols a00bc971d5 MDL-61861 core_tag: Correct langstring identifier 2018-04-08 14:13:22 +08:00
Andrew Nicols ec965d9e00 MDL-61828 core_privacy: Support proper nesting in test trees 2018-04-08 13:35:39 +08:00
Charles Fulton 507867b76d MDL-61860 auth: standardise config inclusion 2018-04-07 12:19:17 -04:00
cescobedo 935d2c9f29 MDL-61873 auth: Add privacy implementation for all auth plugins
None of the Auth plugins (except manual and oauth2) have any user preference or database table.
They all implement the null provider.
2018-04-07 11:26:51 +02:00
Luca Bösch 0023c0254f MDL-61581 lesson: style continue to last buttons 2018-04-06 16:43:00 +02:00
David Monllao 42770ce9a9 MDL-61621 blocks: New API function 2018-04-06 13:13:33 +02:00
Jake Dallimore 810e854153 MDL-61859 core_completion: fix unit tests expecting exceptions twice
We can't expectException twice in the same test, so split this out into
another test.
2018-04-06 17:31:38 +08:00
Mihail Geshoski bc7287eaf5 MDL-61846 dataformat: Add privacy implementation for all plugins 2018-04-06 09:25:53 +08:00
Mihail Geshoski 4dc61ed547 MDL-61843 report_completion: Add privacy files 2018-04-06 09:14:20 +08:00
Mihail Geshoski 2496cd7ffd MDL-61838 report_progress: Add privacy files 2018-04-06 09:00:52 +08:00
Eloy Lafuente (stronk7) 2d8ddc8239 weekly release 3.4.2+ 2018-04-05 15:38:15 +02:00
Eloy Lafuente (stronk7) d7174ce4e2 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-04-05 15:38:12 +02:00
Jake Dallimore 4fe8b57969 Merge branch 'MDL-61761-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-05 13:18:30 +08:00
Mihail Geshoski ed7d3f13b6 MDL-61761 message_jabber: Add privacy files and unit tests 2018-04-05 12:01:20 +08:00
Jake Dallimore 55653a2dac Merge branch 'wip-MDL-61163-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-04-05 10:37:15 +08:00
Andrew Nicols 4fe9879b14 Merge branch 'MDL-60726-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-04-05 08:39:18 +08:00
Eloy Lafuente (stronk7) 2f6c6c0026 Merge branch 'MDL-61818-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-05 00:53:10 +02:00
Rohith 551fa309a0 MDL-61746 PARAM_CLEANHTML: Fix documentation typos 2018-04-05 00:43:34 +02:00
Eloy Lafuente (stronk7) 476380749b Merge branch 'MDL-61673-fix-wrong-string-on-calendar-mustache_Moodle_34' of https://github.com/guillalva06/moodle into MOODLE_34_STABLE 2018-04-05 00:37:39 +02:00
Eloy Lafuente (stronk7) f143f75d91 Merge branch 'MDL-61781-34-fix' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-04-04 10:51:11 +02:00
Jun Pataleta 4ed6dd031a MDL-61781 admin_settings: Fix default settings value for docroot 2018-04-04 16:48:02 +08:00
Zig Tan f13c851d05 MDL-60726 assign: Fix assign submission confirmation alignment 2018-04-04 16:35:27 +08:00
Andrew Nicols 328c32c3db Merge branch 'MDL-61692-34-2' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-04-04 13:03:24 +08:00
Andrew Nicols 5a0251179a Merge branch 'wip-MDL-56635-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-04-04 11:32:22 +08:00
Andrew Nicols 450aa66dcd Merge branch 'MDL-61183-34' of git://github.com/farhan6318/moodle into MOODLE_34_STABLE 2018-04-04 11:02:00 +08:00
Farhan Karmali 2377be335a MDL-61183 user: Added total participants count on paricipants page 2018-04-04 07:59:17 +05:30
Jake Dallimore 9665640c24 MDL-61692 core_privacy: add privacyfields to link_ methods
Some subsystems are like conduits, passing data along to plugins which,
in turn, send the data externally. Only the component linking to (using)
the subsystem will know what data it is sending along to the eventual
external system, so should be able to specify this at the time of
linking. The same goes for plugintypes.
2018-04-04 10:06:04 +08:00
Andrew Nicols bd0ce23402 Merge branch 'MDL-61751-34-fix' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-04-04 09:11:39 +08:00
Jake Dallimore 82df7d0a4d MDL-61751 core_plagiarism: fix fatal error with privacy legacy polyfill 2018-04-04 08:59:12 +08:00
Eloy Lafuente (stronk7) b3c6973362 Merge branch 'MDL-61451-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-04-04 01:40:45 +02:00
Eloy Lafuente (stronk7) dc43213556 Merge branch 'MDL-61817-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-04 01:23:11 +02:00
Eloy Lafuente (stronk7) 5959911fff MDL-61751 core_plagiarism: add testsuite to phpunit.xml 2018-04-04 01:05:40 +02:00
Luca Bösch 90632e0763 MDL-61502 questions: add filter tests to gapselect question type. 2018-04-04 00:56:29 +02:00
Eloy Lafuente (stronk7) 2d621dc0ef Merge branch 'wip-MDL-61522-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-04-04 00:46:33 +02:00
Eloy Lafuente (stronk7) 9066f3bde6 Merge branch 'MDL-61525-34' of https://github.com/HuongNV13/moodle into MOODLE_34_STABLE 2018-04-04 00:44:40 +02:00
Eloy Lafuente (stronk7) e3529026a0 Merge branch 'MDL-61665-34' of https://github.com/iamandrew/moodle into MOODLE_34_STABLE 2018-04-04 00:39:31 +02:00
Eloy Lafuente (stronk7) 2f56d7d101 Merge branch 'MDL-61703-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-04 00:35:12 +02:00
Eloy Lafuente (stronk7) 15a84d14d5 Merge branch 'MDL-61751-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-04 00:23:55 +02:00
Eloy Lafuente (stronk7) c184fb81f3 Merge branch 'MDL-61781-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-04-03 23:46:40 +02:00
Eloy Lafuente (stronk7) 737f272b1e Merge branch 'MDL-61724-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-04-03 23:39:56 +02:00
Eloy Lafuente (stronk7) 89d622013b Merge branch 'MDL-60115-Book-cancel-button-redirect-bug-34' of https://github.com/Moodlers/moodle-1 into MOODLE_34_STABLE 2018-04-03 21:46:27 +02:00
Marcus Fabriczy 44d7ee0937 MDL-60196 core_course: Fix the display of custom LTI icons
Custom LTI icons attached to LTI tools did not display - a regression
caused by MDL-55796.

Change-Id: Ia7e3428755fae4a2b1bc31b3903574061a23ee9b
2018-04-03 20:34:47 +09:30
Jake Dallimore 12440c7f9d Merge branch 'wip-MDL-61815-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-03 17:53:39 +08:00
Eloy Lafuente (stronk7) df740a511b MDL-61629 message_airnotifier: whitespace fix 2018-04-03 11:48:51 +02:00
Jake Dallimore 334bea41ec Merge branch 'wip-MDL-61127-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-03 17:34:20 +08:00
Adrian Greeve fd3d62ca37 MDL-61127 filepicker: Selected repository now highlighted. 2018-04-03 16:43:21 +08:00
Adrian Greeve 3ad6fc7852 MDL-61127 filepicker: Added aria-selected attribute to repos.
The repository list in the file picker now as aria-selected
added to denote which repository is selected.
2018-04-03 16:43:10 +08:00
Andrew Nicols d61bbb5f37 Merge branch 'wip-MDL-61629-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-04-03 15:59:58 +08:00
Adrian Greeve e4a71a9a96 MDL-61629 message_airnotifier: Add privacy files and unit tests. 2018-04-03 15:29:46 +08:00
Andrew Nicols 51cd6d5f48 Merge branch 'MDL-61020-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-04-03 14:21:17 +08:00
Adrian Greeve 34a39ba884 MDL-61815 core_privacy: Fix for metadata types and new method.
Minor fix for subsystem_link and plugintype_link.
Addition of get_null_provider_reason in the manager class.
2018-04-03 13:05:11 +08:00
Eloy Lafuente (stronk7) fe9c70b9b5 Merge branch 'MDL-61689-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-03 01:17:26 +02:00
Eloy Lafuente (stronk7) 5d4d21a31a MDL-61223 course: keep some tests using old values (January 1st 1970) 2018-04-03 00:13:28 +02:00
Guillermo Alvarez a564495dcf MDL-61673 calendar: Replace wrong string on mustache template 2018-04-02 10:34:23 -05:00
Eloy Lafuente (stronk7) f070d262a1 MDL-61223 course: amend test setup to keep passing and covering case 2018-04-02 12:03:51 +02:00
Andrew Nicols 12d8c5a611 MDL-61223 course: Set default course start date 2018-04-02 12:03:46 +02:00
Eloy Lafuente (stronk7) 5251a11c59 Merge branch 'MDL-61801-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-04-02 11:04:39 +02:00
Andrew Nicols 522f199222 MDL-61817 tinymce: Add privacy implementation for all plugins
None of the TinyMCE plugins have any user preference or database table.
They all implement the null provider.
2018-04-02 13:51:40 +08:00
Andrew Nicols 1e70bd2b95 MDL-61818 antivirus: Implement core_privacy API 2018-04-02 13:47:45 +08:00
Michael Brown 2830aca413 MDL-60115 mod_book: Book Resource Cancel Button Redirect Bug
When the user creates a book but adds no chapters, hitting cancel on
 the chapter creation page would redirect you right back to the same
 page with no explanation. This solution redirects to the course page
 when canceling chapter creation when no chapters are present.
2018-04-02 04:09:35 +00:00
AMOS bot 8995a77306 Automatically generated installer lang files 2018-04-02 00:07:17 +00:00
Huong Nguyen 97e8019261 MDL-61525 Groups: Index page error on first time visit 2018-04-01 23:01:10 +07:00
Andrew Nicols 658b689b12 MDL-61751 core_privacy: Correct test return 2018-04-01 13:35:14 +08:00
Jake Dallimore 92282f5320 MDL-61751 core_plagiarism: add polyfill for plagiarism provider 2018-04-01 13:35:14 +08:00
AMOS bot 2cfb7f823f Automatically generated installer lang files 2018-03-31 00:07:13 +00:00
Andrew Nicols 8e02d8b3df MDL-61801 core_privacy: Correct bug in unit test provider 2018-03-29 22:45:28 +08:00
Luca Bösch aa096c380d MDL-61781 installation: docs link should have https. 2018-03-29 12:12:45 +02:00
Andrew Nicols cf0e873506 MDL-61703 privacy: Allow writing of user preferences at any context 2018-03-29 15:28:45 +08:00
Jun Pataleta bdceed1023 weekly release 3.4.2+ 2018-03-29 12:55:59 +08:00
Jun Pataleta 53f8de7af4 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-03-29 12:55:58 +08:00
Marina Glancy c30595af59 MDL-61163 mod_wiki: guests should be able to view frontpage modules
When wiki is added to the frontpage and the guest role has capability to view
wiki, users should not be required to log in.
2018-03-29 11:12:30 +08:00
Marina Glancy ec5e497a35 MDL-61163 mod_wiki: add default view capability to frontpage
It is inconsistent that guests are allowed to view frontpage wiki but once user is logged in they
loose this capability
2018-03-29 11:12:30 +08:00
Marina Glancy b800501c76 MDL-61163 mod_wiki: correct capability check in modinfo
Wiki defines capability mod/wiki:viewpage instead of standard mod/wiki:view . This means that people
who do not have capability to view wiki still see it in the modules list.

Also corrected unittest that was testing situation when student has capability to create pages
but does not have capability to view pages. Such student should not see wiki module at all.
2018-03-29 11:12:30 +08:00
dinhloc e2e7f32d6c MDL-61033 quiz: Editing a quiz while a preview is open
Editing a quiz while a preview is open in another browser tab can leads to a cryptic error that is hard to recover from
2018-03-28 13:53:01 +07:00
Jake Dallimore 2cd48e09c7 Merge branch 'MDL-61770-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-28 13:36:31 +08:00
Andrew Nicols 0d2a976843 MDL-61770 iplookup: Check types rather than values 2018-03-28 10:58:51 +08:00
Shamim Rezaie bc021bf6c6 MDL-61020 media_videojs: Fix RTL display issues 2018-03-28 13:38:02 +11:00
Eloy Lafuente (stronk7) a2545bad49 Merge branch 'MDL-39060-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-03-27 13:45:42 +02:00
Ankit Agarwal 62bfa92b7a MDL-51362 libraries: Remove deprecated admin tool unittest 2018-03-27 13:37:39 +02:00
Eloy Lafuente (stronk7) 68842b56d4 Merge branch 'MDL-61321-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-03-27 12:45:11 +02:00
Eloy Lafuente (stronk7) 513ac30d0a Merge branch 'MDL-61718-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-03-27 12:40:49 +02:00
Jun Pataleta df5eac853a Merge branch 'MDL-60762-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-03-27 15:47:27 +08:00
Adam Pawełczak edec1e65d2 MDL-60762 tool_usertours: Respect $CFG->admin in manager.php 2018-03-27 15:23:19 +08:00
Jun Pataleta 1b99f0c8a1 Merge branch 'wip-MDL-61328-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-03-27 13:50:10 +08:00
Jun Pataleta 128f077b68 Merge branch 'MDL-61257-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-03-27 12:53:06 +08:00
Jun Pataleta 497d52b407 Merge branch 'MDL-61656_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-03-27 12:12:02 +08:00
Eloy Lafuente (stronk7) e58107b258 Merge branch 'MDL-61248_m34' of https://github.com/ak4t0sh/moodle into MOODLE_34_STABLE 2018-03-27 01:42:09 +02:00
Eloy Lafuente (stronk7) f0a2fb7e2f Merge branch 'MDL-61576-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-03-26 23:26:21 +02:00
Matteo Scaramuccia 1edb0f1027 MDL-59596 ddl: Support MariaDB 10.2.4+ SQL_MODE new default value. 2018-03-26 23:16:10 +02:00
Matteo Scaramuccia ad75e8bb15 MDL-59596 ddl: Added has_breaking_change_sqlmode() 2018-03-26 23:15:47 +02:00
Eloy Lafuente (stronk7) d7e920d8dd Merge branch 'MDL-61691-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-03-26 23:15:19 +02:00
Willem Roes 65f957051c MDL-61708 mod_lti: use fullname for lis_person_name_full
Fullname passed on to LTI Provider was in format 'firstname lastname' 
completely ignoring fullnamedisplay settings.
2018-03-26 12:54:52 +02:00
Andrew Nicols 6972d683ef Merge branch 'MDL-55532-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-03-26 15:36:12 +08:00
Andrew Nicols 60c03cf181 Merge branch 'MDL-61733-34' of https://github.com/MartinGauk/moodle into MOODLE_34_STABLE 2018-03-26 15:02:04 +08:00
Jake Dallimore 0786b8a1c3 MDL-61691 core_plagiarism: fix namespace in privacy provider interface 2018-03-26 12:29:59 +08:00
Mihail Geshoski da769bbc8c MDL-61257 reports: Report logs link to unavailable completion report 2018-03-26 12:24:13 +08:00
Nick Phillips 173b5ea5ac MDL-55532 gradebook: fix grade export to include category names 2018-03-26 11:50:35 +08:00
Mihail Geshoski c5c18d46dc MDL-61724 resource: Unable to view or download file resource 2018-03-26 11:20:07 +08:00
Marina Glancy 8253bba831 MDL-61328 tool_usertours: do not fix tour sortorder after step editing
otherwise it breaks when we try to modify the step sortorder
2018-03-26 09:53:11 +08:00
Zig Tan b65ae316f8 MDL-39060 backup: fix typo backup destroy() function 2018-03-26 09:27:55 +08:00
AMOS bot 31f46d8db2 Automatically generated installer lang files 2018-03-25 00:06:23 +00:00
David Mudrák 72b01c5382 MDL-61741 enrol_paypal: Prevent some edge-case false errors
While testing the plugin in various scenarios, I've noticed that there
are two situations which the current code does not handle quite well:

* Detecting for existing txn_id record was likely to throw "found more
  than one record" debugging message. Fixed by explicitly ignoring
  multiple records.
* The incoming IPN verification message does not always contain the
  recipient's email in the "business" field. When a payment has to be
  claimed manually at PayPal (e.g. as a result of currencies mismatch
  and other settings), the email is coming only in the "receiver_email"
  field. This led to PHP notice and caused the script to fail falsely.
2018-03-23 19:51:13 +01:00
David Mudrák 021be5877a MDL-61741 enrol_paypal: Fix the IPN verification endpoint URL
IPN protocol spec has different URL for sending the verification
request. Better to have it fixed even if the existing value still
seems to work - to avoid unexpected surprise in the future.

Source: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNImplementation/#specs
2018-03-23 19:44:42 +01:00
Arnaud Trouvé 90feb75113 MDL-61248 admin: fix incorrectly initialized property 2018-03-23 16:24:18 +01:00
Martin Gauk b13a4c68ed MDL-61733 atto_table: fix creating new table
If Atto is embedded in an HTML table (e.g. in the database activity
on the template pages), you could not create a new table.
2018-03-23 09:39:18 +00:00
Eloy Lafuente (stronk7) 70937a4a20 weekly release 3.4.2+ 2018-03-22 16:57:17 +01:00
Eloy Lafuente (stronk7) 3db6e89ccc Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-03-22 16:57:15 +01:00
Jun Pataleta 285f957a5b MDL-61718 admin: Make sure city and country columns are not duplicated
* Since City/town and Country have been added in $CFG->showuseridentity
since 3.4, we need to exclude the required city and country columns
when fetching the extra columns using get_extra_user_fields().
2018-03-22 13:53:09 +08:00
Jun Pataleta 98c563e0b7 Merge branch 'MDL-61678_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-03-22 12:33:17 +08:00
Jake Dallimore 6894a65f72 Merge branch 'MDL-58179-34-fix' of https://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-22 12:06:26 +08:00
Andrew Nicols bfff12f527 MDL-58179 mod_lesson: Add missing : in labels 2018-03-22 12:01:37 +08:00
Andrew Nicols d16e97fdcc Merge branch 'MDL-61530-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-22 11:49:37 +08:00
Renaat Debleu 389a872baa MDL-61530 mod_glossary: import_entries.feature needs @_file_upload tag 2018-03-22 11:45:11 +08:00
Jun Pataleta 1127f6768d Merge branch 'MDL-52989-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-03-22 11:29:43 +08:00
Jun Pataleta f34b345910 MDL-52989 mod_lesson: Fix typo in feature description 2018-03-22 11:28:39 +08:00
Luca Bösch 17615d90d4 MDL-52989 mod_lesson: Fix cluster_jump returning a cluster page id. 2018-03-22 11:28:39 +08:00
Eloy Lafuente (stronk7) 05866360b7 Merge branch 'MDL-61658-34-allcountrycodes' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-03-21 19:37:55 +01:00
David Mudrák c3ab217820 MDL-61658 user: Fix displaying of user's country name
In these cases we want to use the method get_list_of_countries() to
obtain translated names of all potential country codes. The country code
is already there in the database. So it does not matter if the country
is among those whitelisted in $CFG->allcountrycodes - we want to see its
name anyway.
2018-03-21 18:15:20 +01:00
David Mudrák a3ef4709ae MDL-61658 user: Fix parsing of the agedigitalconsentmap setting
When parsing and validating the value of the Digital age of consent
(agedigitalconsentmap) field, we want to load all country codes. Not
just the ones whitelisted for drop down menus that users can choose
from.
2018-03-21 18:15:19 +01:00
Andrew Nicols 6966cdc45b Merge branch 'MDL-61519-34' of https://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-21 09:09:59 +08:00
Andrew Nicols 65fa7c7d15 MDL-61519 coursecat: Reset the coursecat cache on enrolment 2018-03-21 09:07:46 +08:00
Andrew Nicols 96cf945c7e Merge branch 'MDL-61519-34' of https://github.com/MartinGauk/moodle into MOODLE_34_STABLE 2018-03-21 09:07:29 +08:00
AMOS bot 47f75d41ab Automatically generated installer lang files 2018-03-21 00:06:11 +00:00
Martin Gauk bede042b12 MDL-61519 coursecat: do not cache get_all_children_ids 2018-03-20 13:13:08 +00:00
Juan Leyva b195c7dc90 MDL-61321 mod_feedback: Return all the items responses
The WS should receive all the item responses for all the attempts.
2018-03-20 10:37:14 +01:00
Andrew Davidson 2988b04705 MDL-61665 calendar: Added missing complete layout call for calendar page 2018-03-20 09:27:17 +00:00
Andrew Nicols 78928a3537 Merge branch 'MDL-61519-34' of https://github.com/MartinGauk/moodle into MOODLE_34_STABLE 2018-03-20 13:56:29 +08:00
Luca Bösch a1b9c05003 MDL-58179 lesson: Avoid using span with class "label" 2018-03-20 13:48:12 +08:00
Andrew Nicols ef86897b46 MDL-61597 calendartype: Implement the privacy API 2018-03-20 02:26:14 +01:00
Andrew Nicols 1886d9df92 MDL-61689 phpunit: Be stricter about output during unit tests
This change also add fail-on-risky to travis to help pick these up, and
verbosity too.

We only fail on risky during Travis and not during normal output because
developers may want to debug tests.
2018-03-20 08:32:27 +08:00
AMOS bot dee930150d Automatically generated installer lang files 2018-03-20 00:06:11 +00:00
AMOS bot 3267f5be8c Automatically generated installer lang files 2018-03-20 00:06:11 +00:00
Andrew Nicols 799b4a2618 Merge branch 'MDL-61265-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-03-19 10:51:58 +08:00
Andrew Nicols 794ec9478e Merge branch 'MDL-58179-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-03-19 10:31:40 +08:00
Andrew Nicols 86d77c31ca Merge branch 'MDL-61154_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-03-19 10:20:16 +08:00
Eloy Lafuente (stronk7) 8b66c45e9d MDL-61678 phpunit: Bump to current / latest 6.5.x before major release 2018-03-18 23:50:21 +01:00
Eloy Lafuente (stronk7) c485e42447 Moodle release 3.4.2 2018-03-17 01:18:36 +01:00
Martin Gauk 72901ac846 MDL-61519 calendar: do not iterate through all categories
Replace calls to \coursecat::get_all() or cache the results.
2018-03-16 14:28:41 +00:00
cescobedo 71aad59120 MDL-61451 message_area: core/auto_rows remove set height to 1px 2018-03-16 13:04:30 +01:00
Sara Arjona 3f476f0c5a MDL-61265 enrol: Add default numsections for external db 2018-03-16 11:33:23 +01:00
cescobedo 5499f63d46 MDL-61576 mod_lti: remove allowinstructorcustom in lib/locallib.php 2018-03-16 10:38:36 +01:00
David Monllao 973108a5c8 MDL-61154 analytics: No escaping for text format url 2018-03-16 09:27:19 +01:00
Luca Bösch 3094f53f1e MDL-58179 lesson: Avoid using span with class "label" 2018-03-16 08:48:11 +01:00
Jake Dallimore 263e505748 weekly release 3.4.1+ 2018-03-16 10:08:55 +08:00
Eloy Lafuente (stronk7) ec33505139 MDL-61656 report_security: fix role name 2018-03-16 02:26:10 +01:00
Eloy Lafuente (stronk7) cb46936de8 Merge branch 'MDL-61570-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-16 01:15:25 +01:00
Eloy Lafuente (stronk7) bc514fac18 Merge branch 'MDL-61566-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-16 00:29:48 +01:00
Andrew Nicols ea59dfbb81 MDL-61571 atto: Implement null provider for atto plugins 2018-03-15 23:49:53 +01:00
Jake Dallimore 8b1b0011f0 Merge branch 'wip-MDL-61477-34-behat' of https://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-03-15 16:44:25 +08:00
Marina Glancy e6571f9af9 MDL-61477 auth_email: behat tests for sign up 2018-03-15 16:22:57 +08:00
Jake Dallimore dea705b6b1 Merge branch 'wip-MDL-61477-34-manager' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-03-15 11:38:45 +08:00
Marina Glancy aef659d1e2 MDL-61477 admin: sitepolicy handler API
- Define sitepolicy handler manager class, base class and the core handler
- Allow to set a plugin as sitepolicyhandler that implements the sitepolicy API
- Modify web services to return information from the 3rd party handler instead of core if needed
2018-03-15 11:32:13 +08:00
David Mudrák 94e7b022c7 MDL-61477 admin: Allow plugins to act as alternate policy handlers
The patch introduces a new site setting 'sitepolicyhandler' that can be
either empty or contain a plugin component name. If it is empty, the
site policy feature keeps working as before and the core keeps the
control over it.

If a plugin is specified, it is expected to implement the callback
'site_policy_handler' in its lib.php file. The callback should return a
URL to a script where the user can accept the site policies. The plugin
itself is responsible for setting the 'policyagreed' flag in the users
table. The callback may return an empty value, in which case the user
can continue using the site without being redirected.

The patch adds support for a new pre-config flag NO_SITEPOLICY_CHECK.
This constant should be defined and set to true if we should not check
the user's policyagreed status during the require_login().

This is for pages where the user actually accepts the site policies and
helps to avoid the redirect loop.
2018-03-15 09:30:59 +08:00
Eloy Lafuente (stronk7) 98e4385879 Merge branch 'MDL-61600-34' of git://github.com/dpalou/moodle into MOODLE_34_STABLE 2018-03-14 14:43:38 +01:00
Eloy Lafuente (stronk7) 81eec779d9 Merge branch 'MDL-61620_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-03-14 13:38:50 +01:00
David Monllao 735da2261b MDL-61620 output: New action_menu options 2018-03-14 11:38:25 +01:00
Eloy Lafuente (stronk7) ad3fe959fd Merge branch 'MDL-61398-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-14 11:22:25 +01:00
Eloy Lafuente (stronk7) 66af90fde4 Merge branch 'MDL-61475-34-v3' of git://github.com/snake/moodle into MOODLE_34_STABLE 2018-03-14 11:01:07 +01:00
Dani Palou d9aa39baad MDL-61600 recaptcha: Create a script to display recaptcha 2018-03-14 10:33:52 +01:00
Andrew Nicols c71654fd2c Merge branch 'MDL-60398-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-03-14 10:33:44 +08:00
Jake Dallimore 8f72459f1a Merge branch 'MDL-61307-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-14 09:43:50 +08:00
Jake Dallimore 89985f5c5b MDL-61475 mod_choice: perf improvement when exporting personal data
Instead of creating an array containing all record information and then
writing, we know write periodically during the recordset iteration, thus
alleviating any memory concerns associated with the array approach.
2018-03-14 09:37:14 +08:00
Jake Dallimore 4d07ed6b17 MDL-61475 mod_choice: Update core_privacy implementation 2018-03-14 09:37:14 +08:00
Jun Pataleta 42c3218b2c MDL-61475 mod_choice: Add implementation of Privacy API 2018-03-14 09:37:14 +08:00
Andrew Nicols 1706ca6140 MDL-61398 block_html: Implement privacy API 2018-03-14 09:33:16 +08:00
Andrew Nicols 06ae551f04 MDL-61307 core_privacy: Add unit test to check installed providers 2018-03-14 09:32:28 +08:00
David Mudrák c22ea810ee MDL-61392 enrol_paypal: Improve IPN input parameters checking 2018-03-14 09:11:36 +08:00
David Mudrák 0167ce3ded MDL-61392 enrol_paypal: Improve the IPN notifications handling
* Notify administrators once incoming IPN request is verified by PayPal.
* Fix the HTTP status as expected by the IPN protocol.
2018-03-14 09:11:36 +08:00
Eloy Lafuente (stronk7) c6f4528a7f Merge branch 'MDL-61625_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-03-14 00:59:53 +01:00
David Mudrák b3016e0e1b MDL-60101 auth_oauth2: Don't allow suspended users to SSO in via OAuth2
Without this patch, users could still log in as a suspended account via
OAuth2 SSO feature.
2018-03-13 09:13:50 +01:00
Jake Dallimore 7286f62c01 Merge branch 'm34_MDL-61626_PgSQL_Table_Name_Could_Be_Schema_Qualified' of https://github.com/scara/moodle into MOODLE_34_STABLE 2018-03-13 15:37:43 +08:00
Andrew Nicols 50dcf3bdae Merge branch 'MDL-60828-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-03-13 15:29:13 +08:00
Andrew Nicols e8dae4203d Merge branch 'MDL-59070-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-03-13 13:23:10 +08:00
Andrew Nicols 30279d16dd Merge branch 'MDL-61397-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-03-13 12:36:37 +08:00
Andrew Nicols 8088ae2b3c Merge branch 'MDL-61567-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-03-13 12:21:00 +08:00
Zig Tan 362a7ed6fe MDL-61567 mod_url: Implement null provider mod_url 2018-03-13 11:14:12 +08:00
Zig Tan 2298b97814 MDL-61567 mod_resource: Implement null provider mod_resource 2018-03-13 11:14:12 +08:00
Zig Tan f2289ba9a2 MDL-61567 mod_page: Implement null provider mod_page 2018-03-13 11:14:12 +08:00
Zig Tan 731f9bd3f2 MDL-61567 mod_label: Implement null provider mod_label 2018-03-13 11:14:12 +08:00
Zig Tan 804e7a6142 MDL-61567 mod_folder: Implement null provider mod_folder 2018-03-13 11:14:12 +08:00
Eloy Lafuente (stronk7) c1bb75a533 Merge branch 'MDL-61307-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-13 03:27:41 +01:00
Zig Tan e319a383dc MDL-61397 blocks: Fix null_provider namespace for blocks 2018-03-13 09:59:21 +08:00
Andrew Nicols 72999a7eb9 MDL-61307 core: Language changes 2018-03-13 09:42:21 +08:00
Andrew Nicols cd505acf19 MDL-61307 privacy: Rename deletion functions 2018-03-13 08:49:03 +08:00
Andrew Nicols cf9ef3275d MDL-61307 core: Remove deletion_criteria 2018-03-13 08:48:59 +08:00
Eloy Lafuente (stronk7) 11e2c441cd Merge branch 'MDL-48501-mdl34' of git://github.com/jswebster/moodle into MOODLE_34_STABLE 2018-03-12 23:50:35 +01:00
Matteo Scaramuccia c499b15fe0 MDL-61626 core_dml: pgsql and schema qualification. 2018-03-12 22:51:38 +01:00
Eloy Lafuente (stronk7) 21f2c3435b Merge branch 'wip-MDL-60241-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-03-12 18:28:50 +01:00
Eloy Lafuente (stronk7) 61305a7684 Merge branch 'MDL-61397-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-12 17:31:27 +01:00
Eloy Lafuente (stronk7) 85eec82bc7 Merge branch 'MDL-61622-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-03-12 11:36:36 +01:00
David Monllao 841d54bc4a MDL-61625 persistent form: Add missing param to the constructor 2018-03-12 08:10:02 +01:00
Andrew Nicols e842b68d67 Merge branch 'MDL-61365-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-03-12 13:44:56 +08:00
Andrew Nicols 0fbe9dfb95 MDL-61570 tool_usertours: Implement Privacy API 2018-03-12 13:34:35 +08:00
Andrew Nicols 6f8ea0e2ea MDL-61566 theme: Add Privacy providers for all core themes 2018-03-12 13:26:06 +08:00
Andrew Nicols 63a54665f2 Merge branch 'MDL-61513-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-03-12 12:26:28 +08:00
Andrew Nicols 69b0484c6b Merge branch 'MDL-61498-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-03-12 12:07:49 +08:00
Andrew Nicols bcc0d0e9eb Merge branch 'MDL-61261-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-03-12 11:52:00 +08:00
Zig Tan 80d7a98d84 MDL-61397 blocks: Add null_providers for blocks with no user data 2018-03-12 08:44:19 +08:00
Juan Leyva 19ff10cf06 MDL-61622 auth: New WS is_age_digital_consent_verification_enabled 2018-03-09 18:07:30 +01:00
Sara Arjona 71a1d2bd85 MDL-60828 user: Reset current page when filtering/searching users
Added baseurl parameter to core_user\output\unified_filter to let specify
different URL, instead of using always $PAGE->url.
2018-03-09 08:36:39 +01:00
Jake Dallimore 3dacb31271 Merge branch 'MDL-61307-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-03-09 13:36:55 +08:00
Andrew Nicols 15a4560637 MDL-61307 core_plagiarism: Add implementation of Privacy API 2018-03-09 12:25:11 +08:00
Adrian Greeve 6010b427b4 MDL-61307 core_comment: Add implementation of privacy API 2018-03-09 12:25:10 +08:00
Andrew Nicols c0ca1a22bf MDL-61307 core_rating: Add implementation of Privacy API 2018-03-09 12:25:10 +08:00
Zig Tan e143bae8ea MDL-61307 core_tag: Unit tests for privacy implementation 2018-03-09 12:25:10 +08:00
Andrew Nicols 51da83291b MDL-61307 core_tag: Add implementation of privacy API 2018-03-09 12:25:10 +08:00
Andrew Nicols def77d7882 MDL-61307 core_privacy: Implementation of itself 2018-03-09 12:25:10 +08:00
Andrew Nicols 3f1cc42f4b MDL-61307 core_privacy: Add legacy polyfill for contrib plugins
This legacy polyfill allows plugin developers who release a single
branch to work with multiple versions of Moodle to support the API in
both Moodle 3.3 with PHP 5.6, and later versions.
2018-03-09 12:25:09 +08:00
Jake Dallimore 164034c4ec MDL-61307 core_privacy: Add the privacy manager 2018-03-09 12:25:09 +08:00
Andrew Nicols 289fe1ef76 MDL-61307 core_privacy: Define and test providers 2018-03-09 12:25:09 +08:00
Andrew Nicols 1d58d59c86 MDL-61307 core: Add component_class_callback functionality 2018-03-09 12:25:09 +08:00
Andrew Nicols 24125dd102 MDL-61307 core: Define a new privacy component 2018-03-09 12:25:08 +08:00
Marina Glancy 1263887287 MDL-60241 course: General section always visible (topics, weeks) 2018-03-09 12:08:52 +08:00
Jeff Webster a8d1cc6598 MDL-48501 auth/email: update external class to use reCAPTCHA v2 2018-03-08 14:48:08 -05:00
Jeff Webster d0c9577d6c MDL-48501 mod_feedback: update feedback to use reCAPTCHA v2 2018-03-08 14:48:08 -05:00
Jeff Webster 17e1f9a22d MDL-48501 login: update signup_form to use reCAPTCHA v2 2018-03-08 14:48:08 -05:00
Jeff Webster b526202a35 MDL-48501 form/recaptcha: update to use reCAPTCHA v2 2018-03-08 14:48:08 -05:00
Jeff Webster 3ff16f4ed9 MDL-48501 recaptchalib_v2: add new lib to support reCAPTCHA v2 2018-03-08 14:48:08 -05:00
Jeff Webster 1fca1d68b5 MDL-48501 lang: update reCAPTCHA language strings 2018-03-08 14:48:08 -05:00
Luca Bösch 86a1fa9984 MDL-59070 enrol_database: Take enablecompletion from template 2018-03-08 17:23:45 +01:00
Luca Bösch 1840aa4cb1 MDL-61498 lesson: link to next activity in boost 2018-03-08 17:23:19 +01:00
Eloy Lafuente (stronk7) f4e99c54bb weekly release 3.4.1+ 2018-03-08 13:29:17 +01:00
Eloy Lafuente (stronk7) 1c6506769a NOBUG: Fixed SVG browser compatibility 2018-03-08 13:29:15 +01:00
Eloy Lafuente (stronk7) d13fa3fb6d Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-03-08 13:29:14 +01:00
Andrew Nicols 6418439f08 Merge branch 'MDL-61423-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-03-08 15:27:32 +08:00
Mihail Geshoski 1ae5e63101 MDL-61423 authentication: Add digital minor verification upon signup 2018-03-08 15:02:16 +08:00
Eloy Lafuente (stronk7) 70902e0f9c Merge branch 'MDL-60445-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-03-07 19:20:10 +01:00
Jesse Ritchey b005459b1e MDL-60445 theme_boost: remove fieldset tag 2018-03-07 11:09:12 +01:00
Andrew Nicols 74653366f3 Merge branch 'WIP-MDL-60658-34' of https://github.com/chkhanu/moodle into MOODLE_34_STABLE 2018-03-07 11:37:37 +08:00
Andrew Nicols e0008d0ae3 Merge branch 'wip-MDL-61322-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-03-07 10:57:46 +08:00
Andrew Nicols 7d0f502483 Merge branch 'MDL-61497-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-03-07 10:27:39 +08:00
AMOS bot 0301d8bd62 Automatically generated installer lang files 2018-03-07 00:06:26 +00:00
Eloy Lafuente (stronk7) ed154400cd Merge branch 'MDL-61312-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-03-07 00:49:41 +01:00
Eloy Lafuente (stronk7) 21f3353471 Merge branch 'MDL-36157-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-03-06 02:49:12 +01:00
Luca Bösch 3b1041475e MDL-36157 block_rss_client: Don't double escape titles. 2018-03-06 00:20:40 +01:00
Luca Bösch 3e74f4c3ce MDL-36157 block_rss_client: Don't double escape titles. 2018-03-06 00:20:40 +01:00
Eloy Lafuente (stronk7) 0af73bec89 Merge branch 'MDL-61211-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-03-05 23:33:25 +01:00
Eloy Lafuente (stronk7) 059ac53abb Merge branch 'MDL-55153-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-03-05 23:26:03 +01:00
Eloy Lafuente (stronk7) d968714802 Merge branch 'MDL-61549-34' of git://github.com/Dagefoerde/moodle into MOODLE_34_STABLE 2018-03-05 23:22:55 +01:00
Andrew Nicols ff74536adb MDL-61268 core: Fix empty string DB cehck
(amended by stronk7 to use the helper better)
2018-03-02 16:32:19 +01:00
Andrew Nicols 8221c18d51 Merge branch 'wip-MDL-61268-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-03-02 10:03:28 +08:00
Andrew Nicols a40d205eb5 Merge branch 'MDL-61196_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-03-02 09:34:46 +08:00
Adrian Greeve ec72828d18 MDL-61268 blocks: Unit tests for deprecated object update.
Unit tests for testing that the upgrade functions to change
the now deprecated object to stdClass works.
2018-03-02 09:28:05 +08:00
Adrian Greeve e8e497f4d4 MDL-61268 blocks: Fix corrupt configdata in block instances.
Old configuration data in the block instances is base64 encoded with
the deprecated object class instead of stdClass.
2018-03-02 09:27:10 +08:00
Eloy Lafuente (stronk7) 6b1a68d2b5 Merge branch 'MDL-61533-34-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-03-02 01:42:56 +01:00
Helen Foster 8756f250eb MDL-61533 lang: Merge English strings from the en_fix language pack
Significant string change:

* typeoflogin_desc,tool_mobile - removing sentence about autologinguests
2018-03-01 15:29:43 +01:00
Luca Bösch 52902fb436 MDL-61497 repository_onedrive: Use post 2015 icon 2018-03-01 08:58:21 +01:00
Chernyavskiy Leonid 24112d09b9 MDL-60658 course, gradebook: fix missing unformat_float for gradepass
Fix incorrect comparison of gradepass variable (with comma as decimal separator)
with grade variable when trying to save assignment settings.
Adds missing unformat_float($data['gradepass']).
2018-03-01 09:27:29 +07:00
Mihail Geshoski e1a1f5652f MDL-61211 lesson: Error when answer or response contains break tag 2018-03-01 09:51:44 +08:00
Andrew Nicols 413d6b046b Merge branch 'MDL-61453-34-userpicturefiletype' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-03-01 08:46:20 +08:00
Eloy Lafuente (stronk7) fa19d59444 weekly release 3.4.1+ 2018-02-28 12:58:23 +01:00
Jan Dageförde 6bfebfc7b8 MDL-61549 user: Remove $already columns because none were loaded yet 2018-02-27 14:47:59 +01:00
Jake Dallimore 6f7a1abba4 Merge branch 'wip-MDL-61485-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-02-27 09:39:51 +08:00
Jake Dallimore f3e2bf2b7c Merge branch 'MDL-61480-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-02-27 09:05:21 +08:00
Eloy Lafuente (stronk7) 1c3887d692 Merge branch 'MDL-61249-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-02-26 23:10:32 +01:00
Mihail Geshoski 40df9d3653 MDL-60398 resource: Unable to download folder resource 2018-02-26 16:52:23 +08:00
Andrew Nicols 85270722f5 MDL-61480 core: Check plugin installed before returning 2018-02-26 12:11:54 +08:00
Andrew Nicols 5cff9f0e9a Merge branch 'MDL-60547-34' of git://github.com/cescobedo/moodle into MOODLE_34_STABLE 2018-02-26 10:27:29 +08:00
Andrew Nicols bdf49f89f5 Merge branch 'MDL-61462-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-26 10:16:09 +08:00
Sara Arjona 59f3aac4ac MDL-61249 enrol_manual: Fix end date calculation
This patch has been given by Bruno Malaval.
2018-02-23 08:21:05 +01:00
Jake Dallimore 1126aaf1a2 weekly release 3.4.1+ 2018-02-23 11:51:37 +08:00
Jake Dallimore ceb90e7131 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-02-23 11:51:36 +08:00
Marina Glancy 93244439b5 MDL-61522 mod_glossary: use full url in links 2018-02-23 10:56:32 +08:00
Jun Pataleta 3191a94345 MDL-61513 admin: Fix undefined $buttons variable 2018-02-22 10:22:49 +08:00
Eloy Lafuente (stronk7) e45feac1ad Merge branch 'MDL-61324_lti_sync_34' of git://github.com/davosmith/moodle into MOODLE_34_STABLE 2018-02-22 08:31:30 +08:00
Dan Marsden 5e35fa16d5 MDL-61005 core_cohort: Allow teachers to view site-wide cohorts 2018-02-22 08:31:29 +08:00
Luca Bösch 08b3b1b449 MDL-58845 mod_choice: Fix behat related tests 2018-02-22 08:31:29 +08:00
Andrew Nicols 1af36b5ffd Merge branch 'MDL-61421-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-02-22 08:31:28 +08:00
Andrew Nicols 058ba89dab Merge branch 'MDL-61408-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-02-22 08:31:27 +08:00
Carlos 16e0ea970e MDL-60547 message_popup: adding preventDefault at notification popover 2018-02-21 23:36:03 +01:00
Sara Arjona fa5e817df9 MDL-55153 customlang: Remove local DB entries when deleting local file 2018-02-21 21:03:11 +01:00
Mihail Geshoski ac424c9bb6 MDL-61485 authentication: Add callback 'pre_signup_requests' 2018-02-20 10:01:50 +08:00
AMOS bot b7eab5a554 Automatically generated installer lang files 2018-02-20 00:06:25 +00:00
Eloy Lafuente (stronk7) a6a174d817 Merge branch 'MDL-58845-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-02-19 02:12:48 +01:00
Andrew Nicols d0064b9d05 Merge branch 'MDL-61289-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-19 09:06:54 +08:00
Jun Pataleta cf32b66e19 MDL-61289 mod_choice: Add extra user fields to response data 2018-02-19 08:54:50 +08:00
AMOS bot c56217eee1 Automatically generated installer lang files 2018-02-19 00:06:23 +00:00
AMOS bot 29570a7a84 Automatically generated installer lang files 2018-02-17 00:06:25 +00:00
Luca Bösch b0199478df MDL-61408 qbehaviour: Correct "Check" button styling. 2018-02-16 08:45:09 +01:00
Luca Bösch 5b1cfc900d MDL-58845 mod_choice: In reports, respect "Show column for unanswered" 2018-02-16 08:45:02 +01:00
Jun Pataleta 02804d1cec MDL-61462 admin_roles: Point back to roles link to the correct URL 2018-02-16 10:33:37 +08:00
Marina Glancy 004e5f9c66 MDL-56635 tags: use recordset since component may not be unique 2018-02-16 09:51:33 +08:00
Eloy Lafuente (stronk7) 4ce48de8d6 weekly release 3.4.1+ 2018-02-15 17:10:32 +01:00
David Mudrák 32324be121 MDL-61453 user: Fix accepted file type when uploading user pictures
Not all archives are supported, only ZIP files are.
2018-02-14 18:08:10 +01:00
Andrew Nicols 80528b181a Merge branch 'wip-34-MDL-61344' of https://github.com/ndunand/moodle into MOODLE_34_STABLE 2018-02-13 09:04:27 +08:00
Andrew Nicols e037ee80fb Merge branch 'MDL-61150_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-02-13 09:02:31 +08:00
David Monllao fc649d6700 Merge branch 'MDL-61236-34' of git://github.com/farhan6318/moodle into MOODLE_34_STABLE 2018-02-12 12:14:23 +01:00
Nicolas Dunand 96baa3d320 MDL-61344 mod_assign: Show additional files when adding submission 2018-02-12 11:16:49 +01:00
David Monllao eadb6a737e Merge branch 'MDL-61153-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-02-12 10:56:01 +01:00
David Monllao 9a88b86217 Merge branch 'MDL-61375_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-02-12 09:40:56 +01:00
Nick Phillips 77c2211b75 MDL-56688 grade: fix ordering of grade items in grade_seq::flatten 2018-02-12 09:35:11 +01:00
Davo Smith e2bb36513f MDL-61324 enrol_lti: fix detection of changed grades during sync 2018-02-12 08:24:59 +00:00
David Monllao 664308286c Merge branch 'mod-lti-fix-test-with-hardcoded-url-mdl34' of https://github.com/peikk0/moodle into MOODLE_34_STABLE 2018-02-12 09:20:56 +01:00
David Monllao 8553738434 Merge branch 'MDL-61425-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-02-12 09:13:13 +01:00
Sara Arjona 7a414b0522 MDL-61421 cohort: Fix cohort_role_sync when a user is in two cohorts 2018-02-12 08:57:55 +01:00
Andrew Nicols ba27a4f741 Merge branch 'MDL-61366_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-02-12 15:26:16 +08:00
Ryan Wyllie 18ea34c2a5 MDL-60958 calendar: fix test helper action factory 2018-02-12 13:52:19 +08:00
Andrew Nicols db75447658 Merge branch 'MDL-60958-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2018-02-12 13:35:03 +08:00
Ryan Wyllie f594f67868 MDL-60958 calendar: stop db query in repeat collection constructor
Stop loading the parent record in the constructor because it is an
unnecessary DB query for each event instantiation.

Return null on get_repeats() for events that don't have repeats.
2018-02-12 05:31:41 +00:00
Shamim Rezaie 77786dec80 MDL-61425 theme_boost: Made question labels width full in question bank 2018-02-12 14:54:44 +11:00
Andrew Nicols 01dc5c1a45 Merge branch 'MDL-61305-34-fix' of https://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-02-12 11:31:43 +08:00
Andrew Nicols 45202e1154 MDL-61305 modinfo: Add back missing require for course 2018-02-12 10:38:33 +08:00
Andrew Nicols 8c12581e12 Merge branch 'MDL-61305-m34' of https://github.com/sammarshallou/moodle into MOODLE_34_STABLE 2018-02-12 09:07:45 +08:00
Pierre Guinoiseau 6bbba0d921 MDL-61379 mod_lti: fix a test comparing a hardcoded URL from fixtures
The hardcoded URL from tests/fixtures/ims_cartridge_basic_lti_link.xml
didn't match if TEST_EXTERNAL_FILES_HTTPS_URL was defined, the test
needs to compare with the exact same URL instead of a generated one.
2018-02-12 13:46:11 +13:00
Andrew Nicols 0d3166adb5 Merge branch 'MDL-61413_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-02-12 08:08:38 +08:00
Marina Glancy 5a43147f56 MDL-61150 xmldb: correct path to schema in install.xml 2018-02-11 23:07:48 +01:00
Eloy Lafuente (stronk7) 3e3c2994be MDL-61150 xmldb: Fix wrong PATH attributes in core 2018-02-11 23:07:48 +01:00
Farhan Karmali 4448ddc159 MDL-61236 enrol: Course welcome message to be sent from correct contact 2018-02-11 20:49:56 +05:30
Eloy Lafuente (stronk7) d293116fda MDL-61413 mod_lti: Use sql_compare_text() for comparing TEXTs 2018-02-11 02:17:52 +01:00
Mark Nelson 2f2d7e6358 MDL-61196 message_popup: clean params before returning via WS 2018-02-09 17:37:16 +08:00
Mark Nelson db6cff3f7a MDL-61375 mod_chat: specify the 'eventtype' to avoid duplicate rows 2018-02-09 14:47:02 +08:00
sam marshall 283f265fbe MDL-61305 Performance: Modinfo cache can get built in parallel
In a busy site it is possible that one user will access the site
while another is building modinfo cache. This can result in the
cache being built several times at once, potentially causing a
performance issue.
2018-02-08 14:49:10 +00:00
David Monllao 091b2fad14 weekly release 3.4.1+ 2018-02-08 09:29:16 +01:00
Sara Arjona aba9cc490d MDL-61365 group: Fix default filter when group mode is visible 2018-02-07 18:10:34 +01:00
Andrew Nicols 9cb9c85728 Merge branch 'MDL-61377-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-02-07 12:52:42 +08:00
Shamim Rezaie 7edc187fb7 MDL-61377 Core: Fixed faulty warning when using progress_bar 2018-02-07 14:49:00 +11:00
Eloy Lafuente (stronk7) 3b35ab9fd5 MDL-52832 quiz: sql fixing couple of incorrect group by uses 2018-02-07 07:09:15 +08:00
Tim Hunt 5678028de7 MDL-61366 setuplib: safely construct the ajax renderer when needed 2018-02-06 12:13:02 +00:00
David Monllao 100e9f3d12 Merge branch 'MDL-52832-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-02-06 12:20:04 +01:00
Dan Marsden 5bcc32e756 MDL-60421 tool_cohortroles: fix deprecated call. 2018-02-06 10:51:44 +01:00
Eloy Lafuente (stronk7) 202affd1a2 Merge branch 'MDL-61168-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-05 20:40:26 +01:00
Eloy Lafuente (stronk7) ab72dbee64 Merge branch 'MDL-61341-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-02-05 20:08:20 +01:00
David Monllao 496a40a49b Merge branch 'MDL-61027-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-02-05 11:56:28 +01:00
David Monllao 1a24b6b2d7 Merge branch 'MDL-61251-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-02-05 11:50:48 +01:00
David Monllao 38f9a7b1c8 Merge branch 'MDL-42764_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-02-05 11:18:46 +01:00
Andrew Nicols ab121de9de Merge branch 'MDL-61269_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-02-05 17:30:32 +08:00
Andrew Nicols 429ea1545c Merge branch 'MDL-51189-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-02-05 15:52:28 +08:00
Eloy Lafuente (stronk7) 9c397f9f63 MDL-61269 composer: better license GPL-3.0-or-later
Source: https://spdx.org/licenses/
2018-02-04 19:40:02 +01:00
Sara Arjona 85fea314bb MDL-61261 badges: Add email validation during backpack configuration 2018-02-02 11:35:28 +01:00
Andrew Nicols 58f7ad98d7 MDL-61341 theme_boost: Fix usertour zindex calculations 2018-02-02 11:31:55 +08:00
Andrew Nicols 422889d0eb MDL-61341 theme_boost: Modify variables used for calculations
Variables must be of the same type for Math to take place. We cannot
mix REM and EM because they have different relative roots.
2018-02-02 11:31:54 +08:00
Jun Pataleta bb279dc22e MDL-61168 mod_assign: Truncate only the online text submission 2018-02-02 09:21:53 +08:00
Luca Bösch 507ab4cf6b MDL-61251 admin: configenablerssfeedsdisabled2 string more correct. 2018-02-01 22:57:34 +01:00
Luca Bösch 36877227fb MDL-52832 quiz: timeclose in activities block looks after overrides. 2018-02-01 22:52:13 +01:00
David Monllao b08db1daa2 weekly release 3.4.1+ 2018-02-01 14:26:45 +01:00
David Monllao 65970afe4e Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-02-01 14:26:44 +01:00
Jake Dallimore 9cb1ac35c2 Merge branch 'MDL-60077-34-fix' of https://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-02-01 14:56:11 +08:00
Andrew Nicols 9089f50463 MDL-60077 tool_usertours: Pull v0.12.2 of usertours for triangle fix 2018-02-01 14:28:54 +08:00
David Mudrák 4d3651a151 MDL-61242 repository_equella: Fix missing class repository
The call to the class 'repository' introduced in the commit d05c2ac7cc
didn't fully work and threw: "Exception - Class 'repository' not found".
This fixes the missing library inclusion.
2018-02-01 10:34:00 +08:00
Eloy Lafuente (stronk7) d977e539d5 Merge branch 'MDL-61058-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-01 10:33:59 +08:00
Eloy Lafuente (stronk7) 2b89024ea2 Merge branch 'MDL-61023-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-01 10:33:59 +08:00
Andrew Nicols a9bb5dbe8d Merge branch 'MDL-61313_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-02-01 10:33:59 +08:00
Eloy Lafuente (stronk7) 8aa07c75a1 Merge branch 'MDL-44612-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-01 10:33:58 +08:00
Eloy Lafuente (stronk7) ed21686174 Merge branch 'MDL-61281_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2018-02-01 10:33:58 +08:00
David Monllao 60af40cbfd Merge branch 'MDL-60646-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-01 10:33:58 +08:00
David Monllao 17fed89644 Merge branch 'MDL-60997-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-01 10:33:57 +08:00
David Monllao 350e280741 Merge branch 'MDL-61152-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-02-01 10:33:57 +08:00
David Monllao a9c01e8c52 Merge branch 'MDL-61260_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-02-01 10:33:57 +08:00
Jake Dallimore e44cedd104 Merge branch 'MDL-61253-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-02-01 10:33:56 +08:00
Andrew Nicols 82f5d60aa6 Merge branch 'MDL-60077-34' of https://github.com/HuongNV13/moodle into MOODLE_34_STABLE 2018-02-01 10:33:56 +08:00
Andrew Nicols c5910cb7dc Merge branch 'MDL-61250-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2018-02-01 10:33:56 +08:00
Adrian Greeve 9dd8490aa6 MDL-61322 reports: Reformated the display date to include the year. 2018-02-01 08:28:35 +08:00
AMOS bot 3486243420 Automatically generated installer lang files 2018-02-01 00:06:45 +00:00
AMOS bot 79e685233f Automatically generated installer lang files 2018-01-31 00:06:34 +00:00
David Monllao 38c0a5d05f MDL-61313 behat: Move future events further 2018-01-30 18:17:24 +01:00
Juan Leyva 444b165c09 MDL-61312 completion: Return completion for teachers via WS
core_completion_get_activities_completion_status was not returning
completion information for users with the teacher role only (when it
wasn’t a role allowed to track completion).
2018-01-30 12:20:16 +01:00
AMOS bot 060b55064f Automatically generated installer lang files 2018-01-30 00:06:37 +00:00
AMOS bot 05818d70eb Automatically generated installer lang files 2018-01-30 00:06:36 +00:00
Mark Nelson 4c86ca6666 MDL-42764 core: added missing string definition
Also changed the string index so it was not
vague. The index 'emailempty' appears as if it
could belong to a validation method for a form.
2018-01-29 19:08:22 +08:00
Huong Nguyen 718235f569 MDL-60077 User tours: pop-up triangle look bad next to the corners 2018-01-29 10:33:08 +07:00
Mark Nelson 8dcd8b8132 MDL-61260 auth_ldap: require /user/profile/lib.php file 2018-01-29 11:31:24 +08:00
Eloy Lafuente (stronk7) eed3f1a83d Merge branch 'wip-MDL-61242-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-01-29 01:41:14 +01:00
Andrew Nicols 95fab37f66 Merge branch 'MDL-58410_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-01-29 08:19:57 +08:00
Eloy Lafuente (stronk7) 3c7eb5f50c Merge branch 'MDL-61218-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2018-01-29 00:06:15 +01:00
David Monllao 512f9e294f MDL-61281 search_solr: PHP 7.2 compatible counts 2018-01-28 19:00:45 +01:00
Luca Bösch 831b569c5f MDL-61250 questions: Omit leading space in question preview link 2018-01-25 14:25:29 +01:00
Jun Pataleta 34f90c2bdd MDL-60997 core_message: Add replytoname in unit test 2018-01-25 16:48:01 +08:00
Arnaud Trouvé fa72c683bd MDL-60997 messages: add property replytoname 2018-01-25 16:48:00 +08:00
Andrew Nicols 3f8287efe3 weekly release 3.4.1+ 2018-01-25 15:14:41 +08:00
Andrew Nicols 4a086154fa Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-01-25 15:14:38 +08:00
Jake Dallimore 75ba3e39d5 Merge branch 'MDL-60078-34-fix' of https://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-25 14:48:47 +08:00
Andrew Nicols 2b9d5423de MDL-60078 tool_usertours: Adjust accessibility checks for all themes 2018-01-25 12:46:29 +08:00
Eloy Lafuente (stronk7) 5e8961ebe0 MDL-61269 behat-extension: bump to fix some caps & defaults 2018-01-24 22:27:14 +01:00
Jun Pataleta 8737636d72 MDL-44612 mod_glossary: Test importing of glossary entries
* And check that the importing of entries is reflected in the recent
activity block.
2018-01-24 16:39:33 +08:00
Jun Pataleta c9950e69a2 MDL-44612 mod_forum: Confirm forum post listing in recent activity block 2018-01-24 16:39:33 +08:00
Damyon Wiese 0f9cf691a8 MDL-61023 behat: Automate MDLQA-8158
Verify the general section does not appear in the navigation when it is empty.
2018-01-24 16:38:35 +08:00
Damyon Wiese e5e71433c4 MDL-61058 behat: Automate MDLQA-8146
Verify that the keyholder is displayed on the self enrolment page.
2018-01-24 16:36:55 +08:00
Igor Sazonov 3b2e74d33e MDL-58410 user: add support for alternative name search
The solution about searching all external names fields (middlename etc) from course enrolment page (enrolled and enrolling pages)
2018-01-24 11:16:15 +08:00
Andrew Nicols d0d8b19dab MDL-61234 tool_usertours: Rewrite feature to work with all themes 2018-01-24 03:15:41 +01:00
Simey Lameze c4b5d16556 MDL-61218 lib: set chart border color to white 2018-01-23 12:06:00 +08:00
Andrew Nicols 04881b93f1 MDL-61253 repository: Add referenced files to archives 2018-01-23 11:51:55 +08:00
Jun Pataleta 89d0471764 MDL-61152 calendar: Remove usage of undefined variable 2018-01-23 10:50:55 +08:00
Eloy Lafuente (stronk7) 679f5d18ff Merge branch 'MDL-60814_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-01-23 01:55:21 +01:00
Shamim Rezaie 6aa7833c71 MDL-51189 Quiz: Edit overrides when quiz is not available to students
The $active variable should simply be used to dim the text, nothing more.
2018-01-23 10:53:50 +11:00
Eloy Lafuente (stronk7) df4a6bbcc2 Merge branch 'MDL-60918-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2018-01-22 20:17:33 +01:00
Eloy Lafuente (stronk7) 6c375449df Merge branch 'MDL-58006-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-01-22 20:00:10 +01:00
Eloy Lafuente (stronk7) 0555022bc2 Merge branch 'MDL-60812-34' of https://github.com/mwehr/moodle into MOODLE_34_STABLE 2018-01-22 16:33:18 +01:00
Eloy Lafuente (stronk7) 6d05b0db52 Merge branch 'MDL-60181-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-01-22 12:51:29 +01:00
Shamim Rezaie ca40c1f4ee MDL-61027 calendar: Fix datetime profile field issue with non-Gregorian 2018-01-22 19:06:19 +11:00
Mihail Geshoski 1bd8a0a2aa MDL-60181 glossary: Glossary rating is displayed wrongly 2018-01-22 13:58:02 +08:00
Andrew Nicols e4fac0f267 Merge branch 'MDL-61240_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2018-01-22 11:39:33 +08:00
Zig Tan 8be3607c28 MDL-58006 assign: Reset blindmarking assignments to hidden
Fix to reset blindmarking assigments to hidden as part of Course reset with behat test
2018-01-22 11:37:18 +08:00
Andrew Nicols ac7aae0dd2 MDL-60078 behat: Convert ErrorException to DriverException 2018-01-22 11:29:59 +08:00
Andrew Nicols ab4d19f260 Merge branch 'MDL-60078-34' of https://github.com/nashtechdev01/moodle into MOODLE_34_STABLE 2018-01-22 11:29:55 +08:00
Eloy Lafuente (stronk7) f18f4c297d Merge branch 'MDL-61077_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-01-22 02:26:11 +01:00
Eloy Lafuente (stronk7) ee121e7fc3 Merge branch 'MDL-61234-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-22 02:03:40 +01:00
Eloy Lafuente (stronk7) e82f7b14b8 Merge branch 'wip-MDL-61175-MOODLE_34_STABLE' of https://github.com/kwiliarty/moodle into MOODLE_34_STABLE 2018-01-22 01:24:52 +01:00
Eloy Lafuente (stronk7) 3ed13a332c Merge branch 'MDL-61224_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-01-22 01:23:17 +01:00
Adrian Greeve 780fe61954 MDL-61242 repository_equella: Add source key when sending the source.
A thank you to Nelson Cheng for find this issue and suggesting a patch.
2018-01-20 11:01:09 +08:00
Andrew Nicols a588c0f85b MDL-61234 tool_usertours: Wrap library calls in pendingjs 2018-01-19 15:55:24 +08:00
AMOS bot b5e4c94307 Automatically generated installer lang files 2018-01-19 00:07:00 +00:00
Eloy Lafuente (stronk7) 4f5d1c5cbf MDL-61240 dml: php72 compatibility, avoid counting on non-countables
This was not detected earlier because we have been unable to
run sqlsrv + php72 till now (not available).
2018-01-19 01:01:36 +01:00
Kevin Wiliarty a19ee0e707 MDL-61175 mod_assign: roll grade-by reminder on restore 2018-01-18 08:39:49 -05:00
Jun Pataleta f5bb389882 MDL-60646 user_portfolio: Fix action icons in Show / hide column
* Refactor the code to make it look cleaner and easier to read.
* Fixed incorrect alt-text for the configure icon.
* Fixed missing alt-text for show/hide icon.
2018-01-18 15:26:53 +08:00
Andrew Nicols 95bce65a9f weekly release 3.4.1+ 2018-01-18 12:48:03 +08:00
Andrew Nicols 7cdd1a5c8e Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-01-18 12:48:01 +08:00
Mark Nelson c8d028d3f1 MDL-60814 auth_ldap: prevent setting names breaking site upgrades 2018-01-17 14:18:28 +08:00
AMOS bot 961fd545cf Automatically generated installer lang files 2018-01-17 00:06:29 +00:00
Jun Pataleta 6bbcb9c2e5 Merge branch 'MDL-61221-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-16 23:01:14 +08:00
KietLy 93482c3a53 MDL-60078 User tours accessibility: Tab should go back into the pop-up 2018-01-16 17:43:00 +07:00
Mark Nelson f393faa86c MDL-61224 core_role: prevent short name from exceeding 100 chars 2018-01-16 18:17:51 +08:00
David Monllao 69f18d2a63 Merge branch 'MDL-61010-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-16 09:25:23 +01:00
Adam Olley d41b8d3f32 MDL-60918 core_message: update preferences of user behat test 2018-01-16 05:27:09 +00:00
Ryan Wyllie ec40f18efb MDL-60918 message: use current user in message preference update 2018-01-16 05:27:09 +00:00
Andrew Nicols 645bc22468 MDL-61221 badges: Ignore site availabilty for behat
Behat sites should not be available publically, and the check against
the backpack API for site availablity can time out in some situations.

We should be testing as though the site _is_ available, as this is the
standard expectation.
2018-01-16 13:23:17 +08:00
Andrew Nicols 92eb0a6d9c Merge branch 'MDL-60815-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2018-01-16 12:29:59 +08:00
Ryan Wyllie c5098c6704 MDL-60815 theme: fix loading editor styles 2018-01-16 03:41:03 +00:00
David Knuplesch 07dc19ad69 MDL-60549 lti: support for moving embedded lti into separate tab 2018-01-16 10:12:05 +08:00
Eloy Lafuente (stronk7) fbf616e651 Merge branch 'MDL-61204-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-16 02:16:53 +01:00
Andrew Nicols 1ddeb827a3 MDL-61010 mod_forum: Add unread link to blog view 2018-01-16 08:07:31 +08:00
AMOS bot bcd507a3f7 Automatically generated installer lang files 2018-01-16 00:06:38 +00:00
Eloy Lafuente (stronk7) c45b1e62dd Merge branch 'MDL-61081-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-01-16 00:27:53 +01:00
Eloy Lafuente (stronk7) b36c124f3d Merge branch 'MDL-37390-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2018-01-16 00:25:33 +01:00
Eloy Lafuente (stronk7) 43b5384168 Merge branch 'MDL-61162-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2018-01-15 22:58:04 +01:00
Tim Hunt ffb43a83b0 MDL-61077 question stats: make calculations more robust 2018-01-15 16:08:31 +00:00
Eloy Lafuente (stronk7) 3e9d0de501 Merge branch 'MDL-61166-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2018-01-15 10:57:46 +01:00
David Monllao 440989aeab Merge branch 'MDL-55382-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-01-15 10:07:44 +01:00
Andrew Nicols c4107dec84 Merge branch 'MDL-61156-34' of https://github.com/mwehr/moodle into MOODLE_34_STABLE 2018-01-15 13:49:03 +08:00
Shamim Rezaie 3f81c4a322 MDL-61166 Groups: Fixed a typo in PHPDoc 2018-01-14 09:22:48 +11:00
Eloy Lafuente (stronk7) c9236c6860 Moodle release 3.4.1 2018-01-12 20:35:46 +01:00
wehr 960252e17e MDL-60812 enrol_manual: Fixes not working default role 2018-01-12 16:05:52 +01:00
Farhan Karmali 9b55ca16d5 MDL-37390 course: Set startdate and enddate properly for approved course
Once a course is approved the startdate and enddate were not set properly
This patch sets current date as startdate and enddate is startdate +
default duration of the course
2018-01-12 10:03:05 +01:00
Farhan Karmali 17147e5204 MDL-61081 enrol: Start and end date for courses created by external db
Course created by external db enrolment plugin should have start date as current date
and end date is todays date + default course duration
2018-01-12 09:58:37 +01:00
wehr a9369b1941 MDL-61156 enrol_manual: Fixes not working manual quick enrolment in IE11 2018-01-12 08:59:18 +01:00
Andrew Nicols 89fc5ef888 MDL-61204 user: Fix random failure in behat
We need to get into the habit of not using usernames like 'student1'
and 'student10' as our matches are non-strict, and the tests become
dependent upon DB sort order.

This change adds a character after the varying value to act as a
delimter for all of these tests.
2018-01-12 09:52:17 +08:00
Eloy Lafuente (stronk7) 5dcd9c53e3 weekly release 3.4+ 2018-01-12 02:12:44 +01:00
Jake Dallimore 758066eda4 Merge branch 'MDL-61177-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-11 09:22:47 +08:00
Cameron Ball 6a12f2de83 MDL-61143 core_files: Don't append dot when checking domain names or IP addresses.
Previously we appended a dot at the end of IP addresses and domain names in the
cURL security helper, but it causes issues with Google OAuth so this patch removes it.
2018-01-10 15:23:20 +08:00
Andrew Nicols fe8663110a Merge branch 'MDL-61061_hideif_group_34' of git://github.com/davosmith/moodle into MOODLE_34_STABLE 2018-01-10 08:55:24 +08:00
Andrew Nicols 0f6761962a MDL-61177 badges: JS pending checks in connection test 2018-01-10 08:13:45 +08:00
Adrian Greeve bc066df1f6 MDL-61131 repositories: Added a key to verify incoming urls. 2018-01-09 11:34:44 +01:00
Cameron Ball 246b39cba9 MDL-61143 core_files: Update unit tests for curl_security_helper
Previously some of the unit tests were passing "by accident" becuase
we had the security helper letting through domains where the DNS lookup
failed. That behaviour has changed and now such domains are blocked.

Additionally tests for domains with multiple A records and weird Unicode
stuff have been added.

This patch also mocks the DNS resolution in the test, rather than actually
resolving the domain.
2018-01-09 16:54:31 +08:00
Cameron Ball facd24b4c7 MDL-61143 core_files: Block hosts that cannot be determined to be an IP address of domain name
Freaky deaky Unicode/octal/hex domains can be resolved by cURL but are technically not valid.

This patch causes anything that Moodle does not consider to be a valid domain or IP to be blocked
by the cURL security helper.
2018-01-09 16:54:31 +08:00
Cameron Ball b7b3b75b2c MDL-61143 core_files: Check all A records when testing blocked IPs 2018-01-09 16:54:31 +08:00
Juan Leyva 98ac97e2a0 MDL-60908 mod_quiz: Return question state only when configured
The question state should be returned following the quiz review options
settings.
2018-01-09 16:54:31 +08:00
David Monllao 9aa6e8bfa4 Merge branch 'wip-MDL-60742-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2018-01-09 09:52:56 +01:00
Davo Smith 03a65d8916 MDL-61061 formslib: make sure hideIf rules hide labels within groups 2018-01-09 08:48:23 +00:00
Davo Smith 5e430e98cb MDL-61061 formslib: add data-groupname to groups to fix hideIf rules 2018-01-09 08:48:23 +00:00
David Monllao 068f22aee0 Merge branch 'MDL-60079-34' of https://github.com/nashtechdev01/moodle into MOODLE_34_STABLE 2018-01-09 08:10:43 +01:00
Andrew Nicols 99d570fef4 Merge branch 'wip-MDL-60415-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2018-01-09 14:31:01 +08:00
David Knuplesch 4a2bc331fb MDL-60415 mod_lti: avoid confusing error-message 2018-01-09 14:02:09 +08:00
Thinh Pham 3fef39fc68 MDL-60079 User tours: leave unnecessary aria tags in the page 2018-01-09 10:35:57 +07:00
Jun Pataleta 5d434d4d19 Merge branch 'MDL-61068-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-09 09:53:31 +08:00
Andrew Nicols 440113b457 MDL-61068 mod_forum: Fix neighbour test dates 2018-01-09 09:49:14 +08:00
Eloy Lafuente (stronk7) 41ff45a7a7 Merge branch 'MDL-60943-m34' of https://github.com/sammarshallou/moodle into MOODLE_34_STABLE 2018-01-09 00:52:29 +01:00
Eloy Lafuente (stronk7) fa4274319d Merge branch 'MDL-61098-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2018-01-08 21:06:34 +01:00
Eloy Lafuente (stronk7) 06c5a9e6ff Merge branch 'm34_MDL-61050' of https://github.com/danmarsden/moodle into MOODLE_34_STABLE 2018-01-08 20:38:43 +01:00
Eloy Lafuente (stronk7) ca3605500e Merge branch 'MDL-61068-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-08 19:56:33 +01:00
David Monllao 6beb56ba1f Merge branch 'MDL-61169-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-08 14:59:07 +01:00
Andrew Nicols f83fc14e4d MDL-61169 iplookup: Change to github.com IP 2018-01-08 17:15:57 +08:00
Eloy Lafuente (stronk7) 844eae52fb Merge branch 'MDL-61046-34-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2018-01-08 10:07:30 +01:00
Andrew Nicols cf304a8870 Merge branch 'MDL-57786-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2018-01-08 15:17:25 +08:00
Andrew Nicols 8ec36b0fe2 Merge branch 'MDL-43042-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-01-08 15:13:21 +08:00
Andrew Nicols 31a9ee8172 Merge branch 'MDL-53985-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2018-01-08 12:50:12 +08:00
Jun Pataleta 2787a52470 MDL-61162 mod_forum: Remove unnecessary forum creation step 2018-01-08 10:57:43 +08:00
Andrew Nicols d0308d8d76 MDL-61068 mod_forum: Round timed posts to nearest 60 seconds
This slightly reduces the effectiveness of the DB query cache, but gives
us correct results every time.
2018-01-05 16:43:34 +08:00
Mihail Geshoski 144c240841 MDL-43042 lesson: Confusing feedback order in multiple answer questions 2018-01-05 15:35:27 +08:00
Dan Marsden 434c5f8a56 MDL-61050 auth_ldap: fix regression caused by MDL-42834 2018-01-05 10:42:50 +13:00
sam marshall 0ce4a24888 MDL-60943 core_search: Improve exception for preg_replace errors 2018-01-04 17:28:45 +00:00
Helen Foster bfd1dd07d8 MDL-61046 lang: Merge English strings from the en_fix language pack
Significant string changes:

* pluginname_desc, enrol_category - improved explanation
* pathtopythondesc, core_admin - mentioning Python version
* configdeleteunconfirmed, core_admin - setting applies to more than
  just email-based self-registration
2018-01-04 11:56:43 +01:00
David Monllao 51e05c09c3 weekly release 3.4+ 2018-01-04 11:02:43 +01:00
David Monllao 02990bd6b9 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2018-01-04 11:02:42 +01:00
Mihail Geshoski 6d38596df0 MDL-61153 lesson: Inconsistent column sizing in detailed statistics 2018-01-04 15:47:57 +08:00
Marina Glancy a66195b8b9 MDL-60742 calendar: allow customisation of 12/24h time format strings 2018-01-04 15:15:30 +08:00
Jun Pataleta ae7953ff01 Merge branch 'MDL-40613-34-ldap' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2018-01-04 14:57:50 +08:00
Andrew Nicols e5dc80a10c MDL-40613 auth_ldap: Call update_user_record on create 2018-01-04 14:41:03 +08:00
Jun Pataleta f080964380 Merge branch 'MDL-40613_34-fix' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-01-04 09:58:05 +08:00
AMOS bot 2ea79c66cf Automatically generated installer lang files 2018-01-04 00:07:02 +00:00
Mark Nelson 36b738c185 MDL-40613 auth_ldap: removed usage of profile_load_custom_fields() 2018-01-03 18:08:57 +08:00
AMOS bot 1a89875c36 Automatically generated installer lang files 2018-01-03 00:06:24 +00:00
Eloy Lafuente (stronk7) c29b6e8c15 Merge branch 'MDL-23887-34-2' of https://github.com/snake/moodle into MOODLE_34_STABLE 2018-01-03 00:24:59 +01:00
David Monllao ff710b83c3 Merge branch 'MDL-57727-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2018-01-02 12:33:56 +01:00
Jake Dallimore c619279f5e MDL-23887 database: fix use of deprecated system tables for mssql
Catalog views are available which we should use instead.
2018-01-02 17:20:25 +08:00
Jun Pataleta 5772b0fba2 Merge branch 'MDL-40613_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2018-01-02 16:50:59 +08:00
David Monllao c89d473133 Merge branch 'MDL-61107_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2018-01-02 08:34:48 +01:00
Zig Tan 0e540897e6 MDL-57786 mod_assign: Fix word count for online text submissions 2018-01-02 13:12:34 +08:00
David Monllao 27e2fe6981 weekly release 3.4+ 2017-12-28 12:35:19 +01:00
David Monllao e35bc644de MDL-51089 mod_quiz: Hide first page last node 2017-12-28 11:46:50 +01:00
Eloy Lafuente (stronk7) 5d7d6cb52b Merge branch 'MDL-60363-34' of https://github.com/Kathrin84/moodle into MOODLE_34_STABLE 2017-12-27 17:56:11 +01:00
David Monllao 913abd448b Merge branch 'MDL-51089-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-27 17:56:10 +01:00
David Monllao dfe9aa213b Merge branch 'MDL-58983-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-27 17:56:10 +01:00
David Monllao dc24b81fef Merge branch 'MDL-61056-34-feedbackresponsenav' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2017-12-27 17:56:09 +01:00
David Monllao cff1f1943e Merge branch 'MDL-33886-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2017-12-27 17:56:09 +01:00
David Monllao fe5d17b166 MDL-60439 block_tags: Removing extra var assign 2017-12-27 17:56:09 +01:00
David Monllao cdda22dad7 Merge branch 'MDL-60439-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-27 17:56:08 +01:00
David Monllao 641a281bef Merge branch 'MDL-60942-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2017-12-27 17:56:07 +01:00
David Monllao e70b33b720 Merge branch 'MDL-60359-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-27 17:56:07 +01:00
David Monllao 8578d28631 MDL-61062 analytics: Fix unit test wrong statement 2017-12-26 00:53:12 +01:00
Eloy Lafuente (stronk7) c7a1ecd9f6 Merge branch 'MDL-61055-34-v2' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-12-26 00:45:52 +01:00
Eloy Lafuente (stronk7) 829adb5f21 Merge branch 'MDL-43827-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-12-26 00:25:37 +01:00
Tim Hunt b6e79ab8d8 MDL-61107 quiz editing: handle invalid Maximum grade input 2017-12-22 13:35:48 +00:00
Kathrin Osswald 2ba2d02202 MDL-60363 conditional activities: Dim the icon also in student's view.
The class dimmed_text would only dim the activity's title and not the icon.
The teacher has both, icon and text, dimmed. So I added the class dimmed
to the class dimmed_text, what dims both elements for the students.
2017-12-22 13:11:15 +01:00
Luca Bösch 2d117605b8 MDL-60439 blocks: Tags block title multilang 2017-12-22 09:24:21 +01:00
Luca Bösch 237e1a85ce MDL-51089 quiz: "Add" menu in edit quiz more keyboard accessible 2017-12-22 09:23:00 +01:00
Luca Bösch 5cb64c1faa MDL-60359 theme_boost: have correct mc question check mark not overlap 2017-12-22 09:20:41 +01:00
Zig Tan e714f3cee9 MDL-33886 backup: Add backup filename length < 255 char validation 2017-12-22 13:12:43 +08:00
Jun Pataleta 16deaa8611 weekly release 3.4+ 2017-12-22 14:42:06 +13:00
Jun Pataleta ffa36a4bbe Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2017-12-22 14:42:05 +13:00
Juan Leyva 5ed65e12e1 MDL-61098 repository: Retrieve correct context for repo instance
The repository instance was being retrieved without specifying a valid
context that is required in further API checks.
2017-12-21 11:35:30 +01:00
Mihail Geshoski d1c15a50c9 MDL-43827 filepicker: Multiple actions not accessible using keyboard 2017-12-21 14:08:43 +08:00
Simey Lameze bc121625c3 MDL-61055 calendar: guest user cannot create events 2017-12-20 12:44:35 +08:00
Damyon Wiese 251a824d8e MDL-60567 competencies: test list_competencies 2017-12-19 11:30:35 +01:00
Damyon Wiese efde049bdf MDL-60567 competencies: list_competencies wrong type
"validate_params" returns arrays in external functions.
2017-12-19 11:30:34 +01:00
David Monllao 88498220a1 Merge branch 'MDL-60938-34-2' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2017-12-19 07:53:20 +01:00
Mark Nelson dfdadbdbe2 MDL-40613 auth_ldap: sync user profile fields 2017-12-19 14:22:23 +08:00
David Monllao fb8b947963 Merge branch 'MDL-61045_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2017-12-19 06:43:27 +01:00
David Monllao b844baf8be Merge branch 'MDL-61016_hideif_disabledif_34' of git://github.com/davosmith/moodle into MOODLE_34_STABLE 2017-12-19 06:16:23 +01:00
Simey Lameze 0c794fc199 MDL-57431 mod_quiz: remove unnecessary class from selector 2017-12-19 12:49:45 +08:00
Damyon Wiese 2f4feacac7 Merge branch 'MDL-60767-34-3' of https://github.com/snake/moodle into MOODLE_34_STABLE 2017-12-19 11:26:12 +08:00
Damyon Wiese 7d7edc8820 Merge branch 'MDL-59999-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-12-19 11:04:01 +08:00
Marcus Fabriczy 18c838f586 MDL-59709 mod_assign: Export to portfolio button not working
Changed the button to a text link
2017-12-19 13:29:48 +13:00
Eloy Lafuente (stronk7) 21c63124ab Merge branch 'MDL-59200-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-19 01:10:33 +01:00
Eloy Lafuente (stronk7) 350cefe41e Merge branch 'MDL-58888-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2017-12-19 01:05:01 +01:00
Eloy Lafuente (stronk7) 47c56f3475 Merge branch 'MDL-60750-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-12-19 00:59:36 +01:00
Eloy Lafuente (stronk7) 4b5ac4ceae Merge branch 'wip-MDL-60594-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-19 00:46:05 +01:00
Jun Pataleta 8ed193c3ee Merge branch 'm34_MDL-60793_Mod_Chat_Reserved_Words_In_MySQL8p0p3_And_Above' of https://github.com/scara/moodle into MOODLE_34_STABLE 2017-12-19 12:13:57 +13:00
David Mudrák 40e430e634 MDL-61056 feedback: Fix the response navigation links
Floats are evil and unreliable. Even with the clearfix class added to
the response_navigation wrapper, the Next link would remain unaligned.
We need a proper three columns layout here.

It did not feel necessary to introduce a special template here so I'm
making use of the core one.
2017-12-18 21:54:47 +01:00
David Monllao aaf94b8f75 Merge branch 'MDL-60653-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2017-12-18 17:59:48 +01:00
David Monllao 18e6878f5a Merge branch 'MDL-61042-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2017-12-18 17:26:55 +01:00
David Monllao 1041ccaf2e Merge branch 'MDL-61040-34' of git://github.com/junpataleta/moodle into MOODLE_34_STABLE 2017-12-18 17:25:07 +01:00
Eloy Lafuente (stronk7) fb7b0157c1 Merge branch 'wip-MDL-60161-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2017-12-18 16:11:47 +01:00
Matteo Scaramuccia 8827e7fc3f MDL-60793 mod_chat: Renamed 'system' into 'issystem'
'system' is now a reserved word in MySQL 8.0.3+.
2017-12-18 15:26:20 +01:00
David Monllao b85ec901dd Merge branch 'MDL-31521-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-18 13:14:33 +01:00
Eloy Lafuente (stronk7) 2faa795209 Merge branch 'MDL-56932-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-12-18 12:15:22 +01:00
Damyon Wiese ca5a9de8c5 MDL-61022 recyclebin: Verify groups are restored 2017-12-18 10:22:12 +01:00
David Monllao b9287872eb Merge branch 'wip-MDL-52100-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2017-12-18 10:08:21 +01:00
Davo Smith 8b448de4b0 MDL-61016 form: fix handling disabledIf + hideIf with same dependency 2017-12-18 08:03:31 +00:00
Andrew Nicols 06588b2cc0 Merge branch 'MDL-42676-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2017-12-18 15:32:51 +08:00
Adrian Greeve e8e4566aaa MDL-52100 filelib: Update to unit tests for maxbytes. 2017-12-18 13:16:43 +08:00
Adrian Greeve 94ccf35860 MDL-52100 filelib: Files that are oversized are checked with user.
Files that are oversized could have been uploaded by a user who
can ignore the file size limits. These files should not be deleted
in these situations.
2017-12-18 13:16:14 +08:00
Damyon Wiese cf0386e763 Merge branch 'MDL-34389-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-18 13:00:10 +08:00
Damyon Wiese a603f86d65 Merge branch 'MDL-57431-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-12-18 12:54:03 +08:00
Damyon Wiese 265e374204 Merge branch 'MDL-54967-34' of git://github.com/zig-moodle/moodle into MOODLE_34_STABLE 2017-12-18 12:48:16 +08:00
Damyon Wiese e62e93aa0d Merge branch 'wip-MDL-49995-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-18 12:01:28 +08:00
Andrew Nicols d00a6f52b4 Merge branch 'MDL-57564-34-courseorder' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2017-12-18 11:24:02 +08:00
Jake Dallimore 0c75121648 MDL-60767 admin: fix usage of admin_write_settings
Make sure we always checks for failed validation, before redirecting.
A positive return value does not signal that all settings were able
to be written, only that at least one was - errors still need to be
checked!
2017-12-18 09:23:30 +08:00
Mihail Geshoski 5681222a0b MDL-59999 lesson: Boost grade essays page not indicating grade status
AMOS BEGIN
    CPY [graded,assign],[graded,lesson]
    CPY [notgraded,assign],[notgraded,lesson]
AMOS END
2017-12-18 09:17:06 +08:00
AMOS bot a45b7aa7ee Automatically generated installer lang files 2017-12-18 00:06:19 +00:00
Tim Hunt 3093cc28f1 MDL-61045 quiz settings: add back missing disabledIf
This got broken in Moodle 2.1 by MDL-20636.
2017-12-15 13:15:12 +00:00
Damyon Wiese 60f544f331 MDL-55382 assign: Sort editpdf quick list 2017-12-15 14:57:21 +08:00
Jun Pataleta 0ff581cece MDL-61042 mod_lesson: Initialise pageid variable 2017-12-15 17:42:08 +13:00
Damyon Wiese b93a787b3e MDL-53985 assign: Do not remove annotations
When an assignment submission is reverted to a draft, the timemodified on
the submission should not be modified. Changing the timemodified causes the
editpdf code to assume the pdf is stale, and forces all annotations to be removed.
2017-12-15 11:52:32 +08:00
Jun Pataleta 4ab37af070 MDL-58888 mod_choice: Sort choice_get_my_response() results by optionid 2017-12-15 15:56:28 +13:00
Jun Pataleta f85f002b37 MDL-58888 mod_choice: Verify sorting when testing multiple selections
* Improve test_choice_get_my_response() to verify the sorting of the
  responses returned by choice_get_my_response().
* Fix correct usage of choice_get_my_response().
2017-12-15 15:56:28 +13:00
Zig Tan f7bdcf959f MDL-54967 backup: Fix IMS CC import URL decoding for XML format
HTML encoding special characters to avoid XML compatibility issues during
Course backup restoration and avoid double encoding.
2017-12-15 09:37:31 +08:00
Jun Pataleta 64abea941e MDL-61040 mod_choice: Save my choice button needs some space 2017-12-15 13:07:30 +13:00
Jun Pataleta b9bebd0e36 MDL-60938 mod_choice: Fix rendering of users for choice results 2017-12-15 12:52:54 +13:00
Matteo Scaramuccia de703e70e7 MDL-60793 core_ddl: Added the new MySQL 8 reserved words 2017-12-14 22:58:22 +01:00
Luca Bösch b35acd2249 MDL-31521 questions: Allow more than one unit with multiplier equal to 1 2017-12-14 22:34:01 +01:00
Eloy Lafuente (stronk7) a45c466000 weekly release 3.4+ 2017-12-14 14:47:47 +01:00
Eloy Lafuente (stronk7) 3b7f331372 Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2017-12-14 14:47:46 +01:00
Marina Glancy 3145f21de1 MDL-31436 registration: do not send false in update request 2017-12-14 16:05:45 +13:00
AMOS bot f8550e7982 Automatically generated installer lang files 2017-12-14 00:06:11 +00:00
Simey Lameze ab0847d328 MDL-56932 theme_boost: fix quiz max mark input height 2017-12-13 11:48:53 +08:00
Adrian Greeve 54339683ac MDL-60161 filelib: Unit test for duplicate curl headers. 2017-12-13 11:13:12 +08:00
Carson Tam 65e260281b MDL-60161 class curl in filelib: Cleaned up doc block. 2017-12-13 11:13:00 +08:00
Carson Tam f29bd28d6a MDL-60161 class curl in filelib: Avoid duplicate params in http header 2017-12-13 11:12:37 +08:00
AMOS bot 9654f2cd71 Automatically generated installer lang files 2017-12-13 00:06:16 +00:00
Jun Pataleta 2337078a30 Merge branch 'MDL-58200-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-12 19:13:25 +13:00
Jun Pataleta 29d9535277 Merge branch 'MDL-59970-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-12 18:52:43 +13:00
Andrew Nicols 4b162c766d Merge branch 'M3.4-MDL-59866' of https://github.com/marcusboon/moodle into MOODLE_34_STABLE 2017-12-12 13:47:54 +08:00
Andrew Nicols 606c17e6ef Merge branch 'wip-MDL-56864-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-12 13:39:50 +08:00
Damyon Wiese daf44482e9 Merge branch 'MDL-44660-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-12 12:50:38 +08:00
Marcus Boon 7da0e04ca3 MDL-59866 session: Add retry for redis sessions
There is an edge case whereby redis will fail
to accept connections on the first try but
retrying the connection seems to make it work

Included in this commit:
* Retry functionality in the session init
2017-12-12 14:48:26 +10:00
Damyon Wiese 45c42e01a3 Merge branch 'MDL-60861-34' of git://github.com/ankitagarwal/moodle into MOODLE_34_STABLE 2017-12-12 12:38:39 +08:00
Tyler Bannister 74af3b176d MDL-60653 Navigation: Fixed loose string comparison.
The previous comparison would sometimes evaluate to true when the
navigation key was not a string.
2017-12-12 12:34:57 +08:00
Simey Lameze 7e9f55f138 MDL-60750 mod_quiz: only apply form css rules on clean theme 2017-12-12 12:14:02 +08:00
Damyon Wiese 7354b4ea0e Merge branch 'MDL-58058-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-12-12 12:10:40 +08:00
Damyon Wiese 9f6edf2171 Merge branch 'MDL-60945-m34' of https://github.com/NeillM/moodle into MOODLE_34_STABLE 2017-12-12 11:35:34 +08:00
Damyon Wiese 511c9addfa Merge branch 'MDL-60965-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2017-12-12 11:15:36 +08:00
Damyon Wiese 8616e10e89 Merge branch 'MDL-60969_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2017-12-12 11:08:30 +08:00
Andrew Nicols 91406c9103 Merge branch 'MDL-60983_34' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2017-12-12 10:57:55 +08:00
Damyon Wiese aa383f1b47 Merge branch 'MDL-52538-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-12-12 10:40:35 +08:00
Damyon Wiese 8bb22c4544 Merge branch 'MDL-44667-34' of https://github.com/snake/moodle into MOODLE_34_STABLE 2017-12-12 10:26:18 +08:00
Damyon Wiese ff383cdd57 Merge branch 'MDL-60968-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-12-12 10:19:24 +08:00
Matt Clarkson 23e190ead5 MDL-60976 dml: Optimise replace_all_text()
Avoid updating fields that do not match the search string.
2017-12-12 10:07:40 +08:00
Mathew May d997069c62 MDL-57431 mod_quiz: Quiz editing help icon fix 2017-12-12 09:57:46 +08:00
Mihail Geshoski 96cc77d435 MDL-57727 reports: Activity completion report sorting problem 2017-12-12 09:53:16 +08:00
Brendan Heywood 1daf3fafc0 MDL-60968 auth: Allow more flexibility with mapping attributes 2017-12-12 09:38:20 +08:00
Damyon Wiese 7522b6a2e3 Merge branch 'MDL-60041-m34' of https://github.com/NeillM/moodle into MOODLE_34_STABLE 2017-12-12 09:21:59 +08:00
Zig Tan ece94bb4e2 MDL-42676 mod_assign: Display message fix when using grade override
Logic fix in mod_assign locallib.php to correctly set the submissionlockedstatus,
and added associated unit test in test_grade_submission_override()
2017-12-12 09:04:59 +08:00
Mihail Geshoski cd44d4e463 MDL-52538 lesson: Grade info displayed while ongoing score disabled 2017-12-12 09:03:23 +08:00
Damyon Wiese 395c985759 Merge branch 'MDL-54021-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-12-12 08:59:23 +08:00
Damyon Wiese 684d866e20 Merge branch 'MDL-40790-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE
Conflicts:
	theme/boost/scss/moodle/modules.scss
2017-12-11 16:56:33 +08:00
Damyon Wiese 3b2e8b4a0a Merge branch 'MDL-56197-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-12-11 16:47:40 +08:00
Neill Magill 816e06e809 MDL-60945 Web services: Too many progress records retrieved
The core_completion_get_activities_completion_status was getting the
progress for all users on the course called, and then discarding all
the records but one.

This change ensures that only progress for the user we are interested in
is retrieved from the database.

This has a side benefit of removing a full table scan from the query
finding the users inside the get_progress_all() method.
2017-12-11 08:42:39 +00:00
Neill Magill 6924954471 MDL-60041 dml: MOODLELIB sql file must have Unix line endings
If the file does not have Unix line endings then the regular expression
in oci_native_moodle_database::attempt_oci_package_install() does
not split it correctly.

This leads to an invalid package being created in Oracle.

The .gitattribute file changes for oci_native_moodle_package.sql
force it to have Unix style line endings when the branch is checked
out and the file does not already exist.

The file has been modified so that the Unix style line endings are
applied even if the file already exists, for example when pulling in
this change to an existing branch.
2017-12-11 08:42:24 +00:00
Mihail Geshoski 2875ff2934 MDL-56197 lesson: Multichoice answers not on same line as radio button 2017-12-11 15:52:44 +08:00
Andrew Nicols b1ddacfc8e Merge branch 'MDL-58272-34-2' of https://github.com/snake/moodle into MOODLE_34_STABLE 2017-12-11 15:02:27 +08:00
Marina Glancy 6d353a7918 MDL-60594 xmlrpc: wrapper for buggy xmlrpc_decode 2017-12-11 14:26:29 +08:00
Ankit Agarwal f9e09bd963 MDL-60861 analytics: Remove enable menu, if no timesplitting method 2017-12-11 10:47:44 +05:30
Ankit Agarwal 4f657eeed9 MDL-60861 analytics: Enabling a model requires timesplitting 2017-12-11 10:47:44 +05:30
Damyon Wiese 60e57b8448 Merge branch 'wip-MDL-45500-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-11 13:14:05 +08:00
Damyon Wiese 628f99bf45 Merge branch 'MDL-60948-34' of git://github.com/andrewnicols/moodle into MOODLE_34_STABLE 2017-12-11 12:53:18 +08:00
Andrew Nicols 68e670d8ea MDL-60948 tool_httpsreplace: Correct use of test URLs 2017-12-11 12:06:22 +08:00
Damyon Wiese af9b21a388 Merge branch 'MDL-54106-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-11 11:38:04 +08:00
Damyon Wiese de08d71fc8 Merge branch 'wip-MDL-31436-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-11 11:29:20 +08:00
Luca Bösch 4846674f5c MDL-44660 grade: Typos @package core_grade instead of core_grades 2017-12-08 14:21:28 +01:00
Luca Bösch ac66136751 MDL-54106 task: Deleting unconfirmed users after $CFG->deleteunconfirmed 2017-12-08 14:12:49 +01:00
Tim Hunt 5617f26568 MDL-60983 get_user_capability_course: fix buggy edge cases
There were basically two problems, which are demostrated by
the new test users u7 and u8 in the unit test.

1. There was a problem if a role was overridden in a context above the
one where it was assigned. E.g. User has teacher role in a course, and
there is a role override in the course-category context. That was being
ignored.

2. Problems with the handling of PROHIBITs. It should be the case that
if there is a PROHIBIT in force, then it cannot be overridden by another
role, or by a role override. However, this was not working in all cases.

Also, I had to add comments to the unit test so that I could understand
it. Hopefully these will be hepful to other developers too.
2017-12-08 12:07:27 +00:00
Simey Lameze ad81f22148 MDL-58058 competency: replace other sortorder usages 2017-12-08 16:01:12 +08:00
Frederic Massart aabf264460 MDL-58058 competency: Allow unspecified sortorder for new competencies 2017-12-08 16:01:12 +08:00
Mihail Geshoski c22d3a30a1 MDL-40790 lesson: Lesson content button runs off the edge of the page 2017-12-08 09:57:25 +08:00
Mihail Geshoski 64d3271039 MDL-54021 blocks: Course completion block lang problem 2017-12-08 09:26:11 +08:00
AMOS bot c83c2c0f47 Automatically generated installer lang files 2017-12-08 00:09:50 +00:00
Jun Pataleta 5fdb912a82 weekly release 3.4+ 2017-12-08 09:10:06 +13:00
Mark Nelson 7a06e15952 MDL-60969 auth_ldap: replace hardcoded strings in config settings 2017-12-07 14:04:31 +08:00
Jun Pataleta b64f314662 Merge branch 'MDL-60951-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-07 17:33:30 +13:00
David Mudrák e5994e8c04 MDL-57564 enrol: Fix the course ordering on the dashboard
The list of courses displayed at the user's dashboard - course overview
block, had the sorting hard-coded to order by fullname. This did not
respect the site setting "navsortmycoursessort" and led to inconsistent
behaviour with "My courses" list in the navigation.
2017-12-06 23:51:52 +01:00
Damyon Wiese 1fb4f49cca MDL-60951 travis: Disable redis on travis
Redis unit tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
2017-12-06 11:23:35 +08:00
Andrew Nicols 32b4b57b26 Merge branch 'MDL-59159_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2017-12-06 10:04:42 +08:00
Jun Pataleta fd7e75a8a5 Merge branch 'MDL-32350-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-12-06 11:30:52 +13:00
Luca Bösch abd7d4394b MDL-32350 admin: Sort users by country ASC and DESC 2017-12-05 07:22:56 +01:00
Jun Pataleta e4256cd769 Merge branch 'wip-MDL-60926-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-05 19:03:36 +13:00
David Herney 5a6a4cef8b MDL-60443 dataformat lib: Change a wrong variable name
The variable $type really is $dataformat. I have changed it for
prevent the error and show a correct error message.
2017-12-05 13:52:36 +08:00
Jun Pataleta 8721afb2c6 Merge branch 'wip-MDL-34161-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-05 17:59:53 +13:00
Andrew Nicols 0e199a5aec Merge branch 'MDL-60801_34' of https://github.com/andrewhancox/moodle into MOODLE_34_STABLE 2017-12-05 12:52:25 +08:00
Andrew Nicols 320947908b Merge branch 'MDL-60899-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-05 11:55:16 +08:00
Andrew Nicols 2e55209603 MDL-60965 behat: Correct strlen use 2017-12-05 11:19:42 +08:00
Andrew Nicols f8979fac97 Merge branch 'MDL-47114-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2017-12-05 09:52:42 +08:00
Adrian Greeve 6a33a850fc MDL-37757 repositories: Deleting a repository deletes files.
If the user decides to remove a repository all of the linked
files are now deleted along with file references. This was causing
problems such as the course page displaying an error with no recourse
to fix the problem.
2017-12-05 09:46:31 +08:00
Jake Dallimore 9164ab6e39 MDL-44667 database: fix incorrect usages of $DB->get_field
Some places were passing 5 params, meaning the strictness param was
lost. This fixes those usages.
2017-12-04 18:01:34 +08:00
Damyon Wiese 2af1421e34 Merge branch 'MDL-60219-34' of https://github.com/abias/moodle into MOODLE_34_STABLE 2017-12-04 16:28:39 +08:00
Marina Glancy 5a9fa0fe57 MDL-34161 mod_lti: backup and restore of submissions 2017-12-04 15:05:58 +08:00
Marina Glancy c1db07d55b MDL-34161 mod_lti: backup/restore of lti types
Only course tools are backed up, site tools and registrations
can be matched by id if they are restored to the same site only.

For predefined course tools the secret is backed up encrypted
and can be restored on the same site only.
2017-12-04 15:05:58 +08:00
Tim Lock c5b7a25ee6 MDL-34161 mod_lti: Added Behat tests 2017-12-04 15:05:58 +08:00
Gregory Faller 7cc665e9c7 MDL-34161 mod_lti: Add support for restoring site tool 2017-12-04 15:05:57 +08:00
Jun Pataleta 05fd85142e Merge branch 'wip-MDL-60887-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-12-04 18:23:52 +13:00
Jun Pataleta e62ea2b803 Merge branch 'MDL-60925-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-12-04 14:32:00 +13:00
Eloy Lafuente (stronk7) 972142a9af MDL-59159 environment: 3.1 (LTS) required 2017-12-04 02:03:34 +01:00
Eloy Lafuente (stronk7) b25f3693bb MDL-59159 environment: 3.5 base information
This is a direct copy of the 3.4 branch to
have changes under control easier in next commits.
2017-12-04 02:03:17 +01:00
Jun Pataleta 369caa6183 Merge branch 'MDL-60914_34' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2017-12-04 12:49:48 +13:00
Shamim Rezaie 00268741c2 MDL-47114 core: Improved function description 2017-12-02 07:44:27 +08:00
Ann Adamcik 4c492f8646 MDL-58697: Only get group submission if enabled 2017-12-01 12:53:28 -07:00
Marina Glancy 605b0547de MDL-60926 auth: do not map very long profile fields 2017-12-01 17:51:54 +08:00
Ryan Wyllie eea1aff443 MDL-60942 filters: include filter in format_string cache key 2017-12-01 06:51:58 +00:00
Eloy Lafuente (stronk7) 1bc5a5abe9 weekly release 3.4+ 2017-11-30 17:05:23 +01:00
Marina Glancy be4ea98f29 MDL-31436 hub: never use xmlrpc, always use REST 2017-11-30 11:27:41 +08:00
Damyon Wiese 845215d826 MDL-60925 theme: Fix SCSS precompilation.
There is no point pre-compiling the theme SCSS if it is not stored somewhere that is available
to all webserving nodes. Localcache needs to be backed by the MUC cache.
2017-11-29 17:08:23 +08:00
Alexander Bias 2a9c11965b MDL-60219 lti: Replace pagelayout frametop with incourse 2017-11-29 09:58:45 +01:00
Damyon Wiese 8c3d8a68f7 MDL-58200 competencies: Student can view linked courses 2017-11-29 16:07:42 +08:00
João Umberto Ciocca de Almeida 969010296d MDL-60654 calendar: Clean up lines 140-154
The if+switch code between lines 140 and 154, even though they selected 3 different choices, all of them gave the same result.
Therefore, it'd be cleaner to replace those 16 lines for just two.
2017-11-29 06:56:16 +01:00
Jun Pataleta 87186b9710 Merge branch 'wip-MDL-45068-34-fix' of https://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-11-29 16:59:41 +13:00
Marina Glancy 539ad434cb MDL-45068 groups: corrected check for idnumber '0' 2017-11-29 11:53:56 +08:00
Eloy Lafuente (stronk7) af4fa2a55b Merge branch 'wip-MDL-60591-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-11-28 22:38:37 +01:00
Eloy Lafuente (stronk7) 15aec0b054 Merge branch 'MDL-60738-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2017-11-28 20:59:34 +01:00
Eloy Lafuente (stronk7) 7974bbcaf7 Merge branch 'MDL-60838-m34' of https://github.com/sammarshallou/moodle into MOODLE_34_STABLE 2017-11-28 20:48:27 +01:00
Damyon Wiese b4cbad15de MDL-58983 assign: Hide grade button if no cap
If the current user cannot grade students, don't show them the button.
2017-11-28 15:48:55 +08:00
Marina Glancy fe1eb00c0f MDL-49995 files: delete old file when overwriting 2017-11-28 15:03:29 +08:00
Damyon Wiese 03df75c0de MDL-59200 assign: add feedback when grade locked
We are including a hidden field when the grade is locked in the gradebook for a student. This field fails validation, so
the form cannot be submitted.
2017-11-28 14:37:33 +08:00
Damyon Wiese 21c6513a7c MDL-60899 block_lp: no permissions - empty block
Show an empty block if the current user does not have the capability to see any plans.
2017-11-28 14:33:18 +08:00
Damyon Wiese 8938d826d9 Merge branch 'MDL-53004-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE
Conflicts:
	mod/assign/styles.css
2017-11-28 12:50:57 +08:00
Marina Glancy e71a526011 MDL-45500 gradingform: allow plugin uninstall 2017-11-28 12:27:26 +08:00
Jun Pataleta f3f6960d3e Merge branch 'MDL-46768-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2017-11-28 17:19:00 +13:00
Damyon Wiese 8952d3f100 Merge branch 'MDL-24678-MOODLE_34-chat_get_latest_message' of https://github.com/bozoh/moodle into MOODLE_34_STABLE 2017-11-28 12:14:49 +08:00
Tobias Reischmann 0bb9e2d8d7 MDL-60669 forum: Added duplicate check for restoring forum subscriptions
Before MDL-59854 it was possible to have duplicate forum subscriptions.
Trying to import backups created from back then, caused a DB exception
due to unqiue key constraints. Now only one of multiple identical forum
subscritions is restored.
2017-11-28 12:06:25 +08:00
Mark Nelson 07b6c89868 MDL-60914 mod_lti: ensure grade_update() is defined during upgrade 2017-11-28 11:38:09 +08:00
Marina Glancy ffba0168b1 MDL-60887 registration: allow plugins to register on custom hubs 2017-11-28 11:21:46 +08:00
Eloy Lafuente (stronk7) 26a276cea1 Merge branch 'MDL-60249-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-11-28 00:48:55 +01:00
Damyon Wiese 3e2eb62931 Merge branch 'MDL-60188-34' of git://github.com/rezaies/moodle into MOODLE_34_STABLE 2017-11-27 15:56:53 +08:00
Jun Pataleta 62104652c8 Merge branch 'MDL-57569-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2017-11-27 19:43:57 +13:00
Jun Pataleta c950c91696 Merge branch 'wip-MDL-45068-34' of git://github.com/marinaglancy/moodle into MOODLE_34_STABLE 2017-11-27 19:36:10 +13:00
Marina Glancy 73e4f14d1b MDL-60591 mod_forum: inline attachments are not displayed in plain text 2017-11-27 14:29:33 +08:00
Marina Glancy 87d3c32f2e MDL-45068 groups: fixes to group import
- If 'coursename' is specified in the CSV it should match the course short name - thanks Yusuf Yılmaz for the patch
- If 'idnumber' is specified but 'groupidnumber' is not, idnumber should be used for matching the course idnumber only
- If 'groupingname' is not specified, there should be no notices (regression from MDL-42514)
- If 'coursename' or 'idnumber' column is present, it can contain empty values in some/all lines
2017-11-27 14:26:19 +08:00
Shamim Rezaie b8e0488c90 MDL-60188 groups: cache user's groups and groupings
The function groups_get_user_groups is called too often both before rendering the page and after the page is rendered (using ajax).
The function was executing a query joining 3 tables in each call. The plementation of the function has now modified to store the
query result in a request cache.
2017-11-27 10:42:56 +08:00
Jake Dallimore 6c23087aa7 Merge branch 'MDL-60830-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2017-11-27 10:30:24 +08:00
Jun Pataleta a6d9966786 Merge branch 'MDL-58887-34' of git://github.com/ryanwyllie/moodle into MOODLE_34_STABLE 2017-11-27 15:06:11 +13:00
Jake Dallimore 1a8167e781 Merge branch 'MDL-27230-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-11-27 09:44:18 +08:00
Ryan Wyllie 47dd1d85aa MDL-58887 core: fix default title for action menu
Thanks to Michelle Melton <meltonml@appstate.edu> for the original
version of this patch.
2017-11-27 01:28:54 +00:00
Andrew Hancox c29edc7551 MDL-60801 tool_uploaduser: Fix issue with defaults being ignored 2017-11-25 11:40:56 +00:00
Carlos Alexandre S. da Fonseca fdddb80b70 MDL-24678 mod_chat: Fixed race condition on chat module 2017-11-24 10:36:15 -02:00
sam marshall 70a804d98e MDL-60838 core_search: File upload does not honour timeout 2017-11-24 11:02:32 +00:00
Sara Arjona c12caea3d4 MDL-57569 core_files: Fix to let show generated f3 image 2017-11-24 11:51:29 +01:00
Sara Arjona 191a7fd205 MDL-46768 core_badges: changed badge name type from FILE to TEXT 2017-11-24 11:37:59 +01:00
Luca Bösch b0cb0168f4 MDL-34389 course: switch to subcategory w/ course:changecategory perms 2017-11-23 16:50:28 +01:00
Luca Bösch fb762d4e5c MDL-53004 assignment: Separate label and pulldown in grading (Clean) 2017-11-23 16:42:11 +01:00
Luca Bösch ed0e988020 MDL-27230 quiz: remove and update group overrides in calendar 2017-11-23 16:42:05 +01:00
David Monllao 20cb5f4086 weekly release 3.4+ 2017-11-23 13:35:20 +01:00
David Monllao de5d2667ab Merge branch 'install_34_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_34_STABLE 2017-11-23 13:35:18 +01:00
Marina Glancy 4a54efd42a MDL-27886 backup: When setting is unlocked set it to original value 2017-11-23 12:29:59 +08:00
Jake Dallimore 5769d5fc86 Merge branch 'MDL-60831-34' of git://github.com/ankitagarwal/moodle into MOODLE_34_STABLE 2017-11-22 13:25:33 +01:00
Adrian Greeve 0225f34969 MDL-60546 mod_choice: Update to select all functionality. 2017-11-22 13:25:33 +01:00
Marcus Fabriczy 23c69f1ef0 MDL-60546 mod_choice: Fixed select all functionality
Fixed the functionality which ticks or unticks all checkboxes when
clicking the Select all or Deselect all elements when viewing the
responses.

Caused by deprecating checkall and checknone functions in
MDL-57490.
2017-11-22 13:25:32 +01:00
Jun Pataleta 6e6b38e0b5 Merge branch 'MDL-60813-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2017-11-22 13:25:32 +01:00
Jun Pataleta 2e3892e951 Merge branch 'MDL-60526-34-fix1' of http://github.com/damyon/moodle into MOODLE_34_STABLE 2017-11-22 13:25:31 +01:00
Matteo Scaramuccia abe62e33e6 MDL-60745 phpunit: Bump phpunit from 6.4.3 to 6.4.4
$ php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 3 updates, 0 removals
  - Updating sebastian/comparator (2.0.2 => 2.1.0): Downloading (100%)
  - Updating phpunit/php-code-coverage (5.2.2 => 5.2.3): Downloading (100%)
  - Updating phpunit/phpunit (6.4.3 => 6.4.4): Downloading (100%)
Writing lock file
Generating autoload files
2017-11-22 13:25:31 +01:00
Damyon Wiese 78731d0b96 MDL-60526 forms: Button elements should have type
The mform "buttons" should be of type "button", instead it's not specified so they get
the default of "submit". This is causing behat fails.
2017-11-22 13:25:31 +01:00
David Monllao 56a58d538c MDL-59512 version: Following 2 digits scheme 2017-11-22 13:25:30 +01:00
David Monllao ef1c918973 Merge branch 'MDL-59512-34' of git://github.com/Dagefoerde/moodle into MOODLE_34_STABLE 2017-11-22 13:25:30 +01:00
Jun Pataleta 3b9fce4e1c Merge branch 'mdl58817-moodle34' of https://github.com/tlock/moodle into MOODLE_34_STABLE 2017-11-22 13:25:29 +01:00
Jun Pataleta 7b9e9eb98d Merge branch 'MDL-60637-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-11-22 13:25:29 +01:00
Ankit Agarwal 0456d880f0 MDL-60796 analytics: Fix phpdoc issues 2017-11-22 13:25:29 +01:00
Jun Pataleta 705776211a Merge branch 'MDL-60780_34' of git://github.com/dmonllao/moodle into MOODLE_34_STABLE 2017-11-22 13:25:28 +01:00
Simey Lameze 94b8228ba1 MDL-60751 core_calendar: remove useless NULL_ALLOWED parameter 2017-11-22 13:25:28 +01:00
Sara Arjona 0b7d0d0f79 MDL-60830 core_enrol: Added email when searching users in course enrol 2017-11-22 13:19:49 +01:00
Damyon Wiese c29501c06d MDL-59970 competencies: performance
Remove useless get_records call in get_least_proficient_competencies_for_course function.
On big sites this would cause huge memory usage.
2017-11-22 15:37:19 +08:00
Ankit Agarwal c152025706 MDL-60831 search: add BS classes to block elements 2017-11-22 12:31:56 +05:30
AMOS bot 0444dd2b70 Automatically generated installer lang files 2017-11-22 00:05:56 +00:00
Marina Glancy 15aded1e2a MDL-56864 forms: allow to remove last tag with forced standard tags 2017-11-21 15:21:50 +08:00
Marina Glancy cbff142b8e MDL-56864 forms: boost templates don't allow remove last tag 2017-11-21 15:21:50 +08:00
Simey Lameze ee16cb39bf MDL-60637 core_group: fix unit tests failures 2017-11-21 10:02:16 +08:00
Simey Lameze 7f0eba32de MDL-60637 group: remove useless id number validation on web services 2017-11-21 10:02:16 +08:00
David Monllao 144c9ba7c3 Merge branch 'MDL-60526-34' of git://github.com/damyon/moodle into MOODLE_34_STABLE 2017-11-20 13:44:02 +01:00
David Monllao b676ff39a4 Merge branch 'MDL-60436-m34' of https://github.com/NeillM/moodle into MOODLE_34_STABLE 2017-11-20 13:26:12 +01:00
David Monllao fe709d665d Merge branch 'MDL-56253-34' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-11-20 12:55:39 +01:00
Simey Lameze d692104051 MDL-60823 calendar: use first day of week on prepadding calc 2017-11-20 12:08:30 +01:00
Jake Dallimore 17ebd603e1 Merge branch 'MDL-60708-34' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2017-11-20 17:58:07 +08:00
David Monllao b24eb6c565 Merge branch 'MDL-60842-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-11-20 10:30:28 +01:00
Juan Leyva c449504287 MDL-60708 mod_workshop: Return author feedback for submission
The feedback and grade information for submission should be returned
for teachers in the evaluation and closed phases.
2017-11-20 10:08:20 +01:00
Simey Lameze 8df6b374bb MDL-60842 calendar: do not load all course fields 2017-11-20 16:55:24 +08:00
Juan Leyva e84e1bbff3 MDL-60738 webservice: Clean theme and lang properly
Sometimes the "theme" and "lang" fields in the user and course tables
in the database are set to incorrect values (uninstalled or
non-existent themes and language packs).
This makes Web Services functions to fail because the WS server
validate the returned data using the validate_param function that clean
parameters.
2017-11-20 09:38:03 +01:00
Jakob Ackermann 3cfc322bdf MDL-60187 mod_lti: Do not create a grade item when grades are disabled.
If the privacy option "Accept grades from the tool" is disabled, the
module should not appear in the gradebook when edited inline or when
recover grades is running during enrolment.
2017-11-20 21:33:50 +13:00
Damyon Wiese 6da402bf34 Merge branch 'MDL-60810_master' of git://github.com/markn86/moodle into MOODLE_34_STABLE 2017-11-20 15:58:58 +08:00
Damyon Wiese 126c58ede4 Merge branch 'MDL-60809-34' of git://git.cameron1729.xyz/moodle into MOODLE_34_STABLE 2017-11-20 15:31:08 +08:00
Damyon Wiese 6217d91173 Merge branch 'MDL-60806-34' of git://github.com/lameze/moodle into MOODLE_34_STABLE 2017-11-20 15:25:44 +08:00
Jake Dallimore d28be61fb5 Merge branch 'MDL-60824-34-profilefield' of git://github.com/mudrd8mz/moodle into MOODLE_34_STABLE 2017-11-20 15:07:00 +08:00
Luca Bösch a96ef27857 MDL-56253 grade: have coursemodule name pass filters. 2017-11-20 06:44:25 +01:00
Damyon Wiese 255541d592 Merge branch 'MDL-27886-master' of git://github.com/tobiasreischmann/moodle into MOODLE_34_STABLE 2017-11-20 13:26:06 +08:00
Simey Lameze 19b4c997e9 MDL-60806 core_calendar: return hidden categories 2017-11-20 12:18:24 +08:00
Jake Dallimore 93819366a4 Merge branch 'MDL-60835-34' of git://github.com/crazyserver/moodle into MOODLE_34_STABLE 2017-11-20 11:31:57 +08:00
Jun Pataleta 7726e2e2d6 Merge branch 'master_MDL-60253' of https://github.com/CengageEng/moodle into MOODLE_34_STABLE 2017-11-20 13:21:47 +13:00
AMOS bot d95ccdd4ec Automatically generated installer lang files 2017-11-20 00:05:51 +00:00
Jun Pataleta 5698d90e6a Merge branch 'MDL-55808_master' of git://github.com/juancs/moodle into MOODLE_34_STABLE 2017-11-20 10:35:54 +13:00
Neill Magill 44b87b5d95 MDL-60436 blocks: Unit test for dashboard block positioning 2017-11-17 14:11:01 +00:00
Neill Magill 334412f1cc MDL-60436 blocks: Improve performance of block loading 2017-11-17 14:10:12 +00:00
yair.spielmann afcb4cd69a MDL-59512 tool_oauth2: add option for basic authentication 2017-11-17 10:22:01 +01:00
Damyon Wiese d8a7c52ee6 MDL-60249 assign: resize quickgrade textareas
The Bootstrap CSS reset prevents horizontal resizing of textareas. We want to allow it in the quickgrading ui.
2017-11-17 14:55:46 +08:00
Andrew Nicols 05a70bac38 MDL-60773 core: Add pendingJS checks for autocomplete interactions 2017-11-17 14:11:56 +08:00
David Mudrák 951f10fd3e MDL-60824 profile: Fix handling of to-be-created user id
The script user/editadvanced.php uses special value of userid = -1 for
the case when a new user is being created. Such a value passes the
non-empty check and would lead to "invaliduser" error.
2017-11-16 22:11:13 +01:00
Juan Leyva 10a5e2a8de MDL-60813 calendar: Fix core_calendar_get_calendar_events for categories
Users couldn’t see category events when filtering by categories in the
core_calendar_get_calendar_events WS.
2017-11-16 19:16:46 +01:00
Pau Ferrer Ocaña 82c32f9a80 MDL-60835 completion: Add overrideby field to completion status WS 2017-11-16 16:37:35 +01:00
David Monllao 17ae93679d MDL-60780 analytics: Prevent timing issues 2017-11-16 09:18:31 +01:00
Jake Dallimore 27ffa62131 MDL-58272 core_files: get converters from file extension not mimetype 2017-11-16 15:50:58 +08:00
Cameron Ball 97a4db9c97 MDL-60809 xmlrpc: Include filelib when making xmlrpc call 2017-11-16 14:47:41 +08:00
Jake Dallimore 6f1a49b8b7 weekly release 3.4+ 2017-11-16 11:13:12 +08:00
David Monllao 740807d2e3 Merge branch 'MDL-60789-34' of git://github.com/sarjona/moodle into MOODLE_34_STABLE 2017-11-15 10:37:57 +01:00
Damyon Wiese 066b01a788 Merge branch 'wip-MDL-59876-34' of git://github.com/abgreeve/moodle into MOODLE_34_STABLE 2017-11-15 10:37:56 +01:00
Mark Nelson 2ce6578835 MDL-60810 auth_db: removed rubbish content in string 2017-11-15 15:00:35 +08:00
Damyon Wiese e7b4c991ee MDL-60526 forms: Prevent duplicate type attributes
The exporter for mform elements does not skip "type" (which is included as a separate value).
2017-11-15 11:54:21 +08:00
Adrian Greeve 42ee1fc276 MDL-59876 core_user: Add required library for function.
The external service create_users has a function call to
useredit_update_user_preference() that requires editlib.php
2017-11-15 11:49:18 +08:00
Damyon Wiese d56935d66f Merge branch 'MDL-60675-34' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-11-14 17:07:08 +08:00
Mihail Geshoski 9e2565d84d MDL-60675 analytics: Apply strict comparison check 2017-11-14 16:31:13 +08:00
Sara Arjona 73c72b4148 MDL-60789 workshop: Check title submission maxlength 2017-11-14 08:46:46 +01:00
Jake Dallimore 244af9a0da Merge branch 'MDL-60741' of git://github.com/timhunt/moodle into MOODLE_34_STABLE 2017-11-14 15:28:38 +08:00
Jun Pataleta 2eb043fb36 Merge branch 'm34_MDL-59099_MySQL8_InnoDB_Params_Removed' of https://github.com/scara/moodle into MOODLE_34_STABLE 2017-11-14 12:23:09 +13:00
Damyon Wiese 2454da368a Merge branch 'MDL-60693_34-backup-multilang-activities' of https://github.com/lucaboesch/moodle into MOODLE_34_STABLE 2017-11-13 14:38:04 +08:00
Damyon Wiese 8e899e949d Merge branch 'MDL-60675-master' of git://github.com/mihailges/moodle into MOODLE_34_STABLE 2017-11-13 14:11:33 +08:00
Jake Dallimore 6b0b697fb8 Merge branch 'MDL-60707' of git://github.com/aolley/moodle into MOODLE_34_STABLE 2017-11-13 13:27:14 +08:00
Damyon Wiese 9a854a2fc9 Merge branch 'MDL-59876-master' of git://github.com/jleyva/moodle into MOODLE_34_STABLE 2017-11-13 11:07:25 +08:00
Damyon Wiese b6f1cf03e3 Merge branch 'MDL-60784_34' of git://github.com/stronk7/moodle into MOODLE_34_STABLE 2017-11-13 10:41:05 +08:00
Tim Lock d26cdca687 MDL-58817 mod_lti: cartridge: maintain custom icons 2017-11-13 10:18:02 +10:30
Eloy Lafuente (stronk7) dbeee32b59 MDL-60784 upgrade: add 3.4.0 separation line to all upgrade scripts 2017-11-12 18:46:00 +01:00
Luca Bösch 0a8663b425 MDL-60693 backup: Use multilang with course activities
On backup and restore, activities are shown after passing format_string,
supporting multilang.
2017-11-12 14:56:14 +01:00
Eloy Lafuente (stronk7) 665c3ac59c Moodle release 3.4 2017-11-11 19:31:19 +01:00
Eloy Lafuente (stronk7) 07c0bb10fb NOBUG: Change travis.yml to MOODLE_34_STABLE 2017-11-11 19:31:18 +01:00
Eloy Lafuente (stronk7) cf57ee9285 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-11-11 19:31:14 +01:00
Eloy Lafuente (stronk7) d334aea208 Merge branch 'MDL-60779-master' of git://github.com/junpataleta/moodle 2017-11-11 13:03:54 +01:00
Jun Pataleta 0cf288757d MDL-60779 calendar: Pass correct parameters for get_calendar_X_view() 2017-11-11 22:28:38 +13:00
AMOS bot 695cd06817 Automatically generated installer lang files 2017-11-11 00:05:36 +00:00
David Monllao ab9936962e Moodle release 3.4rc3 2017-11-10 15:15:37 +01:00
David Monllao d39fcc420e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-11-10 15:15:35 +01:00
David Monllao 08641175b3 Merge branch 'MDL-60764' of git://github.com/stronk7/moodle 2017-11-10 10:20:25 +01:00
Eloy Lafuente (stronk7) 66aee746e3 MDL-60764 versions: remove some outdated releases in requires 2017-11-10 09:45:56 +01:00
Damyon Wiese f738fc8efd Merge branch 'MDL-60763-master' of git://github.com/andrewnicols/moodle 2017-11-10 13:57:04 +08:00
Andrew Nicols 27973b545c MDL-60763 calendar: Use PHP concat, not JS 2017-11-10 13:56:39 +08:00
Damyon Wiese 3192438075 Merge branch 'MDL-60763-master' of git://github.com/andrewnicols/moodle 2017-11-10 13:47:05 +08:00
Andrew Nicols 41b7375c07 MDL-60763 core_calendar: Deprecate calendar_get_upcoming 2017-11-10 13:45:32 +08:00
Jun Pataleta cb04dcf4ce Merge branch 'MDL-60771-master' of git://github.com/lameze/moodle 2017-11-10 18:03:49 +13:00
Jun Pataleta c3925187ed Merge branch 'MDL-60758_master' of git://github.com/dmonllao/moodle 2017-11-10 17:21:15 +13:00
Damyon Wiese 4ceece6ea1 Merge branch 'MDL-60749-master' of git://github.com/sarjona/moodle 2017-11-10 12:05:46 +08:00
Jun Pataleta cfbc820e1b Merge branch 'MDL-60766-master' of git://github.com/ryanwyllie/moodle 2017-11-10 17:02:41 +13:00
Simey Lameze fbbcf45ef2 MDL-60771 mod_scorm: typecast score to integer 2017-11-10 12:00:17 +08:00
Andrew Nicols 6e2d8c121b Merge branch 'MDL-52838-master' of git://github.com/damyon/moodle 2017-11-10 11:38:13 +08:00
Damyon Wiese 6b2a9a6fb8 Merge branch 'MDL-60765-master' of git://github.com/andrewnicols/moodle 2017-11-10 10:55:09 +08:00
Mihail Geshoski ae4522ff55 MDL-60675 analytics: Error when selecting invalid insight 2017-11-10 10:43:51 +08:00
Andrew Nicols fb5bbf1424 MDL-60765 theme: Make inplace-autocomplete rule more specific
This change was intended to fix an issue with the autocomplete in RTL,
but was applied to all inplace-editables.
2017-11-10 10:29:11 +08:00
Damyon Wiese ce225e1c5e MDL-52838 workshop: Each criterion > 0 levels
Add validation to the edit assessment form so each criterion in a rubric requires at least one level.
2017-11-10 10:22:27 +08:00
Ryan Wyllie 08b7558483 MDL-60766 block_calendar_upcoming: stop summary modal not logged in
Stopped the JS from running on the block when the user is not logged in
because it attempts to load a summary modal when an event is clicked on
which results in a failed call to a webservice.
2017-11-10 02:20:32 +00:00
Andrew Nicols 9dead25fd5 MDL-60763 core_calendar: Revert removal of calendar_get_upcoming
This reverts part of commit 522b84be04.
2017-11-10 10:11:42 +08:00
Ryan Wyllie eac88b955f MDL-60766 block_calendar_month: hide nav when not logged in 2017-11-10 02:07:50 +00:00
Eloy Lafuente (stronk7) 438c98cc98 MDL-60764 versions: main version bump 2017-11-10 02:56:14 +01:00
Eloy Lafuente (stronk7) ba854606e6 MDL-60764 versions: bump all versions and requires near release
version = 2017111300 release version
requires= 2017110800 current rc2 version
2017-11-10 02:52:53 +01:00
Jake Dallimore f5b63fc829 Merge branch 'MDL-60760_master' of git://github.com/dmonllao/moodle 2017-11-10 09:32:17 +08:00
Andrew Nicols 6996fbaa0e MDL-60763 core_calendar: Revert removal of calendar_get_upcoming
Revert "MDL-60092 core_calendar: remove unused calendar_get_upcoming method"

This reverts commit 4259387ebb.
2017-11-10 08:11:36 +08:00
David Monllao 20305a8a8f MDL-60758 tool_analytics: Skip guess start if higher than guess end 2017-11-09 17:11:34 +01:00
David Monllao 5da020169e MDL-60760 tool_analytics: No onlycli link for managers 2017-11-09 17:05:08 +01:00
Sara Arjona 2f673d8b6a MDL-60749 scorm: Remove &nbsp; from files when downloading 2017-11-09 10:15:03 +01:00
Sara Arjona 4bcb0a9a1d MDL-60550 user: Add more restrictions in keyword searches
Original patch provided by Tim Schroeder.
2017-11-09 16:29:29 +08:00
David Monllao a4e0b7468c Merge branch 'MDL-60718-master' of git://github.com/sarjona/moodle 2017-11-09 09:27:01 +01:00
David Monllao 7fdcdc04ff Merge branch 'MDL-60615-master' of git://github.com/damyon/moodle 2017-11-09 08:48:48 +01:00
Damyon Wiese bef5a8ca10 Merge branch 'MDL-60752-master' of git://github.com/andrewnicols/moodle 2017-11-09 15:08:11 +08:00
Damyon Wiese 246698e779 MDL-60615 imscc: string to array fix
Sloppy typing in the imscc converter is causing errors on php7.1

Variable is initialised as a string and then used as an array.
2017-11-09 15:05:36 +08:00
Jake Dallimore 4f3262fede Merge branch 'MDL-60753_master' of git://github.com/markn86/moodle 2017-11-09 14:47:23 +08:00
Andrew Nicols f169f4fd21 MDL-60752 lti: Compare text in types_config properly 2017-11-09 14:25:51 +08:00
Mark Nelson d48d1ba19a MDL-60753 report_competency: fixed dialogue failing to show 2017-11-09 14:11:24 +08:00
Jun Pataleta 7a571b813a Merge branch 'MDL-60628-master' of git://github.com/lameze/moodle 2017-11-09 17:08:46 +13:00
Simey Lameze 754016ab33 MDL-60628 calendar: amend web service unit test 2017-11-09 11:43:49 +08:00
Simey Lameze 10c17dcc10 MDL-60628 calendar: support category events on get_calendar_events ws 2017-11-09 11:29:07 +08:00
Andrew Nicols 5518a32de5 Merge branch 'MDL-60579-master-fix2' of https://github.com/damyon/moodle 2017-11-09 11:18:14 +08:00
Damyon Wiese 56f05f23c6 MDL-60579 user: Don't lose text filters
When replacing a group filter with a different group filter - don't forget all the current text filters that have
been applied.
2017-11-09 11:06:30 +08:00
Damyon Wiese bb869f05e8 MDL-60579 user: Move defines into library
Entry page user/index.php was defining constants that were used by the renderer.
This means the renderer was tied to user/index.php.
2017-11-09 11:06:30 +08:00
Andrew Nicols 7cf4331a6f MDL-60579 user: Correct PARAM type for filters
Damyon pointed out during the integration of this fixset, that the
PARAM type is incorrect.
2017-11-09 10:07:13 +08:00
Andrew Nicols 762f8dc1db MDL-60579 user: Add missing case breaks 2017-11-09 09:07:34 +08:00
Andrew Nicols a997dc9da5 MDL-60579 user: Correct search for strings 2017-11-09 09:07:21 +08:00
Andrew Nicols 446b21b512 MDL-60579 user: Check filter strings have correct part count 2017-11-09 09:07:02 +08:00
Andrew Nicols 3968d2ca7e MDL-60579 user: Prevent behat from interacting til setup complete 2017-11-09 09:05:22 +08:00
Adam Olley 7f83e99e5f MDL-60707 core_search: In tests, use faked time for indexing length
Without this change its possible that the unit tests will fail at any time.
Before this change the indexing time is measured by real-time, not fake time,
making all index timings 0.

This happens as PHP offers no guarantee around the sort-order of an array for
any given two members that equate as equal. It just happens to pass for the
current array of search areas in vanilla Moodle.
2017-11-09 10:49:53 +10:30
AMOS bot 68c580c903 Automatically generated installer lang files 2017-11-09 00:05:00 +00:00
Sara Arjona 0c0d460e8b MDL-60718 analytics: Avoid duplicates for users with 2 enrolments 2017-11-08 19:12:59 +01:00
David Monllao ed0e2cea00 Merge branch 'MDL-60732-master' of git://github.com/damyon/moodle 2017-11-08 17:48:07 +01:00
David Monllao 7effd6dd79 Merge branch 'MDL-60720-master' of https://github.com/sammarshallou/moodle 2017-11-08 17:27:15 +01:00
David Monllao 29adfbc3c8 Merge branch 'MDL-58699-master' of git://github.com/damyon/moodle 2017-11-08 15:56:25 +01:00
Tim Hunt d00007bc45 MDL-60741 purgecaches: did not correctly setup the admin page
Note that, admin_externalpage_setup does the right capability check.
2017-11-08 14:30:27 +00:00
David Monllao 4e73acf3cf Merge branch 'MDL-60579-master' of https://github.com/mihailges/moodle 2017-11-08 12:16:20 +01:00
David Monllao fcafb22c22 MDL-60733 oauth: Remove outdated comment 2017-11-08 12:04:31 +01:00
David Monllao 6463a047a2 Merge branch 'MDL-60733-master' of git://github.com/damyon/moodle 2017-11-08 12:03:43 +01:00
David Monllao ccf7578373 Moodle release 3.4rc2 2017-11-08 09:47:39 +01:00
David Monllao 68ba214c65 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-11-08 09:47:38 +01:00
Damyon Wiese a471bc4971 MDL-60732 core_user: Show group filters
Always show the group filters, even if the course is in NO_GROUPS mode.
2017-11-08 16:45:42 +08:00
Damyon Wiese b6319f70bd Merge branch 'MDL-60590-master' of git://github.com/andrewnicols/moodle 2017-11-08 15:46:44 +08:00
Damyon Wiese d3882ea4a3 MDL-60733 core: B/C for google_oauth
The google_oauth class extends oauth2client which was modified to send "Accept" headers.

The "Accept" headers break picasa and could break any other plugin that was using google_oauth.
2017-11-08 15:41:53 +08:00
Andrew Nicols e759c9ed83 MDL-60590 enrol_manual: Fix for race condition in button calculation 2017-11-08 15:31:10 +08:00
Jun Pataleta c9f995872f Merge branch 'MDL-60700-master-fix' of git://github.com/andrewnicols/moodle 2017-11-08 15:17:25 +13:00
Andrew Nicols 2e36c42625 MDL-60700 calendar: Update behat test or new normal 2017-11-08 10:13:20 +08:00
Jun Pataleta 7a2300fd82 Merge branch 'MDL-60717-master-enfix' of git://github.com/mudrd8mz/moodle 2017-11-08 14:43:15 +13:00
AMOS bot f3342e1010 Automatically generated installer lang files 2017-11-08 00:05:03 +00:00
David Mudrák ea90412944 MDL-60717 lang: Reflect the string change in behat scenario file 2017-11-07 21:49:18 +01:00
Helen Foster 8d64443452 MDL-60717 lang: Merge English strings from the en_fix language pack
Significant string changes:

- needbcmath,auth_ldap - 'grace logins' changed to 'expired password
  checking'
2017-11-07 21:30:14 +01:00
sam marshall 4b0facc984 MDL-60720 core_search: Indexing halts on failed get_document
The recordsets used for search indexing sometimes return results
which are invalid (e.g. cannot be found in database). When this
happens, the result in the iterator for the recordset will be
false. Due to a bug, the iterator used to stop when it encountered
a false value, which prevented indexing from getting past the
problematic record.

In addition, the iterator that skips future data resulted in the
current() function of its parent indicator being called twice per
entry, which meant that search indexing called get_document()
twice as many times.
2017-11-07 16:36:37 +00:00
Juan Leyva abdb8f59a5 MDL-59876 webservice: Fix the user preference name field type
Web Services from user and enrol components has been updated to change
the user preference name field type from PARAM_ALPHANUMEXT to
PARAM_RAW.
The old type was not matching the core functionality.
2017-11-07 16:44:48 +01:00
David Monllao d6d2cec4a0 Merge branch 'MDL-59758_notes-fix' of git://github.com/dmonllao/moodle 2017-11-07 14:01:35 +01:00
David Monllao 57c9b7fc37 MDL-59758 user: Notes publish state adapted to ws 2017-11-07 13:53:21 +01:00
David Monllao cae37299f3 Merge branch 'MDL-59758-master' of git://github.com/damyon/moodle 2017-11-07 12:37:30 +01:00
Mihail Geshoski c835126185 MDL-60579 enrolments: Applied filters lost on certain actions
AMOS BEGIN
    CPY [invalidrequest,enrol_lti],[invalidrequest,enrol]
AMOS END
2017-11-07 16:17:00 +08:00
Jake Dallimore 5243e93661 Merge branch 'MDL-59256_master' of git://github.com/dmonllao/moodle 2017-11-07 16:03:43 +08:00
Jake Dallimore b135c42a17 Merge branch 'MDL-60700-int-fix-1' of github.com:ryanwyllie/moodle 2017-11-07 15:44:12 +08:00
Ryan Wyllie ec8f488f30 MDL-60700 clean: add course link to activity event summary modal 2017-11-07 07:36:49 +00:00
David Monllao aa30dc8860 MDL-59256 analytics: Respect activities specific access conditions 2017-11-07 08:14:53 +01:00
David Monllao 76f98c3bd5 MDL-59256 analytics: Move get_activities method to CoI scope
CoI = community of inquiry model
2017-11-07 08:14:49 +01:00
Jake Dallimore 7783fd0ec1 Merge branch 'MDL-57772-master' of git://github.com/damyon/moodle 2017-11-07 15:01:31 +08:00
Damyon Wiese a6943ebb59 MDL-59758 core_user: Pluralise bulk actions
Don't say 1 people.
2017-11-07 14:39:04 +08:00
Jake Dallimore eaa43a132c Merge branch 'MDL-60700-master' of git://github.com/ryanwyllie/moodle 2017-11-07 14:23:50 +08:00
Damyon Wiese 81aa5e196f MDL-59758 core_user: Clean up user renderer
These functions are not used anywhere by anything.
2017-11-07 14:18:54 +08:00
Damyon Wiese b5b81de3d6 MDL-59758 core_user: Replace old bulk actions
The participants page has some clunky multi page forms for bulk actions. Replaces it with an ajax alternative.
2017-11-07 14:18:49 +08:00
Ryan Wyllie f0fc8a194a MDL-60700 calendar: remove bottom margin for description in summary 2017-11-07 06:03:01 +00:00
Andrew Nicols 03561ea899 Merge branch 'MDL-60062-master-2' of git://github.com/ryanwyllie/moodle 2017-11-07 13:49:47 +08:00
Ryan Wyllie 6688ae2ba2 MDL-60062 calendar: prevent drag and drop of override events 2017-11-07 05:47:18 +00:00
Jake Dallimore b44bc9bf6c Merge branch 'MDL-60686-master' of git://github.com/damyon/moodle 2017-11-07 13:39:33 +08:00
Damyon Wiese 65c52e05d1 MDL-58699 mod_quiz: Require javascript for popup
If any of the access rules require the attempt to open in a new window, assume we
require javascript to attempt the quiz. This makes it harder to bypass the javascript
pseudo security restrictions.
2017-11-07 12:48:21 +08:00
Damyon Wiese 1ccc9f1953 Merge branch 'MDL-60590_master-fix' of git://github.com/markn86/moodle 2017-11-07 11:59:49 +08:00
Damyon Wiese efe2681894 MDL-57772 chat: BEEP is back baby! 2017-11-07 11:25:02 +08:00
Mark Nelson e3a6d44845 MDL-60590 core_enrol: fixed failing Behat scenarios 2017-11-07 11:24:34 +08:00
Damyon Wiese 8aa01fcf61 Merge branch 'MDL-60671-master' of https://github.com/sammarshallou/moodle 2017-11-07 11:05:43 +08:00
Jake Dallimore 8072eb1384 Merge branch 'MDL-60705-master' of https://github.com/sammarshallou/moodle 2017-11-07 10:50:53 +08:00
Damyon Wiese b9ae53f86b MDL-59758 js: auto_rows module easier to use
Allow passing the direct text area, or a container.
Trigger change events on the text area, not the container.
Properly handle starting with rows > 1
2017-11-07 10:36:13 +08:00
Damyon Wiese 5616a31987 MDL-60686 core_users: Reorder filters by utility
Order the list of filters on the participant page from most useful to least useful.
2017-11-07 10:12:45 +08:00
Ryan Wyllie 8926030555 MDL-60700 calendar: normalise event type in summmary modal render 2017-11-07 02:08:00 +00:00
Jun Pataleta 13b19e40cb Merge branch 'wip-MDL-60391-master' of git://github.com/marinaglancy/moodle 2017-11-07 14:30:58 +13:00
Ryan Wyllie 478b1d194f MDL-60062 calendar: remove validate_event_timestart callback 2017-11-07 01:25:33 +00:00
Ryan Wyllie 9aac9f7074 MDL-60062 quiz: add support for drag drop of calendar events 2017-11-07 01:25:32 +00:00
Jun Pataleta 3a0951f027 Merge branch 'MDL-60361-master' of git://github.com/andrewnicols/moodle 2017-11-07 13:37:52 +13:00
Andrew Nicols 7d416f9c2c MDL-60361 calendar: Update behat test lang 2017-11-07 08:36:29 +08:00
Jun Pataleta 589b602be3 Merge branch 'MDL-60611-master-fix' of git://github.com/junpataleta/moodle 2017-11-07 11:31:45 +13:00
Jun Pataleta 8001199766 MDL-60611 calendar: Remove usage of deprecated setExpectedException() 2017-11-07 11:21:29 +13:00
Jun Pataleta a56833d49d Merge branch 'MDL-60611' of git://github.com/stronk7/moodle 2017-11-07 10:14:24 +13:00
David Monllao be88f0993d Merge branch 'MDL-60638-master' of git://github.com/lameze/moodle 2017-11-06 21:45:14 +01:00
sam marshall 11e60032be MDL-60671 core_search: Cron output should use mtrace
The mtrace function is preferable for plain text logging/progress
output because it can be redirected if necessary. By convention it
is normally used in cron and can be used in CLI tasks if required.

This change makes the text_progress_trace class use mtrace instead
of echo and then flush. (Default behaviour of mtrace is to do
exactly that, but it can be redirected too.)

Before this change, if anybody is relying on mtrace behaviour to
redirect logs of cron output, this will fail for some parts of the
search cron output (and some other places like auth plugins).
2017-11-06 11:55:29 +00:00
sam marshall 401710883b MDL-60705 core_search: Unit tests get time wrong by factor 1 million 2017-11-06 11:50:43 +00:00
Tobias Reischmann 34eb2faa0d MDL-27886 backup: Decision if a setting is fixed based on level
Previously, when a during backup/restore the "Schema"-stage is loaded,
some settings are fixed if they are LOCKED_BY_HIERARCHY. However, user
data fields of activities can be locked, when the section they are
contained in has user data set to false. When this setting is changed on
the same screen, the fixed setting of the activity can not be "unfixed"
by javascript.

This patch adds a settings-level to the call of is_changeable. With this
only those dependency_settings are considered, which belong to parent
settings, which are not changeable on the current stage.
2017-11-06 12:07:20 +01:00
Tobias Reischmann 8c067bb86d MDL-27886 backup: Enabled unlocking of backup settings
The function is_locked was changed to determine only, if the
dependency_setting want's the dependent setting to be locked.
In the previous version, is_locked did not only check, if the
dependency_setting want's the setting to be locked, but also if the
setting was already locked. A recursive call to the status of the
dependent setting leaded to problems, when unlocking locked settings.

Also the PHPDOC of the is_locked was adjusted to coincide with the current
usage in backup_ui_settings->is_changeable() and
base_setting->set_status(). In both functions all dependency_settings of
a setting are iterated to check if this setting should be or is LOCKED_BY_HIERARCHY.
The actual state of the setting was therefore either checked beforehand
or is not interesting, since the question is, if it shall be changed.
2017-11-06 12:07:20 +01:00
Tobias Reischmann 77a4d33755 MDL-27886 backup: Added behat tests for user data settings
This new test defines different combinations of global and local user
data settings during the restore process and tests that global defaults
can be overriden.
2017-11-06 12:07:20 +01:00
Damyon Wiese 40f05d2312 Merge branch 'MDL-60590_master' of git://github.com/markn86/moodle 2017-11-06 14:18:40 +08:00
Andrew Nicols 3602df58b2 Merge branch 'MDL-60667_master' of git://github.com/dmonllao/moodle 2017-11-06 13:27:11 +08:00
Andrew Nicols f3743b3041 Merge branch 'MDL-60626-master' of git://github.com/damyon/moodle 2017-11-06 12:43:24 +08:00
Mark Nelson e2d635bbaf MDL-60590 core_user: added Behat test for cohort list presence 2017-11-06 12:39:31 +08:00
Mark Nelson a764855641 MDL-60590 core_cohort: removed unused variables from search_cohorts() 2017-11-06 12:39:31 +08:00
Mark Nelson 9b0f29239b MDL-60590 enrol_manual: button title depends on cohort list existence
Also added a SELECTORS object to tidy the code by keeping the
selectors in a central location.
2017-11-06 12:35:05 +08:00
Mark Nelson 8ce86ebba3 MDL-60590 enrol_manual: check cohorts exist before displaying select 2017-11-06 12:35:05 +08:00
Damyon Wiese 30890c2971 MDL-60626 calendar: Fix for overrides
Override events do not have the courseid so we need to get it from the module instance.
2017-11-06 12:21:27 +08:00
Mark Nelson 1bd70073c5 MDL-60590 enrol_manual: only show cohorts with necessary capabilities 2017-11-06 11:22:45 +08:00
Damyon Wiese 9e0884d410 MDL-60626 calendar: Unit tests for capabilities
Check various calendar external functions for capabilities.
2017-11-06 11:11:28 +08:00
Damyon Wiese af25b8fc7f MDL-60626 calendar: Check capabilities for api
All external functions must check all capabilities before returning data.
The calendar API itself does not check capabilities (I wish it did), so we must be
careful exposing these functions to webservices.
2017-11-06 11:11:28 +08:00
Damyon Wiese ef29782f31 Merge branch 'MDL-59858-master' of git://github.com/junpataleta/moodle 2017-11-06 10:45:34 +08:00
Damyon Wiese 1ada616c56 Merge branch 'MDL-60596_master' of git://github.com/dmonllao/moodle 2017-11-06 10:19:10 +08:00
Damyon Wiese 8443b88995 Merge branch 'MDL-60437-multilang-html-block-titles' of https://github.com/lucaboesch/moodle 2017-11-06 10:09:08 +08:00
Jake Dallimore eb354bdefa Merge branch 'MDL-60361-master' of git://github.com/andrewnicols/moodle 2017-11-06 09:29:46 +08:00
Jun Pataleta 4cd3927c4f MDL-59858 amd: Focus on the element that actually triggers the modal 2017-11-06 13:18:03 +13:00
Jun Pataleta 6a973d261a Merge branch 'MDL-60598_master' of git://github.com/dmonllao/moodle 2017-11-06 10:18:46 +13:00
Eloy Lafuente (stronk7) 796e48a58b MDL-60611 phpunit: remove deprecated stuff and other minor fixes
Thanks @scara for MDL-60611 phpunit: improved redis skipping reasons
2017-11-05 01:45:04 +01:00
AMOS bot 496b39974f Automatically generated installer lang files 2017-11-05 00:05:09 +00:00
Luca Bösch 6586118e0f MDL-60437 blocks: HTML block title multilang 2017-11-03 16:35:59 +01:00
David Monllao 4a145a8ae5 MDL-60598 analytics: Info message for predictions based on data 2017-11-03 12:45:40 +01:00
David Monllao da8a0c97f0 MDL-60596 analytics: Check cm completion if available
Previous code was restricted to course modules origin.
2017-11-03 12:44:21 +01:00
David Monllao 20b2565c38 MDL-60667 mlbackend_python: Bump to non-linear neural net version 2017-11-03 12:43:52 +01:00
David Monllao 36e84e96fc MDL-59256 analytics: Move get_activities test scope 2017-11-03 12:42:20 +01:00
David Monllao 159b4e5d8c Moodle release 3.4rc1 2017-11-03 10:26:18 +01:00
Jake Dallimore aa95085969 Merge branch 'MDL-58047-master-fix1' of http://github.com/damyon/moodle 2017-11-03 16:09:29 +08:00
Damyon Wiese 79ea89fea2 MDL-58047 assign: submission sorting
Only exclude new submission records from the sorting, draft and reopened submission are valid.
2017-11-03 15:55:10 +08:00
Jun Pataleta 928bcb02d6 Merge branch 'MDL-60657-int-fix-1' of github.com:ryanwyllie/moodle 2017-11-03 16:51:24 +13:00
Andrew Nicols b9fd516407 MDL-60361 calendar: Support all event types for calendar subs 2017-11-03 11:27:40 +08:00
Ryan Wyllie c2502375ff MDL-60657 boost: fix styles when extending modal components
I've wrapped the custom modal styling in the .modal class. This prevents
those custom styles from being pulled in when the SCSS @extend
functionality is used to extend the modal components.
2017-11-03 03:18:02 +00:00
Simey Lameze 20a5056df6 MDL-60638 calendar: fix event subscription variable names 2017-11-03 10:03:17 +08:00
Jake Dallimore 4071a2b6fe Merge branch 'MDL-60587-master-4' of git://github.com/andrewnicols/moodle 2017-11-03 09:14:52 +08:00
Andrew Nicols 6630b38c95 MDL-60587 calendar: Adjust use of time() in unit tests 2017-11-03 09:04:10 +08:00
Jake Dallimore b974b5d05d Merge branch 'MDL-60587-master-4' of git://github.com/andrewnicols/moodle 2017-11-03 08:37:31 +08:00
Andrew Nicols 1ab858314a MDL-60587 block: Correct courseid/categoryid check
pagelib uses magic getters for both the course, and category.
It does not define the magic __isset function though.
2017-11-03 08:14:56 +08:00
Eloy Lafuente (stronk7) 6be1923d81 MDL-60611 phpunit: ignore risky (empty) unit tests
At some point we should review them, removing or moving stuff.
2017-11-02 23:45:35 +01:00
Eloy Lafuente (stronk7) 801a372dad MDL-60611 phpunit: switch to namespaced phunit classes 2017-11-02 23:45:34 +01:00
Eloy Lafuente (stronk7) 1322351b92 MDL-60611 phpunit: Bump phpunit to 6.4 and travis to use PHP72 2017-11-02 23:45:21 +01:00
David Monllao bb2071ca17 Merge branch 'MDL-58047-34-sortbysubmission' of https://github.com/roperto/moodle 2017-11-02 16:57:03 +01:00
David Monllao be713b7144 Merge branch 'MDL-51945-master' of git://github.com/jleyva/moodle 2017-11-02 16:54:34 +01:00
Andrew Nicols e20752c4f5 MDL-60587 calendar: Fix un-validated params 2017-11-02 21:49:28 +08:00
Andrew Nicols 30ff29dc9f MDL-60587 calendar: Improve link params for calendar buttons 2017-11-02 21:49:28 +08:00
Andrew Nicols 6607c5ffb6 MDL-60587 calendar: Switch WS to use new helper 2017-11-02 21:49:28 +08:00
Andrew Nicols 7f14def230 MDL-60587 calendar: Add missing categoryid in upcoming WS 2017-11-02 21:49:28 +08:00
Andrew Nicols 39e364515f MDL-60587 calendar: Switch to new helper in main view 2017-11-02 21:49:28 +08:00
Andrew Nicols 557d8528eb MDL-60587 block_calendar_upcoming: Setup calendar using new helper 2017-11-02 21:49:28 +08:00
Andrew Nicols 0bd6039f40 MDL-60587 block_calendar_month: Setup calendar using new helper 2017-11-02 21:49:28 +08:00
Andrew Nicols 57e8c9f748 MDL-60587 calendar: Correct category subscription in information 2017-11-02 21:49:28 +08:00
Andrew Nicols 7b7bf31d4c MDL-60587 calendar: Add helper to setup the calendar_information 2017-11-02 21:49:28 +08:00
David Monllao 59aff5f949 Merge branch 'MDL-60634-master' of git://github.com/jleyva/moodle 2017-11-02 13:24:58 +01:00
Eloy Lafuente (stronk7) f816ea9a67 Merge branch 'MDL-60659-master' of git://github.com/junpataleta/moodle 2017-11-02 12:45:22 +01:00
David Monllao 6e3314f044 Merge branch 'MDL-60633-master' of git://github.com/andrewnicols/moodle 2017-11-02 12:04:07 +01:00
David Monllao 2a542d0265 Merge branch 'MDL-60657-master' of git://github.com/ryanwyllie/moodle 2017-11-02 11:59:30 +01:00
Damyon Wiese f18fb611c9 Merge branch 'MDL-60558-master' of git://github.com/andrewnicols/moodle 2017-11-02 15:46:42 +08:00
Andrew Nicols 43caf0217f MDL-60558 block_calendar_upcoming: Render the template when no events 2017-11-02 15:43:17 +08:00
David Monllao 7b03092121 Merge branch 'MDL-53501-master' of git://github.com/jleyva/moodle 2017-11-02 08:30:24 +01:00
Damyon Wiese 5dbd051502 Merge branch 'MDL-59950_master' of git://github.com/dmonllao/moodle 2017-11-02 14:39:32 +08:00
Jun Pataleta c39a22f600 MDL-60659 mod_forum: Use PHP EOL for line breaks in expected values 2017-11-02 19:11:00 +13:00
Ryan Wyllie f0f38bf1d3 MDL-60657 core: fix upgrade notice modal header padding 2017-11-02 06:07:00 +00:00
Damyon Wiese 41080050b0 Merge branch 'MDL-60558-master' of git://github.com/andrewnicols/moodle 2017-11-02 13:03:35 +08:00
Damyon Wiese ae348e78a0 Merge branch 'MDL-59982_master' of git://github.com/markn86/moodle 2017-11-02 12:21:39 +08:00
Damyon Wiese 71fc06aae5 Merge branch 'MDL-60645-master' of git://github.com/andrewnicols/moodle 2017-11-02 12:10:04 +08:00
Andrew Nicols e3491a093a MDL-60558 calendar: Upcoming block should use the right template 2017-11-02 11:55:49 +08:00
Andrew Nicols a0a78199b8 MDL-60558 calendar: Add event metadata to upcoming template 2017-11-02 11:55:49 +08:00
Andrew Nicols d523cbcb26 MDL-60558 calendar: Upcoming should support categories 2017-11-02 11:54:43 +08:00
Andrew Nicols 5c9acb8164 MDL-60558 calendar: Adjust URL change
The URL change belongs in the calendar_view, not the view_manager.
The view_manager is responsibe for updating the view, not for the
resultant actions from it.

This also changes to use pushState so as not to overwrite the current
location in history.
2017-11-02 11:54:13 +08:00
Andrew Nicols 8242027da3 MDL-60558 calendar: Move edit event to CRUD 2017-11-02 11:53:52 +08:00
Andrew Nicols fd2f1ae146 MDL-60558 calendar: Remove old SELECTORS 2017-11-02 11:53:49 +08:00
Andrew Nicols c8419f87c0 MDL-60558 calendar: Harden event link detection 2017-11-02 11:53:26 +08:00
Damyon Wiese 4837fea0aa Merge branch 'MDL-60619-master' of https://github.com/snake/moodle 2017-11-02 11:51:35 +08:00
Damyon Wiese 671440d708 Merge branch 'MDL-60576-master' of git://github.com/andrewnicols/moodle 2017-11-02 11:38:57 +08:00
Andrew Nicols 6c3f463dbd MDL-60558 calendar: Move the summary modal to view_manager 2017-11-02 10:56:00 +08:00
Damyon Wiese fca7e60c81 Merge branch 'MDL-60655-master' of git://github.com/junpataleta/moodle 2017-11-02 10:45:07 +08:00
Jake Dallimore 1e83eec993 Merge branch 'MDL-60555-master' of https://github.com/sammarshallou/moodle 2017-11-02 10:40:43 +08:00
Jake Dallimore 216bb33940 Merge branch 'master_MDL-60007' of https://github.com/CengageEng/moodle 2017-11-02 08:50:42 +08:00
Andrew Nicols 58280ae0b8 Merge branch 'wip-MDL-60515-master' of git://github.com/abgreeve/moodle 2017-11-02 08:47:17 +08:00
Andrew Nicols 0df5c743ad MDL-60361 calendar: Make eventtype functionality a trait 2017-11-02 07:57:44 +08:00
Jun Pataleta e8da33d86e MDL-60655 tool_httpsreplace: Use \core_text string functions 2017-11-02 10:42:33 +13:00
Jun Pataleta 02331dcd48 MDL-60655 tool_httpsreplace: Use appropriate classes for PHPDocs params 2017-11-02 10:42:33 +13:00
Eloy Lafuente (stronk7) c8e7777766 on-demand release 3.4beta+ 2017-11-01 13:40:07 +01:00
Eloy Lafuente (stronk7) d25f1c3c3c Merge branch 'MDL-60503-master' of git://github.com/damyon/moodle 2017-11-01 10:41:48 +01:00
Adrian Greeve ab2095fb0f MDL-60515 groups: Behat test for viewing the group description. 2017-11-01 15:24:38 +08:00
Adrian Greeve 6b839f3222 MDL-60515 groups: Group details template change.
The group details template has been changed to be
simpler and is styled a bit nicer.
2017-11-01 15:24:38 +08:00
Damyon Wiese 66242b95e0 MDL-60503 npm: Lock required node 8.9.x (LTS) 2017-11-01 14:52:16 +08:00
Mark Nelson 9a428ae012 MDL-59982 core_user: allow user to use filters from same category 2017-11-01 12:55:17 +08:00
Daniel Thee Roperto b8243e4164 MDL-58047 gradebook: fix sort by submission order. 2017-11-01 15:12:48 +11:00
Damyon Wiese 14a1672cff Merge branch 'MDL-52037-master-fix' of https://github.com/andrewnicols/moodle 2017-11-01 11:14:50 +08:00
Andrew Nicols 89cf38c6d9 MDL-52037 theme: Correct question feedback width
This relates to the cloze question answer when hovered.
2017-11-01 11:12:16 +08:00
Andrew Nicols 43a1e9a2a5 MDL-60645 calendar: Add missing clean classes 2017-11-01 09:36:15 +08:00
sam marshall 82735dec4d MDL-60555 core_search: Change unit tests to use fake time
Using real time caused rare failures. I've changed it to use fake
measurement for the indexing timeouts, which were unit-tested.
2017-10-31 14:48:09 +00:00
Vervoort, Claude 76f11421a4 MDL-60007 mod lti: allow delete without content-type 2017-10-31 09:57:38 -04:00
Juan Leyva 1b0978abf3 MDL-60433 mod_data: Fix strict check for groupid 2017-10-31 13:24:07 +01:00
Juan Leyva 098b16fb13 MDL-60634 tool_mobile: Change page used for https test
We need to do the HTTPS check using a page that:
- Does not redirect (login/index.php may redirect because of auth
plugins)
- Does not return moodle exceptions (some custom exceptions handlers
may launch custom HTTP errors)
2017-10-31 11:57:25 +01:00
David Monllao 4916c9bb66 MDL-52037 theme: Update compiled css 2017-10-31 11:00:59 +01:00
Luca Bösch 8fcb479246 MDL-52037 questions: „Whether correct“-feedback marks adaptive width 2017-10-31 10:42:49 +01:00
Jun Pataleta 73ec9b4778 Merge branch 'MDL-60635-master' of git://github.com/andrewnicols/moodle 2017-10-31 21:30:01 +13:00
Jake Dallimore 9cca2db570 Merge branch 'MDL-60472_master' of git://github.com/markn86/moodle 2017-10-31 15:18:37 +08:00
Jake Dallimore 9daa5874a0 Merge branch 'MDL-60607' of git://github.com/timhunt/moodle 2017-10-31 12:57:36 +08:00
Andrew Nicols 60829fbe6d Merge branch 'MDL-60631_master' of git://github.com/dmonllao/moodle 2017-10-31 12:08:01 +08:00
Mark Nelson 9f33d5ac6e MDL-60472 core_user: filter by group id when specified in URL 2017-10-31 12:05:13 +08:00
Jun Pataleta 1cc7a14ce4 Merge branch 'MDL-59936-int-fix-1' of github.com:ryanwyllie/moodle 2017-10-31 16:02:50 +13:00
Jun Pataleta 958c9c17ca Merge branch 'MDL-57560-master' of git://github.com/damyon/moodle 2017-10-31 15:40:19 +13:00
Ryan Wyllie 4397da0c4d MDL-59936 boost: improve focus outline on modal header 2017-10-31 02:38:29 +00:00
Andrew Nicols d8966238dd Merge branch 'wip-MDL-60569-master' of git://github.com/marinaglancy/moodle 2017-10-31 10:15:56 +08:00
Andrew Nicols 065a754111 Merge branch 'MDL-60575-master' of https://github.com/snake/moodle 2017-10-31 10:05:38 +08:00
Andrew Nicols 3e4de62607 Merge branch 'MDL-60139' of git://github.com/timhunt/moodle 2017-10-31 09:14:32 +08:00
Andrew Nicols a37faf9c70 MDL-60635 calendar: Fix end of month issue with previous/next month
This reverts to the previous way in which this was calculated.
2017-10-31 08:51:50 +08:00
Andrew Nicols aba60237cd Merge branch 'MDL-60522-master' of https://github.com/Kathrin84/moodle 2017-10-31 08:12:31 +08:00
Jake Dallimore 5836baf593 MDL-60619 core: fix autocomplete suggestions css for RTL 2017-10-31 07:44:05 +08:00
Jake Dallimore ed44df22a8 MDL-60575 lang: Change registration string to html from markdown 2017-10-31 07:30:33 +08:00
Andrew Nicols 314b8093e7 MDL-60633 core: Add pendingjs checks for inplace editable 2017-10-31 07:03:13 +08:00
Tim Hunt ade8dd5d08 MDL-60607 quiz reports: catch separate groups & user has no group case 2017-10-30 17:57:30 +00:00
David Monllao 28196427a2 Merge branch 'MDL-60528-m' of https://github.com/micaherne/moodle 2017-10-30 17:58:39 +01:00
Juan Leyva 8c4d7cee79 MDL-51945 core_user: Prevent duplicated emails in update_users WS 2017-10-30 17:42:03 +01:00
David Monllao 64476c520e Merge branch 'MDL-52037-cloze-whether-correct-feedback-width' of https://github.com/lucaboesch/moodle 2017-10-30 15:58:39 +01:00
Juan Leyva c851ee5ddb MDL-53501 webservice: Avoid values higher than PHP_INT_MAX
Integers coming from site settings needs casting to int to avoid
returning values higher than PHP_INT_MAX.
2017-10-30 15:55:49 +01:00
David Monllao 860d33c90a Merge branch 'MDL-60348-master' of git://github.com/jleyva/moodle 2017-10-30 15:53:53 +01:00
Tim Hunt eefa2c88e0 MDL-60607 quiz reports: move duplicate code to superclass method 2017-10-30 13:43:36 +00:00
Tim Hunt 284c795d23 MDL-60139 question manual grading: move code to reduce confusion
Move the variable definition closer to where it is used.
2017-10-30 12:55:11 +00:00
Tim Hunt 808b68835b MDL-60139 question manual grading: redisplay mark as typed if editing
When the teacher is upgrading a previously entered grade, we re-display
exactly what they typed before if possible, rather than displaying with
a set number of decimal places.
2017-10-30 12:52:02 +00:00
Tim Hunt 46a3753424 MDL-60139 phpunit: Make assertTag verify attribute values with ===
I had a test that cared about the difference between value="5.0" and value="5".
2017-10-30 12:52:00 +00:00
Juan Leyva 7336f854e6 MDL-60348 mod_workshop: Add parameters checks in evaluate_assessment WS 2017-10-30 13:50:57 +01:00
David Monllao 6065875eac Merge branch 'MDL-60433-master' of git://github.com/jleyva/moodle 2017-10-30 13:23:35 +01:00
David Monllao 3fdecc2841 Merge branch 'MDL-60377-master' of git://github.com/jleyva/moodle 2017-10-30 11:42:11 +01:00
Luca Bösch 8c00d189f4 MDL-52037 questions: „Whether correct“-feedback marks adaptive width 2017-10-30 10:34:09 +00:00
David Monllao 8c7db03a56 MDL-60631 analytics: Pass evaluation analysables filters as objects 2017-10-30 10:54:07 +01:00
Adrian Greeve c550fd0e11 MDL-60515 groups: Update to weblib group function.
Added a new function to get the url for the group picture.
2017-10-30 16:43:19 +08:00
Adrian Greeve 349b705d31 MDL-60515 groups: Display group information on the participants page. 2017-10-30 16:43:18 +08:00
Kathrin Osswald 9cc55074d5 MDL-60522 message: Removed additional tooltips
I removed the additional tooltips because I think that they are just used
in the notifications and messages context and duplicate the all over used
title tag that gives the same information when hovering. So the whole system
stays more consistently.
2017-10-30 08:01:10 +01:00
Damyon Wiese 4fab795ac9 MDL-57560 boost: File upload progress
Copy / adapt some styles from the bootstrap progress widget to match the DOM used for file upload progress.

Bootstrap changed this alot in the current beta so I opted to do a minimal change (affect the scss for boost only), rather
than adapt the HTML to something that will change again anyway when we upgrade to the release version of bootstrap 4.
2017-10-30 13:12:05 +08:00
Jake Dallimore 51af04ab2f Merge branch 'MDL-59606' of git://github.com/timhunt/moodle 2017-10-30 11:23:18 +08:00
Andrew Nicols 9e6d1a3884 Merge branch 'MDL-60605_filetree-spacing' of https://github.com/dvdcastro/moodle 2017-10-30 10:50:26 +08:00
Jun Pataleta 391ea5b7de Merge branch 'MDL-59936-master' of git://github.com/andrewnicols/moodle 2017-10-30 14:34:58 +13:00
Andrew Nicols 9d0e1fca5a Merge branch 'MDL-60360_enable_file_indexing_retroactively' of https://github.com/mattporritt/moodle 2017-10-30 09:17:13 +08:00
Ryan Wyllie 8f730872a7 MDL-59936 calendar: use event colour in summary modal header 2017-10-30 08:34:26 +08:00
Ryan Wyllie 4febb36efe MDL-59936 calendar: use icons in event summary modal 2017-10-30 08:33:54 +08:00
Ryan Wyllie 368832d51c MDL-59936 javascript: hide modal footer without content 2017-10-30 08:33:54 +08:00
Jun Pataleta cc80554892 Merge branch 'MDL-60608-master' of git://github.com/lameze/moodle 2017-10-30 11:47:54 +13:00
Jun Pataleta e905b656f5 Merge branch 'MDL-60570-master' of git://github.com/andrewnicols/moodle 2017-10-30 11:00:44 +13:00
Jun Pataleta 526d354991 Merge branch 'MDL-60572-master' of git://github.com/jleyva/moodle 2017-10-30 10:10:34 +13:00
Andrew Nicols eb3b38f04c MDL-60570 calendar: Correct course filter label in day view 2017-10-29 21:05:55 +08:00
Andrew Nicols a1b696f943 MDL-60576 calendar: Remove underline between icons and text 2017-10-29 21:01:40 +08:00
David Castro 4e52eb8eb0 MDL-60605 assignment: Added some styles to fix spacing in YUI file tree 2017-10-27 11:06:25 -05:00
Tim Hunt dae0ccfc45 MDL-59606 quiz responses: fix edge cases in the report
This patch conbines valuable contributions from Kashmira Nagwekar and
Luca Bösch. Many thanks to them. However, the final form of the fix,
and hence the blame, falls to me -- Tim.

There were several issues here:

* The load_questions_usages_by_activity method in
  question/engine/datalib.php was incorrectly treating the case
  when no data was returned. (Looks like a historic copy-pase from
  other methods that fetch one item by unique id, which therefore
  must exist.)

* The report was not correctly handling the display when the 'Which
  tries' was set to 'with, and without, attempts'.

* It was possible to select the 'All tries' option when also saying
  'Users without attempts'. This combination makes not sense, so
  a disabledIf rule was added to the form.
2017-10-27 16:57:01 +01:00
Matteo Scaramuccia 740a9315c3 MDL-59099 dml: MySQL8 supports only the Barracuda file format.
The following InnoDB file format configuration parameters were deprecated
in MySQL 5.7.7 and are now removed:
- innodb_file_format
- innodb_file_format_check
- innodb_file_format_max
- innodb_large_prefix

File format configuration parameters were necessary for creating tables
compatible with earlier versions of InnoDB in MySQL 5.1.
Now that MySQL 5.1 has reached the end of its product lifecycle,
the parameters are no longer required.

The FILE_FORMAT column was removed from the INNODB_SYS_TABLES and
INNODB_SYS_TABLESPACES Information Schema tables.

Ref: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-0.html
2017-10-27 17:38:36 +02:00
David Monllao 40f1801c4b on-demand release 3.4beta+ 2017-10-27 12:49:10 +02:00
Juan Leyva 6078d420bf MDL-60572 admin: Enforce URLs in forgottenpasswordurl setting
Also display warnings for admins.
2017-10-27 11:15:01 +02:00
Juan Leyva 2479a7c446 MDL-60572 admin: Fix forgottenpasswordurl for WS
We should expect URLs in that field.
The tool_mobile change is to not break the WS response if
forgottenpasswordurl does not contain a URL.
2017-10-27 11:12:32 +02:00
David Monllao ef9f60a635 MDL-59950 analytics: Use cognitive depth and social breadth constants 2017-10-27 10:48:42 +02:00
David Monllao db9d745c7b MDL-59950 analytics: Add constants for cognitive and social levels 2017-10-27 10:48:38 +02:00
Simey Lameze 0d049757c0 MDL-60608 calendar: change eventdefaultcontext default to 0 2017-10-27 14:19:16 +08:00
Matt Porritt 0f56f6e6da MDL-60360 Global Search: Enable file indexing message update.
If you have Global Search set up on a site without file
indexing enabled, then at a later date you enable file indexing
files associated with existing objects are not added.

The only way to have files for existing objects indexed is to
run a reindex of all content.

This patches updates the file indexing language string in the
solr search settings of Global Search to make this clear
to the site administrator.
2017-10-27 11:11:12 +11:00
David Monllao ff340a0afa Merge branch 'wip-MDL-57055-master' of git://github.com/abgreeve/moodle 2017-10-26 19:17:28 +02:00
David Monllao 62a38a4ece Merge branch 'MDL-60559-master' of git://github.com/andrewnicols/moodle 2017-10-26 19:15:44 +02:00
David Monllao a272c25649 Merge branch 'MDL-60600_master' of https://github.com/marxjohnson/moodle 2017-10-26 18:33:49 +02:00
Mark Johnson a9ca3fa167 MDL-60600 core_output: Clear static icon system cache between unit tests 2017-10-26 14:59:35 +01:00
David Monllao 7ec04e0e09 Merge branch 'MDL-60430-master' of https://github.com/mihailges/moodle 2017-10-26 10:27:34 +02:00
Jun Pataleta 1fc642324a Merge branch 'MDL-59909-master' of git://github.com/damyon/moodle 2017-10-26 21:09:12 +13:00
Damyon Wiese 7f91fb036b Merge branch 'MDL-60366_feedback_upgrade' of git://github.com/davosmith/moodle 2017-10-26 16:02:13 +08:00
David Monllao fd39db29e2 Merge branch 'MDL-59973-master' of git://github.com/damyon/moodle 2017-10-26 09:47:22 +02:00
David Monllao 341505e5de Merge branch 'MDL-60458-master' of git://github.com/damyon/moodle 2017-10-26 09:41:09 +02:00
Damyon Wiese ef7df2ae0a Merge branch 'MDL-60564_master' of git://github.com/markn86/moodle 2017-10-26 14:43:39 +08:00
Damyon Wiese ed6d81c9f7 MDL-59973 calendar: Remove duplication
The function calendar_get_default_courses is responsible for loading all variants of calendar
course lists.

1 the list of courses that the current user will see events for in the site calendar.
2 the list of courses the current user will see when they are looking at a specific course calendar.
3 the list of course calendars the current user can create / edit events in.
2017-10-26 14:39:35 +08:00
Damyon Wiese 01ed53df0f MDL-59973 calendar: Only load required fields
When loading courses for the course filter on the calendar, we only need the id and shortname.
2017-10-26 14:21:29 +08:00
Andrew Nicols 4d03dbf13d Merge branch 'wip-MDL-60543-master' of git://github.com/marinaglancy/moodle 2017-10-26 14:19:43 +08:00
Andrew Nicols 4cc469b2cc Merge branch 'MDL-60162' of git://github.com/timhunt/moodle 2017-10-26 14:04:45 +08:00
Damyon Wiese 1b7d75f19f MDL-59973 calendar: Improve help for admin setting 2017-10-26 13:28:01 +08:00
Damyon Wiese 4dc645d64d MDL-59973 calendar: Unittest calendar_get_default_courses 2017-10-26 13:28:01 +08:00
Damyon Wiese a5327e449d MDL-59973 calendar: Admin calendar course lists
Consolidate the logic for the list of courses an admin will see in the calendar.

They will see all courses if calendar_admincanseeall is enabled.

They will see only courses they are enrolled in of calendar_admincanseeall is not enabled.

They will also see the current course, if they are admin and it is not already in the list.

This applies to the course selector and the create and update event forms.

The calendar link in the navigation block has also been changed to link to the current course calendar instead of the global
one.
2017-10-26 13:28:00 +08:00
Andrew Nicols 4d4b8ae6bf Merge branch 'MDL-60535-questionbank-button-styled' of https://github.com/lucaboesch/moodle 2017-10-26 13:17:56 +08:00
Jake Dallimore 1e67827131 Merge branch 'MDL-60434_master' of git://github.com/dmonllao/moodle 2017-10-26 13:11:46 +08:00
Damyon Wiese 7dfc9ea6b3 Merge branch 'wip-MDL-60390-fix' of https://github.com/marinaglancy/moodle 2017-10-26 12:52:11 +08:00
Marina Glancy 69e89f4a82 MDL-60390 tool_messageinboud: not strict index comparision
This is something that changed in the upgraded Horde library. structure->findBody() returns string but structure->contentTypeMap is indexed with ints
2017-10-26 12:44:51 +08:00
Andrew Nicols b799cde890 Merge branch 'wip-MDL-60104-m34' of git://github.com/amygroshek/moodle 2017-10-26 11:32:54 +08:00
Andrew Nicols 9fd91f8eec Merge branch 'master-MDL-51892' of https://github.com/fwsl/moodle 2017-10-26 11:08:50 +08:00
Jake Dallimore 6e186498fd Merge branch 'MDL-59686-master' of git://github.com/lameze/moodle 2017-10-26 10:16:21 +08:00
Simey Lameze 3c2b703e00 MDL-59686 form: fix autosave support for editor field 2017-10-26 09:03:31 +08:00
Adrian Greeve e6ccfad242 MDL-57055 mod_label: Add label administration for boost.
This patch adds the label adminstration settings to the
label edit page.
2017-10-26 08:41:33 +08:00
Jun Pataleta 75909e3c92 Merge branch 'MDL-59938-master' of git://github.com/andrewnicols/moodle 2017-10-26 11:22:30 +13:00
Jun Pataleta 2a1f7a4442 Merge branch 'MDL-60571-manualgrading-savegotonextpage-styled' of https://github.com/lucaboesch/moodle 2017-10-26 10:02:27 +13:00
David Monllao 7851132177 Merge branch 'MDL-60516-master' of git://github.com/andrewnicols/moodle 2017-10-25 15:16:21 +02:00
David Monllao 4f7a80341e Merge branch 'MDL-59942-master' of git://github.com/andrewnicols/moodle 2017-10-25 15:14:54 +02:00
David Monllao 3b4e9a9fc8 Merge branch 'wip_MDL-60250_master' of git://github.com/gjb2048/moodle 2017-10-25 15:12:23 +02:00
David Monllao 507335e2de Merge branch 'MDL-60538-master' of https://github.com/mihailges/moodle 2017-10-25 15:08:49 +02:00
David Monllao 5b93dc8539 Merge branch 'MDL-60560-master' of git://github.com/andrewnicols/moodle 2017-10-25 15:06:49 +02:00
David Monllao 3a89d0b541 MDL-60434 analytics: Analysables lazy loading 2017-10-25 14:16:35 +02:00
David Monllao cc4d7ce61b MDL-60434 analytics: Missing dependency
Sneaking it in...
2017-10-25 14:13:53 +02:00
David Monllao b8bb8fe8de MDL-60434 analytics: Remove legacy is_valid method
This method was used when the API was tied to students at risk model,
this method does not make sense any more as it is up to each target
to define what is a valid course.
2017-10-25 12:47:12 +02:00
David Monllao d12e409784 Moodle release 3.4beta 2017-10-25 11:14:22 +02:00
David Monllao b34460c669 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-10-25 11:14:20 +02:00
Damyon Wiese a66de3ca70 MDL-59909 calendar: Try hard not to fail the adhoc task.
Triggering a fatal error in an adhoc task is bad. It will be retried indefinitely.
Even though we are not sure how to get a module instance without a course module record,
it is possible and should not kill the Moodle site.
2017-10-25 15:42:14 +08:00
Marina Glancy 13e7626834 MDL-60569 registration: fix bug with showing email in the form 2017-10-25 15:12:43 +08:00
Mihail Geshoski 6a633d36c2 MDL-60430 assignment: Assignment save and show next for 1 user 2017-10-25 14:18:16 +08:00
Andrew Nicols 2600f32927 Merge branch 'MDL-60506-master-fix1' of git://github.com/lameze/moodle 2017-10-25 12:45:56 +08:00
Andrew Nicols 8ef00034f5 Merge branch 'MDL-36580' of https://github.com/stronk7/moodle 2017-10-25 12:45:55 +08:00
Jake Dallimore 19fa690c3f MDL-60429 calendar: fix for updating event course and group
The property courseid and groupid might not be set, so if updating,
use the existing value if a new value wasn't specified.
2017-10-25 12:45:54 +08:00
Jake Dallimore e3a247849b Merge branch 'MDL-60561-master' of git://github.com/andrewnicols/moodle 2017-10-25 12:45:53 +08:00
Jake Dallimore c00e73dfe0 Merge branch 'MDL-60545_master' of git://github.com/markn86/moodle 2017-10-25 12:45:52 +08:00
Jake Dallimore bbb9e17133 Merge branch 'MDL-60429-master' of git://github.com/lameze/moodle 2017-10-25 12:45:52 +08:00
Andrew Nicols 6ee00de11b Merge branch 'MDL-36580' of https://github.com/stronk7/moodle 2017-10-25 12:45:51 +08:00
Damyon Wiese 7b18365be7 MDL-60458 javascript: MathJax Workaround
Mathjax currently has a bug in an upstream library that is incorrectly
loading 'process' because it things it's running under Node.js.

We don't load modules by shortname - so it should be fine to map process to
something else.

Because of the syntax they used we need to map it to something that is already loaded
and evaluates to null (Their code will then assume the module could not be loaded and continue).

We have a handy module that is guaranteed to be loaded first and evaluates to null -> core/first.

We should remove this workaround when MathJax releases a fixed version on their CDN and update the docs.
2017-10-25 12:30:21 +08:00
Damyon Wiese 89ceede3bf MDL-60458 Mathjax: Restore the accessible config
Undo the changes to the accessible config that were introduced by the previous library upgrade.
2017-10-25 12:30:14 +08:00
Mark Nelson 8e85371800 MDL-60564 calendar: removed duplication of exporter properties 2017-10-25 12:06:26 +08:00
Marina Glancy 786d9cd3a1 MDL-60543 env: Moodle 3.2 and 3.3 do no support PHP7.2 2017-10-25 09:02:22 +08:00
Mihail Geshoski 994ccb7845 MDL-60538 lesson: check if max attempts exceeded, use new lang string 2017-10-25 09:00:20 +08:00
Eloy Lafuente (stronk7) 984470d8a1 MDL-36580 backup: Avoid PHP notice restoring old backups
Before this implementation, both resourcekey and password
were not being included in the backups, so old backups are
missing them. To keep upwards compatibility and avoid a PHP
Notice (undefined property), existence is checked via isset(),
that is the usual way all over the restore process.
2017-10-24 22:49:10 +02:00
Tim Hunt c282157fc3 MDL-60162 quiz reports: refactor duplicated code into the base class
This is needed to fix the unit test in the last commit.
2017-10-24 18:06:46 +01:00
Tim Hunt ff456b59ea MDL-60162 quiz reports: too many rows fetched on download
This happened if one user had multiple enrolments in a course, and was
quite inefficient.
2017-10-24 18:06:44 +01:00
AMOS bot 809babbbd4 Automatically generated installer lang files 2017-10-25 00:05:34 +08:00
Amy Groshek 88924ff772 MDL-60104 mod_scorm: Fix scorm description display overflow 2017-10-24 10:42:23 -05:00
Luca Bösch 57f4e9608d MDL-60535 quiz: question bank button styled 2017-10-24 16:08:17 +01:00
Luca Bösch 1003e7e57e MDL-60571 quiz: Manual grading Save and go to next page button styled 2017-10-24 12:11:51 +01:00
Mark Nelson 429f78412d MDL-60564 calendar: removed unnecessary get_new_event_button() 2017-10-24 17:49:28 +08:00
Mark Nelson d2065abd0b MDL-60564 calendar: removed unnecessary get_course_filter_selector() 2017-10-24 17:49:26 +08:00
Grzegorz Ziółek 5fd7c11d17 MDL-51892 logging: Proper description of login errors. 2017-10-24 11:00:05 +02:00
Andrew Nicols acd146fe7c MDL-59938 calendar: Only show repeat information if repeating event 2017-10-24 16:00:36 +08:00
Andrew Nicols 79dff18711 MDL-59942 calendar: Add missing attribute to narrow day link 2017-10-24 15:35:31 +08:00
Andrew Nicols 9da0be8c46 MDL-60559 calendar: Upcoming block should respect type filter 2017-10-24 15:25:34 +08:00
Simey Lameze 6428642adb MDL-60429 calendar: update group and course id for repeated events 2017-10-24 13:46:40 +08:00
Andrew Nicols 349d379616 MDL-60561 calendar: Increase event limit for calendar
It's quite common to have more than 50 events in a calendar month, but
we do not want to change the default value when the API is called in
other ways.
2017-10-24 13:31:05 +08:00
Simey Lameze 7a963e924c MDL-60506 enrol: remove unwanted hidden elements 2017-10-24 13:18:58 +08:00
Mark Nelson 05ce018002 MDL-60545 core_calendar: ensure 'All courses' shows accurate data 2017-10-24 13:17:14 +08:00
Andrew Nicols 80e4426aeb MDL-60516 calendar: Update mini calendar on course change 2017-10-24 10:43:01 +08:00
Andrew Nicols 9eced5050b MDL-60560 calendar: Correct type of JS event on update 2017-10-24 09:45:27 +08:00
Andrew Nicols 2a31e628f1 MDL-57477 session: Comment tidyup 2017-10-24 08:12:02 +08:00
Andrew Nicols 79d3a1bc1e Merge branch 'MDL-57477' of https://github.com/appalachianstate/moodle 2017-10-24 08:04:54 +08:00
Fred Woolard bd035b98fd MDL-57477 core: If memcached 3.x mimic 2.2.0 lock acquisition behavior 2017-10-23 13:45:47 -04:00
David Monllao bd3824519b Merge branch 'MDL-60422_master' of git://github.com/markn86/moodle 2017-10-23 17:42:06 +02:00
David Monllao fc4e7883fb Merge branch 'MDL-60527-action-menu-links-missing-spaces-attributes' of https://github.com/lucaboesch/moodle 2017-10-23 16:55:35 +02:00
Andrew Nicols 4c250a5b79 MDL-60489 javascript: Add missing promise fails 2017-10-23 20:26:57 +08:00
Andrew Nicols 44317628a7 Merge branch 'MDL-60489-master' of git://github.com/ryanwyllie/moodle 2017-10-23 20:07:33 +08:00
Gareth J Barnard 6d5f9d1218 MDL-60250 theme_bootstrapbase: Calendar popover misplaced in RTL langs. 2017-10-23 11:15:25 +01:00
Eloy Lafuente (stronk7) 47d9736445 Merge branch 'm34_MDL-59100_MySQL8_INFORMATION_SCHEMAs_Need_Lowercasing' of https://github.com/scara/moodle 2017-10-23 12:10:25 +02:00
Mark Nelson 72c4cacfa3 MDL-60422 core_calendar: do not lose track of the selected course 2017-10-23 17:18:28 +08:00
Ryan Wyllie 946f9d0a4e MDL-60489 javascript: add animations to modal setBody 2017-10-23 07:57:03 +00:00
Jake Dallimore ab94608ffb Merge branch 'MDL-60537-master' of git://github.com/andrewnicols/moodle 2017-10-23 14:28:51 +08:00
Andrew Nicols 2f5284f5fb Merge branch 'MDL-60506-master' of git://github.com/lameze/moodle 2017-10-23 13:37:09 +08:00
Jake Dallimore 141c4adbb6 Merge branch 'MDL-42834_master' of git://github.com/markn86/moodle 2017-10-23 13:25:35 +08:00
Damyon Wiese 032bda879c Merge branch 'MDL-52653-master' of http://github.com/damyon/moodle 2017-10-23 13:14:03 +08:00
Simey Lameze 92109e732d MDL-60506 enrol: use optional_param_array to handle cohorts array 2017-10-23 12:54:09 +08:00
Simey Lameze b5a1ef52e0 MDL-60506 enrol: use optional_param_array to handle users array 2017-10-23 12:48:11 +08:00
John Okely 7eb50b3290 MDL-42834 admin: Remove wwwroot if used with moodle_url 2017-10-23 12:25:36 +08:00
John Okely 672f483670 MDL-42834 admin: Removal of httpswwwroot 2017-10-23 12:25:36 +08:00
John Okely cd1eb7ce9c MDL-42834 admin: Upgrade script and warning for loginhttps sites 2017-10-23 12:25:36 +08:00
John Okely ebc11ab3c6 MDL-42834 admin: Cleanup logic of login page only needed for loginhttps 2017-10-23 12:25:36 +08:00
John Okely 4b501ec96b MDL-42834 admin: Deprecate https_required and verify_https_required 2017-10-23 12:25:35 +08:00
John Okely b58764ff99 MDL-42834 admin: Remove loginhttps 2017-10-23 12:25:35 +08:00
Damyon Wiese 01df2313c0 Merge branch 'MDL-60517_master' of git://github.com/dmonllao/moodle 2017-10-23 12:10:04 +08:00
Damyon Wiese 65db838650 Merge branch 'MDL-58605-master' of git://github.com/andrewnicols/moodle 2017-10-23 11:13:32 +08:00
Damyon Wiese e93112a7ca Merge branch 'wip-MDL-60390-master-full' of git://github.com/marinaglancy/moodle 2017-10-23 11:11:14 +08:00
Marina Glancy 0b821239ea MDL-60390 libraries: annonate horde upgrade to 2.30.2 2017-10-23 10:22:49 +08:00
Marina Glancy 22793af105 MDL-60390 libraries: upgrade horde to 2.30.2 2017-10-23 10:16:54 +08:00
Andrew Nicols b01232671e Merge branch 'MDL-60388_master' of git://github.com/dmonllao/moodle 2017-10-23 10:00:41 +08:00
Andrew Nicols 345f23c984 MDL-60537 calendar: Fix behat following string changes 2017-10-23 08:26:24 +08:00
Andrew Nicols d743dd70cc MDL-60537 tool_httpsreplace: Fix behat following langstring 2017-10-23 08:25:55 +08:00
Andrew Nicols 455b2c4b9f MDL-58605 mod_scorm: Simplify feature
The singlescobasic_missingorg.zip file includes a modified version of
the javascript which deliberately breaks content.

We need it to have different file names to not break other similar copies
of the file.
2017-10-23 07:56:10 +08:00
Luca Bösch 09dd58a504 MDL-60527 templates: missing spaces round attribute and aria-labelledby 2017-10-22 22:08:10 +01:00
Matteo Scaramuccia 500d8650d2 MDL-59100 dml: Lower the case of INFORMATION_SCHEMA.* fields. 2017-10-21 14:30:38 +02:00
Eloy Lafuente (stronk7) 849405177f on-demand release 3.4dev+ 2017-10-20 23:55:42 +02:00
Eloy Lafuente (stronk7) b3f41c084d MDL-60485 modgrade: Change string expectation in related test 2017-10-20 18:57:31 +02:00
Michael Aherne 71826ac268 MDL-60528 grading: Accurate class names in PHPDoc 2017-10-20 14:13:19 +01:00
David Monllao 6e98bca0ba MDL-60388 analytics: Any write action looking at all contexts below course 2017-10-20 13:20:46 +02:00
David Monllao c17fae4bf8 MDL-60517 mlbackend_python: Use 0.0.4 moodlemlbackend package
0.0.4 update fixes an incorrectly specified tensorflow dependency
2017-10-20 11:22:35 +02:00
Marina Glancy 690168cb4a MDL-60108 registration: do not offer registration in behat tests 2017-10-20 14:35:31 +08:00
Jun Pataleta eed0bc36e1 Merge branch 'MDL-60072-master' of git://github.com/andrewnicols/moodle 2017-10-20 16:49:54 +13:00
Andrew Nicols fac5051624 MDL-60072 mod_lesson: Add missing name attribute 2017-10-20 11:43:15 +08:00
David Monllao 12514bd573 Merge branch 'wip-MDL-60485-master' of git://github.com/abgreeve/moodle 2017-10-20 04:43:19 +02:00
David Monllao 50a5feff05 Merge branch 'MDL-60406-master' of git://github.com/lameze/moodle 2017-10-20 04:38:06 +02:00
Simey Lameze 5a11e7f5f3 MDL-60406 core_calendar: proper calendar dates calculation 2017-10-20 10:32:41 +08:00
Andrew Nicols d9b6f810ea Merge branch 'MDL-60456-master' of git://github.com/damyon/moodle 2017-10-20 10:27:20 +08:00
David Monllao 202221f934 Merge branch 'MDL-60123-master' of https://github.com/snake/moodle 2017-10-20 02:22:11 +02:00
Jun Pataleta f04825d2b1 MDL-60072 course: Apply correct event name for assign due date 2017-10-20 11:35:17 +13:00
Eloy Lafuente (stronk7) df4095ca6c Merge branch 'MDL-60342-master' of https://github.com/patkira/moodle 2017-10-19 23:23:49 +02:00
Eloy Lafuente (stronk7) c1321a9a02 Merge branch 'wip-MDL-60314-master' of git://github.com/marinaglancy/moodle 2017-10-19 23:17:26 +02:00
Eloy Lafuente (stronk7) 9b46afd7c3 Merge branch 'wip-MDL-60313-master' of git://github.com/marinaglancy/moodle 2017-10-19 22:48:40 +02:00
Eloy Lafuente (stronk7) 6b7194a7cf Merge branch 'MDL-60072-master' of git://github.com/andrewnicols/moodle 2017-10-19 22:30:08 +02:00
Eloy Lafuente (stronk7) ecb4a05cc2 Merge branch 'MDL-60449-master-enfix' of git://github.com/mudrd8mz/moodle 2017-10-19 22:20:01 +02:00
David Mudrák 2e86fdb0a2 MDL-60449 lang: Properly replace the generic string with a specific one
The general string 'Publish' has been used in sense of publishing a
course on a hub - as such, it is better to keep that string together
with other related strings in the core_hub component. All these are
being reworded to 'Share'.

As this has been the only meaning of the string in the core, I am
deprecating it now. Third party plugins should better come with their
own variant of the string, should they need it.
2017-10-19 17:35:06 +02:00
Helen Foster 89db57ca6d MDL-60449 lang: Merge English strings from the en_fix language pack
Significant string changes:

* multiple strings in core_hub - 'Publish' changed to 'Share' plus other
  wording improvements to avoid misunderstandings
* errorretrievingkey in message_airnotifier - improved wording and
  removing reference to Moodle.org
* enddate_help and courseduration_desc in core - clearer wording
  explaining what the date actually does
* restore:viewautomatedfilearea in core_role - changing wording to match
  the behaviour
* dropzones_help in qtype_ddmarker - improved wording
* autologinkeygenerationlockout in tool_mobile - updated error message
* configallowemailaddresses in core_admin - clearer description
* subscriptionmode_helpin mod_forum - removing misleading sentence about
  subscription mode changes not affecting existing users
2017-10-19 17:19:08 +02:00
David Monllao 3c0805b7c0 Merge branch 'master-MDL-60116' of https://github.com/fwsl/moodle 2017-10-19 15:54:23 +02:00
David Monllao 7c31ef2a27 Merge branch 'wip-MDL-58915-master' of git://github.com/marinaglancy/moodle 2017-10-19 15:44:07 +02:00
David Monllao f2732541e8 Merge branch 'MDL-60444-master' of git://github.com/andrewnicols/moodle 2017-10-19 15:41:56 +02:00
David Monllao 43b8618b40 Merge branch 'MDL-60179_master' of git://github.com/markn86/moodle 2017-10-19 15:26:27 +02:00
David Monllao 23892d0843 Merge branch 'MDL-60378-master' of git://github.com/jleyva/moodle 2017-10-19 14:06:26 +02:00
David Monllao eef0ce917b Merge branch 'MDL-60233-master' of git://github.com/jleyva/moodle 2017-10-19 13:49:23 +02:00
David Monllao 254c19e26f Merge branch 'MDL-60182_master' of https://github.com/nadavkav/moodle 2017-10-19 13:29:52 +02:00
Jun Pataleta b469834ac9 Merge branch 'MDL-60375_master' of git://github.com/dmonllao/moodle 2017-10-19 22:03:56 +13:00
Jun Pataleta a0245c6aa0 Merge branch 'MDL-60410_master' of git://github.com/dmonllao/moodle 2017-10-19 22:01:21 +13:00
David Monllao 0a1a56307b Merge branch 'MDL-60469-master' of git://github.com/andrewnicols/moodle 2017-10-19 10:51:59 +02:00
David Monllao a0b417da49 MDL-60247 block_glossary_random: Skip rendundant value assign 2017-10-19 10:36:25 +02:00
David Monllao d07a4f9872 Merge branch 'MDL-60247-multilang-html-glossary-block-titles' of https://github.com/lucaboesch/moodle 2017-10-19 10:31:08 +02:00
David Monllao 28a5791db4 Merge branch 'MDL-60153-master' of git://github.com/junpataleta/moodle 2017-10-19 10:18:23 +02:00
Eloy Lafuente (stronk7) 059079e945 MDL-36580 backup: Apply the decrypt() method to lti "secrets" 2017-10-19 10:11:47 +02:00
Eloy Lafuente (stronk7) 00e557a15d MDL-36580 backup: General support for decrypted contents in restore
- Uses site generated (on backup) key.
- Can be applied potentially everywhere in the restore process.
- Covered with unit tests.
- Authentication / integrity aware so can be used between any 2 servers
  (just requires matching key).
2017-10-19 10:11:47 +02:00
Eloy Lafuente (stronk7) 4a7afd2bb9 MDL-36580 backup: Use the encrypted_final_element for lti "secrets" 2017-10-19 10:11:47 +02:00
Eloy Lafuente (stronk7) 872e957415 MDL-36580 backup: General support for encrypted contents in backups
- Built using standard backup custom fields.
- Can be applied potentially everywhere.
- Automatically addded 'encrypted' attribute.
- Defaults to site generated key.
- Enforces key robutness / provides authentication (hmac integrity)
- Covered with unit tests.
2017-10-19 10:11:39 +02:00
David Monllao b6b299ddae Merge branch 'wip-MDL-60108-master' of git://github.com/marinaglancy/moodle 2017-10-19 09:12:34 +02:00
David Monllao c1c7cb9c42 Merge branch 'MDL-60175-master' of git://github.com/andrewnicols/moodle 2017-10-19 09:07:05 +02:00
Damyon Wiese b233630c93 MDL-52653 scorm: Comment for cms.completion_status 2017-10-19 14:58:07 +08:00
Christian Lawson-Perfect 5d1ad088ea MDL-52653 SCORM: fix scorm_check_mode on v1.3
SCORM 2004 uses the element 'cmi.completion_status' to store the
completion status of a SCO, not 'cmi.core.lesson_status'.

This amends scorm_check_mode so that the right element is looked up.

When scorm_version_check returns false, SCORM 1.2 is assumed.
2017-10-19 14:58:07 +08:00
Mark Nelson af835c24b2 MDL-60179 core: make it clear what enrolment instance is being edited 2017-10-19 14:57:23 +08:00
David Monllao 28c97d1b76 MDL-60375 analytics: Fix incorrect var reference 2017-10-19 08:48:11 +02:00
Andrew Nicols a0d3a28abb Merge branch 'wip-MDL-60211-master' of https://github.com/Beedell/moodle 2017-10-19 14:22:30 +08:00
Damyon Wiese ecb9c82b06 MDL-60456 javascript: Rebuild npm-shrinkwrap
Build npm-shrinkwrap with the latest node version and only test the latest node version on travis.
2017-10-19 13:16:52 +08:00
Damyon Wiese 022dccf2a7 Merge branch 'MDL-60001_gzopen' of https://github.com/mrmark/moodle 2017-10-19 13:00:13 +08:00
Damyon Wiese 4a21bf89c9 MDL-58388 course: bump version
Add a version bump for new admin setting
2017-10-19 12:54:27 +08:00
Damyon Wiese 96f1440b7a Merge branch 'MDL-58388-master' of https://github.com/abias/moodle 2017-10-19 12:47:18 +08:00
Andrew Nicols f9095b66f2 Merge branch 'MDL-60319-master-google-converter-bug' of https://github.com/mspall/moodle 2017-10-19 11:27:42 +08:00
Adrian Greeve 749af21bd4 MDL-60485 modgrade: Update to mod settings form.
The message for changing the max grade in the module form
was inaccurate for modules that can not rescale.
2017-10-19 10:42:02 +08:00
Jun Pataleta ebc993b8c5 Merge branch 'wip-MDL-60335-master' of git://github.com/marinaglancy/moodle 2017-10-19 15:39:56 +13:00
Andrew Nicols de316e8e3b MDL-60469 behat: Replace I press with I click on 2017-10-19 10:37:59 +08:00
Andrew Nicols fd5e793cce Merge branch 'MDL-60468-master' of git://github.com/lameze/moodle 2017-10-19 10:23:57 +08:00
Jun Pataleta 4ee428fbe2 Merge branch 'MDL-60372-master' of git://github.com/lameze/moodle 2017-10-19 15:20:39 +13:00
Simey Lameze 28b77ce6c7 MDL-60372 pix: add new icons for event types 2017-10-19 09:22:41 +08:00
Simey Lameze cbc6794d02 MDL-60372 calendar: fix font awesome event type icons 2017-10-19 09:06:25 +08:00
Andrew Nicols ff7081150b Merge branch 'MDL-59063_master' of git://github.com/dmonllao/moodle 2017-10-19 09:01:58 +08:00
Jun Pataleta 2fbb83f6ad Merge branch 'mdl59843-master' of https://github.com/tlock/moodle 2017-10-19 13:22:01 +13:00
Eloy Lafuente (stronk7) 9644c0e87a on-demand release 3.4dev+ 2017-10-19 00:11:40 +02:00
Eloy Lafuente (stronk7) d56fa02487 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-10-19 00:11:39 +02:00
David Mudrák 91f015171f MDL-46269 tool_httpsreplace: Fix incorrect sorting 2017-10-18 19:46:26 +02:00
Jake Dallimore bc22db02fb Merge branch 'MDL-57455_master-fix' of https://github.com/markn86/moodle 2017-10-18 16:36:10 +08:00
Mark Nelson 3dfd48ba9c MDL-57455 mod_data: moved export tag checkbox and set default
Also capitalised string 'tags'.

AMOS BEGIN
 CPY [tags,core],[tags,mod_data]
AMOS END
2017-10-18 16:03:17 +08:00
Simey Lameze 05187c589d MDL-60468 calendar: fix event type defaults logic 2017-10-18 15:41:05 +08:00
Andrew Nicols ffbe92bffb Merge branch 'MDL-59988_master-fix' of git://github.com/dmonllao/moodle 2017-10-18 14:16:12 +08:00
David Monllao 0af2421acd MDL-59988 analytics: Reset trained status on clear 2017-10-18 07:02:23 +02:00
Andrew Nicols f150071901 Merge branch 'MDL-60022_master' of git://github.com/dmonllao/moodle 2017-10-18 12:36:00 +08:00
Andrew Nicols a1a39eda7d Merge branch 'MDL-59987_master-fix' of git://github.com/dmonllao/moodle 2017-10-18 11:47:45 +08:00
David Monllao 70dc5e0ab7 MDL-59987 analytics: Language string refinements
All credit goes to Helen Foster.
2017-10-18 05:37:07 +02:00
Pat Kira 5a97f26be9 MDL-60342 test: Reset user agent after tests
- Add a test that proves this useragent is not being reset after a test
- Reset user agent
2017-10-18 14:03:24 +11:00
Juan Leyva fe7b3e7e51 MDL-60378 mod_workshop: Add missing dimensions info
We need additional info from the dimensions used like the scale items
(if used).
2017-10-17 15:40:39 +02:00
David Monllao 71339af8c6 MDL-59063 analytics: No need to load timesplitting method 2017-10-17 14:05:40 +02:00
David Monllao fefa34120a MDL-59063 analytics: Finished courses can't be used for prediction 2017-10-17 14:05:40 +02:00
David Monllao 019ad9c7a8 MDL-59063 tool_analytics: New invalid analysables report 2017-10-17 14:05:38 +02:00
David Monllao b0fb8ef59f MDL-59063 analytics: Expand analysable API to provide a name 2017-10-17 14:04:47 +02:00
David Monllao b1a9a6a19a Merge branch 'wip-MDL-60281-master' of git://github.com/marinaglancy/moodle 2017-10-17 09:45:44 +02:00
David Monllao 6bc6e460cd Merge branch 'wip-MDL-60285-master' of git://github.com/abgreeve/moodle 2017-10-17 09:42:25 +02:00
David Monllao 8816022df7 MDL-60022 analytics: Clear model predictions in UI 2017-10-17 09:10:08 +02:00
Marina Glancy 1095afa4f7 MDL-60108 registration: Redirect to registration form
- when first installed
- when manual update of registration information is required
2017-10-17 15:00:17 +08:00
Marina Glancy af925a541d MDL-60108 registration: Simplify, add commnews and separate emails 2017-10-17 15:00:14 +08:00
Jake Dallimore 0d3bdbe4af Merge branch 'wip-MDL-46269-master' of git://github.com/marinaglancy/moodle 2017-10-17 14:27:31 +08:00
Marina Glancy bd39ef2422 MDL-60335 admin: fix encoding of nonlatin site names in blocked hosts 2017-10-17 12:44:13 +08:00
Damyon Wiese b35b588f00 Merge branch 'MDL-60058-int-fix-1' of github.com:ryanwyllie/moodle 2017-10-17 12:04:23 +08:00
Andrew Nicols 0b53be9056 Merge branch 'MDL-59987_master' of git://github.com/dmonllao/moodle 2017-10-17 12:00:51 +08:00
Jun Pataleta ae8353a0ba Merge branch 'MDL-60063-master-2' of git://github.com/ryanwyllie/moodle 2017-10-17 11:56:53 +08:00
Ryan Wyllie 83d4635d99 MDL-60063 feedback: add drag and drop of open close events 2017-10-17 03:54:24 +00:00
Ryan Wyllie f2c3818b39 MDL-60063 feedback: show feedback events on calendar for teacher 2017-10-17 03:54:23 +00:00
Ryan Wyllie dbe537fb50 MDL-60058 assign: add missing locallib require_once calls 2017-10-17 03:04:47 +00:00
Jake Dallimore 21bb56fd96 Merge branch 'MDL-59254-master' of git://github.com/jleyva/moodle 2017-10-17 10:33:41 +08:00
Adrian Greeve c32220b750 MDL-60285 lib: Update to Moodle changes to loglevel. 2017-10-17 10:22:00 +08:00
Adrian Greeve 07cf908e6c MDL-60285 lib: Update loglevel to 1.5.1 2017-10-17 10:21:05 +08:00
Jake Dallimore f66ab6e4f7 Merge branch 'MDL-58713-master-fix' of git://github.com/junpataleta/moodle 2017-10-17 09:50:49 +08:00
Jun Pataleta 52f6f4879a MDL-58713 phpunit: Add core_filter test suite 2017-10-17 09:20:31 +08:00
Jun Pataleta 4f53f3f571 Merge branch 'MDL-58713-master' of git://github.com/jleyva/moodle 2017-10-17 09:03:08 +08:00
Eloy Lafuente (stronk7) a9f816744b Merge branch 'MDL-59984-master' of git://github.com/junpataleta/moodle 2017-10-17 00:37:47 +02:00
Eloy Lafuente (stronk7) d355cb54ab Merge branch 'MDL-60365-master' of git://github.com/jleyva/moodle 2017-10-17 00:23:38 +02:00
Eloy Lafuente (stronk7) b86f988bcb Merge branch 'MDL-60171' of https://github.com/cbluesprl/moodle 2017-10-17 00:13:25 +02:00
Eloy Lafuente (stronk7) 39dce3073f Merge branch 'MDL-60320' of git://github.com/aolley/moodle 2017-10-17 00:05:54 +02:00
David Monllao 7152d2ff7a Merge branch 'MDL-60176-master' of git://github.com/andrewnicols/moodle 2017-10-16 20:02:03 +02:00
David Monllao 75820fb3ec Merge branch 'wip-MDL-60284-master' of git://github.com/abgreeve/moodle 2017-10-16 19:41:36 +02:00
David Monllao 23e5b74954 Merge branch 'MDL-57455' of https://github.com/stronk7/moodle 2017-10-16 19:33:37 +02:00
Eloy Lafuente (stronk7) 76feb5ac9b MDL-57455 mod_data: table aliases cannot use AS for crossdb 2017-10-16 19:16:17 +02:00
David Monllao 7f1f78d23e Merge branch 'MDL-60373-master' of git://github.com/andrewnicols/moodle 2017-10-16 18:28:47 +02:00
David Monllao 5d5ebedf56 Merge branch 'MDL-60374-master' of git://github.com/andrewnicols/moodle 2017-10-16 18:26:55 +02:00
David Monllao 2350745d82 Merge branch 'wip-MDL-60280-master' of git://github.com/marinaglancy/moodle 2017-10-16 13:46:19 +02:00
David Monllao dde2ba7634 Merge branch 'wip-MDL-60237-master' of git://github.com/marinaglancy/moodle 2017-10-16 12:37:55 +02:00
Juan Leyva 66ef16d364 MDL-58713 filters: New WS core_filters_get_available_in_context 2017-10-16 11:16:20 +02:00
Marina Glancy 84a9f58b67 MDL-46269 tool_httpsreplace: minor fixes
- don't call curl() from unittests
- make sure we don't replace links to http:// urls when the embedded contents from the same domain is present
- convert only text or long varchar columns
- improve searching performance, use case-insensitive regex/like instead of LOWER
- add unittests for the above and also for international domains
2017-10-16 16:53:49 +08:00
Marina Glancy 109fbd5a15 MDL-46269 dml: Add casesensitive argument to sql_regex() 2017-10-16 16:53:46 +08:00
Juan Leyva dc78f150fa MDL-58713 filters: Support auto-loading in the filters component 2017-10-16 10:25:17 +02:00
John Okely 16d5ec55c9 MDL-46269 tool_httpsreplace: Combine CLI scripts 2017-10-16 16:11:15 +08:00
John Okely 55b1d231ed MDL-46269 tool_httpsreplace: Add multiple steps 2017-10-16 16:11:15 +08:00
John Okely 4b86dd7ba6 MDL-46269 tool_httpsreplace: Make param search case insensitive 2017-10-16 16:11:15 +08:00
John Okely 6163651e76 MDL-46269 tool_httpsreplace: Support DBs with no regex (oracle & mssql) 2017-10-16 16:11:15 +08:00
John Okely c74748c6bd MDL-46269 tool_httpsreplace: Add more info and warnings about the tool 2017-10-16 16:11:15 +08:00
John Okely f7e6fb04db MDL-46269 tool_httpsreplace: Make standard plugin & add to settings 2017-10-16 16:11:14 +08:00
John Okely e3b853a79f MDL-46269 tool_httpsreplace: Add progress bar support 2017-10-16 16:11:14 +08:00
John Okely 2533959982 MDL-46269 tool_httpsreplace: Add behat tests 2017-10-16 16:11:14 +08:00
John Okely 7821d93aa6 MDL-46269 tool_httpsreplace: Make tool ready for core
Remove known domains add config for renames
Fix coding style
Add capability checks
Add page setters
Match moodle string style
Disable form change checker for form
Add todo issue
Fix docs
Bump version
2017-10-16 16:11:14 +08:00
John Okely 836226c4ad MDL-46269 tool_httpsreplace: Use data providers in unit tests 2017-10-16 16:11:14 +08:00
John Okely eca2b34cb0 MDL-46269 tool_httpsreplace: Add tool_httpsreplace to core 2017-10-16 16:11:13 +08:00
Juan Leyva 695b8712f6 MDL-59254 mod_workshop: Implement check_updates_since callback 2017-10-16 09:41:51 +02:00
Andrew Nicols ebb4244bf4 Merge branch 'wip-MDL-60337-master' of git://github.com/marinaglancy/moodle 2017-10-16 15:40:44 +08:00
Jake Dallimore 1841d169c8 Merge branch 'wip-MDL-60033-master' of git://github.com/marinaglancy/moodle 2017-10-16 15:36:29 +08:00
Jun Pataleta bcecb89976 Merge branch 'MDL-58547-master-bennulib' of git://github.com/mudrd8mz/moodle 2017-10-16 15:34:06 +08:00
Jake Dallimore dbb54d10ab Merge branch 'wip-MDL-60091-master' of git://github.com/marinaglancy/moodle 2017-10-16 15:32:21 +08:00
Jun Pataleta dc9b510180 Merge branch 'MDL-59166-master' of git://github.com/andrewnicols/moodle 2017-10-16 15:26:36 +08:00
Andrew Nicols 9693821d9d MDL-59166 admin: Add moodle mobile configuration warning 2017-10-16 15:00:28 +08:00
Marina Glancy 2c1080ef77 MDL-60091 webservice: enhancements to WS test client 2017-10-16 14:59:51 +08:00
Andrew Nicols f10721d6b9 MDL-60072 mod: Fix bad event naming 2017-10-16 14:47:09 +08:00
Jun Pataleta 177c0a36ec Merge branch 'MDL-60124-master' of https://github.com/snake/moodle 2017-10-16 14:33:53 +08:00
Andrew Nicols 6af34eb5bf Merge branch 'wip-MDL-60194-master' of git://github.com/abgreeve/moodle 2017-10-16 14:10:18 +08:00
Jun Pataleta 274e19dbda Merge branch 'MDL-60150' of git://github.com/stronk7/moodle 2017-10-16 14:04:55 +08:00
Andrew Nicols 4b526af5fe Merge branch 'wip-MDL-60286-master' of git://github.com/abgreeve/moodle 2017-10-16 13:49:50 +08:00
Jun Pataleta 55b5133595 Merge branch 'MDL-60307-master' of git://github.com/lameze/moodle 2017-10-16 13:43:22 +08:00
Simey Lameze 166cd10aa7 MDL-60307 core_calendar: rename subscriptions name and url 2017-10-16 12:58:48 +08:00
Damyon Wiese 6dc633fd93 Merge branch 'MDL-60058-master-4' of git://github.com/ryanwyllie/moodle 2017-10-16 12:28:59 +08:00
Jun Pataleta 5be8c8daa6 Merge branch 'MDL-45730_master' of git://github.com/markn86/moodle 2017-10-16 12:10:51 +08:00
Jake Dallimore 6b76e041f4 Merge branch 'MDL-57455_master' of git://github.com/markn86/moodle 2017-10-16 10:34:01 +08:00
Andrew Nicols 4e84059e8f MDL-60444 calendar: Correct variable name 2017-10-16 10:19:14 +08:00
Jun Pataleta a3bfb41cdd MDL-59984 enrol: Apply more filters to multiple filters scenario 2017-10-16 09:47:39 +08:00
Marina Glancy 78da366b56 MDL-60281 general: various strict corrections for PHP7.2
- count() can only be called on arrays or Countable, it can not be called on null
- recordset is neither so iterator_count() should be used
- instanceof or get_class() can not be applied to non-objects
- class methods must have the same arguments as methods in parent class
2017-10-16 09:37:20 +08:00
Marina Glancy d28eb51ddc MDL-60281 general: remove class object() completely
This class was deprecated under MDL-52471 and was showing debugging notice from Moodle 3.0.1
In PHP7.2 the class declaration fails with fatal error even if it's not used anywhere
2017-10-16 09:37:20 +08:00
Marina Glancy e3e3e0abb7 MDL-60281 forms: PHP7.2 deprecations in PEAR 2017-10-16 09:37:20 +08:00
Marina Glancy 33683bc80c MDL-60281 general: function each() is deprecated in PHP7.2 2017-10-16 09:37:20 +08:00
Marina Glancy 484b43f456 MDL-60281 general: create_function is deprecated in PHP7.2 2017-10-16 09:37:19 +08:00
Marina Glancy 2abb1e888c MDL-60281 behat: remove unnecessary pre-check
These variables are strings, calling count() on string causes warning in PHP7.2
2017-10-16 09:37:19 +08:00
Jun Pataleta d1b55a33e6 MDL-59984 enrol: Fix parameter naming for enrol conditions sql
* The character "." can't be used for sql named parameters.
2017-10-16 09:31:25 +08:00
Jake Dallimore ee9d4a77ea MDL-60124 assign: comment annotation now auto reduces in size on delete 2017-10-16 08:49:36 +08:00
Jake Dallimore 324debc34b MDL-60123 assign: Allow teachers to deselect pdf annotations in editpdf
Clicking a blank area of the canvas will now deselect any currently
selected annotation.
2017-10-16 08:41:51 +08:00
Andrew Nicols dd178011b4 Merge branch 'MDL-59988_master' of git://github.com/dmonllao/moodle 2017-10-16 08:19:06 +08:00
John Beedell 77d2e46c4f MDL-60211 User tours: New filters for User Tours 2017-10-13 17:14:15 +01:00
AMOS bot e2df6b93bf Automatically generated installer lang files 2017-10-14 00:08:10 +08:00
Juan Segarra Montesinos f8c0b9e71f MDL-55808 mod_glossary: Search glossary entries with ratings enabled doesn't work 2017-10-13 17:12:37 +02:00
Grzegorz Ziółek 57bdf3b02d MDL-60116 lang: Add username in emailpasswordchangeinfo 2017-10-13 14:19:09 +02:00
Luca Bösch da755cb442 MDL-60247 blocks: Multilang in Random glossary and in HTML block titles. 2017-10-13 13:52:00 +02:00
David Monllao c5705b3a0f MDL-60410 analytics: Whitelist pathtopython for testing 2017-10-13 13:44:47 +02:00
Juan Leyva 21824a9325 MDL-60433 mod_data: Fix groups in Web Services 2017-10-13 12:42:10 +02:00
David Monllao 2dca133916 MDL-59988 analytics: Process pending training and prediction files 2017-10-13 12:29:21 +02:00
David Monllao 325b3bdd8e MDL-59988 analytics: Files marked as used only if valid
- Basic unit test for minimum machine learning backends requirements
- Warning return messages now include not enough data
- Clear models when the predictions processor is changed
- Refined the name of a couple of constants / methods
2017-10-13 12:24:17 +02:00
Marina Glancy 9016f772ce MDL-60391 libraries: patch bennu for php 7.2 2017-10-13 16:42:34 +08:00
Ryan Wyllie 7ec6d873e1 MDL-60058 assign: stop teacher from seeing due date event on dashboard
Thanks to Damyon Wiese for the patch.
2017-10-13 06:38:03 +00:00
Andrew Nicols 028fa14436 MDL-60058 assign: Updating gradingduedate on drag/drop 2017-10-13 06:38:02 +00:00
Ryan Wyllie a4f949442c MDL-60058 calendar: fix event context issue in month_detailed 2017-10-13 06:38:02 +00:00
Ryan Wyllie 8c4b939cfe MDL-60058 choice: implement timestart range callback for calendar UI 2017-10-13 06:38:02 +00:00
Jake Dallimore 9a316f3367 weekly release 3.4dev 2017-10-13 14:33:08 +08:00
Jake Dallimore 20b5ea16b7 NOBUG: Fixed file access permissions 2017-10-13 14:33:08 +08:00
Jake Dallimore 6e74f41b41 NOBUG: Fixed SVG browser compatibility 2017-10-13 14:33:08 +08:00
Jake Dallimore 5bcd7317d1 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-10-13 14:33:07 +08:00
Ryan Wyllie c56dd950eb MDL-60058 calendar: add visual indicator to UI for valid drop zones 2017-10-13 06:18:44 +00:00
Ryan Wyllie f4c2156189 MDL-60058 assign: allow update of assign calendar action events 2017-10-13 06:18:43 +00:00
Marina Glancy 402a8e7a7a MDL-58915 search_solr: connection to solr can use blocked hosts 2017-10-13 12:17:32 +08:00
Jake Dallimore 1799dd9e0c Merge branch 'MDL-60357-master-fix' of https://github.com/andrewnicols/moodle 2017-10-13 11:40:05 +08:00
Mark Nelson 0f09368cbb MDL-57455 mod_data: extended Behat test to cover searching names
Merged two Behat files that were doing similar things.
2017-10-13 11:01:42 +08:00
Jake Dallimore 2fe80946bc Merge branch 'MDL-60029-master-fix' of git://github.com/junpataleta/moodle 2017-10-13 10:49:32 +08:00
Jun Pataleta 5a3f03b2a8 MDL-60029 profile: Replace table alias with non-reserve word
* The table alias 'uid' is a reserved word in oracle. Replaced it with
something a little more safe.
2017-10-13 10:38:00 +08:00
Andrew Nicols 0049244893 MDL-60357 search: Ensure that the document is valid
We were previously testing tha the parent is valid, which it was, and
then fetching the current record, before fetching data from it.

However, the way in which the recordset walk works, the valid function
checks whether the _record_ itself is valid, whilst the current allows
for a callback to be applied.

In this instance, the data-entry was failing because the count of
indexfields was < 2. The recordset data itself was valid, but the view
was not, and as a result, the current() function returned false.

This false was not previously handled.

I've changed the logic so that we handle this case, and have removed a
double-negative in the process.
2017-10-13 09:41:59 +08:00
Damyon Wiese 14de134454 Merge branch 'MDL-60002-master' of https://github.com/snake/moodle 2017-10-13 09:20:18 +08:00
Jake Dallimore 41be91c00b MDL-60002 assign: Fixed validation on save and save and show next. 2017-10-13 09:04:08 +08:00
Andrew Nicols 122b8aa73b Merge branch 'MDL-60046-master' of https://github.com/snake/moodle 2017-10-13 08:32:57 +08:00
Jake Dallimore eae71c8553 MDL-60046 participants: Fix for groups behat feature. 2017-10-13 08:26:42 +08:00
Eloy Lafuente (stronk7) f088e261f7 Merge branch 'MDL-60209-master-mathjaxlib' of git://github.com/mudrd8mz/moodle 2017-10-12 22:51:59 +02:00
David Mudrák 9e6df843a0 MDL-60209 mathjax: Do not load broken accessibility extensions
The Accessible.js config loads accessibility-menu extension which in
turn loads mathjax-sre.js library. There is a bug in this library
https://github.com/zorkow/speech-rule-engine/issues/182 that makes it
fail in RequireJS environments. This has been reported upstream as
https://github.com/mathjax/MathJax/issues/1854

As an immediate solution for now, this patch changes the default MathJax
configuration so that it does not load accessibility extensions at all.
2017-10-12 22:11:45 +02:00
Juan Leyva 66a159f8db MDL-60365 tool_mobile: Extra configuration checks 2017-10-12 11:46:18 +02:00
Mark Nelson 822b3346ce MDL-57455 mod_data: added 'Manage standard tags' link 2017-10-12 16:59:16 +08:00
Mark Nelson 80effa0faa MDL-57455 mod_data: added reset tags functionality 2017-10-12 16:59:16 +08:00
Mark Nelson 5623d18784 MDL-57455 mod_data: performance improvement for tags backup/restore 2017-10-12 16:59:16 +08:00
Mark Nelson a783cf701c MDL-57455 mod_data: allow tags to be removed from search criteria 2017-10-12 16:59:16 +08:00
Mark Nelson f7a12344cb MDL-57455 mod_data: added missing accessibility check 2017-10-12 16:59:15 +08:00
Andrew Hancox ee9a2706b3 MDL-57455 mod_data: Added PHPUnit tests 2017-10-12 16:59:15 +08:00
Andrew Hancox f4c5328c2b MDL-57455 mod_data: Added Behat tests to cover tagging 2017-10-12 16:59:15 +08:00
Andrew Hancox 04f7b079bc MDL-57455 mod_data: Import and export tags 2017-10-12 16:59:15 +08:00
Andrew Hancox d45c7a6823 MDL-57455 mod_data: Extend advanced search to cover tags
Also removed redundant code as $advtables, $advwhere etc.
are only used below when constructing $fromsql which is
only used if advanced is empty.
2017-10-12 16:59:15 +08:00
Andrew Hancox ca5f3e0a2e MDL-57455 mod_data: Implement tagging 2017-10-12 16:59:14 +08:00
Jun Pataleta dab702d394 Merge branch 'wip-MDL-60029-master' of git://github.com/marinaglancy/moodle 2017-10-12 16:16:42 +08:00
Andrew Nicols 42c7270eb1 Merge branch 'MDL-55356-master-fix' of git://github.com/junpataleta/moodle 2017-10-12 15:49:25 +08:00
Jun Pataleta 098f37c942 MDL-55356 search: Remove unnecessary var_dump call 2017-10-12 15:45:52 +08:00
Jake Dallimore 131e60741a Merge branch 'MDL-55356-master-fix' of https://github.com/andrewnicols/moodle 2017-10-12 15:00:11 +08:00
Andrew Nicols 77b2662ffb MDL-55356 backup: Correct variable name 2017-10-12 14:53:16 +08:00
Andrew Nicols f3a4164dac Merge branch 'MDL-60288-master' of git://github.com/ankitagarwal/moodle 2017-10-12 14:48:59 +08:00
Andrew Nicols 6fa6e63129 Merge branch 'wip-MDL-60195-master' of git://github.com/abgreeve/moodle 2017-10-12 14:34:05 +08:00
Damyon Wiese 2962f0fa51 Merge branch 'MDL-60092-master-fix2' of git://github.com/lameze/moodle 2017-10-12 14:31:17 +08:00
Ankit Agarwal de6ad82f2c MDL-60288 libraries: Upgrade spout to 2.7.3 2017-10-12 11:32:15 +05:30
Andrew Nicols da419adfb0 MDL-60268 tool_usertours: Switch to Template.append 2017-10-12 13:54:09 +08:00
Andrew Nicols 19c0da47e0 Merge branch 'wip-MDL-60268-master' of https://github.com/Beedell/moodle 2017-10-12 13:44:16 +08:00
Simey Lameze 9adc10955e MDL-60092 calendar: fix no events message message logic 2017-10-12 13:39:35 +08:00
Jake Dallimore 7f1b75ba04 MDL-59106 analytics: whitespace fixes 2017-10-12 12:31:56 +08:00
Jun Pataleta 458d9e084f Merge branch 'MDL-59854-master' of git://github.com/junpataleta/moodle 2017-10-12 12:27:34 +08:00
Tobias Reischmann 05f9380cbc MDL-59854 forum: Created unique db key for forum_subscriptions
Due to race conditions in the function subscribe_user
it was possible to create duplicate forum subscriptions.
This lead to error messages, when displaying the list of
all subscriptions.
This patch removes all existing duplicate entries and
creates a unique db key to prevent this from happening in
the future.
2017-10-12 12:24:03 +08:00
Andrew Nicols c1c6ed1b67 MDL-55356 search: Merge conflict fix 2017-10-12 11:54:04 +08:00
Andrew Nicols ed15e64a3d MDL-55356 search: Insert non-empty default data in block fixture data 2017-10-12 11:53:06 +08:00
Andrew Nicols afc8d59c35 MDL-55356 backup: Check setting exists before checking value 2017-10-12 11:37:05 +08:00
Andrew Nicols e61ad18e70 Merge branch 'MDL-55356-master' of https://github.com/sammarshallou/moodle 2017-10-12 11:28:04 +08:00
Jake Dallimore c36907bf5a Merge branch 'MDL-59106_master-fix2' of git://github.com/dmonllao/moodle 2017-10-12 10:54:47 +08:00
Jake Dallimore cb9a803d80 Merge branch 'MDL-59106_master-fix' of git://github.com/dmonllao/moodle 2017-10-12 10:54:25 +08:00
Jake Dallimore 0ce9026307 Merge branch 'MDL-59106_master' of git://github.com/markn86/moodle 2017-10-12 10:53:20 +08:00
Jun Pataleta 5bc84e9f17 Merge branch 'MDL-59921-master-fix2' of git://github.com/lameze/moodle 2017-10-12 09:49:49 +08:00
Simey Lameze 2ab3787e18 MDL-59921 calendar: remove disabledIf from group select 2017-10-12 09:19:43 +08:00
Eloy Lafuente (stronk7) b43a99ad92 Merge branch 'MDL-60209-master-mathjaxlib' of git://github.com/mudrd8mz/moodle 2017-10-12 01:52:47 +02:00
Eloy Lafuente (stronk7) 9ead15b629 MDL-60291 libraries: bump readme to actual versions 2017-10-12 00:47:22 +02:00
Eloy Lafuente (stronk7) 5fab66aad8 Merge branch 'MDL-60291-master' of git://github.com/ankitagarwal/moodle 2017-10-12 00:42:57 +02:00
Eloy Lafuente (stronk7) ae2ae5f46f Merge branch 'MDL-60301-master' of git://github.com/ankitagarwal/moodle 2017-10-12 00:37:11 +02:00
Eloy Lafuente (stronk7) a9d3910d70 Merge branch 'MDL-60302-master' of git://github.com/jleyva/moodle 2017-10-11 21:14:54 +02:00
Eloy Lafuente (stronk7) e9802809f4 Merge branch 'MDL-60357-master' of https://github.com/sammarshallou/moodle 2017-10-11 20:49:01 +02:00
sam marshall 74b7a42d0d MDL-55356 core_search: Make indexing task/CLI do context requests 2017-10-11 17:17:10 +01:00
sam marshall 4ba11aa907 MDL-55356 core_search: New manager API index_context
New function which uses the get_document_recordset function in
search areas to support full and partial indexing of a given
context.
2017-10-11 17:17:10 +01:00
sam marshall 66e3702680 MDL-55356 core_search: Change existing search areas to new API
This change considers all existing search areas in Moodle and makes
necessary changes.

Custom change to course search, supported by helper in base.php:

* course/classes/search/mycourse.php

Custom change to message search:

* message/classes/search/message_received.php
* message/classes/search/message_sent.php

Custom change to user search:

* user/classes/search/user.php

Custom changes to module areas, supported by helper in base_mod.php:

* mod/book/classes/search/chapter.php
* mod/data/classes/search/entry.php
* mod/forum/classes/search/post.php
* mod/glossary/classes/search/entry.php
* mod/survey/classes/search/activity.php
* mod/wiki/classes/search/collaborative_page.php

(Note: the unit tests do not exhaustively check every context type
for these, given that's mainly handled by the helper function
which was already tested in the base_activity test.)

Handled by block base class (no change):

* blocks/html/classes/search/content.php

Handled by activity base class (no change):

* mod/assign/classes/search/activity.php
* mod/book/classes/search/activity.php
* mod/chat/classes/search/activity.php
* mod/choice/classes/search/activity.php
* mod/data/classes/search/activity.php
* mod/feedback/classes/search/activity.php
* mod/folder/classes/search/activity.php
* mod/forum/classes/search/activity.php
* mod/glossary/classes/search/activity.php
* mod/imscp/classes/search/activity.php
* mod/label/classes/search/activity.php
* mod/lesson/classes/search/activity.php
* mod/lti/classes/search/activity.php
* mod/page/classes/search/activity.php
* mod/quiz/classes/search/activity.php
* mod/resource/classes/search/activity.php
* mod/scorm/classes/search/activity.php
* mod/url/classes/search/activity.php
* mod/wiki/classes/search/activity.php
* mod/workshop/classes/search/activity.php
2017-10-11 17:17:09 +01:00
sam marshall 81a988833e MDL-55356 core_message: Rename unit tests with wrong names 2017-10-11 17:17:08 +01:00
sam marshall 427b756355 MDL-55356 core_search: New area API get_document_recordset
The search area API now includes a new function get_document_recordset
which should be implemented in preference to the older
get_recordset_by_timestamp. (It's also possible to implement both in
plugin search areas which need to work against older Moodle versions.)

Existing search areas without the new function will continue to work as
before (obviously without the new functionality).
2017-10-11 17:17:08 +01:00
sam marshall 6893ee4a49 MDL-55356 core_search: Restore now requests search indexing
When restoring into a new course, it will queue a request to index
the whole course; when adding to existing, it will queue a request
to index the specific (a) activities and (b) blocks that were
restored.
2017-10-11 17:17:07 +01:00
sam marshall eacb2bd11b MDL-55356 core_search: API to queue contexts for indexing
New API \core_search\manager::request_index($context, $areaid = '')
adds the given context to a list which is intended to be indexed
later by the scheduled task.
2017-10-11 17:17:07 +01:00
sam marshall d761b3fb19 MDL-55356 core_search: API to check if indexing enabled
New function \core_search\manager::is_indexing_enabled(), analagous
to existing is_global_search_enabled().

This replaces existing duplicated code, ready for more use in
following commits.
2017-10-11 17:17:06 +01:00
sam marshall 0da8f62f3b MDL-55356 core_search: Make base_block handle empty restored blocks 2017-10-11 17:17:05 +01:00
Simey Lameze 4aae2cb19e MDL-59921 core_calendar: remove unnecessary behat step 2017-10-11 16:37:46 +08:00
Simey Lameze 580a168a15 MDL-59921 calendar: fix wrong array assumptions 2017-10-11 16:26:51 +08:00
Jun Pataleta 1b3f3d5761 Merge branch 'MDL-60090-master' of git://github.com/andrewnicols/moodle 2017-10-11 15:58:46 +08:00
Andrew Nicols a7ed05e720 MDL-60090 calendar: Add eventtype icon and truncate 2017-10-11 14:03:01 +08:00
Damyon Wiese 3f94d19060 Merge branch 'MDL-60092-master' of git://github.com/lameze/moodle 2017-10-11 14:02:52 +08:00
Simey Lameze ca14f182fc MDL-60092 calendar: add missing upcoming view logic 2017-10-11 11:42:41 +08:00
Jun Pataleta 8c0f6e5419 Merge branch 'MDL-59921-master' of git://github.com/lameze/moodle 2017-10-11 11:07:14 +08:00
Simey Lameze 0108fdfa70 MDL-59921 calendar: fix missing course error on event form 2017-10-11 10:03:42 +08:00
Andrew Nicols 544321235d Merge branch 'master_MDL-60276' of https://github.com/CengageEng/moodle 2017-10-11 09:38:47 +08:00
Eloy Lafuente (stronk7) 0a073e9d42 Merge branch 'MDL-60300' of https://github.com/NeillM/moodle 2017-10-11 01:39:55 +02:00
Eloy Lafuente (stronk7) 7b90f69db3 Merge branch 'MDL-60309-master-boostbackground' of git://github.com/mudrd8mz/moodle 2017-10-11 01:34:17 +02:00
Eloy Lafuente (stronk7) 1fee16f4f9 Merge branch 'MDL-60346-master' of https://github.com/sammarshallou/moodle 2017-10-11 01:03:06 +02:00
Eloy Lafuente (stronk7) 559d5c3894 Merge branch 'MDL-60364' of https://github.com/NeillM/moodle 2017-10-11 01:00:13 +02:00
Eloy Lafuente (stronk7) f8a86c157d Merge branch 'MDL-55358-master' of https://github.com/davidknu/moodle 2017-10-11 00:00:10 +02:00
Eloy Lafuente (stronk7) 70aeddcaf4 Merge branch 'MDL-60002-save-and-show-next' of https://github.com/abalbanyan/moodle 2017-10-10 20:14:42 +02:00
Eloy Lafuente (stronk7) ae2f169a08 Merge branch 'MDL-60046-master' of git://github.com/damyon/moodle 2017-10-10 19:10:52 +02:00
Juan Leyva 011c5ae476 MDL-60396 mod_workshop: Add checks for maximum gradeover 2017-10-10 17:04:57 +02:00
Juan Leyva 84346754f6 MDL-60377 webservice: Format correctly text returned by WS 2017-10-10 15:06:23 +02:00
David Monllao d4fc830c6f MDL-59106 report_insights: Order prediction values 2017-10-10 12:49:24 +02:00
David Monllao ce017edd2f MDL-59106 report_insights: Fix predicted value styling 2017-10-10 12:33:26 +02:00
Damyon Wiese f4594a22ec Merge branch 'MDL-37361-master-revised' of https://github.com/snake/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2017-10-10 17:32:47 +08:00
Damyon Wiese 32d641c009 Merge branch 'MDL-60092-master' of git://github.com/lameze/moodle 2017-10-10 17:17:56 +08:00
Jake Dallimore b08337c35e MDL-37361 completion: Consolidate icon logic and clarify web service
- Icon generation logic moved to the course renderer.
- Web service should return the completion info only, not HTML.
- JS modified to handle icon rendering in relevant cases.
2017-10-10 17:12:22 +08:00
Jake Dallimore 8fbc41d8d5 MDL-37361 completion: minor code fixes. 2017-10-10 17:12:09 +08:00
Jake Dallimore 194f142274 MDL-37361 completion: accessibility fixes for completion overrides
- Fixed aria-roles for links acting as status override buttons
- Used custom_interaction_events for better activation handling
- Replaced core/notification with AMD modal which facilitates better
onhide focus control when cancelling or confirming the action.
2017-10-10 17:11:48 +08:00
Jake Dallimore 77165c9c83 MDL-37361 behat: added a test covering the activity completion report 2017-10-10 17:11:32 +08:00
Jake Dallimore 6f4adc6be4 MDL-37361 completion: make completion overrides visible to students
- Set icons in the course/renderer
- Use 'set' in lang strings for simplicity
- Code style fixes
2017-10-10 17:11:13 +08:00
Jake Dallimore 86f359bf68 MDL-37361 completion: automatic completion disabled when overridden
Changes:
- Activities with auto completion and a completion status overridden to
COMPLETION_COMPLETE are no longer processed by normal completion
triggers.
- All activities can still be completed by students when their
completion status has been overridden to COMPLETION_INCOMPLETE, via
either auto or manual triggers.
- Completion unit tests updated
2017-10-10 17:10:49 +08:00
Eiz Eddin Al Katrib 60a6b36cd5 MDL-37361 completion: Modified and Added phpunit tests 2017-10-10 17:10:37 +08:00
Eiz Eddin Al Katrib a39918daae MDL-37361 completion: Enabled overriding activity completion status 2017-10-10 17:10:15 +08:00
Jun Pataleta 7a87627b16 Merge branch 'MDL-59921-master' of git://github.com/lameze/moodle 2017-10-10 16:19:36 +08:00
Simey Lameze 7522ed1f23 MDL-59921 core_calendar: fix phpunit failures on event form 2017-10-10 15:50:46 +08:00
Jun Pataleta 37dcdf2202 Merge branch 'wip-MDL-58546-master' of git://github.com/marinaglancy/moodle 2017-10-10 15:26:38 +08:00
Simey Lameze de6d57cfd8 MDL-59921 core_calendar: fix event form behat failures 2017-10-10 15:22:45 +08:00
Andrew Nicols c8ee0b642d Merge branch 'MDL-35429-master' of https://github.com/snake/moodle 2017-10-10 14:48:19 +08:00
Simey Lameze 4259387ebb MDL-60092 core_calendar: remove unused calendar_get_upcoming method 2017-10-10 13:55:35 +08:00
Simey Lameze 522b84be04 MDL-60092 block_calendar_upcoming: convert to template 2017-10-10 13:55:35 +08:00
Simey Lameze 666d03e119 MDL-60092 core_calendar: new upcoming mini template 2017-10-10 13:55:29 +08:00
Jun Pataleta e34196d6ef Merge branch 'MDL-59921-master' of git://github.com/lameze/moodle 2017-10-10 13:30:34 +08:00
Mark Nelson a475e0fe79 MDL-45730 core: added unit tests for new events 2017-10-10 13:15:18 +08:00
Mark Nelson 7b1adb4c7e MDL-45730 core_user: added additional event triggers 2017-10-10 13:05:48 +08:00
Damyon Wiese 93effd739f Merge branch 'MDL-59889-master' of git://github.com/Dagefoerde/moodle 2017-10-10 13:05:31 +08:00
Damyon Wiese 71fd9e5375 Merge branch 'wip-MDL-59274-master' of git://github.com/marinaglancy/moodle 2017-10-10 12:46:55 +08:00
Jake Dallimore 5bbea7338d MDL-35429 backup: Only show relevant actions for automated backups
- Users without permission to download or restore won't see the
respective links.
- The 'Manage backup files' button for the 'automated' backup filearea
now requires the same permissions as downloading does for this filearea,
those being 'restore:userinfo' and 'backup:downloadfile'.
2017-10-10 12:30:57 +08:00
Marina Glancy ce1500a8fa MDL-59274 media_videojs: upgrade video.js library and plugins 2017-10-10 12:11:06 +08:00
Ryan Wyllie 4c1145009a MDL-60058 assign: show due date calendar event for teachers 2017-10-10 03:51:18 +00:00
Andrew Nicols 69ed35c92a Merge branch 'MDL-59694_master' of git://github.com/dmonllao/moodle 2017-10-10 11:37:49 +08:00
Jun Pataleta d63c2d35ec Merge branch 'MDL-60205_group_hiding_clean' of git://github.com/davosmith/moodle 2017-10-10 11:08:06 +08:00
Damyon Wiese 1bf6dcc507 MDL-60046 participants: Update behat tests
The filter button was removed, so it needs to be removed from the tests.
2017-10-10 10:54:27 +08:00
Jun Pataleta 658982416c Merge branch 'MDL-60238-master' of git://github.com/ankitagarwal/moodle 2017-10-10 10:47:37 +08:00
Marina Glancy b47fda7191 MDL-60029 core_user: new api functions rearranged 2017-10-10 10:34:55 +08:00
Jun Pataleta 7106ac6b15 Merge branch 'MDL-60275_master' of git://github.com/dmonllao/moodle 2017-10-10 10:10:09 +08:00
Andrew Nicols 1e7ed737d2 Merge branch 'MDL-45366' of git://github.com/stronk7/moodle 2017-10-10 08:40:01 +08:00
Adam Olley d12ac53512 MDL-60320 icons: Use PNG icons as the preview thumbnails
Without this change, Moodle fails to provide any data when requesting a
thumbnail for a non-image file as its looking to provide a SVG file that
doesn't exist.
2017-10-10 09:57:17 +10:30
Eloy Lafuente (stronk7) 3564271049 Merge branch 'MDL-60070-master' of git://github.com/lameze/moodle 2017-10-10 00:03:10 +02:00
Eloy Lafuente (stronk7) 6d170ad508 Merge branch 'MDL-60129_master-v2' of git://github.com/markn86/moodle 2017-10-09 23:17:36 +02:00
Eloy Lafuente (stronk7) 4c54ac22d3 Merge branch 'm34_MDL-60318_Undefined_method_file_storage-move_to_trash' of https://github.com/scara/moodle 2017-10-09 23:11:08 +02:00
Eloy Lafuente (stronk7) eda8027541 Merge branch 'MDL-59811-master' of git://github.com/junpataleta/moodle 2017-10-09 19:52:56 +02:00
AMOS bot 59ce7064b2 Automatically generated installer lang files 2017-10-10 00:11:43 +08:00
Guillaume Latour febd7a62f7 MDL-60171 user/edit: more meaning for delete pic
AMOS BEGIN
    CPY [delete,core_moodle],[deletepicture,core_moodle]
AMOS END
2017-10-09 15:10:06 +02:00
Alexander Bias 33a3ec7c93 MDL-58388 course: Add admin control for course end date default 2017-10-09 14:12:52 +02:00
John Ehringer 6d242b28e6 MDL-45730 core: Adding events to user profile field and categories CRUD. 2017-10-09 18:58:36 +08:00
David Mudrák b75eb8442f MDL-60209 mathjax: Update integration docs in readme_moodle.txt 2017-10-09 12:31:21 +02:00
David Mudrák 47cf9455d9 MDL-60209 mathjax: Fix mapping of the Moodle language to the MathJax
While working on the issue, I noticed that the current implementation of
the method filter_mathjaxloader::map_language_code() is suboptimal and
does not work well for many Moodle language packs such as pt_br or de_du
and other variants. It did not give particularly wrong results. It just
fell back to the default English too early without trying more hard.

This patch improves the mapping logic and adds a unit test for the
method.
2017-10-09 12:31:21 +02:00
David Mudrák b7ab8e4e9b MDL-60209 mathjax: Use MathJax 2.7.2 by default 2017-10-09 12:31:20 +02:00
Jun Pataleta a5ed356be1 Merge branch 'MDL-60298' of git://github.com/stronk7/moodle 2017-10-09 16:18:36 +08:00
Mike Churchward 860f59b13c MDL-60029 core_user: Added new api function to reduce db calls. 2017-10-09 14:10:38 +08:00
Andrew Nicols 7da1dd651a Merge branch 'MDL-60317' of git://github.com/timhunt/moodle 2017-10-09 14:05:57 +08:00
Andrew Nicols f3500bda4e Merge branch 'MDL-59844-master' of git://github.com/Dagefoerde/moodle 2017-10-09 13:58:49 +08:00
David Monllao dd13fc222c MDL-59694 analytics: Track processed analysables 2017-10-09 07:47:28 +02:00
David Monllao 68f4be7085 MDL-59987 analytics: Updated indicator names
Indicator names updated to better reflect what they make
reference to.
2017-10-09 07:38:55 +02:00
Andrew Nicols 2e30e9aa0d Merge branch 'wip-MDL-55652-master' of git://github.com/marinaglancy/moodle 2017-10-09 12:42:53 +08:00
Mark Nelson f473958e49 MDL-59106 theme_bootstrapbase: removed unnecessary template overrides 2017-10-09 12:20:42 +08:00
Mark Nelson c614073940 MDL-59106 report_insights: show time created and time range used 2017-10-09 12:20:42 +08:00
Andrew Nicols 5873e1d234 MDL-60374 calendar: Add transition on event show/hide in monthly view 2017-10-09 12:04:04 +08:00
Andrew Nicols bf02f2e91c MDL-60373 core: Do not show title if there is no title 2017-10-09 11:38:00 +08:00
Andrew Nicols 5be48c4514 MDL-59897 accesslib: Remove unused reset 2017-10-09 10:37:19 +08:00
Andrew Nicols 6ba5f93ea6 Merge branch 'MDL-59897-master' of https://github.com/sammarshallou/moodle 2017-10-09 10:31:34 +08:00
Jake Dallimore 54945fa728 MDL-35429 roles: teachers and managers can restore automated backups
Changes the default for the 'moodle/restore:viewautomatedfilearea'
cap from 'Not set' to 'Allow' for the teacher and manager role
archetypes.
2017-10-09 10:29:07 +08:00
Jake Dallimore 521d900f06 MDL-35429 restore: fixed downloading of automated backup files 2017-10-09 10:29:07 +08:00
Jake Dallimore f2faf9fae6 MDL-35429 restore: capability clarification for automated backups
- added relevant cap check on restorefile.php to improve the error
message when attempting to restore automated backups. This cap is
already responsible for controlling restores from automated areas.
- Restored the 'viewautomatedfilearea' capabilities original lang
string.
2017-10-09 10:29:07 +08:00
Jun Pataleta 4047fccba7 MDL-59811 enrol: Move get_user_enrolment_actions logic to parent class
* These duplicated implementations can be simplified where the logic
  can be moved to enrol_plugin::get_user_enrolment_actions() method
  itself.
2017-10-09 10:29:02 +08:00
Jun Pataleta 18000c6d60 MDL-59811 enrol: Unit tests for get_user_enrolment_actions() 2017-10-09 10:29:02 +08:00
Simey Lameze 8766097ed6 MDL-60070 core_calendar: remove old iCal icon 2017-10-09 10:20:02 +08:00
Jun Pataleta b5f6dd9a91 MDL-60153 course_format: Remove irrelevant CSS styles
* The styles ".course-content ul.topics li.section .right img.icon" and
".course-content ul.weeks li.section .right img.icon" are now kind of
irrelevant and are causing course section action menu items in
Bootstrapbase to be rendered without spacing between the action menu
icon and the label.
2017-10-09 10:19:36 +08:00
Marina Glancy 0b844a8322 MDL-60314 navigation: fix overriding variable value 2017-10-09 10:18:00 +08:00
Andrew Nicols 9f2bb19a47 Merge branch 'MDL-60012_form_neq_regression' of git://github.com/davosmith/moodle 2017-10-09 10:13:30 +08:00
Marina Glancy 06f86aa808 MDL-60280 auth_cas: patch phpCAS for PHP 7.2 2017-10-09 10:04:48 +08:00
Marina Glancy 906e3fcf6e MDL-60237 libraries: TCPDF apply patch for PHP7.2 2017-10-09 10:02:56 +08:00
Marina Glancy cbc8560718 MDL-60237 libraries: upgrade TCPDF to 6.2.13 2017-10-09 10:02:56 +08:00
Simey Lameze b9a4c3df7a MDL-60092 core_calendar: add viewurl attribute to exporter 2017-10-09 10:01:30 +08:00
Simey Lameze 86244e9102 MDL-59921 calendar: replace selector for groups events 2017-10-09 09:51:14 +08:00
Simey Lameze 4b9c662b2a MDL-59921 calendar: replace selector for course events 2017-10-09 09:51:14 +08:00
Adrian Greeve dc9c4c5141 MDL-60286 lib: Moodle additions to mustache.js 2017-10-09 09:43:47 +08:00
Adrian Greeve 5adc70b77a MDL-60286 lib: Upgrade mustache.js to 2.3.0 2017-10-09 09:43:47 +08:00
Adrian Greeve 703baed252 MDL-60286 lib: Update mustache to 2.12.0 2017-10-09 09:43:47 +08:00
Adrian Greeve fb6e143ca3 MDL-60286 lib: Moodle changes to mustache upgrade 2017-10-09 09:43:47 +08:00
Adrian Greeve 35bbd8a3ae MDL-60284 lib: Update requirejs t0 2.3.5 2017-10-09 09:40:59 +08:00
Adrian Greeve 2e6daabc03 MDL-60284 lib: Update to Moodle requirejs file. 2017-10-09 09:40:59 +08:00
Adrian Greeve ee9e92e594 MDL-60194 lib: Update to phpmailer 6.0.1 2017-10-09 09:30:00 +08:00
Adrian Greeve 56e62bbba1 MDL-60194 lib: Internal changes by Moodle to phpmailer. 2017-10-09 09:30:00 +08:00
Tim Lock 68e983e540 MDL-60153 theme_bootstrapbase: Fix align of edit section menu 2017-10-09 08:08:37 +10:30
Andrew Nicols bad477584f MDL-60175 calendar: Fix ajax navigation in mini calendar 2017-10-08 21:12:50 +08:00
Andrew Nicols 70569dadcd MDL-60176 calendar: Show all activity events are course events 2017-10-08 21:05:59 +08:00
David Mudrák f208a7e471 MDL-58547 lib: Properly document the version of the Bennu library 2017-10-07 00:33:35 +02:00
Craig R Morton 6961f78dca MDL-60309 theme_boost: Add background image filepicker to Boost 2017-10-06 21:48:22 +02:00
sam marshall 46f7b264a3 MDL-59897 Accesslib: get_user_capability_course is slow 2017-10-06 13:57:55 +01:00
Jan Dageförde 99e632c446 MDL-59889 oauth2: Remove check for storing new refresh token 2017-10-06 14:49:17 +02:00
Jan Dageförde d5c60ac815 MDL-59844 webdav: Add bearer auth method to WebDAV requests 2017-10-06 14:47:41 +02:00
Neill Magill 078484f2e2 MDL-60300 Quiz: Offline update time not set correctly 2017-10-06 13:43:42 +01:00
Neill Magill cd2115fa37 MDL-60364 Web service: E_ERROR in course_check_updates web service
The error stated that course_check_updates() is undefined, this function
is in the course lib.php file.
2017-10-06 13:43:09 +01:00
sam marshall 2d2fcc1c9e MDL-60357 core_search: Future modified times cause serious problems 2017-10-06 13:38:32 +01:00
Davo Smith 5ef66eaf7e MDL-60366 mod_feedback: fix deletion of valid anonymous duplicates 2017-10-06 13:38:08 +01:00
John Beedell 4a8dfef030 MDL-60268 User tours: Improve placement of Reset tour on page link 2017-10-06 11:52:19 +01:00
sam marshall 558b6306f4 MDL-60346 core_search: Solr connection ignores proxy settings 2017-10-06 11:39:38 +01:00
Mark Nelson f87174dcc2 MDL-59106 analytics: store the 'timestart' and 'timeend' values 2017-10-06 17:28:38 +08:00
Mark Nelson 235da74e0b MDL-59106 core: added fields to 'analytics_predictions' table 2017-10-06 17:28:37 +08:00
Mark Nelson c7fecfe0bb MDL-59106 tool_analytics: fixed string describing 'onlycli' setting 2017-10-06 17:24:03 +08:00
Jake Dallimore d8e9a23c48 weekly release 3.4dev 2017-10-06 14:34:29 +08:00
Jake Dallimore 6d88e204cf NOBUG: Fixed file access permissions 2017-10-06 14:34:29 +08:00
Jake Dallimore 0081f5776e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-10-06 14:34:28 +08:00
Adrian Greeve 70be1be9a0 MDL-60195 lib: Update of JQuery lib to 3.2.1 2017-10-06 11:36:41 +08:00
Adrian Greeve 8b4c0b2d7a MDL-60195 lib: Update to JQuery Moodle files. 2017-10-06 11:36:41 +08:00
David Monllao e08c74f5bc MDL-59630 analytics: Unit tests fixes 2017-10-05 17:38:17 +02:00
Michael Spall 151138afe1 MDL-60319 Google converter: Add html to convertible types
Add html files to the file types that Google can convert. This allows
the Google Drive converter to convert online submissions to pdf. This
fixes an issue where if online submissions is selected and the Google
Drive converter is used all conversions fail and produce a single
blank pdf. Credit to Peter Svec for the idea for this fix.
2017-10-05 08:31:57 -06:00
Jun Pataleta 7004185453 Merge branch 'MDL-60096-master' of git://github.com/junpataleta/moodle 2017-10-05 16:56:46 +08:00
Andrew Nicols 3ea4f446bc MDL-60096 calendar: Add JS for day view 2017-10-05 16:54:47 +08:00
Jun Pataleta 736b368920 Merge branch 'MDL-60352-master' of git://github.com/andrewnicols/moodle 2017-10-05 16:16:34 +08:00
Andrew Nicols 1afd3c72aa Merge branch 'MDL-59630_master' of git://github.com/dmonllao/moodle 2017-10-05 14:56:57 +08:00
Jun Pataleta 96c27b3658 Merge branch 'MDL-59751-master-v2' of git://github.com/lameze/moodle 2017-10-05 14:53:31 +08:00
Andrew Nicols 1df40a2dce MDL-60352 calendar: Do not select original event for collection 2017-10-05 14:42:11 +08:00
Simey Lameze a873ed2f37 MDL-59751 calendar: remove unused show_upcoming_events method 2017-10-05 14:27:58 +08:00
Andrew Nicols e00aed518f MDL-59751 calendar: Update JS to be more sharable 2017-10-05 14:23:02 +08:00
Simey Lameze 001366a815 MDL-59751 core_calendar: move code to avoid duplication 2017-10-05 14:23:02 +08:00
Simey Lameze 2ca4dc8a2e MDL-59751 core_calendar: make upcoming view use AJAX 2017-10-05 14:23:02 +08:00
Simey Lameze f7771eae08 MDL-59751 core_calendar: move new event button to header 2017-10-05 14:23:02 +08:00
Simey Lameze e6d805e351 MDL-59751 core_calendar: add upcoming view templates 2017-10-05 14:23:02 +08:00
Simey Lameze 84ad738604 MDL-59751 core_calendar: add calendar_upcoming exporter 2017-10-05 14:23:01 +08:00
Simey Lameze e830643858 MDL-59751 core_calendar: add get_calendar_upcoming_view webservice 2017-10-05 14:22:55 +08:00
Jun Pataleta 199d387d6e Merge branch 'MDL-59890-master-fix' of git://github.com/andrewnicols/moodle 2017-10-05 11:00:47 +08:00
Andrew Nicols 86679cb1ae MDL-59890 calendar: Use calculated context instead of guessing 2017-10-05 10:14:35 +08:00
Eloy Lafuente (stronk7) bbc8116c53 Merge branch 'MDL-60130_master' of git://github.com/markn86/moodle 2017-10-04 23:47:07 +02:00
Eloy Lafuente (stronk7) 1258a59126 Merge branch 'MDL-60264-master' of git://github.com/jleyva/moodle 2017-10-04 23:06:17 +02:00
Abdullah Albanyan b56dc2a109 MDL-60002 js: Added a 'Save and show next' button to grading interface. 2017-10-04 13:39:33 -07:00
Eloy Lafuente (stronk7) b6f370112d MDL-59890 upgrade: bump redirect_if_major_update_required 2017-10-04 22:17:25 +02:00
Juan Leyva 4c2a2bd7ce MDL-59241 mod_workshop: Fix testing found issues
- totalfilesize counting all submissions
- Improved function documentation
2017-10-04 20:23:02 +02:00
Juan Leyva 2973f64318 MDL-59248 mod_workshop: Fix permissions checks 2017-10-04 20:15:14 +02:00
Juan Leyva e348f6a541 MDL-60302 webservice: Allow CORS requests in webservice/upload.php
This will allow to upload files via Web Services using AJAX from
different domains, browser plugins, web apps, etc…
2017-10-04 12:39:51 +02:00
Jun Pataleta 2c1be712a3 Merge branch 'MDL-59890-master-fix' of git://github.com/junpataleta/moodle 2017-10-04 14:55:32 +08:00
Jun Pataleta 469c3b4645 MDL-59890 calendar: Reorganise data generation steps
* Reorganise the data generation steps to avoid creating cells with
empty string values.
2017-10-04 14:54:33 +08:00
Jun Pataleta 48a3a50aa4 MDL-59890 behat: Revert to checking if isset instead of not empty
Reverting changes made by commit
1957d33996
2017-10-04 14:24:15 +08:00
Jake Dallimore 32c369818c Merge branch 'MDL-57228' of git://github.com/timhunt/moodle 2017-10-04 13:42:51 +08:00
Derek Henderson a8fe168e08 MDL-55652 grades: Added timemodified as index grade tables
Added timemodified to grade_categories_history,
grade_items_history, grade_outcomes_history,and scale_history.
2017-10-04 12:07:01 +08:00
Jun Pataleta cd7cd9d9c1 Merge branch 'MDL-59890-master' of git://github.com/andrewnicols/moodle 2017-10-04 11:19:33 +08:00
Andrew Nicols 02150c9a1e MDL-59890 calendar: Add behat tests 2017-10-04 11:16:06 +08:00
Andrew Nicols 1957d33996 MDL-59890 behat: Check empty not isset for switchids 2017-10-04 11:16:06 +08:00
Andrew Nicols fb3c0fc38b MDL-59890 calendar: Allow event creation in behat 2017-10-04 11:16:06 +08:00
Andrew Nicols 303d649aca MDL-59890 calendar: Correct context checks for edit test 2017-10-04 11:16:06 +08:00
Andrew Nicols d097bfdda3 MDL-59890 calendar: Select current category when adding event 2017-10-04 11:16:05 +08:00
Ankit Agarwal d041a0b71f MDL-60301 libraries: PHP7.2 compatibility fix 2017-10-04 08:02:51 +05:30
Ankit Agarwal 61cef46120 MDL-60301 assignfeedback_editpdf: changes to files after FPDI update
1) Change the fpdi_bridge class so that it extends the pdf class,
rather than the TCPDF class.
2) Empty class check that was implemented before
3) Updated the editpdf/fpdi/readme_moodle.txt file to document the changes.
4) Updated the editpdf/thirdpartylibs.xml to reflect the update to the
FPDI library.
2017-10-04 08:02:48 +05:30
Eloy Lafuente (stronk7) e092ec3117 Merge branch 'MDL-33174-master' of https://github.com/matt-catalyst/moodle 2017-10-03 23:01:45 +02:00
Eloy Lafuente (stronk7) 66fca829d4 Merge branch 'MDL-49005-master' of https://github.com/abias/moodle 2017-10-03 22:48:28 +02:00
Eloy Lafuente (stronk7) 4536f3084d Merge branch 'MDL-59273-master' of https://github.com/lucisgit/moodle 2017-10-03 22:38:13 +02:00
Eloy Lafuente (stronk7) 9376583e4f Merge branch 'MDL-59883-master' of git://github.com/andrewnicols/moodle 2017-10-03 20:58:23 +02:00
Eloy Lafuente (stronk7) 34ecee16bb Merge branch 'MDL-59882-master' of git://github.com/andrewnicols/moodle 2017-10-03 20:48:28 +02:00
Eloy Lafuente (stronk7) 945cf16df8 Merge branch 'MDL-58714-master' of git://github.com/jleyva/moodle 2017-10-03 20:38:16 +02:00
Eloy Lafuente (stronk7) fe61786879 Merge branch 'MDL-60198-master' of git://github.com/jleyva/moodle 2017-10-03 20:15:42 +02:00
David Monllao 0328f12b07 MDL-59987 analytics: Add extra indicators for students at risk 2017-10-03 19:42:03 +02:00
David Monllao 0927604f8c MDL-59987 analytics: Add no students indicator to no teaching
Sneaking in a bug fix ;) (thanks in advance)
2017-10-03 19:41:43 +02:00
Juan Leyva 012c2b84b5 MDL-60144 mod_workshop: New WS mod_workshop_evaluate_submission 2017-10-03 19:28:56 +02:00
Juan Leyva 2c89c7c120 MDL-60144 mod_workshop: Move submission evaluation code to API 2017-10-03 19:28:44 +02:00
Juan Leyva 27fa248236 MDL-59239 mod_workshop: Move submission event trigger
The submission viewed event was being triggered at the beginning of the
script (before doing all the validation/safety checks).
I’ve moved the triggering to a better place so the event it is only
triggered when is verified that the user has permissions to view
the submission.
2017-10-03 19:26:40 +02:00
Juan Leyva b99070b9d8 MDL-59239 mod_workshop: New WS mod_workshop_view_submission 2017-10-03 19:25:32 +02:00
Juan Leyva 4d201b824d MDL-59253 mod_workshop: New WS mod_workshop_get_grades_report 2017-10-03 19:22:09 +02:00
Juan Leyva 9e58617a7f MDL-59252 mod_workshop: New WS mod_workshop_evaluate_assessment 2017-10-03 19:16:43 +02:00
Juan Leyva 981f511a14 MDL-59252 mod_workshop: Move assessment evaluation code to API 2017-10-03 19:16:31 +02:00
Juan Leyva d769f87171 MDL-59251 mod_workshop: New WS mod_workshop_get_grades 2017-10-03 19:07:12 +02:00
Eloy Lafuente (stronk7) 365665dbad Merge branch 'MDL-59250-master' of git://github.com/jleyva/moodle 2017-10-03 18:34:56 +02:00
AMOS bot 793de9664f Automatically generated installer lang files 2017-10-04 00:10:10 +08:00
Juan Leyva fe966a2720 MDL-59250 mod_workshop: New WS mod_workshop_update_assessment 2017-10-03 17:31:30 +02:00
Juan Leyva 57f44fbac4 MDL-59250 mod_workshop: Move assessment edition code to API function 2017-10-03 17:31:29 +02:00
Andrew Nicols 936235133a MDL-59890 calendar: Support for categories in legacy event fetch 2017-10-03 23:22:19 +08:00
Andrew Nicols 74475e5bb4 MDL-59890 calendar: Delete category events upon category removal 2017-10-03 23:22:18 +08:00
Andrew Nicols d0e56d847a MDL-59890 calendar: Display category events on calendars 2017-10-03 23:22:18 +08:00
Andrew Nicols 5ba6507e5b MDL-59890 calendar: Exporters support for categories 2017-10-03 21:28:32 +08:00
Andrew Nicols e9321ad07d MDL-59890 coursecat: Add helper to fetch nested view of coursecat 2017-10-03 21:28:31 +08:00
Andrew Nicols 02d0c4355e MDL-59890 calendar: Stop adding time for mini view - not used 2017-10-03 21:28:31 +08:00
Andrew Nicols 0085b0ea3c MDL-59890 calendar: Add support for the category to vault 2017-10-03 21:28:31 +08:00
Andrew Nicols 7d0a866c95 MDL-59890 calendar: Accept categories in calendar_info 2017-10-03 21:28:31 +08:00
Eloy Lafuente (stronk7) 4fce2a24ee MDL-59401 mod_workshop: rename method remanining fix 2017-10-03 13:05:12 +02:00
Eloy Lafuente (stronk7) 4bc267c3f4 Merge branch 'MDL-59401-master' of git://github.com/jleyva/moodle 2017-10-03 12:59:25 +02:00
Marina Glancy a3cc6261fc MDL-60337 htmlpurifier: non-ascii domain names 2017-10-03 18:57:11 +08:00
Eloy Lafuente (stronk7) d2800e5928 Merge branch 'MDL-59248-master' of git://github.com/jleyva/moodle 2017-10-03 12:35:59 +02:00
David Monllao abafbc8405 MDL-59630 analytics: mlbackend model directories deletion 2017-10-03 10:34:47 +02:00
David Monllao f9222c4953 MDL-59630 analytics: New clean up task 2017-10-03 10:34:43 +02:00
Davo Smith c377d07f26 MDL-60205 form: fix hiding of elements within groups with theme_clean 2017-10-03 09:10:56 +01:00
Davo Smith b67f3bc693 MDL-60012 form: improve clarity of elementsByName code 2017-10-03 09:09:09 +01:00
David Monllao 99b84a26f9 MDL-59630 analytics: Purge everything when the model is deleted 2017-10-03 10:07:32 +02:00
David Monllao a8ccc5f2eb MDL-59630 analytics: Move get_analysables to abstract class 2017-10-03 10:07:21 +02:00
Marina Glancy acfb9df1a8 MDL-58546 libraries: Patch ADOdb for PHP 7.2 compat 2017-10-03 15:52:18 +08:00
Juan Leyva aac70425e4 MDL-59401 mod_workshop: New WS get_reviewer_assessments 2017-10-03 09:02:05 +02:00
Juan Leyva 46f5e9a0ef MDL-59248 mod_workshop: New WS get_assessment_form_definition 2017-10-03 08:51:30 +02:00
Juan Leyva 86928d2a7c MDL-59248 mod_workshop: New API check_examples_assessed_before_assessment
For consistency I renamed the old check_examples_assessed function to
check_examples_assessed_before_submission.
I also call the new function in the existing
get_workshop_access_information external function.
2017-10-03 08:51:29 +02:00
Andrew Nicols 086d592d43 Merge branch 'MDL-60234-master' of https://github.com/abias/moodle 2017-10-03 13:10:17 +08:00
Mark Nelson d8819e4ede MDL-60129 mod_glossary: added reset tags functionality 2017-10-03 12:50:37 +08:00
Mark Nelson 0b9249e63e MDL-60129 mod_forum: added reset tags functionality 2017-10-03 12:50:37 +08:00
Mark Nelson 19f8efd3be MDL-60129 mod_book: added reset tags functionality 2017-10-03 12:50:37 +08:00
Andrew Nicols 8905d3efe0 Merge branch 'MDL-59913-master' of https://github.com/sammarshallou/moodle 2017-10-03 12:44:25 +08:00
Ankit Agarwal faa9be014b MDL-60301 libraries: Upgrade FPDI to 1.6.2 2017-10-03 10:13:38 +05:30
Andrew Nicols df3571cfb6 Merge branch 'MDL-60210-master-upgradecheck' of git://github.com/mudrd8mz/moodle 2017-10-03 10:32:15 +08:00
Eloy Lafuente (stronk7) d617d7022e Merge branch 'MDL-59247-master' of git://github.com/jleyva/moodle 2017-10-02 23:48:24 +02:00
Eloy Lafuente (stronk7) aee4aca942 Merge branch 'MDL-59246-master' of git://github.com/jleyva/moodle 2017-10-02 23:08:25 +02:00
Eloy Lafuente (stronk7) 3255109721 Merge branch 'MDL-59242-master' of git://github.com/jleyva/moodle 2017-10-02 22:59:38 +02:00
Matteo Scaramuccia 5ca85a1efe MDL-60318 filestorage: Fixed undefined method move_to_trash() 2017-10-02 22:49:42 +02:00
Tim Hunt 32250b8836 MDL-60317 quiz reports: fix regression caused by MDL-57511 2017-10-02 18:22:58 +01:00
Andrew Nicols 1a6aa52e0f Merge branch 'MDL-60003_master' of git://github.com/dmonllao/moodle 2017-10-02 20:18:21 +08:00
Marina Glancy a56889c800 MDL-60313 libraries: patch xhprof for PHP 7.2 2017-10-02 18:51:39 +08:00
Marina Glancy ffb41a8f8f MDL-60313 libraries: xhprof upgraded to 0.9.4 2017-10-02 18:41:55 +08:00
Ankit Agarwal 4e23b6b207 MDL-60291 libraries: Upgrade maxmind lib
Geoip 2.4.2 -> 2.6.0
MaxMind 1.1.0 -> 1.1.3
2017-10-02 13:47:02 +05:30
Andrew Nicols 8463f6d579 Merge branch 'MDL-60277_master' of git://github.com/dmonllao/moodle 2017-10-02 15:58:00 +08:00
Andrew Nicols 86345473ec Merge branch 'MDL-59241-master' of git://github.com/jleyva/moodle 2017-10-02 15:52:40 +08:00
Andrew Nicols 39195b6aed Merge branch 'MDL-58790' of git://github.com/timhunt/moodle 2017-10-02 15:39:26 +08:00
Juan Leyva b1e896cf2a MDL-59247 mod_workshop: New WS mod_workshop_get_assessment 2017-10-02 09:37:15 +02:00
Juan Leyva 30b54b823a MDL-59246 mod_workshop: New WS get_submission_assessments 2017-10-02 09:36:36 +02:00
Juan Leyva 6e2f4866b0 MDL-59242 mod_workshop: New WS mod_workshop_get_submission 2017-10-02 09:35:06 +02:00
Andrew Nicols 62f44c3ea4 Merge branch 'wip-MDL-60287-master' of git://github.com/marinaglancy/moodle 2017-10-02 15:33:55 +08:00
Juan Leyva 3f08cfc530 MDL-59241 mod_workshop: New WS mod_workshop_get_submissions 2017-10-02 09:33:48 +02:00
Marina Glancy 2a1275479c MDL-60239 libraries: patch Markdown for PHP7.2 2017-10-02 15:32:11 +08:00
Ankit Agarwal 3fede79302 MDL-58546 libraries: Upgrade adodb to v5.20.9 2017-10-02 12:55:47 +05:30
David Monllao 7c37e56fde MDL-60277 report_insights: Pass the prediction as a float 2017-10-02 08:57:01 +02:00
Andrew Nicols 0b55f881f1 Merge branch 'wip-MDL-58548-master' of git://github.com/abgreeve/moodle 2017-10-02 14:47:08 +08:00
Andrew Nicols bc01fbbd81 MDL-59883 behat: Update close button link 2017-10-02 13:05:16 +08:00
Andrew Nicols 1e815600d8 MDL-59883 behat: Check aria-label for button content 2017-10-02 13:05:15 +08:00
Andrew Nicols 2a77813b51 MDL-59882 behat: Update known uses of dialogue CSS 2017-10-02 12:44:37 +08:00
Andrew Nicols 434d7869df MDL-59882 behat: Add newer modal type to selectors 2017-10-02 12:43:16 +08:00
Andrew Nicols 8c0fa3f20a Merge branch 'MDL-58550-master' of git://github.com/ankitagarwal/moodle 2017-10-02 11:57:34 +08:00
Andrew Nicols 91f64fe0ac Merge branch 'MDL-60289-master' of git://github.com/lameze/moodle 2017-10-02 11:32:03 +08:00
Ankit Agarwal c56c1d98a3 MDL-60238 libraries: Upgrade HTML2Text to 4.1.0 2017-10-02 08:43:33 +05:30
Andrew Nicols 1bee636fdd Merge branch 'MDL-60236-master' of git://github.com/ankitagarwal/moodle 2017-10-02 10:31:40 +08:00
Simey Lameze 84d6589e1e MDL-60289 libraries: Upgrade Chart.js to 2.7.0 2017-10-02 10:30:48 +08:00
Andrew Nicols 9c8ab01446 Merge branch 'MDL-60239-master' of git://github.com/ankitagarwal/moodle 2017-10-02 10:21:56 +08:00
Andrew Nicols e38183450f Merge branch 'MDL-60306-master' of git://github.com/junpataleta/moodle 2017-10-02 10:15:07 +08:00
Jun Pataleta 2340579586 MDL-60306 calendar: Fix rrule_manager unit test
* The calculation of the expected date should depend on the comparison
with the start date's date and not it's exact timestamp.
2017-10-02 09:18:37 +08:00
Adrian Greeve 7c1177649d MDL-58548 lib: Update to moodle specific files.
Update to moodle specific files related to the upgrade
of htmlpurifier.
2017-10-02 08:19:40 +08:00
Adrian Greeve 247ff6bc2b MDL-58548 lib: Update htmlpurifier to the latest version. 2017-10-02 08:19:40 +08:00
Matt Clarkson b1eb6dd7f2 MDL-33174 lib/filestorage: Add filename to curl request
While the lack of the filename in curl POST does not
directly affect Moodle, some external API's expect to get
the filename of the original file, which affects plugins
using the CURL class.
2017-10-02 09:27:51 +13:00
Marina Glancy 22abb52bac MDL-60287 scssphp: patch for PHP7.2 compatibility 2017-10-01 11:48:02 +08:00
Marina Glancy 653b2bd351 MDL-60287 scssphp: upgraded to 0.6.7 2017-10-01 11:47:58 +08:00
Eloy Lafuente (stronk7) bc4067bfae MDL-60298 composer: move to guzzle ^6.3 towards PHP 7.2 support 2017-09-30 10:30:12 +02:00
sam marshall 2d94d4ea7c MDL-59913 Global search: Allow search of non-enrolled courses 2017-09-29 16:30:37 +01:00
Juan Leyva 7b1c55ead3 MDL-58714 tool_mobile: Return mobile auth plugins via public AJAX ws
External function
tool_mobile::tool_mobile_get_plugins_supporting_mobile is now available
via AJAX for not logged users.
When called via AJAX without a user session the function will return
only auth plugins.
2017-09-29 10:42:18 +02:00
Andrew Nicols 05f184bb7f MDL-59890 calendar: Add ability to add category events 2017-09-29 08:57:08 +08:00
Andrew Nicols 7b1e5e6f3a MDL-59890 calendar: Add categoryid to DB 2017-09-29 08:57:08 +08:00
ddelblanco 4325a4d23a MDL-60276 LTI Content Item: does not populate tool url when https 2017-09-28 09:54:35 -07:00
David Monllao 698f361702 MDL-60275 analytics: Specify missing prediction_action constructor arg 2017-09-28 18:17:36 +02:00
AMOS bot 48f515a2ec Automatically generated installer lang files 2017-09-29 00:05:44 +08:00
David Monllao aa1b04dc81 MDL-60003 analytics: Skip samples with only null values 2017-09-28 16:56:33 +02:00
Juan Leyva 41447216ea MDL-60264 media_vimeo: Support restricted videos by domain in the app
As reported in MOBILE-1511, Vimeo videos restricted by domain are not
working in the app.

The reason is simple: The restriction is done by the Referer HTTP
header, when a video is embedded via an iframe in the Moodle Site,
Vimeo checks the Referer to see if it matches the specified domain.

When the video is embedded in the mobile app, the Referer is the one
provided by the app Cordova container so Vimeo won't allow playing the
video.

The solution is to add an extra iframe on top of the Vimeo embedding
one (like a proxy), the app will display an iframe pointing to a page
in the site that will include the iframe pointing to vimeo so the
restriction check will work.
2017-09-28 10:00:21 +02:00
Jake Dallimore 23ab0d7788 weekly release 3.4dev 2017-09-28 14:27:24 +08:00
Ankit Agarwal 4f3b046cf9 MDL-60236 libraries: Upgrade simplepie to 1.5.0 2017-09-28 10:19:33 +05:30
Tim Lock 1d6964dc31 MDL-59843 mod_choice: Fix horizontal display mode
This re-implements the feature in the boost and bootstrap themes.
2017-09-28 12:22:56 +10:00
Eloy Lafuente (stronk7) 591d42b073 Merge branch 'MDL-60243-master' of https://github.com/snake/moodle 2017-09-27 20:38:50 +02:00
Vervoort, Claude 18ae59bea1 MDL-60253 lti: also consider securetoolurl for URL match 2017-09-27 13:26:42 -04:00
Andrew Nicols 839aa86f0d Merge branch 'wip-MDL-59495-master' of git://github.com/marinaglancy/moodle 2017-09-27 15:11:20 +08:00
Ankit Agarwal 503ce10cad MDL-60239 libraries: upgrade MD library to 1.7.0 2017-09-27 12:28:20 +05:30
Marina Glancy 3ec7d2d97f MDL-59495 registration: do not use the word 'hub' in strings
Either say 'server', or 'Moodle.net' or change the wording. Registration is only possible on Moodle.net now
and it should no longer be called 'hub'.
2017-09-27 13:56:50 +08:00
Marina Glancy 53f8047316 MDL-59495 lang_hub: deprecate all unused strings 2017-09-27 13:56:50 +08:00
Marina Glancy 5189f57f38 MDL-59495 block_community: search courses on moodle.net only
Remove support for alternative hubs and hub selector
2017-09-27 13:56:50 +08:00
Marina Glancy 8df792ee8a MDL-59495 course: publish courses on moodle.net only
Remove support for alternative hubs
2017-09-27 13:56:47 +08:00
Jake Dallimore c248037acb Merge branch 'MDL-59780-master' of git://github.com/ankitagarwal/moodle 2017-09-27 13:34:56 +08:00
Marina Glancy ef467fff04 MDL-59495 registration: register site on moodle.net only
Remove support for alternative hubs
2017-09-27 13:07:37 +08:00
Marina Glancy da48baa2cd MDL-59495 moodlenet: move all moodlenet code into new namespace
Support for alternative hubs will be removed in 3.4
We can move all methods working with registration, course publishing and moodle.net
communication into separate namespace
2017-09-27 13:07:33 +08:00
Jake Dallimore 6fcf5b679d Merge branch 'MDL-59940-master' of git://github.com/andrewnicols/moodle 2017-09-27 12:56:56 +08:00
Andrew Nicols 529e877614 MDL-59940 calendar: Fix random behat fails when changing month 2017-09-27 12:00:33 +08:00
Andrew Nicols e0946346ca MDL-59940 calendar: Fix behat test for lookahead feature 2017-09-27 12:00:32 +08:00
Ankit Agarwal 5e2e866d97 MDL-59780 mathjax: Make sure mathjax url doesn't become empty 2017-09-27 09:14:20 +05:30
Jake Dallimore 54ec93885c MDL-60243 competencies: fix ordering bug in api_test unit test
list_user_competencies_to_review() orders by shortname, but the test
creates 2 user competencies with the same short name, resulting in
unpredictable results. This patch fixes that.
2017-09-27 09:19:32 +08:00
Eloy Lafuente (stronk7) 4da0f10286 Merge branch 'MDL-59931_master' of https://github.com/ctam/moodle 2017-09-27 01:16:10 +02:00
Eloy Lafuente (stronk7) 0b4eef24c2 Merge branch 'MDL-60005-master' of git://github.com/jleyva/moodle 2017-09-27 00:54:09 +02:00
Alexander Bias f380743303 MDL-60234 core: Disable admin warning for developemnt libs 2017-09-26 22:05:19 +02:00
Eloy Lafuente (stronk7) 25759080d6 Merge branch 'MDL-60156-master' of git://github.com/andrewnicols/moodle 2017-09-26 20:36:25 +02:00
Eloy Lafuente (stronk7) 536572cf0b Merge branch 'MDL-59645-master-flickr' of git://github.com/mudrd8mz/moodle 2017-09-26 19:29:40 +02:00
Tim Hunt 5cbb7bf887 MDL-58790 quiz editing: translate hard-coded new heading string 2017-09-26 11:17:27 +01:00
Juan Leyva 9a62cd02db MDL-60233 mod_assign: Avoid HTML in the item field of external warnings
The item field is defined as PARAM_TEXT (no HTML tags allowed except
for multilang).
Using the s that add quotes to HTML characters we avoid potential Web
Services invalid parameters errors.
2017-09-26 12:12:50 +02:00
Alexander Bias 2e4d7a92b5 MDL-49005 core: Remove /tags.txt 2017-09-26 10:18:25 +02:00
Andrew Nicols 6d7953f2fe Merge branch 'MDL-60141-master' of git://github.com/jleyva/moodle 2017-09-26 15:47:56 +08:00
Jake Dallimore 50f6574b67 Merge branch 'MDL-60121-multi-enrol-backup' of https://github.com/mpetrowi/moodle 2017-09-26 15:22:33 +08:00
Andrew Nicols 2d79d62249 Merge branch 'MDL-60197_master' of git://github.com/markn86/moodle 2017-09-26 09:56:54 +08:00
Andrew Nicols 9eeb4a55f4 Merge branch 'master' of https://github.com/ConnorSheremeta/moodle 2017-09-26 08:16:08 +08:00
Eloy Lafuente (stronk7) c9d9acb289 Merge branch 'MDL-59505-master-gdrive' of git://github.com/mudrd8mz/moodle 2017-09-26 01:29:35 +02:00
Eloy Lafuente (stronk7) 18348b0781 Merge branch 'MDL-57115-master' of git://github.com/ankitagarwal/moodle 2017-09-26 01:11:21 +02:00
Eloy Lafuente (stronk7) e03484eec5 Merge branch 'MDL-59940-master' of git://github.com/andrewnicols/moodle 2017-09-25 23:07:05 +02:00
Eloy Lafuente (stronk7) 3f96ff0505 Merge branch 'MDL-60158-master' of git://github.com/andrewnicols/moodle 2017-09-25 22:06:00 +02:00
Carson Tam 43f122d32c MDL-59931 mod_quiz: Fixing incorrect pagination count. 2017-09-25 12:46:52 -07:00
Eloy Lafuente (stronk7) c01beb0cdf Merge branch 'wip-MDL-60167-master' of git://github.com/marinaglancy/moodle 2017-09-25 19:53:48 +02:00
Shamim Rezaie f061709e62 MDL-57228 quiz editing: unit test for the move case 2017-09-25 12:54:05 +01:00
Tim Hunt 6c73dd9593 MDL-57228 quiz: fix editing when there are one-question sections
Fix based on a patch by Joost van der Borg <j.van.der.borg@ssr.nl>.
2017-09-25 12:16:12 +01:00
Andrew Nicols abf00dad41 MDL-59940 calendar: Fix eslint errors 2017-09-25 11:52:39 +08:00
Andrew Nicols bc2cca3a0d MDL-59940 calendar: Improve event start time default
Create events on the first day of the month when not in the current
month.
2017-09-25 11:52:08 +08:00
Andrew Nicols 3fb45f57e4 MDL-60156 calendar: Replace add event button template 2017-09-25 11:47:55 +08:00
Andrew Nicols 39ad9cf333 MDL-60158 calendar: Fix footer options when viewing as guest 2017-09-25 11:44:32 +08:00
Eloy Lafuente (stronk7) 4d35a19007 MDL-45366 behat: automate MDLQA-2425
It covers all the original cases and more:
- chapters up and down.
- subchapters up and down within chapter and out from chapter.
- 2nd up and before last down behaviors.
2017-09-25 04:15:05 +02:00
Marina Glancy 9d18cfd0e8 MDL-60167 upgrade: Fix duplicate site registrations 2017-09-24 18:46:41 +08:00
Dan Poltawski 22e99d61ca weekly release 3.4dev
"Parting is such sweet sorrow."

xxx
2017-09-22 12:47:58 +01:00
Dan Poltawski d501d4a246 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-09-22 12:43:10 +01:00
David Mudrák b69b6627e2 MDL-60210 admin: Check if the site needs upgrade on admin/search.php too
The page admin/search.php is the default administration page in Boost
based themes. It should behave the same as admin/index.php or
my/index.php and check if the site needs upgrade.
2017-09-22 13:24:16 +02:00
Damyon Wiese e39df1faeb MDL-60046 user: Apply user filters immediately. 2017-09-22 14:53:27 +08:00
Jun Pataleta d38bb774ef Merge branch 'MDL-37810-master-fix' of https://github.com/snake/moodle 2017-09-22 10:54:40 +08:00
David Mudrák e0a903243b MDL-59505 oauth2: Fix storage of access controlled links
When files are copied into the system account's drive, they are put into
folders respecting the structure of contexts. Folder names were based on
context names only and so were likely to collide (such as with users
with the same name).

The patch ads context instance identifiers to the name so that they can
be identified more reliably.
2017-09-21 22:17:03 +02:00
Dan Poltawski 07cadbd794 Merge branch 'MDL-53169' of https://github.com/stronk7/moodle 2017-09-21 19:03:55 +01:00
Eloy Lafuente (stronk7) 7ab0993265 MDL-53169 database: use bound empty strings for cross-db 2017-09-21 19:27:59 +02:00
AMOS bot b180ff1a5a Automatically generated installer lang files 2017-09-22 00:07:52 +08:00
AMOS bot f5b892000e Automatically generated installer lang files 2017-09-22 00:07:51 +08:00
Jake Dallimore b7e9f1cc42 MDL-37810 roles: fix profile roles logic to include all roles
If the user has the role:assign capability then the list of profile roles
will include any role assigned in the context or above.
2017-09-21 22:23:41 +08:00
Ankit Agarwal c7f9a59f3d MDL-58550 libraries: Upgrade matthiasmullie libraries 2017-09-21 16:46:24 +05:30
Juan Leyva e71687baf9 MDL-60198 webservice: Add missing MOODLE_INTERNAL checks 2017-09-21 13:01:28 +02:00
Mark Nelson 141530b9dd MDL-60197 mod_data: not always necessary to show 'select all/none' link 2017-09-21 17:51:23 +08:00
AMOS bot 26a0d8a13b Automatically generated installer lang files 2017-09-21 00:05:52 +08:00
Jun Pataleta 0e57965154 Merge branch 'MDL-59750-master' of git://github.com/lameze/moodle 2017-09-20 18:45:37 +08:00
Nadav Kavalerchik ad4cba91a4 MDL-60182 Glossary: Fix print icon label in RTL mode 2017-09-20 12:09:05 +03:00
Eloy Lafuente (stronk7) 186a8c1572 Merge branch 'MDL-43176' of https://github.com/NeillM/moodle 2017-09-20 10:12:37 +02:00
Simey Lameze c602220798 MDL-59750 core_calendar: fix minithree logic on get_view 2017-09-20 13:25:19 +08:00
Simey Lameze 563ae695dc MDL-59750 calendar: fix logic on subscription template 2017-09-20 12:51:11 +08:00
Simey Lameze d85651d82c MDL-59750 core_calendar: remove show_day method 2017-09-20 12:51:02 +08:00
Simey Lameze 63b13467a9 MDL-59750 calendar: organise exporters code 2017-09-20 12:50:52 +08:00
Simey Lameze 5a35675e53 MDL-59750 calendar: add edit and delete url to exporter 2017-09-20 12:50:43 +08:00
Simey Lameze 146d371344 MDL-59750 calendar: render day view using templates 2017-09-20 12:50:12 +08:00
Simey Lameze ac671b3739 MDL-59750 core_calendar: rename template month_header to header 2017-09-20 12:48:26 +08:00
Simey Lameze 578eb78981 MDL-59750 core_calendar: add next and previous days handling methods 2017-09-20 12:47:38 +08:00
Simey Lameze 8afe9f8a14 MDL-59750 core_calendar: better handling of event subscription 2017-09-20 12:47:27 +08:00
Eloy Lafuente (stronk7) e98f05340d Merge branch 'MDL-43176' of https://github.com/NeillM/moodle 2017-09-19 23:10:31 +02:00
Eloy Lafuente (stronk7) 77b767c362 Merge branch 'MDL-60132-master' of git://github.com/jleyva/moodle 2017-09-19 22:34:39 +02:00
Dan Poltawski be5d95fc74 Merge branch 'MDL-59920-master' of git://github.com/andrewnicols/moodle 2017-09-19 18:14:18 +01:00
Jun Pataleta 7326663237 Merge branch 'MDL-53169-master' of https://github.com/sammarshallou/moodle 2017-09-19 22:26:30 +08:00
David Mudrák 05e77ab8f0 MDL-59645 flickrlib: Show debug notice when using legacy authentication 2017-09-19 14:44:41 +02:00
David Mudrák f4d1aa9573 MDL-59645 portfolio_flickr: Make the Flickr portfolio export work again
The patch modifies the Flickr portfolio to make it use of the new oauth1
based client.
2017-09-19 14:44:41 +02:00
David Mudrák 34db9e9342 MDL-59645 repository_flickr: Drop legacy auth tokens and nsids
The values stored in these user preferences were valid for the old
flickr auth mechanism and are not usable any more. The new oauth1 based
version needs to store both the token (in the flickr_access_token
preference) and the token secret (flickr_access_token_secret). The new
version does not need to store the user's nsid.

The cryptic names of these legacy settings are a result of how dealing
with user preferences was originally implemented.
2017-09-19 14:44:41 +02:00
David Mudrák d841bbe90d MDL-59645 repository_flickr: Make the Flickr repository work again
The patch makes the Flickr repository use the new oauth1 based client.
Beside that, other improvements include:

* Does not attempt to guess the photo URL any more. Instead uses
  url_sq and url_o extras of the flickr.photos.search call.
* The photos.search does not return the information about the photo size
  so we set it to null (previously was returned as 'unknown' which made
  it be displayed as zero).
* Does not perform additional API request to obtain the manage URL, uses
  https://www.flickr.com/photos/organize instead.
2017-09-19 14:44:41 +02:00
David Mudrák f438cca1a0 MDL-59645 oauth1: Implement a new simple Flickr API client
Flickr has switched over to OAuth 1.0 based authentication. This is a
simple client allowing Moodle to perform authenticated calls to the
Flickr API.
2017-09-19 14:44:41 +02:00
David Mudrák a650517a41 MDL-59645 oauth1: Improve reporting of token errors
Provide a more meaningful error message and debuginfo allowing to
diagnose what is going on. In case of flickr, this is typically thrown
when flickr API responses with their "bad, bad panda" HTML page instead
of the expected reply.
2017-09-19 14:44:41 +02:00
David Mudrák f2252e9501 MDL-59645 oauth1: Pass oauth_callback only to obtain the request token
As per the oauth1 spec, the oauth_callback is supposed to be passed only
when obtaining the initial request token. The client used to append it
automatically to all requests which broke the request signature.
2017-09-19 14:44:41 +02:00
Dan Poltawski 6bfd4195be MDL-57886 plagarism: add note about behaviour change 2017-09-19 13:40:16 +01:00
Dan Poltawski ecf8920afd Merge branch 'master_MDL-57886' of https://github.com/danmarsden/moodle 2017-09-19 13:40:12 +01:00
sam marshall 22ef155087 MDL-53169 Lib: enrol_get_my_courses can list available courses too 2017-09-19 12:19:49 +01:00
Jun Pataleta 66502b8180 Merge branch 'MDL-60048-master' of https://github.com/Kathrin84/moodle 2017-09-19 17:21:40 +08:00
Dan Poltawski 708100cbef Merge branch 'MDL-59277-master' of https://github.com/snake/moodle 2017-09-19 09:48:30 +01:00
Jun Pataleta 00b7632833 Merge branch 'MDL-59922-master-on-int' of git://github.com/ryanwyllie/moodle 2017-09-19 16:38:08 +08:00
Ryan Wyllie c35613ff28 MDL-59922 mod_choice: allow editing of open and close events 2017-09-19 08:21:53 +00:00
Dan Poltawski 5b1d6143be Merge branch 'MDL-59507-master' of https://github.com/snake/moodle 2017-09-19 09:17:47 +01:00
Dan Poltawski a1b8b9c9b5 Merge branch 'MDL-59960_mimetype' of https://github.com/mrmark/moodle 2017-09-19 09:10:24 +01:00
Mark Nelson 866939c3cc MDL-60130 mod_*: removed unused 'tagtitle' string 2017-09-19 14:54:39 +08:00
Ryan Wyllie 39fe5929c6 MDL-59922 calendar: allow editing of activity events 2017-09-19 06:48:57 +00:00
Dan Poltawski f5cc5b321d Merge branch 'MDL-60018-master' of git://github.com/jleyva/moodle 2017-09-19 07:27:48 +01:00
Dan Poltawski 363d81514e Merge branch 'MDL-60045_master-v2' of git://github.com/markn86/moodle 2017-09-19 07:16:02 +01:00
Jun Pataleta c8d20b2a73 Merge branch 'MDL-60065-master' of git://github.com/andrewnicols/moodle 2017-09-19 13:38:26 +08:00
Andrew Nicols 5ff6114623 MDL-60065 calendar: Deprecate calendar_get_mini and friends
This is no longer used and should be deprecated.
2017-09-19 13:21:58 +08:00
Mark Nelson fe2142952f MDL-60045 core_user: allow roleid to be passed via URL 2017-09-19 11:40:10 +08:00
Eloy Lafuente (stronk7) db7083c4c4 Merge branch 'MDL-60105_master' of git://github.com/dmonllao/moodle 2017-09-19 01:55:12 +02:00
Eloy Lafuente (stronk7) 3286e94362 Merge branch 'MDL-52131-master' of git://github.com/andrewnicols/moodle 2017-09-19 01:53:07 +02:00
Eloy Lafuente (stronk7) 66286d5768 Merge branch 'MDL-60094-master' of https://github.com/abias/moodle 2017-09-19 01:50:37 +02:00
Eloy Lafuente (stronk7) dffca49945 Merge branch 'MDL-37810-master' of https://github.com/snake/moodle 2017-09-19 01:45:29 +02:00
Eloy Lafuente (stronk7) 00045100d0 Merge branch 'MDL-53244_master' of git://github.com/Chocolate-lightning/moodle 2017-09-19 01:42:17 +02:00
Eloy Lafuente (stronk7) 0238520084 Merge branch 'MDL-59244-master' of git://github.com/jleyva/moodle 2017-09-19 01:36:56 +02:00
Eloy Lafuente (stronk7) 5c45e6038c Merge branch 'MDL-59245-master' of git://github.com/jleyva/moodle 2017-09-19 01:33:08 +02:00
Jun Pataleta 77b5d07e31 Merge branch 'MDL-59900_master' of git://github.com/markn86/moodle 2017-09-18 16:03:46 +08:00
Jun Pataleta 58cd2bfd82 Merge branch 'MDL-59995_master' of git://github.com/markn86/moodle 2017-09-18 14:39:46 +08:00
Jun Pataleta bf2742f2f2 Merge branch 'MDL-60065-master' of git://github.com/andrewnicols/moodle 2017-09-18 13:07:45 +08:00
Andrew Nicols 6038d62625 MDL-60065 calendar: Add threemonth view 2017-09-18 12:04:48 +08:00
Andrew Nicols b014688581 MDL-60065 calendar: Specify optional replacement node 2017-09-18 12:04:48 +08:00
Andrew Nicols fee025ecbb MDL-60065 calendar: Control navigation on mini 2017-09-18 12:04:48 +08:00
Andrew Nicols b9ff690eb6 MDL-60065 calendar: Update side calendar when on CRUD events 2017-09-18 12:04:48 +08:00
Jun Pataleta 23277c9f8f Merge branch 'MDL-60125-master' of git://github.com/andrewnicols/moodle 2017-09-18 11:49:30 +08:00
Andrew Nicols 2dbfb484aa MDL-59920 calendar: Allow user to choose if deleting one or all events 2017-09-18 11:48:51 +08:00
Andrew Nicols f58424c70c MDL-60125 calendar: Switch to navigation by YMD 2017-09-18 11:44:25 +08:00
Jake Dallimore 434d138c2a MDL-37810 roles: added manager case to test_get_user_roles_in_course()
Managers can assign managers, and should be able to see that role on
the course profile page, as a link to the participants page.
2017-09-18 10:16:08 +08:00
Jun Pataleta afec1107d2 Merge branch 'MDL-59994-master-v2' of git://github.com/lameze/moodle 2017-09-18 09:10:35 +08:00
Jake Dallimore 5d0cc05b20 MDL-59277 navigation: add support for container type in get_css_type() 2017-09-18 09:03:51 +08:00
Jake Dallimore b8c31dfe6d MDL-59507 forms: unit tests confirming that .xxx is an invalid extension
Modified:
- test_data_for_browser()
- test_unknow_file_types()
2017-09-18 09:03:00 +08:00
Jake Dallimore 405cbc09ba MDL-59507 forms: accepted file types won't allow the .xxx extension
- Modified get_filetypes_browser_data() to exclude this extension.
- Server side form validation blocks this extension too.
2017-09-18 09:03:00 +08:00
Jake Dallimore da655d9ee4 MDL-37810 roles: get_user_roles_in_course returns all relevant roles
Fixed to return both those roles in the profileroles site policy and
any roles which the current user can assign in the respective context,
meaning a user can see a link to any role they can assign.
2017-09-18 08:59:29 +08:00
Jake Dallimore d07006f1fd MDL-37810 core_user: fix the user renderer's usage of get_profile_roles 2017-09-18 08:59:29 +08:00
Jake Dallimore 42a2c4794d MDL-37810 roles: unit tests for get_profile_roles() 2017-09-18 08:59:29 +08:00
Jake Dallimore 7b30582669 MDL-37810 roles: fix get_profile_roles() so it returns assignable roles 2017-09-18 08:59:29 +08:00
Simey Lameze 2fc95ecf80 MDL-59994 competency: improve user competency unit test 2017-09-18 08:32:12 +08:00
Simey Lameze 8c13028c9d MDL-59994 competency: dont list competencies from deleted users 2017-09-18 08:32:12 +08:00
Eloy Lafuente (stronk7) 1ae99ec327 MDL-60150 install: update the list of stale files for 3.4 2017-09-17 13:27:28 +02:00
Neill Magill dbe7012475 MDL-43176 enrol_meta: enrol_meta_sync query is inefficient
Before this change the nested select did a full table scan of
either the enrol or user_enrolments table. This meant that
on large sites the query could be very slow.

This change ensures that there are no full table scans which
makes the query much more efficient.

In my testing the all courses version of the query changed
from ~15 s to ~ 5 s; the singles course version changed
from ~15 s to > 0.1 s
2017-09-15 14:12:32 +01:00
Juan Leyva ca90ed2109 MDL-60141 auth_email: Fix sitepolicy field type in get_signup_settings 2017-09-15 11:50:07 +02:00
Juan Leyva 4fe55987e1 MDL-60005 tool_mobile: Return sitepolicy in tool_mobile_get_config WS 2017-09-15 11:17:12 +02:00
Dan Poltawski 91cbdda6af weekly release 3.4dev 2017-09-15 08:49:23 +01:00
Dan Poltawski 3ec75fb64d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-09-15 08:49:21 +01:00
Davo Smith 8cab0a2571 MDL-60012 form: fix 'neq' disabledif regression 2017-09-14 16:28:53 +01:00
Matt Petro f5ea99bf6e MDL-60121 enrol: Fix enrol plugin backup
Allow more than one enrol plugin to add backup structure.
2017-09-14 10:39:09 -04:00
Alexander Bias af25a2b739 MDL-60094 administration: Add CLI script to kill all sessions 2017-09-14 16:03:39 +02:00
Dan Poltawski f125ce6522 Merge branch 'MDL-58835_master-fix2' of https://github.com/dmonllao/moodle 2017-09-14 12:25:47 +01:00
David Monllao 3f6933d896 MDL-58835 report_insights: Force window reload when no more predictions 2017-09-14 12:55:03 +02:00
Juan Leyva 6703e031f0 MDL-60132 tool_mobile: Handle correctly moodle_url instances
In Moodle there are some functions that can be overridden by themes.
Some themes are returning incorrect value types in those functions
2017-09-14 12:17:21 +02:00
Juan Segarra Montesinos 53fa2a5194 MDL-52131 qbehaviour: respect manualcomment format
The format of a manual comment in a question is respected when
the preferred editor is "Plain text area".
2017-09-14 13:30:35 +08:00
Ankit Agarwal f3a3e23448 MDL-57115 blocks: Cleanup block_messages instances and other configs 2017-09-14 09:57:03 +05:30
Jun Pataleta a2bcf808d9 Merge branch 'wip-MDL-59775-fix' of https://github.com/marinaglancy/moodle 2017-09-14 12:17:14 +08:00
Marina Glancy f9af542769 MDL-59775 forms: css correction 2017-09-14 12:05:12 +08:00
Dan Marsden 58496fe703 MDL-57886 plagiarism: Pass raw unformatted content to get_links. 2017-09-14 14:48:07 +12:00
Jun Pataleta afe9093748 Merge branch 'MDL-59926' of https://github.com/stronk7/moodle 2017-09-14 09:47:22 +08:00
Eloy Lafuente (stronk7) 583b297d6c MDL-59926 behat: Make the search bootstrapbase + boost compatible
By combining the title attribute search with the "icon" class instead
of old "img" or new "i" elements we achieve that without too much
complication.
2017-09-14 01:26:30 +02:00
Matt Clarkson 41dfbb6235 MDL-60105 mod_folder: Set timemodified on change
Changes to the folder contents were not resulting in the
timemodied of the folder activity being set. This prevented
global search from picking up the changes.
2017-09-13 13:51:49 +02:00
Matt Clarkson 3043fe924d MDL-60105 search: Fix fatal error
If an indexed file has been modified or deleted the search index
will still reference the old file. Remove the file from search
results until the change has been indexed.
2017-09-13 13:51:30 +02:00
Eloy Lafuente (stronk7) c06e187aaf Merge branch 'MDL-59243-master' of git://github.com/jleyva/moodle 2017-09-13 12:09:52 +02:00
Juan Leyva 4834e127eb MDL-59243 mod_workshop: Return creation status in create_submission WS 2017-09-13 11:41:28 +02:00
Dan Poltawski cf7430f07c Merge branch 'MDL-58835_master-fix' of git://github.com/dmonllao/moodle 2017-09-13 09:04:39 +01:00
David Monllao a6edbef556 MDL-58835 report_insights: Fix redirections 2017-09-13 09:49:14 +02:00
Mark Nelson 9a1067f389 MDL-59900 core_admin: moved analytic links to their own category 2017-09-13 11:40:40 +08:00
AMOS bot 648e9e1b17 Automatically generated installer lang files 2017-09-13 00:06:29 +08:00
Dan Poltawski 59f431e8a7 Merge branch 'MDL-59084-master' of git://github.com/andrewnicols/moodle 2017-09-12 15:28:26 +01:00
Andrew Nicols 7e4c4b6f1f MDL-59084 core: Allow adhoc tasks to run as a specified user 2017-09-12 21:58:50 +08:00
Dan Poltawski 77d2c7b937 Merge branch 'MDL-60039_master' of git://github.com/dmonllao/moodle 2017-09-12 11:28:59 +01:00
David Monllao d08f177042 MDL-60039 search: Force messaging search areas to be reindexed 2017-09-12 11:57:00 +02:00
Dan Poltawski 68e3c5f71b Merge branch 'MDL-59929' of git://github.com/timhunt/moodle 2017-09-12 10:54:11 +01:00
Eloy Lafuente (stronk7) 2c821c1b82 Merge branch 'wip-MDL-59775-master' of git://github.com/marinaglancy/moodle 2017-09-12 11:44:47 +02:00
Mark Nelson 391663ce28 MDL-59995 core_admin: added setting to define Python bin path 2017-09-12 17:33:16 +08:00
Dan Poltawski 8e085aacc0 Merge branch 'MDL-58835_master' of git://github.com/dmonllao/moodle 2017-09-12 09:44:56 +01:00
Eloy Lafuente (stronk7) 776ca0238e Merge branch 'MDL-59761-master' of git://github.com/danpoltawski/moodle 2017-09-12 10:41:17 +02:00
David Monllao 0500bc49f1 Merge branch 'MDL-57407-master' of git://github.com/jleyva/moodle 2017-09-12 10:33:30 +02:00
Jun Pataleta d887e98b56 Merge branch 'MDL-59243-master' of git://github.com/jleyva/moodle 2017-09-12 16:29:43 +08:00
Dan Poltawski e970f8b3d3 MDL-59761 eslint: update to v4.6.1
The new versions got released while this issue was waiting for peer
review.
2017-09-12 09:24:10 +01:00
Eloy Lafuente (stronk7) bf30e4dc86 Merge branch 'MDL-60086-master' of https://github.com/snake/moodle 2017-09-12 09:56:23 +02:00
Jun Pataleta 63b384d02a Merge branch 'MDL-59919-master' of git://github.com/ryanwyllie/moodle 2017-09-12 14:58:06 +08:00
David Monllao dc9f39bfc3 Merge branch 'MDL-59399-master' of git://github.com/ryanwyllie/moodle 2017-09-12 08:12:26 +02:00
David Monllao 651f1a1703 Merge branch 'MDL-59831_master' of git://github.com/markn86/moodle 2017-09-12 08:07:52 +02:00
David Monllao 2cef0d3ade Merge branch 'MDL-59867-master' of git://github.com/damyon/moodle 2017-09-12 07:10:46 +02:00
David Monllao fb6ff3c553 Merge branch 'MDL-59879-master' of https://github.com/abias/moodle 2017-09-12 07:04:34 +02:00
Jake Dallimore 9f813ab5df MDL-60086 travis: Bumping the postgres version to 9.6
3.2 was bumped to 9.6, this makes the change across the board.
2017-09-12 09:33:52 +08:00
Jun Pataleta 311a0b283b Merge branch 'MDL-59392-master' of git://github.com/andrewnicols/moodle 2017-09-12 08:55:47 +08:00
Andrew Nicols a7bf76cee8 MDL-59392 calendar: Remove bad behat tag 2017-09-12 08:34:40 +08:00
Eloy Lafuente (stronk7) e658430a88 Merge branch 'MDL-59761-master' of git://github.com/danpoltawski/moodle 2017-09-12 01:43:19 +02:00
Eloy Lafuente (stronk7) 2e6112dd3f Merge branch 'MDL-59926-master' of https://github.com/sammarshallou/moodle 2017-09-12 00:27:49 +02:00
Eloy Lafuente (stronk7) 69cfd26e15 Merge branch 'MDL-59478-master' of git://github.com/junpataleta/moodle 2017-09-12 00:21:48 +02:00
Eloy Lafuente (stronk7) 0071665686 Merge branch 'wip-MDL-59808-master' of git://github.com/marinaglancy/moodle 2017-09-12 00:13:28 +02:00
Eloy Lafuente (stronk7) f20f9448f7 Merge branch 'MDL-60025-master' of git://github.com/jleyva/moodle 2017-09-11 23:50:36 +02:00
Eloy Lafuente (stronk7) 6e49ef0d94 Merge branch 'MDL-59934-master' of git://github.com/ryanwyllie/moodle 2017-09-11 23:19:48 +02:00
AMOS bot 85877b75d7 Automatically generated installer lang files 2017-09-12 00:08:23 +08:00
Dan Poltawski 4d4c5992ee Merge branch 'MDL-59392-master' of git://github.com/andrewnicols/moodle 2017-09-11 14:39:43 +01:00
Dan Poltawski 52516f2b19 Merge branch 'MDL-35849-master' of git://github.com/ankitagarwal/moodle 2017-09-11 14:18:51 +01:00
Dan Poltawski 743c937dae Merge branch 'MDL-59459_Increase_file_indexing_coverage' of https://github.com/mattporritt/moodle 2017-09-11 14:01:40 +01:00
Jun Pataleta eca853c8eb Merge branch 'MDL-59977_master' of git://github.com/markn86/moodle 2017-09-11 17:18:16 +08:00
Jun Pataleta 02e10f8592 Merge branch 'MDL-60031-master' of git://github.com/andrewnicols/moodle 2017-09-11 13:56:56 +08:00
Jun Pataleta dd6e17c3b6 Merge branch 'wip-MDL-55849-master' of git://github.com/abgreeve/moodle 2017-09-11 13:26:50 +08:00
Mark Nelson 32e5109d7f MDL-59831 core_user: only set default group when necessary 2017-09-11 12:47:25 +08:00
Mark Nelson 580a5588f1 MDL-59831 core_user: show all groups in select when in visible groups 2017-09-11 12:47:25 +08:00
Andrew Nicols 7aaca085fb MDL-59392 calendar: Deprecate old event filters 2017-09-11 12:45:47 +08:00
Andrew Nicols fc60d3194f MDL-59392 calendar: Apply event filters to main calendar view 2017-09-11 12:45:47 +08:00
Andrew Nicols c8b6e9ab34 MDL-59392 calendar: Switch to templates in the cal block
This commit adds a set of templates for the calendar month block, and
the events filter. The same data exporters used in the main calendar
view are utilised and the same logic.

Some additional data was added to the exporters, and in the long term
this will be used in the main monthly view so I did not feel it was
prudent to strip it out into a different view of the model.

AMOS BEGIN
 MOV [monthnext,access],[monthnext,calendar]
AMOS END
2017-09-11 12:45:46 +08:00
Mark Nelson 93b47710ac MDL-59977 core: do not directly check 'viewparticipant' capability 2017-09-11 12:44:27 +08:00
Jun Pataleta fb1af0797c Merge branch 'MDL-35668-master-fix' of git://github.com/junpataleta/moodle 2017-09-11 11:34:00 +08:00
Jun Pataleta 68b998906e MDL-35668 phpunit: Add filebrowser test folder to phpunit.xml 2017-09-11 11:24:51 +08:00
Jun Pataleta 4dfc2d19e7 Merge branch 'wip-MDL-35668-master' of git://github.com/marinaglancy/moodle 2017-09-11 11:01:41 +08:00
Marina Glancy a2502f6581 MDL-59775 mod_feedback: use vertical forms 2017-09-11 11:00:51 +08:00
Marina Glancy 3dee4faec4 MDL-59775 forms: add option to display any form vertical 2017-09-11 11:00:48 +08:00
Marina Glancy 032674eebc MDL-59775 forms: add femptylabel class to els without labels
This class was present in clean/more but was forgotted in boost
2017-09-11 10:33:48 +08:00
Andrew Nicols 41fa6a24be MDL-59392 calendar: Stop polluting history with useless URLs 2017-09-11 10:00:50 +08:00
Andrew Nicols 6ff225f57e MDL-59392 calendar: Correct the next period (add vs sub) 2017-09-11 10:00:50 +08:00
Andrew Nicols 39e40fda71 MDL-59392 calendar: Add the calendar info to the exporter 2017-09-11 10:00:49 +08:00
Andrew Nicols fb9be27127 MDL-59392 calendar: Split day exporter to week exporter 2017-09-11 10:00:45 +08:00
Andrew Nicols 2281a835c9 MDL-59392 calendar: Move template to parent Node 2017-09-11 09:14:36 +08:00
Andrew Nicols 6397ec5452 MDL-59392 calendar: ViewManager should take a root 2017-09-11 09:13:47 +08:00
Ankit Agarwal 898ba89b22 MDL-57115 blocks: Remove block_messages from core 2017-09-10 21:41:36 +05:30
Juan Leyva 84c50d1cc4 MDL-57407 mod_glossary: Return ratings in external functions 2017-09-08 13:49:12 +02:00
Juan Leyva 26d8bceac2 MDL-57407 mod_data: Return ratings in mod_data_get_entry 2017-09-08 13:49:10 +02:00
Juan Leyva b7ce46df3f MDL-57407 mod_forum: Return ratings in external functions
External function get_forum_discussion_posts now returns ratings.
2017-09-08 13:49:09 +02:00
Juan Leyva bb7c514845 MDL-57407 core_rating: Add new external util class for handling ratings
This util class handles all the tasks related to retrieve and format
ratings for external functions.
2017-09-08 13:49:07 +02:00
David Knuplesch 3b3535c7ea MDL-55358 mod_lti: Add group variable Moodle.Person.userGroupIds 2017-09-08 11:00:52 +02:00
Ryan Wyllie 02e091b1f3 MDL-59934 calendar: remove more button from event form modal 2017-09-08 02:45:54 +00:00
Mathew May 477ab6f808 MDL-53244 login: Add error message for recaptcha 2017-09-08 13:09:29 +12:00
David Monllao 2e151c3c74 MDL-58835 analytics: Remove hidden elements from insights list 2017-09-07 14:45:34 +02:00
David Monllao 6faa982986 MDL-58835 analytics: Unit tests for prediction actions 2017-09-07 14:45:34 +02:00
David Monllao 0c0a72e7ac MDL-58835 report_insights: Not useful and ack prediction actions 2017-09-07 14:45:34 +02:00
David Monllao 025363d17c MDL-58835 analytics: Store prediction actions separately
New event for insights viewed as part of this issue.
2017-09-07 14:45:34 +02:00
David Monllao 8744db903b MDL-60039 messaging: global search index using timeread 2017-09-07 12:16:42 +02:00
David Monllao 32f9550e85 weekly release 3.4dev 2017-09-07 11:39:02 +02:00
David Monllao ce99f1fa5a MDL-59657 analytics: No predictions until training is completed 2017-09-07 10:58:39 +02:00
Dan Poltawski 2999602b85 Merge branch 'MDL-59657_master-fix' of git://github.com/dmonllao/moodle 2017-09-07 10:58:38 +02:00
David Monllao 0a68e283d0 MDL-59657 analytics: Move lang string to correct location 2017-09-07 10:58:38 +02:00
Eloy Lafuente (stronk7) 95fc1e720c Merge branch 'MDL-59983-master-enfix' of git://github.com/mudrd8mz/moodle 2017-09-07 10:58:35 +02:00
Andrew Nicols 030ede54f8 MDL-59759 enrol: Update behat tests for unenrol confirm dialogue 2017-09-07 10:53:35 +02:00
David Mudrák 911fcae895 MDL-59969 admin: Warn admins if a development libs directory exists
We can't really control the direct web access to directories in dirroot,
that is part of the server setup. So we at least warn admins as they may
not realize the risks of having directories like vendor or node_modules
exposed.

Credit goes to Petr Škoda for mentioning the PHPUnit issue CVE-2017-9841
to me.
2017-09-07 10:53:35 +02:00
Marina Glancy a39d2976fe MDL-59972 mod_feedback: escape subject when showing the contact form 2017-09-07 10:53:34 +02:00
Jake Dallimore 4266786b48 MDL-58953 user: additional test case for user_can_view_profile() 2017-09-07 10:53:34 +02:00
Jake Dallimore eb01e70b91 MDL-58953 user: fix course checking logic in user_can_view_profile()
Make sure to check that $user in enrolled in $course before checking
whether the current user has capabilities in that course, and make sure
that we don't check user context caps when handling a specific course.
2017-09-07 10:53:33 +02:00
Juan Leyva 35b9bca0ca MDL-58762 core: Get full course objects on navigation
The course object passed as parameter to extend_navigation_user
callback contained only a few parameters, some parameters like
showgrades or showreports were missing.
The callback should receive a full course object.
2017-09-07 10:53:33 +02:00
Juan Leyva 85b531e8be MDL-58762 report: Check group permissions in course user reports
Teachers were able to see any student report even with forced separated
groups and capability moodle/course:accessallgroups off.
2017-09-07 10:53:32 +02:00
Eloy Lafuente (stronk7) 423eca98d3 Merge branch 'MDL-59753-master' of git://github.com/lameze/moodle 2017-09-07 10:53:32 +02:00
Simey Lameze afa8c3daf1 MDL-59753 core_calendar: apply course filter without reload 2017-09-07 10:53:29 +02:00
Simey Lameze ce679f6c98 MDL-59753 core_calendar: change course selector to normal select 2017-09-07 10:52:21 +02:00
David Monllao 0e0e92c5e0 Merge branch 'MDL-59759-master-2' of git://github.com/junpataleta/moodle 2017-09-07 10:52:20 +02:00
Jun Pataleta 305f38d310 Merge branch 'm34_MDL-59635_Properly_Escape_Column_Names_Reserved_Words_Proof' of https://github.com/scara/moodle 2017-09-07 10:52:19 +02:00
Eloy Lafuente (stronk7) dd04df4164 MDL-59672 coding style: whitespace fixes 2017-09-07 10:52:18 +02:00
Eloy Lafuente (stronk7) 9d07b88ab4 Merge branch 'MDL-59672-master' of git://github.com/lameze/moodle 2017-09-07 10:52:06 +02:00
Eloy Lafuente (stronk7) 59e56e7f71 Merge branch 'MDL-59696-master' of git://github.com/junpataleta/moodle 2017-09-07 10:50:18 +02:00
Eloy Lafuente (stronk7) d74bb0971e Merge branch 'MDL-59198-master' of git://github.com/ankitagarwal/moodle 2017-09-07 10:50:18 +02:00
Dan Poltawski 83575729b6 Merge branch 'MDL-59279_master' of git://github.com/dmonllao/moodle 2017-09-07 10:50:17 +02:00
David Monllao 4cc3f4f086 Merge branch 'MDL-59974-master' of git://github.com/lameze/moodle 2017-09-07 10:50:17 +02:00
David Monllao 44e1928532 Merge branch 'wip-MDL-59768-master' of git://github.com/marinaglancy/moodle 2017-09-07 10:50:16 +02:00
Dan Poltawski 72086f77f1 Merge branch 'wip-MDL-59770-master' of git://github.com/marinaglancy/moodle 2017-09-07 10:50:15 +02:00
Dan Poltawski edb911984a Merge branch 'MDL-59786_master' of git://github.com/dmonllao/moodle 2017-09-07 10:50:15 +02:00
David Monllao e8466eee81 Merge branch 'master-MDL-59799' of https://github.com/jojoob/moodle 2017-09-07 10:50:14 +02:00
Dan Poltawski f48b861302 Merge branch 'MDL-59840_master' of git://github.com/dmonllao/moodle 2017-09-07 10:50:13 +02:00
Dan Poltawski c1346b1476 Merge branch 'wip-MDL-59992-master' of git://github.com/marinaglancy/moodle 2017-09-07 10:50:13 +02:00
David Monllao c4f7a1c001 Merge branch 'wip-MDL-59815-master' of git://github.com/abgreeve/moodle 2017-09-07 10:50:11 +02:00
David Monllao d8e789c837 Merge branch 'MDL-59846-master' of git://github.com/lameze/moodle 2017-09-07 10:49:36 +02:00
Dan Poltawski 0426cc9533 Merge branch 'MDL_59834-Indexing_of_personal_messages' of https://github.com/mattporritt/moodle 2017-09-07 10:49:35 +02:00
David Monllao f827adbd91 Merge branch 'MDL-59864-master' of git://github.com/lameze/moodle 2017-09-07 10:49:34 +02:00
David Monllao c0bcec46f7 Merge branch 'wip-MDL-59898-master-test' of git://github.com/abgreeve/moodle 2017-09-07 10:49:34 +02:00
Dan Poltawski 2d64ffeb6b Merge branch 'MDL-59657_master' of git://github.com/dmonllao/moodle 2017-09-07 10:49:30 +02:00
David Monllao 076d95ccc4 Merge branch 'MDL-59963-report-logs-origin-pagination' of https://github.com/lucaboesch/moodle 2017-09-07 10:46:57 +02:00
David Monllao 5700cf959e Merge branch 'MDL-59961_file_validation' of https://github.com/mrmark/moodle 2017-09-07 10:46:57 +02:00
Dan Poltawski 3c4675a002 Merge branch 'MDL-59153_master' of git://github.com/dmonllao/moodle 2017-09-07 10:46:56 +02:00
Kathrin Osswald 88d7f109a0 MDL-60048 theme_boost: Center logo within the navbar
My solution is to remove the padding that's added within scss/bootstrap/_navbar.scss (line 72)
for the case that a logo (has-logo) is uploaded and displayed within the navbar.
Removing this padding will center the image within the navbar.
2017-09-07 08:36:11 +02:00
Ryan Wyllie ea5f7707e7 MDL-59919 calendar: add file support to event form 2017-09-07 01:38:43 +00:00
Damyon Wiese b7df2485e6 MDL-59867 autocomplete: Prevent duplicate ids.
Rendering a form with 2 autocompletes in it can get messed up because of duplicated ids.
2017-09-07 09:31:57 +08:00
Marina Glancy 9971fac803 MDL-59808 webservice_rest: comply with restformat argument 2017-09-07 08:34:10 +08:00
Juan Leyva bde5631d66 MDL-59244 mod_workshop: New WS mod_workshop_delete_submission 2017-09-06 15:51:55 +02:00
Juan Leyva e1fcba9973 MDL-59244 mod_workshop: Move event triggering to API
Event triggering when a submission is deleted is now inside the
delete_submission function.
2017-09-06 15:51:54 +02:00
Juan Leyva c1698a37e3 MDL-59245 mod_workshop: New WS mod_workshop_update_submission 2017-09-06 15:50:16 +02:00
Juan Leyva c2cf2450ac MDL-59243 mod_workshop: New WS mod_workshop_add_submission 2017-09-06 14:00:17 +02:00
Juan Leyva 4c776cae2d MDL-59243 mod_workshop: Move submission creation to API 2017-09-06 13:57:11 +02:00
Juan Leyva b1ed7279e0 MDL-60025 mod_book: Return correct values for chapters update time
Instead returning the time when the chapter was created or modified we
were returning the time when the book was created or modified.
2017-09-06 12:37:21 +02:00
Juan Leyva 20da60a3b7 MDL-60018 mod_chat: Fix chatmethod field type in get_chats_by_courses WS 2017-09-06 12:15:56 +02:00
David Knuplesch 3729ff0ff4 MDL-55358 mod_lti: Add LIS Group Variable 2017-09-06 11:27:17 +02:00
Dan Poltawski d9dff92fef MDL-59761 eslint: Auto-fix some minor lint warnings 2017-09-06 08:53:50 +01:00
Dan Poltawski 6f601313f0 MDL-59761 eslint: support glob-based configuration
Since ESlint 4.1.0 [1], it's possible to support glob-based
configuration, this means we can move glob configuration out of grunt
and into the config file, which means tools will respect the glob rules
now too. :)

[1] http://eslint.org/blog/2017/06/eslint-v4.1.0-released
2017-09-06 08:53:50 +01:00
Dan Poltawski 9702503f6b MDL-59761 eslint: Upgrade to v4.4.1
Including adding some new default rules.
2017-09-06 08:53:50 +01:00
Marina Glancy 7814ae503b MDL-60033 webservice_xmlrpc: extra escaping in the server URL 2017-09-06 13:43:34 +08:00
Ryan Wyllie 7d659f2167 MDL-59399 atto: make media plugin shortform explandable 2017-09-06 05:24:21 +00:00
Andrew Nicols 5ded18d5a8 MDL-60031 admin: Move risk longtext to pix title 2017-09-06 10:23:48 +08:00
David Mudrák 6806a3734a MDL-59983 lang: Fix Forum behat scenarios to use the new strings 2017-09-05 11:01:10 +02:00
Helen Foster 7698619bc6 MDL-59983 lang: Merge English strings from the en_fix language pack
Significant string changes:

* mobileappenabled, setuplink and setuplink_desc in tool_mobile -
  improved wording
* getmoodleonyourmobile and custommenuitems_desc in tool_mobile -
  improved wording
2017-09-05 11:01:09 +02:00
Ankit Agarwal d4062a0cff MDL-35849 login: Add role alert to error messages
Error messages should be prominent to screen readers as well as visual users,
adding the role alert is recommended way to achieve it for screen readers and this is
also what we do for ->notification apis
2017-09-05 12:43:37 +05:30
sam marshall e36eefaeea MDL-59926 core_search: Allow Behat testing of results screens 2017-09-04 17:42:53 +01:00
Matteo Scaramuccia ea34d02d55 MDL-59635 tool_replace: Escape the column name. 2017-09-04 11:46:55 +02:00
Matteo Scaramuccia 596f4e6a23 MDL-59635 ddl: Added test_get_enc_quoted(). 2017-09-04 11:46:54 +02:00
Jun Pataleta 7800e6881c MDL-59759 core_user: Use SAVE_CANCEL modal for unenrol dialog 2017-09-04 10:44:51 +08:00
Jun Pataleta 23356f410f MDL-59759 core_message: Use SAVE_CANCEL modal for delete dialog 2017-09-04 10:44:51 +08:00
Jun Pataleta fb7fa04e3b MDL-59759 core_calendar: Use SAVE_CANCEL modal for delete dialog
* Plus reorganise the code to make it a little tidier.
2017-09-04 10:44:51 +08:00
Jun Pataleta 237efd4f0d MDL-59759 core_amd: Deprecate core/modal_confirm 2017-09-04 10:44:46 +08:00
Jun Pataleta 357dc2cbeb MDL-59696 theme_bootstrapbase: Set max-width for custom-select elements
* Set custom-select elements with a maximum width of 100% of their
container.
2017-09-04 10:10:46 +08:00
Jun Pataleta 1e9a102b58 MDL-59696 templates: Remove form-group div for url-select template
* Removed the div with the class 'form-group' that's enclosing the
select element and friends. It's not needed since the urlselect template
is an inline form.
* Also, for completeness, I added the helpicon data for the template's
context.
2017-09-04 10:10:46 +08:00
Tobias Garske 06ced40c2f MDL-59898 access: Added Icon references. 2017-09-04 09:55:07 +08:00
Simey Lameze da1f058254 MDL-59974 core_calendar: remove JS code no longer used 2017-09-04 09:49:12 +08:00
Simey Lameze 4d7f28d4fc MDL-59974 core_calendar: hide elements based on event type 2017-09-04 09:48:41 +08:00
Adrian Greeve e5e47a4bdf MDL-55849 mod_assign: Behat update for group submission reopening. 2017-09-04 09:23:32 +08:00
Adrian Greeve 75c21e7e77 MDL-55849 mod_assign: Reopening assignments only increases by one.
Group assignments when being reopened will only increase the
attempt total by one.
2017-09-04 09:23:32 +08:00
Simey Lameze 29158c8b6f MDL-59672 core_calendar: set course event type on course context 2017-09-04 09:12:05 +08:00
Simey Lameze 0b8e721667 MDL-59846 core_calendar: add styling to action link 2017-09-04 08:38:51 +08:00
Simey Lameze 7b7924922e MDL-59864 core_calendar: add behat test for module events edit 2017-09-04 08:37:30 +08:00
Simey Lameze 4757780aea MDL-59864 core_calendar: add link to activity on module events 2017-09-04 08:37:30 +08:00
Matt Porritt bc60052d83 MDL-59834 Global Search: Indexing user messages
Make indexing of user messages tolerant to user deletion.
When creating the search document for user messages,
add a check to see if the user has been deleted in the
system. If they have been deleted abort creating the search
document.
This is to avoid rasining an error when trying to get the
user context for a deleted user.
2017-09-04 09:09:48 +10:00
Matt Porritt 4e921569d0 MDL-59459 Golbal Search: Increase file indexing coverage
Increase the scope of the files that are detected and
indexed by Moodle's Global Search. This includes intro
and content areas of search areas. The use case here is
in a description for an activity there is a file added
that contains more information about the activity.
It would an advantage to be able to search this content
as well. It would also allow search engine plugins to be
able to index non text files such as images.
2017-09-02 10:28:17 +10:00
Johannes Burk 1dcd1a071c MDL-59799 course: Include course/lib.php before using move_courses(). 2017-09-01 16:46:26 +02:00
Luca Bösch 30375ee99f MDL-53936 reports: State default index page explicitly in pagination url 2017-09-01 11:42:10 +02:00
Luca Bösch d99bec321b MDL-59963 reports: origin parameter looked at in log reports 2017-09-01 11:41:29 +02:00
David Monllao 1d5b1d0111 MDL-59153 report_insights: UI improvements
- Accessible info tables
- Outcome icons
- Navigation bar for missing contexts
- Heading contents standarisation
2017-09-01 11:20:26 +02:00
David Monllao 3e0f33aa4b MDL-59153 analytics: No access to disabled models predictions 2017-09-01 11:17:17 +02:00
David Monllao 1a5204a427 MDL-59786 analytics: Discard invalid samples 2017-09-01 11:13:07 +02:00
David Monllao 37dec84dc0 MDL-59840 analytics: Enable single range instead of no splitting 2017-09-01 11:12:05 +02:00
Jun Pataleta b3cfb01316 weekly release 3.4dev 2017-09-01 13:26:56 +08:00
Jun Pataleta 033b0c9bb6 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-09-01 13:26:55 +08:00
Andrew Nicols c7c5d12353 MDL-59801 tool_lp: Behat fix for autocomplete
An earlier Behat fix made the use of autocomplete stricter on checking
an exact match instead of a substring, which in turn broke this use
which was searching for a partial match.
2017-09-01 08:24:51 +08:00
Mark Nielsen 879827d6fa MDL-60001 core_files: Use local file for gzopen
The gzopen method does not appear to support
file streams.
2017-08-31 15:47:00 -07:00
Andrew Nicols 256518a635 Merge branch 'MDL-56646-master-fix' of https://github.com/xow/moodle 2017-08-31 15:00:08 +08:00
John Okely 8812040612 MDL-56646 mod_assign: Improve grade fix strings 2017-08-31 14:39:54 +08:00
John Okely 5ded13e65a MDL-56646 mod_assign: Make rescale behat more specific 2017-08-31 14:39:54 +08:00
Marina Glancy 96e1633f57 MDL-59768 tasks: schedule task only if it is not scheduled 2017-08-31 14:31:17 +08:00
Andrew Nicols f33afd1df5 Merge branch 'MDL-59801-master-fix1' of http://github.com/damyon/moodle 2017-08-31 14:12:31 +08:00
Marina Glancy ed483bda8d MDL-35668 filebrowser: system context is similar to coursecat 2017-08-31 13:56:59 +08:00
Damyon Wiese d29be32000 MDL-59801 users: Behat fixes
Firstly - the list of roles to filter needs to be a combination of the assignable roles and the existing roles in the course.
Secondly - the auto-complete behat step needs to search for entire strings, not substrings.
2017-08-31 12:32:03 +08:00
Marina Glancy e25ccd58c1 MDL-59992 webservice: fix debugging message event context already set 2017-08-31 12:13:15 +08:00
Andrew Nicols 4bd649d31a Merge branch 'MDL-59828-master-fix1' of http://github.com/damyon/moodle 2017-08-31 10:25:49 +08:00
Damyon Wiese 5c1d5a6d7c MDL-59828 inplaceeditable: CSS class fix
The form-autocomplete-original-select was applied to the wrong element.

inplaceeditable selects => inplaceeditable autocompletes
2017-08-31 10:16:53 +08:00
Andrew Nicols 881bf1da5c Merge branch 'MDL-59832_master-fix' of git://github.com/markn86/moodle 2017-08-30 15:44:24 +08:00
Mark Nelson 431723eccc MDL-59832 core_course: removed faulty logic in unit test 2017-08-30 12:55:57 +08:00
Marina Glancy 84d815611c MDL-35668 filebrowser: perf improvements for courses
When searching for non-empty children first retrieve list of all non-empty
fileareas in modules and then check access for each of them. This will be
much faster than checking access for each module and then look for files
and areas inside this module.

Do the same with course file areas
2017-08-30 12:43:26 +08:00
Marina Glancy 10122f009e MDL-35668 filebrowser: small improvements to modules
- Store cm_info in file_info_context_module instead of object
- Use correct API calls to component_callback_exists
- Use human readable name of module type
2017-08-30 12:43:26 +08:00
Marina Glancy ade66228fa MDL-35668 filebrowser: cache enrolled courses 2017-08-30 12:43:26 +08:00
Marina Glancy 2d939622b8 MDL-35668 filebrowser: perf improvements to coursecat
- Preload contexts of subcategories and courses when retrieving their lists
- When there are enrolled courses in hidden subcategories retrieve them together with direct children courses
- Do not call browser->get_file_info - it retrieves the coursecat/course again, instead initialise the instance
of file_info_context_coursecat or file_info_context_course
2017-08-30 12:43:22 +08:00
Andrew Nicols 8c2465eaf0 Merge branch 'MDL-59394-master-2' of git://github.com/ryanwyllie/moodle 2017-08-30 11:35:40 +08:00
Peter Spicer 9c064d0380 MDL-59815 access: Fix definition of risks for user:delete. 2017-08-30 11:31:18 +08:00
Andrew Nicols 4520fdffd5 Merge branch 'MDL-59713-master-2' of git://github.com/ryanwyllie/moodle 2017-08-30 11:30:59 +08:00
Ryan Wyllie a06b3a27b7 MDL-59713 calendar: fix nav link ajax reload 2017-08-30 03:25:39 +00:00
Ryan Wyllie aefb2950d3 MDL-59394 calendar: add drag and drop between months 2017-08-30 02:42:06 +00:00
Jun Pataleta 9e22016778 Merge branch 'MDL-59884-master' of git://github.com/lameze/moodle 2017-08-30 10:10:30 +08:00
Simey Lameze b31a169560 MDL-59884 core_calendar: display spinner when reloading month content 2017-08-30 09:48:56 +08:00
Simey Lameze 63cb267c1b MDL-59884 themes: add styles for overlay loading 2017-08-30 09:47:18 +08:00
Simey Lameze 8dc85f9c04 MDL-59884 core: add new overlay_loading template 2017-08-30 09:44:22 +08:00
Andrew Nicols a85c077a64 Merge branch 'MDL-59713' of https://github.com/stronk7/moodle 2017-08-30 08:20:09 +08:00
Eloy Lafuente (stronk7) 7d08eccf43 Merge branch 'MDL-59832_master-v2' of git://github.com/markn86/moodle 2017-08-30 01:21:22 +02:00
Eloy Lafuente (stronk7) 9533cf3419 Merge branch 'MDL-59779_master' of git://github.com/dmonllao/moodle 2017-08-30 01:09:20 +02:00
Eloy Lafuente (stronk7) 08986e0c42 Merge branch 'MDL-59685-master' of git://github.com/damyon/moodle 2017-08-30 00:36:07 +02:00
Connor Sheremeta d50c3db5c7 MDL-54540 lti: Add allowfullscreen attribute to LTI IFrames 2017-08-29 13:31:18 -06:00
Eloy Lafuente (stronk7) a4cdbff86c MDL-59713 forms: prevent php warning when 'optional' option is missing 2017-08-29 20:12:41 +02:00
David Monllao 10658a1cb4 MDL-59279 analytics: Include more info about the dataset 2017-08-29 16:26:41 +02:00
Dan Poltawski e517eb100c Merge branch 'MDL-59951-master' of git://github.com/damyon/moodle 2017-08-29 14:32:43 +01:00
Dan Poltawski 08220d64f6 Merge branch 'MDL-59195_assign_comment_permissions' of git://github.com/davosmith/moodle 2017-08-29 11:54:07 +01:00
Dan Poltawski 253ea6621a Merge branch 'MDL-59615-master' of git://github.com/damyon/moodle 2017-08-29 10:58:42 +01:00
Jun Pataleta 7f56c2679d Merge branch 'MDL-59908-master' of git://github.com/ankitagarwal/moodle 2017-08-29 17:41:39 +08:00
Dan Poltawski 4e597bf219 Merge branch 'MDL-59688-master' of git://github.com/damyon/moodle 2017-08-29 10:24:50 +01:00
Jun Pataleta faf83f3d41 Merge branch 'MDL-59830_master-v2' of git://github.com/markn86/moodle 2017-08-29 17:23:44 +08:00
Mark Nelson 1329ffd7b7 MDL-59830 core_user: do not show roles that can not be deleted 2017-08-29 17:12:26 +08:00
Mark Nelson 5700ad902a MDL-59801 core_user: add missing class variable declaration
Also minor fix to PHPDocs.
2017-08-29 16:28:56 +08:00
Andrew Nicols 350ef63246 Merge branch 'MDL-56646-master' of https://github.com/xow/moodle 2017-08-29 15:51:01 +08:00
Jun Pataleta b26ce53776 Merge branch 'MDL-59823-master' of git://github.com/damyon/moodle 2017-08-29 15:49:24 +08:00
Andrew Nicols 08bcea48d4 Merge branch 'MDL-59713-master-2' of git://github.com/ryanwyllie/moodle 2017-08-29 15:28:45 +08:00
Andrew Nicols 506708f196 Merge branch 'MDL-59820-master' of git://github.com/lameze/moodle 2017-08-29 15:26:46 +08:00
Jun Pataleta b83a329ad6 Merge branch 'MDL-59822-master' of git://github.com/damyon/moodle 2017-08-29 15:25:33 +08:00
John Okely 465b75ed1f MDL-56646 assign: Fix negative grades in restore 2017-08-29 07:23:01 +00:00
John Okely 7323c473cc MDL-56646 assign: Add ability to fix errant grades 2017-08-29 07:23:01 +00:00
Andrew Nicols 6d2ff19051 Merge branch 'MDL-59827-master-fix1' of http://github.com/damyon/moodle 2017-08-29 15:14:20 +08:00
Damyon Wiese b0b6ff3c18 MDL-59827 users: Typo in force_open()
force_open() not forceopen()
2017-08-29 15:06:43 +08:00
Andrew Nicols 27e827e181 Merge branch 'MDL-59821-master' of git://github.com/damyon/moodle 2017-08-29 14:54:33 +08:00
Jun Pataleta 33b46e54bb Merge branch 'MDL-59885-master' of git://github.com/cameron1729/moodle 2017-08-29 14:48:04 +08:00
Andrew Nicols 3bb2900cf7 Merge branch 'MDL-59030_master' of git://github.com/dmonllao/moodle 2017-08-29 14:34:59 +08:00
David Monllao f07d93de9d MDL-59030 analytics: Social breadth accepting more than level 2
Even if core indicators are limited to level 2 we should not block
other activities from implementing up to level 5.
2017-08-29 08:28:46 +02:00
Ankit Agarwal e4f7cfe19f MDL-59198 lti: Make params LTI2 compatible
LTI2 recommends to include both upper case and lower case of custom params.
This patch makes our implementation confer to that standard.
2017-08-29 11:42:09 +05:30
Jun Pataleta 4f9dfd0f8d Merge branch 'MDL-59628-master' of git://github.com/damyon/moodle 2017-08-29 13:49:55 +08:00
Andrew Nicols 3eb0d7db6d Merge branch 'MDL-59827-master' of git://github.com/damyon/moodle 2017-08-29 13:21:22 +08:00
Andrew Nicols d3e6c398f4 Merge branch 'MDL-35290-master' of https://github.com/snake/moodle 2017-08-29 13:14:22 +08:00
David Monllao e8c2abcea6 MDL-59030 testing: Tests for core_course analytics indicators 2017-08-29 06:24:06 +02:00
David Monllao c4aa41b1ba MDL-59030 analytics: New analytics indicators
- Completion enabled
- Potential cognitive depth
- Potential social breadth
2017-08-29 06:24:04 +02:00
David Monllao edee629d1a MDL-59030 analytics: Expand community of inquiry mods public API 2017-08-29 06:19:37 +02:00
Damyon Wiese 26c4d2bf79 MDL-59628 forms: Get a valid zindex for datepicker
We have a way to determine a valid zindex when adding things to a page. Find all the moodle-has-zindex things and
choose a value bigger all of them. This needs doing in javascript whenever a thing is opened. It's not possible to
fix generically in CSS (remember the historic z-index wars).
2017-08-29 12:09:59 +08:00
Damyon Wiese 0639741307 MDL-59628 datepicker: Revert invalid zindex change
Revert "MDL-59382 theme: bring the date picker forward"

This reverts commit 63dd75229b.
2017-08-29 12:09:03 +08:00
Andrew Nicols 4bdf6157d4 Merge branch 'MDL-59824-master' of git://github.com/damyon/moodle 2017-08-29 12:00:45 +08:00
Andrew Nicols 85419c5b2e Merge branch 'MDL-59828-master' of git://github.com/damyon/moodle 2017-08-29 11:56:28 +08:00
Jun Pataleta c5830051e5 Merge branch 'MDL-59855-master' of git://github.com/junpataleta/moodle 2017-08-29 11:43:36 +08:00
Jun Pataleta 7927138d50 MDL-59855 oauth2: More PHPDocs fixes
* Fix PHPDoc return type for api::get_system_account()
* Fix PHPDoc for the $contenttype parameter in \core\oauth2\rest::call()
2017-08-29 11:18:23 +08:00
Jake Dallimore 7a170fad85 MDL-35290 files: File manager reports files which can't be read 2017-08-29 11:15:30 +08:00
Jun Pataleta 909ae42d7d Merge branch 'MDL-59869-master' of git://github.com/Dagefoerde/moodle 2017-08-29 10:40:30 +08:00
Marina Glancy c524a6dce0 MDL-35668 filebrowser: unittests 2017-08-29 09:57:59 +08:00
Eloy Lafuente (stronk7) c121d406e4 Merge branch 'MDL-59801-master' of git://github.com/damyon/moodle 2017-08-29 02:37:24 +02:00
Eloy Lafuente (stronk7) f0e6ff9a8e Merge branch 'MDL-59669-master-3' of git://github.com/ryanwyllie/moodle 2017-08-29 02:15:18 +02:00
Eloy Lafuente (stronk7) b76caa44d5 Merge branch 'MDL-59887-master' of git://github.com/lameze/moodle 2017-08-29 01:33:49 +02:00
Eloy Lafuente (stronk7) 25f24df793 Merge branch 'MDL-59265_master' of git://github.com/dmonllao/moodle 2017-08-29 01:16:42 +02:00
Eloy Lafuente (stronk7) 685e99cabe Merge branch 'MDL-59910-master' of git://github.com/lameze/moodle 2017-08-29 01:06:46 +02:00
Eloy Lafuente (stronk7) 1fb5f3cf4a Merge branch 'MDL-59870-participants-th-top-vertical-aligned' of http://github.com/lucaboesch/moodle 2017-08-29 00:52:37 +02:00
Eloy Lafuente (stronk7) cace54811d Merge branch 'MDL-59670-master' of git://github.com/andrewnicols/moodle 2017-08-29 00:41:57 +02:00
David Monllao f19719c198 MDL-59657 analytics: Option to restrict heavy processes to CLI
Default to only CLI.
2017-08-28 21:18:52 +02:00
Mark Nielsen b757c648f3 MDL-59960 core_files: prevent mimetype update on every file update
Every time a file is updated, the mimetype is re-processed.
But, some mimetypes can only be detected if the file is present
on local disk.  With external file systems, this could cause
the file to be downloaded unnecessarily.  Instead, only update
the mimetype when the file content or the file name has changed.
2017-08-28 11:36:15 -07:00
Mark Nielsen ee8bce2d3b MDL-59960 core_files: improve mimetype detection
Improve mimetype detection for remote files that
have no file extension.  The mimetype detection
that makes use of the file, only works with local
files, so do not use the remote path which can be
a URL or stream.
2017-08-28 11:36:15 -07:00
Mark Nielsen 9eb1a2c31a MDL-59961 core_files: make content hash validation reusable
Other file systems could make use of this code as they
all need to validate the content has and be able to read
the file from disk.
2017-08-28 11:15:12 -07:00
AMOS bot ca0639b33b Automatically generated installer lang files 2017-08-29 00:07:40 +08:00
John Okely 2d1075e321 MDL-56646 assign: use ASSIGN_GRADE_NOT_SET constant 2017-08-28 06:58:44 +00:00
John Okely e04be435e0 MDL-56646 assign: Don't rescale any negative grades 2017-08-28 06:58:43 +00:00
John Okely 64b52095e5 MDL-56646 assign: Behat test rescaling after viewing student 2017-08-28 06:58:43 +00:00
Damyon Wiese b78968ab79 MDL-59951 analytics: Don't link to deleted page. 2017-08-28 13:57:54 +08:00
Mark Nelson d4576789e4 MDL-59832 core: allow users with 'enrolreview' to see participants page 2017-08-28 12:47:57 +08:00
Jun Pataleta 9317ceefcf Merge branch 'MDL-59833_master' of git://github.com/markn86/moodle 2017-08-28 11:54:44 +08:00
Jun Pataleta 3fc3e41bfa Merge branch 'MDL-59904_master' of git://github.com/markn86/moodle 2017-08-28 11:30:59 +08:00
Mark Nelson 7948dae160 MDL-59904 core: add missing FKs to analytics tables 2017-08-28 11:13:38 +08:00
Andrew Nicols 5d09e9d890 Merge branch 'MDL-59907' of git://github.com/stronk7/moodle 2017-08-28 08:25:20 +08:00
AMOS bot a0d081fd2e Automatically generated installer lang files 2017-08-28 00:09:01 +08:00
Jan Dageförde 8aa17e1347 MDL-59869 oauth2: Fix notification method 2017-08-26 15:42:12 +02:00
Jan Dageförde efbe24f5a8 MDL-59869 oauth2: Send expiry notification on exceptions, too 2017-08-26 15:42:12 +02:00
Jan Dageförde bd0b987338 MDL-59855 oauth2: Fix PHPDoc type hints 2017-08-26 15:42:04 +02:00
AMOS bot 37d2f116c5 Automatically generated installer lang files 2017-08-26 00:06:48 +08:00
Jun Pataleta 2e4c8b3862 MDL-59478 mod_scorm: Fix setting of default completion rule 2017-08-25 20:04:26 +08:00
David Monllao 381c670894 MDL-59265 mlbackend: Splitting up predictor interface in 2 2017-08-25 13:50:34 +02:00
David Monllao 5c5cb3ee15 MDL-59265 analytics: Rename machine learning backend method
- Method names renamed to avoid interface changes once
  we support regression and unsupervised learning
- Adding regressor interface even if not implemente
- predictor interface comments expanded
- Differentiate model's required accuracy from predictions quality
- Add missing get_callback_boundary call
- Updated datasets' metadata to allow 3rd parties to code
  regressors themselves
- Add missing option to exception message
- Include target data into the dataset regardless of being a prediction
  dataset or a training dataset
- Explicit in_array and array_search non-strict calls
- Overwrite discrete should_be_displayed implementation with the binary one
- Overwrite no_teacher get_display_value as it would otherwise look
  wrong
- Other minor fixes
2017-08-25 13:17:22 +02:00
David Monllao b8fe16cd7c MDL-59265 analytics: Remove dirroot from the model unique id
This was a bug, this would prevent sites with multiple frontend nodes
from using the same model id.
2017-08-25 13:17:21 +02:00
David Monllao 0f5fa169b1 MDL-59265 analytics: Switch prediction field to float
For future regression support
2017-08-25 13:17:18 +02:00
David Monllao 3592b64ac1 MDL-59265 report_insights: Fix PHP notice when no predictions 2017-08-25 13:16:20 +02:00
Damyon Wiese 5fa2d5021e MDL-59821 users: Add proceed to course content
The participants page should show a button to proceed to the course page after creating a new course.

This is a re-implementation of MDL-46238.
2017-08-25 15:21:47 +08:00
Damyon Wiese b34fd2cca9 MDL-59827 users: Expand users node in settings nav
When we are on the participants page...
2017-08-25 15:16:17 +08:00
Damyon Wiese d8e57f02a7 MDL-59828 autocomplete: Sizing issues on themes
We want to avoid page jumps wherever possible. This change uses the original select element as a "proxy" to reserve the space
in the DOM for the enhanced auto-complete when the JS runs.

It uses visibility: hidden to make the select not rendered - but still take up space.

The exact sizing for the CSS was determined by testing and reverse engineering the bootstrap calculations.

The size of user pictures in selectors was reduced to avoid flicker when switching between no selection and a selected user. I
could have reserved a larger amount of space, but it looks worse for pickers with no pictures.
2017-08-25 15:07:40 +08:00
Andrew Nicols a49c3d8aa0 MDL-59670 calendar: Select correct group when editing events 2017-08-25 11:27:20 +08:00
Ryan Wyllie f6e8cc83ae MDL-59713 calendar: clicking day in monthly view opens new event modal 2017-08-25 01:37:20 +00:00
Eloy Lafuente (stronk7) 2f8420657e Merge branch 'wip-MDL-59881-master' of git://github.com/abgreeve/moodle 2017-08-25 00:55:58 +02:00
Luca Bösch bb3216f8ea MDL-59870 users: Default align participant table header row.
Instead of putting vertical-align: middle as indication for participants table
headers, none is set which leads to theme default, i.e. bottom in Clean and Boost.
2017-08-25 00:09:30 +02:00
AMOS bot 2fbfe020ff Automatically generated installer lang files 2017-08-25 00:05:22 +08:00
AMOS bot df893ca11a Automatically generated installer lang files 2017-08-25 00:05:22 +08:00
Tim Hunt 2b2967ee56 MDL-59929 signup: inprove usability when duplicate email entered 2017-08-24 16:29:03 +01:00
Eloy Lafuente (stronk7) 9eb3c173ae weekly release 3.4dev 2017-08-24 14:14:18 +02:00
Eloy Lafuente (stronk7) ca736c577a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-08-24 14:14:15 +02:00
Ryan Wyllie 69b160ed12 MDL-59669 calendar: add unit tests for submit_create_update_form 2017-08-24 05:40:01 +00:00
Ankit Agarwal d477c4ed6f MDL-59908 backup: Backup rule should use both http and https schemes 2017-08-24 10:53:59 +05:30
Ankit Agarwal 23876070b9 MDL-59908 backup: Add tests to make sure both http(s) schemes are parsed 2017-08-24 10:33:24 +05:30
Ryan Wyllie 7ce44d8edc MDL-59669 forms: add helper to get submission keys for unit tests 2017-08-24 04:49:26 +00:00
Ryan Wyllie 6bb8889932 MDL-59669 calendar: add validation for eventtype in event form 2017-08-24 12:20:56 +08:00
Simey Lameze b9d7df741d MDL-59887 block_myoverview: dont escape course and module names 2017-08-24 10:41:37 +08:00
Andrew Nicols d839e25e9d Merge branch 'MDL-59699-master-fix2' of https://github.com/lameze/moodle 2017-08-24 09:58:09 +08:00
Andrew Nicols ed50116863 Merge branch 'MDL-59675-master-fix1' of https://github.com/lameze/moodle 2017-08-24 09:57:28 +08:00
Simey Lameze 2d7008aeab MDL-59675 core_calendar: reload page after create event 2017-08-24 09:48:00 +08:00
Andrew Nicols 0afab19477 Merge branch 'MDL-59677-master-fix1' of https://github.com/lameze/moodle 2017-08-24 09:43:31 +08:00
Jun Pataleta 66c7f71950 Merge branch 'MDL-36985-master-fix' of github.com:xow/moodle 2017-08-24 09:30:32 +08:00
Simey Lameze 2c65e0ce61 MDL-59677 core_calendar: replace the whole node on reload 2017-08-24 09:28:04 +08:00
Eloy Lafuente (stronk7) 5e3ee3748b MDL-59907 behat: Fix features to be collation independent
Before the patch there were some problems with sorting
causing student1@ and student10@ to be sorted inconsistently
between databases.

Where that is not an important problem in real use, was
causing tests to fail consistently in sqlsrv.

So, adding student0@ to the tests in order to make them
stable collation-wise.
2017-08-24 03:08:02 +02:00
Simey Lameze 3fa98f2381 MDL-59699 core_calendar: change course short to full name 2017-08-24 08:55:41 +08:00
Andrew Nicols 586181c7d6 MDL-59860 calendar: Remove trailing whitespace 2017-08-24 08:55:23 +08:00
Andrew Nicols edddecc6f2 Merge branch 'MDL-59860-master-fix2' of https://github.com/lameze/moodle 2017-08-24 08:49:03 +08:00
Simey Lameze 81e736be5d MDL-59860 core_calendar: temp remove behat test 2017-08-24 08:42:53 +08:00
John Okely 7757d27805 MDL-36985 atto: removeorphaneddrafts should be optional 2017-08-24 08:28:55 +08:00
Mark Nelson 359e9d8370 MDL-59833 core_user: check if groups are present in 'hiddenuserfields' 2017-08-23 17:38:53 +08:00
Eloy Lafuente (stronk7) 8839739680 Merge branch 'MDL-59790-master' of git://github.com/lameze/moodle 2017-08-23 11:34:22 +02:00
Andrew Nicols fc7467e5a1 Merge branch 'MDL-57412-master' of https://github.com/xow/moodle 2017-08-23 11:15:34 +02:00
Simey Lameze 59641f4eb9 MDL-59910 core_calendar: add missing typegradingdue lang string 2017-08-23 15:42:44 +08:00
John Okely 26f12a35c4 MDL-57412 adminlib: change linkcoursesections default to 1 2017-08-23 15:05:33 +08:00
John Okely e46fde42ab MDL-57412 upgrade: Set linkcoursesections to 1 if boost in use 2017-08-23 15:05:32 +08:00
Andrew Nicols 9e413012b7 Merge branch 'MDL-59676-master' of git://github.com/lameze/moodle 2017-08-23 14:11:37 +08:00
Andrew Nicols dcc8096ae3 Merge branch 'MDL-59675-master' of git://github.com/lameze/moodle 2017-08-23 14:10:40 +08:00
Andrew Nicols a4b426293f Merge branch 'MDL-59674-master-fix2' of https://github.com/lameze/moodle 2017-08-23 12:23:38 +08:00
Simey Lameze 7e3658950d MDL-59674 core_calendar: use course full name on group events 2017-08-23 12:22:18 +08:00
Andrew Nicols d4cbf2787a Merge branch 'MDL-59699-master-fix' of https://github.com/lameze/moodle 2017-08-23 12:02:41 +08:00
Simey Lameze c87ad4e52c MDL-59699 core_calendar: use course full name instead 2017-08-23 11:08:19 +08:00
Simey Lameze 99a4e7faea MDL-59699 core_calendar: display course link under event type 2017-08-23 11:02:03 +08:00
Andrew Nicols cbf0ec51af Merge branch 'MDL-59393-int-fix-1' of github.com:ryanwyllie/moodle 2017-08-23 10:54:51 +08:00
Jun Pataleta ac150167c3 Merge branch 'MDL-59733-master-fix' of github.com:xow/moodle 2017-08-23 10:52:44 +08:00
Jun Pataleta b6f7efb368 Merge branch 'MDL-59784-master' of git://github.com/andrewnicols/moodle 2017-08-23 10:47:54 +08:00
Andrew Nicols 959c6204e6 Merge branch 'MDL-59674-master-fix' of https://github.com/lameze/moodle 2017-08-23 10:34:48 +08:00
John Okely 025bf573c9 MDL-59733 assignsubmission_file: Add title to filetypes setting modal 2017-08-23 10:25:49 +08:00
Andrew Nicols e5bdf51ce5 MDL-59784 core: Check for non-promises rather than string
If a malformed value was passed, it may be that we can still display it.
We should not assume that, if a string is not passed, that we are
dealing with a promise.
2017-08-23 10:25:15 +08:00
Simey Lameze 448f47271b MDL-59674 core_calendar: add course link to group events 2017-08-23 10:19:10 +08:00
Ryan Wyllie 96283892fe MDL-59393 calendar: fix CiBoT complaints 2017-08-23 02:09:43 +00:00
Jun Pataleta c1e75004a5 Merge branch 'MDL-59797-master' of git://github.com/lameze/moodle 2017-08-23 10:05:15 +08:00
Simey Lameze b45ca55d6b MDL-59790 core: fix tooltip for pie chart 2017-08-23 10:03:00 +08:00
Andrew Nicols 8cb6a55147 Merge branch 'MDL-53848_form_hideif' of git://github.com/davosmith/moodle 2017-08-23 09:56:00 +08:00
Andrew Nicols 6ca4e64606 Merge branch 'MDL-59393-master-2' of git://github.com/ryanwyllie/moodle 2017-08-23 09:44:01 +08:00
Andrew Nicols ac92b9d2a9 Merge branch 'MDL-51827' of git://github.com/timhunt/moodle 2017-08-23 09:37:52 +08:00
Ryan Wyllie ca518350ff MDL-59393 calendar: use event context in update_event_start_day 2017-08-23 01:32:51 +00:00
Simey Lameze b453e4c92f MDL-59797 core_course: dont escape module and section names 2017-08-23 09:19:02 +08:00
Ryan Wyllie 28e030d9f9 MDL-59393 calendar: remove use of legacy event in event_exporter 2017-08-23 01:15:08 +00:00
Ryan Wyllie 909d08588d MDL-59393 calendar: stop user editing module events 2017-08-23 00:57:22 +00:00
Ryan Wyllie 5ca142dc5b MDL-59393 calendar: add event drag and drop to monthly view 2017-08-23 00:57:22 +00:00
Ryan Wyllie c6fb931088 MDL-59393 calendar: add update_event_start_day external function 2017-08-23 00:56:27 +00:00
Ryan Wyllie 55f5fcb9c9 MDL-59393 calendar: add update_event_start_day to local api 2017-08-23 00:56:26 +00:00
Ryan Wyllie 0dc3aa1295 MDL-59393 calendar: set defaults for legacy event in mapper 2017-08-23 00:56:26 +00:00
Ryan Wyllie 1652934f09 MDL-59393 calendar: move candelete and canedit into event_exporter_base 2017-08-23 00:56:26 +00:00
Simey Lameze d8da7fc8b4 MDL-59674 core_calendar: add group name to summary template 2017-08-23 00:56:26 +00:00
Simey Lameze 950d2ce0e5 MDL-59674 core_calendar: add group name to event exporter 2017-08-23 00:56:26 +00:00
Eloy Lafuente (stronk7) a7417383fa Merge branch 'MDL-59067_master' of git://github.com/dmonllao/moodle 2017-08-23 02:55:20 +02:00
David Monllao 0690a271c3 MDL-59067 analytics: Store indicator calculations
This was supposed to be split into multiple commits to make it easier to understand
but I failed to do it properly. So this is the list of changes:

- New analytics_indicator_calc db table to store indicators calculations
- Reuse previous calculations during prediction/training; other models
  previous calculations should also be reused as long as they belong to
  the same sample (sampleid depends on sampleorigin), time range and indicator
- Allow bulk inserting of these calculations as this can hurt database performance
- Block the same analysable to be analysed for training and for prediction
- Use a new instance of the target and use it for is_valid_* functions
  as using ::is_valid_sample can lead to problems if people
  uses it to cache stuff
2017-08-22 22:28:04 +02:00
Eloy Lafuente (stronk7) 018b1f3112 Merge branch 'MDL-59663-master' of git://github.com/junpataleta/moodle 2017-08-22 21:03:32 +02:00
Tim Hunt e95fe51e72 MDL-51827 account confirm: take users to their dashboard
This is an old bit of UI inconsistency. For some reason it used to take
people to the list of all courses. Given modern Moodle usability
conventions, that does not really make sense any more.
2017-08-22 14:33:04 +01:00
Eloy Lafuente (stronk7) 9bd0912ad0 Merge branch 'MDL-59661_master-unit-test' of git://github.com/dmonllao/moodle 2017-08-22 13:23:11 +02:00
David Monllao 9955e0fe06 MDL-59661 analytics: New test for the datasets manager 2017-08-22 13:04:49 +02:00
Eloy Lafuente (stronk7) fae154ea39 Merge branch 'MDL-59859-master' of git://github.com/andrewnicols/moodle 2017-08-22 12:36:48 +02:00
Eloy Lafuente (stronk7) faa509dfb2 Merge branch 'MDL-59784-master' of git://github.com/andrewnicols/moodle 2017-08-22 12:28:32 +02:00
Andrew Nicols 1bf96e2388 MDL-59848 auth: Remove config for old plugins
Note: (stronk7@moodle.org) Amended slightly from original to update versions.
2017-08-22 12:20:19 +02:00
Andrew Nicols 4508e143d8 Merge branch 'MDL-59826-master' of https://github.com/snake/moodle 2017-08-22 15:49:11 +08:00
Andrew Nicols 170bbc84a7 Merge branch 'MDL-59825-master' of https://github.com/snake/moodle 2017-08-22 15:12:38 +08:00
Jun Pataleta b5d6f7db3b Merge branch 'MDL-57775-master-xmlrpc' of git://github.com/mudrd8mz/moodle 2017-08-22 15:00:01 +08:00
Andrew Nicols 474c7ee757 Merge branch 'MDL-36985-master' of https://github.com/snake/moodle 2017-08-22 14:37:55 +08:00
Damyon Wiese 555a43a9f5 MDL-59801 roles: Allow filter by assignable roles
If you can edit roles on the participants page you should be able to filter by any assignable role
2017-08-22 13:59:59 +08:00
Damyon Wiese 9df2fdecde MDL-59801 users: Show profile roles to students
Obey site config "profileroles" for students.
2017-08-22 13:59:59 +08:00
Damyon Wiese 80a2937dbe MDL-59688 enrol: Show removed users
When users are automatically removed from the bulk action selection (due to a non-matching enrolment method)
we should show a warning to make it obvious.
2017-08-22 13:54:00 +08:00
Andrew Nicols 8df7bfff0d Merge branch 'MDL-59893-master' of https://github.com/snake/moodle 2017-08-22 13:32:53 +08:00
Jake Dallimore 81ed702156 MDL-36985 atto: show file removal text on managefiles plugin
Shows a text warning in the manage files plugin window when an editor
has set the 'removeorphaneddrafts' option to true. The text tells the
user that unused files will be automatically deleted on save.
2017-08-22 13:19:52 +08:00
Jake Dallimore f3c2afd0e8 MDL-36985 core_files: added option to remove draft files on save
text areas can now specify $options['removeorphaneddrafts'] when saving
their data using file_postupdate_standard_editor(). If set to true,
this option clears all user drafts which are not referenced in the text
2017-08-22 13:15:30 +08:00
Jun Pataleta 0ea62b8de6 Merge branch 'MDL-59204_master-fix' of git://github.com/markn86/moodle 2017-08-22 13:08:19 +08:00
Marina Glancy 4aef64f85f MDL-59770 registration: correct mistype
AMOS BEGIN
  MOV [mobilenotificacionsenabled,core_hub],[mobilenotificationsenabled,core_hub]
AMOS END
2017-08-22 13:06:13 +08:00
Mark Nelson 2f3e176078 MDL-59204 analytics: added missing apostrophe 2017-08-22 13:04:47 +08:00
Simey Lameze c43d6d6d4f MDL-59820 core_calendar: remove unnecessary css class 2017-08-22 12:59:29 +08:00
Jake Dallimore 859e62e7fa MDL-59893 assign: don't prefix file links when downloading as folders
Change to download_rewrite_pluginfile_urls() ensuring prefix isn't
added to file links when downloading with the  downloadasfolders
user preference set to true. Links to files in onlinetext now work
when downloading as folders.
2017-08-22 12:56:45 +08:00
Jake Dallimore a15dfc6682 MDL-59893 assign: fixes for groupname prefix when downloading
assign->download_submissions():
- groupname now only added to zip file name if not empty, fixing a
double hyphen bug in the file name.
assign->download_rewrite_pluginfile_urls():
- groupname is now correctly determined using get_submission_group()
instead of using groups_get_activity_group() which fails when there
is no active activity group set. Uses the same logic that
download_submission() uses to prefix file names. Fixes a bug where an
empty groupname prefix was generated, resulting in broken links.
2017-08-22 12:56:28 +08:00
Jun Pataleta f8de8cb314 Merge branch 'MDL-59204_master_v2' of git://github.com/markn86/moodle 2017-08-22 12:46:23 +08:00
Andrew Nicols 51483e4a4e Merge branch 'MDL-57246-33-forumredirect' of git://github.com/roperto/moodle 2017-08-22 12:26:42 +08:00
Mark Nelson 2fa1f92a82 MDL-59204 analytics: help icons for target, indicators and time method 2017-08-22 12:07:00 +08:00
Andrew Nicols ea8b25c51f Merge branch 'MDL-59702' of https://github.com/andrewhancox/moodle 2017-08-22 11:01:30 +08:00
Andrew Nicols b4b61be922 Merge branch 'MDL-59860-master-fix' of https://github.com/lameze/moodle 2017-08-22 10:51:52 +08:00
Simey Lameze 1228bb6cad MDL-59860 core_calendar: fix behat failures 2017-08-22 09:40:01 +08:00
Adrian Greeve e3909e5853 MDL-59881 question bank: Use supplied function parameters.
question_usage_by_activity::start_all_questions now uses all
three of the parameters that are defined.
2017-08-22 09:30:04 +08:00
Eloy Lafuente (stronk7) 2345ae252e Merge branch 'MDL-59661_master' of git://github.com/dmonllao/moodle 2017-08-22 01:41:29 +02:00
Eloy Lafuente (stronk7) eb2e291716 Merge branch 'MDL-55937-master' of git://github.com/ankitagarwal/moodle 2017-08-21 23:17:24 +02:00
Eloy Lafuente (stronk7) 6b1e790231 Merge branch 'MDL-59049-master' of https://github.com/snake/moodle 2017-08-21 23:09:09 +02:00
AMOS bot 58b8be6c97 Automatically generated installer lang files 2017-08-22 00:05:56 +08:00
Davo Smith 910b02734c MDL-59195 mod_assign: add behat tests for comments error 2017-08-21 10:23:01 +01:00
Davo Smith ec0ecdaf6e MDL-59195 assignsubmission_comments: fix permission checks 2017-08-21 10:23:01 +01:00
Jun Pataleta 8711ab92a9 Merge branch 'MDL-59809-master-fix' of git://github.com/junpataleta/moodle 2017-08-21 17:01:24 +08:00
Alexander Bias f592063fb5 MDL-59879 navigation: Add node key to competencies navigation node 2017-08-21 10:59:49 +02:00
Jun Pataleta bf3d824a97 MDL-59809 boost: Make stylelint happy 2017-08-21 16:58:33 +08:00
Jun Pataleta 66d08a2122 Merge branch 'MDL-59809-master' of git://github.com/damyon/moodle 2017-08-21 16:30:37 +08:00
Simey Lameze 74ed81e1f5 MDL-59675 core_calendar: reload calendar region after add event 2017-08-21 16:19:46 +08:00
Simey Lameze ff5e2d9cad MDL-59676 core_calendar: reload calendar region after event edit 2017-08-21 16:13:32 +08:00
Andrew Nicols e825859078 Merge branch 'MDL-59677-master-fix' of git://github.com/lameze/moodle 2017-08-21 15:58:42 +08:00
Simey Lameze 47b55dade4 MDL-59677 core_calendar: add missing return on changeMonth promises 2017-08-21 15:52:55 +08:00
Andrew Nicols 0813f00d0f Merge branch 'MDL-59677-master' of git://github.com/lameze/moodle 2017-08-21 15:33:40 +08:00
Cameron Ball 5e6a36f845 MDL-59885 assignfeedback_editpdf: Correctly report combination status 2017-08-21 15:32:02 +08:00
Andrew Nicols b7173c18e9 Merge branch 'MDL-59687-master' of git://github.com/lameze/moodle 2017-08-21 15:20:22 +08:00
Simey Lameze 516e74440a MDL-59677 core_calendar: delete event without reload whole page 2017-08-21 15:20:14 +08:00
Andrew Nicols 3951c81589 Merge branch 'MDL-59674-master' of git://github.com/lameze/moodle 2017-08-21 15:14:15 +08:00
Andrew Nicols ba756e857b Merge branch 'MDL-59699-master' of git://github.com/lameze/moodle 2017-08-21 14:15:41 +08:00
Andrew Nicols b34b6b4fe8 Merge branch 'MDL-59860-master' of git://github.com/lameze/moodle 2017-08-21 14:11:44 +08:00
Simey Lameze 4cc382d5c7 MDL-59674 core_calendar: add group name to summary template 2017-08-21 14:07:07 +08:00
Simey Lameze a1e166e7c3 MDL-59674 core_calendar: add group name to event exporter 2017-08-21 14:07:03 +08:00
Simey Lameze 21e3d8b8a3 MDL-59699 core_calendar: add steps to assert the course link 2017-08-21 13:35:53 +08:00
Simey Lameze 00d2d344a2 MDL-59699 core_calendar: add course link to course events 2017-08-21 13:33:51 +08:00
Andrew Nicols b05f2cd794 MDL-59859 enrol_manual: Improve modal creation ordering 2017-08-21 13:00:00 +08:00
Andrew Nicols 17137d471d MDL-59859 core: Accept Promise for save button
Accept either a promise, or a string for the content of the save button
in the save / cancel modal.
2017-08-21 12:54:34 +08:00
John Okely 52fe3c4683 MDL-57412 course: Unit test get_view_url for course formats 2017-08-21 12:49:59 +08:00
John Okely 1832b68142 MDL-57412 navigationlib: Respect linkcoursesections again 2017-08-21 12:49:58 +08:00
Jun Pataleta 3a3530a863 Merge branch 'MDL-59733-master' of https://github.com/xow/moodle 2017-08-21 10:40:27 +08:00
Jun Pataleta 3a0e3c34b0 MDL-59663 course: Render the appropriate course-category tree action 2017-08-21 10:01:37 +08:00
Andrew Nicols 3e0df465db MDL-59784 core: Refactor addblock to listen earlier 2017-08-18 22:51:48 +08:00
Andrew Nicols 728357707d MDL-59784 core: Modal factory should listen before fetching templates 2017-08-18 22:51:48 +08:00
Andrew Nicols e2b503043e MDL-59784 core: Modal should accept title as a promise 2017-08-18 22:51:47 +08:00
Eloy Lafuente (stronk7) 0f74ed2981 Merge branch 'MDL-59836-master' of git://github.com/junpataleta/moodle 2017-08-18 12:36:17 +02:00
Mark Nelson 7851842f4b MDL-59204 core: add getters to lang_string for identifier and component 2017-08-18 18:02:39 +08:00
Mark Nelson b94814fa91 MDL-59204 analytics: added corresponding name '_help' strings
Strings are intentionally left blank as they will be done later by
AMOS.
2017-08-18 18:02:38 +08:00
Mark Nelson 7e00aa725a MDL-59204 analytics: changed get_name so that it returns a lang_string
This was done for indicators, targets and time splitting methods so that we
can get the string identifier and component in order to display a help_icon.

The functions were also made abstract, removing the default implementation.
Indicators, targets and time splitting methods should define this function.
2017-08-18 18:02:38 +08:00
Simey Lameze 6a87019b13 MDL-59860 core_calendar: behat scenario for module events 2017-08-18 12:29:49 +08:00
Simey Lameze 4c3cd3c1b4 MDL-59860 core_calendar: add editurl parameter back 2017-08-18 12:05:30 +08:00
Jun Pataleta 68a0485c5c MDL-59836 core_amd: Use only one input event handler
* We have duplicate input event handlers for the autocomplete element
which are both firing when the input element's value is being set.
In case an AJAX handler is defined for the autocomplete suggestions,
this causes the autocomplete suggestions so show "No suggestions" first
and then load the results from the AJAX handler a little bit later.
2017-08-18 11:19:08 +08:00
Simey Lameze ed84d85fdb MDL-59687 core_calendar: calendar feature improvement 2017-08-18 11:13:27 +08:00
Simey Lameze a56a9b3937 MDL-59687 core_calendar: create event step needs to wait page ready 2017-08-18 11:12:41 +08:00
Jake Dallimore 788ea5c85c MDL-59826 output: make context_header() aware of page context.
There are times, such as when viewing a user profile within a course,
when user_can_view_profile() should be passed a course to force it to
restrict its capability checks to only the supplied course. This change
makes sure that core_renderer->context_header() calls this correctly.
2017-08-18 11:07:19 +08:00
Jake Dallimore c09541fd28 MDL-59049 badges: allows users to view badges from deleted courses 2017-08-18 09:08:50 +08:00
Jake Dallimore 067accce47 MDL-59825 user: user_can_view_profile() checks all of a $user's courses
This function used to check only those courses shared by both users
when it should have been checking all courses in which $user is
enrolled. Managers can view a user's course profile without necessarily
sharing the course (being enrolled in) with the $user.
2017-08-18 08:29:37 +08:00
David Monllao 1855cdeb75 MDL-59779 analytics: Alternative to query log table 2017-08-17 20:55:50 +02:00
David Monllao cab7abec70 MDL-59779 analytics: Bulk-insert predictions 2017-08-17 20:55:38 +02:00
David Monllao d126f83806 MDL-59661 analytics: Export models training data 2017-08-17 20:51:56 +02:00
David Monllao 56d4981e03 MDL-59661 analytics: Filearea passed as an argument to dataset_manager 2017-08-17 20:51:56 +02:00
Davo Smith 527459a4c7 MDL-53848 mod_assign, formslib: add hideIf to real form and adapt behat tests to use this 2017-08-17 14:52:11 +01:00
Davo Smith 8dff6c78bd MDL-53848 formslib: peer review fixes 2017-08-17 14:52:11 +01:00
Davo Smith 68d206b274 MDL-53848 form: fix disabledIf functionality 2017-08-17 14:52:11 +01:00
Davo Smith 766d6f9a61 MDL-53848 form: hide entire group if hideIf test is applied to the group 2017-08-17 14:52:10 +01:00
Ankit Agarwal 988879655b MDL-53848 formslib: make conditional hidden elements properly accessible 2017-08-17 14:52:10 +01:00
Marina Glancy f3da329da4 MDL-53848 forms: additions to the behat test 2017-08-17 14:52:10 +01:00
Davo Smith d20498625c MDL-53848 form: add hideIf functionality 2017-08-17 14:52:10 +01:00
Eloy Lafuente (stronk7) 27466d7548 weekly release 3.4dev 2017-08-17 10:39:13 +02:00
Eloy Lafuente (stronk7) 3ea6691c74 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-08-17 10:39:10 +02:00
Damyon Wiese 3be8982033 MDL-59824 groups: no groups == cannot edit members
On the participants page, if there are no course groups - don't make the groups list editable.
2017-08-17 12:07:18 +08:00
Damyon Wiese f4ddc4ecd3 MDL-59823 users: Enrol bulk op course instance
The commit message above was my best attempt at meeting the very short restrictions on commit message first lines.

What it needed to say was: "Only show bulk enrolment operations for enrolment methods that have an instance in the course"
2017-08-17 12:03:52 +08:00
Damyon Wiese ca56095250 MDL-59822 users: No enrolments on frontpage
Hide enrolment status and bulk actions from the frontpage.
2017-08-17 11:34:52 +08:00
AMOS bot b257793cf8 Automatically generated installer lang files 2017-08-17 00:08:17 +08:00
Damyon Wiese bd6f87ed82 MDL-59809 boost: Don't allow z-index on pagination
This causes parts of the pagination bar to show through overlays and modals.
2017-08-16 15:53:40 +08:00
Jun Pataleta a88a63e694 Merge branch 'MDL-59388-master' of git://github.com/lameze/moodle 2017-08-16 10:12:51 +08:00
Simey Lameze 1a1e8ab029 MDL-59388 core_calendar: convert manage subscription button 2017-08-16 10:10:48 +08:00
Simey Lameze bd33760372 MDL-59388 core_calendar: remove empty lines and unused imports 2017-08-16 09:44:42 +08:00
Jun Pataleta 12eef11c8f MDL-59388 calendar: footer_options fixes 2017-08-16 09:36:48 +08:00
Ryan Wyllie 6a7ad2cb21 MDL-59388 core_calendar: setUpTrigger needs to handle arrays 2017-08-16 09:27:26 +08:00
Simey Lameze 836aa3f64a MDL-59388 core_calendar: fix month view on clean theme 2017-08-16 09:27:22 +08:00
Simey Lameze a4af4c9633 MDL-59388 core_calendar: fix cibot complains 2017-08-16 09:25:51 +08:00
Andrew Nicols 77c762b3ba Merge branch 'wip-MDL-59800-master' of git://github.com/marinaglancy/moodle 2017-08-16 09:08:34 +08:00
Andrew Nicols 34cf57f1d0 Merge branch 'MDL-53537_m34v4' of https://github.com/sbourget/moodle 2017-08-16 08:46:55 +08:00
David Mudrák 8bfd82b2f5 MDL-57775 xmlrpc: Formal fix of coding style and phpdocs
- There was missing MOODLE_INTERNAL check.
- The client is not used for unit tests only so the class description
  was obsolete.
2017-08-15 21:43:35 +02:00
David Mudrák b4da577385 MDL-57775 xmlrpc: Test webservice_xmlrpc_client request encoding
The patch wraps the underlying xmlrpc_encode_request() call into a
standalone method that can be then unit-tested.
2017-08-15 21:43:35 +02:00
David Mudrák 2b604286b5 MDL-57775 xmlrpc: Pass escaping to xmlrpc_encode_request() calls
This patch adds the missing 'escaping' option to all remaining
xmlrpc_encode_request() calls in the moodle core code.

Without this, the xmlrpc_decode_request() call on the server side may
lead to wrongly decoded non-ascii characters.
2017-08-15 21:43:34 +02:00
Stephen Bourget f5de9484e8 MDL-53537 core_backup: Add a course_backup_created event 2017-08-15 14:10:38 -04:00
Eloy Lafuente (stronk7) ddea987812 Merge branch 'MDL-58435' of https://github.com/NeillM/moodle 2017-08-15 16:35:12 +02:00
Eloy Lafuente (stronk7) 19e8e56e7e Merge branch 'MDL-59756-master-2' of git://github.com/junpataleta/moodle 2017-08-15 13:38:01 +02:00
Eloy Lafuente (stronk7) 245227fdcd Merge branch 'MDL-59667-master-2' of git://github.com/ryanwyllie/moodle 2017-08-15 13:12:45 +02:00
Mark Nelson 952cbce293 MDL-59204 mod_*: removed redundant activity name from string index
Also fixed references to incorrect strings.
2017-08-15 16:55:28 +08:00
Neill Magill 156a0a1560 MDL-58435 behat: Update existing tests to use section editing steps 2017-08-15 09:22:31 +01:00
Jun Pataleta 654f52d288 MDL-59756 user: More Behat tests for the status field and friends
* Add coverage for the rendering of the edit/unenrol icons in the status
  column.
* Add coverage for the rendering of the edit icon in the enrolment
  details modal.
* Avoid usage of xpath_element selectors whenever possible.
2017-08-15 14:33:23 +08:00
John Okely a18b4799f2 MDL-59733 assignsubmission_file: Use click interface in behat 2017-08-15 13:29:14 +08:00
Ankit Agarwal 2ba3ce9829 MDL-55937 assign: Check for group submission caps when userid=0 2017-08-15 10:58:00 +05:30
Andrew Nicols 9729cd2fcc Merge branch 'MDL-59746-master' of git://github.com/Dagefoerde/moodle 2017-08-15 13:17:37 +08:00
Andrew Nicols b66c2f561b Merge branch 'MDL-59810-master' of git://github.com/lameze/moodle 2017-08-15 13:05:33 +08:00
Simey Lameze 5d942f5a53 MDL-59810 core_calendar: test action events cannot be deleted 2017-08-15 12:05:10 +08:00
Jun Pataleta fa435675ec Merge branch 'MDL-57611-master' of https://github.com/jebarviabb/moodle 2017-08-15 11:49:38 +08:00
Andrew Nicols 69e0850292 Merge branch 'MDL-59370-master' of git://github.com/damyon/moodle 2017-08-15 10:16:42 +08:00
Ryan Wyllie ecc88f3379 MDL-59667 form: stop datepicker from rendering outside viewport
Stop the date picker panel from being rendered outside of the
viewport, for example when being displayed in a modal.
2017-08-15 01:24:52 +00:00
Eloy Lafuente (stronk7) 0982255fa8 Merge branch 'wip-MDL-59736-master' of git://github.com/marinaglancy/moodle 2017-08-14 12:10:36 +02:00
Eloy Lafuente (stronk7) 104ae3efdf Merge branch 'MDL-59774_master' of git://github.com/dmonllao/moodle 2017-08-14 11:58:00 +02:00
Jun Pataleta 993ccc7268 Merge branch 'MDL-59785-master' of git://github.com/lameze/moodle 2017-08-14 16:56:08 +08:00
Damyon Wiese 98024662ab MDL-59756 enrol: UI change enrolment details
The enrolment details popup should not have "Edit enrolment" as a primary action for the dialogue.

Instead it should just have an edit cog next to the enrolment name.
2017-08-14 15:15:11 +08:00
Marina Glancy 1e325797a5 MDL-59800 bootstrapbase: correct CSS for BS4 card 2017-08-14 14:47:25 +08:00
David Monllao 88777c570c MDL-59774 analytics: Fix sql_compare_text usage
Replace a distinct + join by an exists, which suits better what we need to do.
2017-08-14 07:56:06 +02:00
Jun Pataleta 28368da794 Merge branch 'MDL-59740_master' of git://github.com/markn86/moodle 2017-08-14 13:48:01 +08:00
Andrew Nicols 8fa7961d20 Merge branch 'wip-MDL-57188-master-2' of git://github.com/marinaglancy/moodle 2017-08-14 13:13:47 +08:00
Andrew Nicols d9d1e6cb4d Merge branch 'MDL-59737_master' of git://github.com/markn86/moodle 2017-08-14 12:25:33 +08:00
Jun Pataleta cc012017ad Merge branch 'MDL-59492-master' of git://github.com/lameze/moodle 2017-08-14 12:16:08 +08:00
Damyon Wiese 47cb325821 MDL-59685 users: Enrolment info link missing href
Href is required so that CSS can style these as clickable links (hand icon).

I also used comments to collapse the whitespace before and after the icons.
2017-08-14 11:58:28 +08:00
Simey Lameze 1f9f277d3e MDL-59492 block_myoverview: make view course buttons consistent 2017-08-14 11:58:18 +08:00
Simey Lameze 54798b5fbb MDL-59492 block_myoverview: fix remaining course links visibility 2017-08-14 11:58:18 +08:00
Charles Fulton 6dede51557 MDL-59492 block_myoverview: handle course visibility style 2017-08-14 11:58:18 +08:00
Damyon Wiese 6015caa411 MDL-59615 inplaceeditable: autocomplete fix
When autocompletes are removed from the DOM, they need to be properly cleaned up or
their event handlers may get duplicated when they are re-added to the page.

JQuery empty() handles this very nicely.
2017-08-14 11:44:04 +08:00
Damyon Wiese 5dd94c811d MDL-59370 behat: Behat fixes for enrolled users
We removed the enrolled users page, so we need to update the behats that were using it.
2017-08-14 11:06:22 +08:00
Damyon Wiese 4b50765bd5 MDL-59370 enrol: Kill the enrol/users page. 2017-08-14 11:06:16 +08:00
Simey Lameze 644b2e982e MDL-59388 core_calendar: display calendar footer options 2017-08-14 09:28:58 +08:00
Simey Lameze 86775ced89 MDL-59388 core_calendar: new footer options exporter 2017-08-14 09:28:52 +08:00
Simey Lameze 6124ec1947 MDL-59388 core_calendar: add calendar_get_footer_options() method 2017-08-14 09:28:46 +08:00
Andrew Nicols 695c5726b8 MDL-59388 calendar: Add AJAX Monthly navigation 2017-08-14 09:28:40 +08:00
Andrew Nicols 64ff737a2f MDL-59388 calendar: Switch monthly view to use templates 2017-08-14 09:28:35 +08:00
Andrew Nicols c075a3de34 MDL-59388 calendar: Add a helper to convert ymd to timestamp 2017-08-14 09:28:29 +08:00
Andrew Nicols 7fe41af525 MDL-59388 calendar: Allow filter to be specified when fetching events 2017-08-14 09:28:23 +08:00
Andrew Nicols 6ad2bfd124 MDL-59388 calendar: Break out event exporter into a base class 2017-08-14 09:28:17 +08:00
Andrew Nicols b16dca435a MDL-59388 calendar: Add data-time to calendar navigation links 2017-08-14 09:28:11 +08:00
Andrew Nicols def443a086 MDL-59388 calendar: Move timestamp gen to new function 2017-08-14 09:28:04 +08:00
Andrew Nicols 162f90e59e MDL-59388 core: Add params to link arrows 2017-08-14 09:27:58 +08:00
Eloy Lafuente (stronk7) eb74752523 Merge branch 'MDL-59741-master' of git://github.com/jleyva/moodle 2017-08-14 02:34:11 +02:00
AMOS bot 556054dfb1 Automatically generated installer lang files 2017-08-14 00:08:13 +08:00
Josh Ebarvia 93e071c8ec MDL-57611 report_log: Fix capability checks for viewing logs 2017-08-11 13:01:50 +09:30
Jun Pataleta 5982da53dc MDL-59756 user: Add edit enrolment button in enrol details modal 2017-08-11 10:18:30 +08:00
Jun Pataleta 00aba5ec9a MDL-59756 enrol: Swap positions of edit and unenrol actions 2017-08-11 10:18:30 +08:00
David Monllao fbc889a268 MDL-59779 analytics: Reduce community of inquiry indicators db queries 2017-08-10 11:07:23 +02:00
David Monllao 05c3727674 MDL-59779 analytics: Request cache for student and teacher archetypes 2017-08-10 11:07:13 +02:00
Simey Lameze 1c729ff624 MDL-59785 mod_book: all navigation styles must mark as completed 2017-08-10 16:11:33 +08:00
David Monllao f3625f47c5 weekly release 3.4dev 2017-08-10 09:11:29 +02:00
Neill Magill 0f84b17eca MDL-58435 behat: Behat section editing step should work on section 0 2017-08-09 15:15:39 +01:00
Andrew Nicols ffd1747b11 Merge branch 'MDL-59671-master-fix' of git://github.com/lameze/moodle 2017-08-09 15:09:08 +08:00
Simey Lameze 436d39ba85 MDL-59671 core_calendar: replace current delete permission checks 2017-08-09 14:51:22 +08:00
Simey Lameze dadd6f9fcc MDL-59671 core_calendar: create calendar_delete_event_allowed function 2017-08-09 14:47:35 +08:00
Andrew Nicols ba07a8e7da Merge branch 'MDL-59638_master-fix' of git://github.com/dmonllao/moodle 2017-08-09 13:41:29 +08:00
David Monllao 42d67f95cd MDL-59638 analytics: Prevent start time to be higher than end time
Other related changes:

- core_analytics\site get_start and get_end returning always integer values
- Defer intval call in define_ranges to refine some seconds
2017-08-08 14:38:11 +02:00
Dan Poltawski 2defbefe8c Merge branch 'MDL-59116_master-fix2' of git://github.com/dmonllao/moodle 2017-08-08 13:19:49 +01:00
David Monllao e4584b8110 MDL-59116 analytics: Replace wrong sorting 2017-08-08 14:04:52 +02:00
Eloy Lafuente (stronk7) 455974b395 Merge branch 'MDL-59748-master-2' of git://github.com/andrewnicols/moodle 2017-08-08 11:49:05 +02:00
Marina Glancy 9dd0fe18a8 MDL-57188 course: correct return url to manage page 2017-08-08 14:48:44 +08:00
Andrew Nicols c036256d86 Merge branch 'MDL-59749-master' of git://github.com/ryanwyllie/moodle 2017-08-08 14:33:43 +08:00
Andrew Nicols ca84ba0ed2 Merge branch 'MDL-59666-master-fix' of git://github.com/junpataleta/moodle 2017-08-08 12:54:27 +08:00
Jun Pataleta 10994cbc4a MDL-59666 mod_assign: Disable remind to grade by field in override tests 2017-08-08 12:28:39 +08:00
Andrew Nicols f4cc24ca64 Merge branch 'MDL-59671-master' of git://github.com/lameze/moodle 2017-08-08 11:46:51 +08:00
Simey Lameze c34e200241 MDL-59671 core_calendar: action events edition needs to be on module 2017-08-08 11:44:27 +08:00
Simey Lameze 1106040a4d MDL-59671 core_calendar: add visibility logic to template 2017-08-08 11:44:19 +08:00
Simey Lameze 4df03a279a MDL-59671 core_calendar: check if the event can be deleted 2017-08-08 11:44:11 +08:00
Simey Lameze 6fb751562a MDL-59671 core_calendar: move logic to calendar event exporter 2017-08-08 11:44:03 +08:00
Ryan Wyllie 0a501e1b2e MDL-59749 form: revert setting id on inline form elements
Revert the change I made in MDL-59382 to correctly set the id for inline
form elements because it's breaking a bunch of different places that had
already worked around the problem.
2017-08-08 03:28:36 +00:00
David Monllao 9eebb3c38b Merge branch 'MDL-59448-master' of https://github.com/xow/moodle 2017-08-08 04:25:06 +02:00
David Monllao e8e53efba8 Merge branch 'MDL-58889-master' of https://github.com/xow/moodle 2017-08-08 04:23:31 +02:00
Andrew Nicols 286a38eeaa Merge branch 'MDL-59700-master' of git://github.com/cameron1729/moodle 2017-08-08 10:12:35 +08:00
Andrew Nicols 63ce49df9b MDL-59748 groupslib: Fix time issue in unit test 2017-08-08 10:07:46 +08:00
John Okely 8b0e965d30 MDL-59448 boost: Make info colour accessible and match default primary 2017-08-08 08:37:46 +08:00
John Okely 2fd7cdbe83 MDL-58889 boost: Use underline links in footer
It's impossible to gain the right colour contrast against a dark footer
using the same primary colour that gets 4.5 against white.
2017-08-08 08:34:15 +08:00
Andrew Nicols a72e7d4974 Merge branch 'MDL-59725-master' of https://github.com/xow/moodle 2017-08-08 08:30:33 +08:00
Eloy Lafuente (stronk7) 9af66ed103 Merge branch 'MDL-59614-master' of git://github.com/junpataleta/moodle 2017-08-08 01:48:35 +02:00
Jan Dageförde 8f1e67d311 MDL-59746 oauth2: urlencode parameters for post requests 2017-08-07 22:21:29 +02:00
Eloy Lafuente (stronk7) a0d85e1828 Merge branch 'MDL-59506-master' of git://github.com/andrewnicols/moodle 2017-08-07 19:55:19 +02:00
Eloy Lafuente (stronk7) d4c8235f87 Merge branch 'MDL-59638_master' of git://github.com/dmonllao/moodle 2017-08-07 19:48:17 +02:00
Dan Poltawski 9ebc67f4a2 Merge branch 'MDL-59172-master' of https://github.com/snake/moodle 2017-08-07 16:20:11 +01:00
David Monllao bfdc340061 Merge branch 'MDL-59642-master' of git://github.com/andrewnicols/moodle 2017-08-07 14:41:32 +02:00
David Monllao d5a99c450a MDL-59116 analytics: Add rangeindex field to predict_samples index 2017-08-07 12:39:20 +02:00
Mark Nelson a91a4dd77b MDL-59740 core_form: add ability to specify if a button is primary 2017-08-07 17:37:14 +08:00
Mark Nelson f1dd575c6f MDL-59737 core_backup: changed reference to domain doesntexist.com 2017-08-07 17:17:58 +08:00
Juan Leyva 220656e83b MDL-59741 auth: Always check the type of iconurls
We need to check always if iconurl is an instance of moodle_url to
avoid Web Services returning iconurls from identity providers to fail.
2017-08-07 10:58:37 +02:00
Dan Poltawski 7cb60527f4 Merge branch 'MDL-59666-master' of git://github.com/junpataleta/moodle 2017-08-07 09:31:34 +01:00
Cameron Ball 03756f0bdb MDL-59700 filestorage: Rework repositories to avoid add_file_to_pool
For historical reasons repositories need to call add_file_to_pool
to sync file records. However now that a before_file_created hook
has been added additional information is needed by add_file_to_pool.

Ideally add_file_to_pool and friends will become private/protected,
so we need to remove all uses of it in core.

This patch adds some new methods to the file class to allow syncing
to be managed internally by the file and the file_storage class.
2017-08-07 15:50:15 +08:00
Dan Poltawski 3d3be6ec05 Merge branch 'MDL-59116_master' of git://github.com/dmonllao/moodle 2017-08-07 08:45:01 +01:00
David Monllao db208667a3 Merge branch 'MDL-59532-master' of git://github.com/jleyva/moodle 2017-08-07 09:42:08 +02:00
David Monllao 8f2cee482d Merge branch 'MDL-59644-master' of git://github.com/lameze/moodle 2017-08-07 09:34:36 +02:00
David Monllao bfaf47e168 Merge branch 'wip-MDL-59655-master' of git://github.com/marinaglancy/moodle 2017-08-07 09:27:38 +02:00
David Monllao 21e68c5ff1 Merge branch 'MDL-59656_master' of git://github.com/markn86/moodle 2017-08-07 09:26:03 +02:00
David Monllao 0370931076 Merge branch 'wip-MDL-59055-master' of git://github.com/marinaglancy/moodle 2017-08-07 09:21:21 +02:00
Andrew Nicols 53ce3e4f74 Merge branch 'MDL-59727-master' of git://github.com/junpataleta/moodle 2017-08-07 14:51:19 +08:00
Andrew Nicols 2101612b10 Merge branch 'MDL-51745-master' of https://github.com/jebarviabb/moodle 2017-08-07 14:47:31 +08:00
David Monllao 7643d75af0 Merge branch 'MDL-59734-master' of git://github.com/andrewnicols/moodle 2017-08-07 08:31:24 +02:00
Andrew Nicols ab96699e52 Merge branch 'MDL-59726-master' of git://github.com/junpataleta/moodle 2017-08-07 14:28:23 +08:00
Josh Ebarvia 79189e975c MDL-51745 mod_lesson: Use format_text in response feedback 2017-08-07 15:53:11 +09:30
David Monllao 68c406ffdd Merge branch 'MDL-59668_master' of git://github.com/markn86/moodle 2017-08-07 08:22:01 +02:00
Andrew Nicols c9d781d207 Merge branch 'MDL-59665_master' of git://github.com/dmonllao/moodle 2017-08-07 13:53:19 +08:00
Andrew Nicols 36f207ec43 Merge branch 'MDL-59662-errors-typo' of https://github.com/lucaboesch/moodle 2017-08-07 13:34:42 +08:00
Jun Pataleta 85437c91f8 MDL-59614 course: Behat tests for activity navigation
Part of MDL-59313.
2017-08-07 13:29:31 +08:00
David Monllao 00da1e6010 MDL-59116 analytics: Multiple predictions for each analysable time range
Now we only predict using the most recent range available, this means
that if someone upgrades to moodle 3.4 at three quarters of a course
we will only calculate the latest range, previous ranges were not
displayed anyway once more recent predictions were available.

This commit deletes all previous predictions :) this shouldn't be a
problem in master as we don't provide any guarantee, the alternative
(retrive sampleids from mdl_files) would have been slow and a waste of
time as well as require horrible code in an upgrade step (text fields
do not accept defaults nor we can use NOTNULL).
2017-08-07 06:56:11 +02:00
Andrew Nicols a41ef5ece5 Merge branch 'MDL-59698-master' of git://github.com/damyon/moodle 2017-08-07 12:43:42 +08:00
Andrew Nicols ab202d9247 Merge branch 'MDL-59728-boost-question-bank-header-align' of https://github.com/lucaboesch/moodle 2017-08-07 12:36:38 +08:00
Cameron Ball 8243706542 MDL-59700 filestorage: Add before_file_created hook 2017-08-07 12:27:04 +08:00
Andrew Nicols aca995a2f4 Merge branch 'MDL-59206-master' of git://github.com/damyon/moodle 2017-08-07 11:35:26 +08:00
John Okely 5918f31e32 MDL-58889 boost: Make text and link colours AA compliant
We have to choose a colour that is 4.5:1 against white and 3:1 against
the text colour. I darkened the link colour somewhat and darkened the
text colour
2017-08-07 11:14:00 +08:00
Jun Pataleta e004de157c MDL-59727 core_user: Fix Behat tests for bulk enrolment test 2017-08-07 10:49:07 +08:00
Jun Pataleta f156e3dd92 MDL-59726 behat: Fix Behat tests affected by the new participants filter 2017-08-07 10:04:54 +08:00
Andrew Nicols 5bc4c797a7 MDL-59506 core_lock: use a null lock during install
Use a different lock factory during installation which does not actually
lock at all.
2017-08-07 09:59:44 +08:00
Damyon Wiese fe9965e305 MDL-59055 grades: behat test 2017-08-07 09:57:52 +08:00
Marina Glancy 20060b3b2e MDL-59055 grades: provide backward-compatibility of changes 2017-08-07 09:56:14 +08:00
Marina Glancy be85f0cf88 MDL-59055 grades: fix bug displaying item id instead of grade
Thanks to Marcelo Santos for initial patch
2017-08-07 09:56:14 +08:00
Andrew Nicols ed7431a37b MDL-59734 auth_ldap: Fix role sync
The unit tests were failing because the upgrade step was missed.
In addition, there was a typo in a variable name, which meant that the
role was not actually synchronised.
2017-08-07 09:42:24 +08:00
Marina Glancy 8f725c12e8 MDL-59736 mod_forum: show discussionlocked as notification 2017-08-07 09:32:31 +08:00
Jake Dallimore 4d068a6708 MDL-59172 user: user_can_view_profile() now checks viewalldetails cap 2017-08-07 09:27:04 +08:00
John Okely 5d9e7abbaf MDL-59725 assignsubmission_file: Don't use click interface in behat 2017-08-07 09:25:46 +08:00
John Okely 29b31865d7 MDL-59725 assignsubmission_file: Improve accepted types string 2017-08-07 09:25:20 +08:00
Luca Bösch a0e6026215 MDL-59728 questions: Align question bank headers. 2017-08-04 15:18:45 +02:00
Luca Bösch 3437a77552 MDL-59662 database: Typo in variable name. 2017-08-04 10:30:11 +02:00
Andrew Nicols d504e9207c MDL-59642 stats: Correct random unit test failure
The unit test was creating four events, and then relying on them being
retrieved in the order in which they were created.

I've modified the test to:
* ensure timecreated are spaced apart; and
* add an order by timecreated when fetching them.
2017-08-04 15:06:51 +08:00
Jun Pataleta b5ede848ce MDL-59666 mod_assign: Add validation for grading due date 2017-08-04 14:42:01 +08:00
Andrew Nicols 8146b1f06d weekly release 3.4dev 2017-08-04 11:49:44 +08:00
Andrew Nicols 807572b3dd Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-08-04 11:49:24 +08:00
Andrew Nicols 10b788ffa6 Merge branch 'MDL-59366-master-fix-2' of git://github.com/junpataleta/moodle 2017-08-04 09:56:22 +08:00
Jun Pataleta 1453d146b3 MDL-59366 enrol: Nuke manage_enrolments_from_participants.feature
This will be removed soon. Better remove it now since it started to
cause failures after the new course participants page improvements
have landed.
2017-08-04 09:51:28 +08:00
Andrew Nicols b32b78cc0c Merge branch 'MDL-59366-master-fix' of git://github.com/junpataleta/moodle 2017-08-04 09:23:26 +08:00
Jun Pataleta b29c2fad0b MDL-59366 user: Be more specific on which autocomplete is being opened
* Specify that the autocomplete in the student's row in the
  participants table is being opened
2017-08-04 09:15:50 +08:00
Jun Pataleta 37fc1d4db7 MDL-59366 enrol: Be more specific on which autocomplete is being opened
* Specify that the autocomplete in the student's row in the
  participants table is being opened.
2017-08-04 09:14:30 +08:00
Jun Pataleta cd3f250f32 MDL-59366 core_user: Disable sorting for roles and groups columns 2017-08-04 09:14:30 +08:00
Andrew Hancox 6a8e25ef18 MDL-59702 mod_lesson: Use showuseridentity setting on overview report 2017-08-03 10:29:36 +01:00
Mark Nelson 6d29cccf04 MDL-59668 mod_lti: use 'forceview' param to keep nav flow consistent
Part of MDL-59313.
2017-08-03 15:35:31 +08:00
Andrew Nicols 7d9e0b066e Merge branch 'MDL-59382-int-fix-1' of github.com:ryanwyllie/moodle 2017-08-03 14:53:25 +08:00
Ryan Wyllie 6cb580713b MDL-59382 calendar: fix editing event duration 2017-08-03 06:45:19 +00:00
Mark Nelson c54af7fdc0 MDL-59668 mod_lti: trigger completion event in view.php
This was done so that the navigation links are rendered
correctly with accurate completion info.

Part of MDL-59313.
2017-08-03 12:43:09 +08:00
Andrew Nicols ee640d3f2d Merge branch 'm34_MDL-59583_Fix_MariaDB_10d2d7_Breaking_Change' of https://github.com/scara/moodle 2017-08-03 12:29:56 +08:00
Damyon Wiese 63f4aa20b2 MDL-59698 behat: Remove bad tests
These tests are an abuse and should not have been accepted. Behat tests should use real pages.
Adding testing only entry points to Moodle is a bad security practice and is not the purpose of behat.
2017-08-03 10:26:05 +08:00
Andrew Nicols b2af37058d MDL-59382 calendar: CiBoT fix 2017-08-03 09:36:56 +08:00
Andrew Nicols c6de3bd68f Merge branch 'MDL-59382-master-4' of git://github.com/ryanwyllie/moodle 2017-08-03 09:31:44 +08:00
Ryan Wyllie d6942fb5ba MDL-59382 calendar: fix CiBoT warnings 2017-08-03 01:07:01 +00:00
Matteo Scaramuccia 2ec50fe3fd MDL-59583 dml: fixed NULL values w/ MariaDB 10.2.7+ 2017-08-03 00:13:03 +02:00
Jun Pataleta 1e674d0147 MDL-59613 course: Activity list dropdown menu fixes
* Use the formatted name of the modules to be listed in the dropdown.
* Skip the current activity when adding activities for the dropdown.
2017-08-02 17:02:24 +08:00
Mark Nelson a965ae38ef MDL-59612 core: apply filters to activity names
Part of MDL-59313.
2017-08-02 16:55:03 +08:00
Ryan Wyllie 22d44a63af MDL-59382 calendar: fix course id for site event 2017-08-02 07:52:21 +00:00
Simey Lameze 63dd75229b MDL-59382 theme: bring the date picker forward 2017-08-02 07:52:20 +00:00
Simey Lameze 3862bcfaa3 MDL-59382 theme_bootstrapbase: proper handling of large modals 2017-08-02 07:52:20 +00:00
Simey Lameze 705eea84d1 MDL-59382 core: make CiBoT happy. 2017-08-02 07:52:20 +00:00
Simey Lameze c448e19bff MDL-59382 core_calendar: fix behat failures 2017-08-02 07:52:20 +00:00
Andrew Nicols 9bed446559 Merge branch 'MDL-57259-master' of git://github.com/ryanwyllie/moodle 2017-08-02 13:39:23 +08:00
Simey Lameze 7934986284 MDL-59644 core_output: fix font awesome mapping for lock icons 2017-08-02 13:37:03 +08:00
David Monllao bf0ffc9c3a Merge branch 'MDL-59602-master' of https://github.com/andrewnicols/moodle 2017-08-02 07:04:33 +02:00
Andrew Nicols 3d4739ab64 MDL-59602 enrol: Correct course name for restored course 2017-08-02 13:02:29 +08:00
Andrew Nicols b4a4fa6a4c MDL-59602 course: Use course navigation for course nav test 2017-08-02 12:55:54 +08:00
Simey Lameze 81170930c2 MDL-59382 core_calendar: change behat step 2017-08-02 04:47:43 +00:00
Ryan Wyllie aa0912258d MDL-59382 calendar: add modal to create and update events 2017-08-02 04:47:43 +00:00
Ryan Wyllie 6103fd2efe MDL-59382 calendar: rename repository and events
Renamed the calendar_repository and calendar_events to repository and
events respectively since they are already in the calendar namespace
there is no need for the redundant calendar prefix.
2017-08-02 04:47:43 +00:00
Ryan Wyllie 159a2bc1fe MDL-59382 theme_boost: add title block to modal template 2017-08-02 04:47:43 +00:00
Ryan Wyllie 8e02018f1c MDL-59382 calendar: fix event mapper and exporter 2017-08-02 04:47:42 +00:00
Ryan Wyllie 6973baa31e MDL-59382 form: fix name in template context 2017-08-02 04:47:42 +00:00
Ryan Wyllie a50768b97f MDL-59382 javascript: template context can be given to modal factory 2017-08-02 04:47:42 +00:00
Ryan Wyllie 4defa05fdc MDL-59382 javascript: fix large styling for modals 2017-08-02 04:47:42 +00:00
Ryan Wyllie 74eedb28b3 MDL-57259 external: fix page url debug in fragment loading 2017-08-02 04:47:41 +00:00
Ryan Wyllie cacc04006f MDL-57259 external: fix page url debug in fragment loading 2017-08-02 03:37:32 +00:00
Andrew Nicols 71fac459b6 Merge branch 'MDL-55364-master-fix' of https://github.com/xow/moodle 2017-08-02 10:51:05 +08:00
Andrew Nicols 2b2ae405f0 Merge branch 'wip-MDL-59523-master-fix' of git://github.com/abgreeve/moodle 2017-08-02 10:47:52 +08:00
John Okely 9c89d3aec1 MDL-55364 forum: Combine user picture and user name rows 2017-08-02 10:27:47 +08:00
Adrian Greeve 39b8357c5a MDL-59523 course_reset: Added date update message when resetting. 2017-08-02 10:09:29 +08:00
Dan Poltawski 2a2f7b6493 Merge branch 'MDL-55364-master' of https://github.com/xow/moodle 2017-08-01 11:34:18 +01:00
Dan Poltawski e3a2d7a473 Merge branch 'MDL-59366-master' of git://github.com/junpataleta/moodle 2017-08-01 10:36:14 +01:00
Dan Poltawski b8cf4be7a7 Merge branch 'MDL-59658-master' of git://github.com/junpataleta/moodle 2017-08-01 10:15:54 +01:00
David Monllao 266959a41e Merge branch 'MDL-59613-master' of git://github.com/junpataleta/moodle 2017-08-01 10:29:39 +02:00
Dan Poltawski 2c34c10799 Merge branch 'MDL-30634-master' of git://github.com/Dave-B/moodle 2017-08-01 09:08:33 +01:00
David Monllao 71b917ace6 MDL-53492 hub: Fix remaining conflict 2017-08-01 10:03:31 +02:00
David Monllao 2c04945c58 Merge branch 'wip-MDL-53492-master' of git://github.com/marinaglancy/moodle 2017-08-01 09:20:57 +02:00
Jun Pataleta 3120ebab9d MDL-59658 core: Add login/logout steps for course participants scenario
* Add student1 and student2 login/logout steps for the course
  participants filtering scenario in order to have last access data
  for students 1 and 2 since the participants table is sorted by last
  access by default.
* Remove @javascript tags for the following scenario:
  - Filter users on assignment submission page
  - Filter users on view gradebook page
  - Filter users on course participants page
  JS is not really necessary in these scenario and we can get faster
  execution time.
2017-08-01 15:09:34 +08:00
Andrew Nicols 5c5b130268 Merge branch 'MDL-58928-alt-attribute-enrolment-edit-delete-icons' of https://github.com/lucaboesch/moodle 2017-08-01 14:54:05 +08:00
Andrew Nicols 3ae7afcf12 Merge branch 'MDL-59518-master' of git://github.com/ankitagarwal/moodle 2017-08-01 13:44:16 +08:00
Andrew Nicols 3ccd1965f3 Merge branch 'MDL-59523-master' of git://github.com/ankitagarwal/moodle 2017-08-01 13:43:04 +08:00
Andrew Nicols 77c5325f81 Merge branch 'MDL-9367-master' of git://github.com/ankitagarwal/moodle 2017-08-01 13:39:38 +08:00
Adrian Greeve 0b79129078 MDL-59518 restore: Unit tests for restoring and dates
These unit tests check that the dates do not roll
forward when restoring a backup.
2017-08-01 11:05:58 +05:30
Adrian Greeve 3678380cbf MDL-59518 restore: System date info no longer rolled forward.
Only dates that are part of a configuration setting should
have the date rolled forward in a restore.
2017-08-01 11:05:48 +05:30
David Monllao 805b667c3a MDL-59665 analytics: Reuse existing lang string 2017-08-01 07:24:23 +02:00
Damyon Wiese f28c0c7245 MDL-59206 event: Add an event for a config_log
This is useful because config_logs are sent via logstores, and we may be interested to know how
many people change a particular admin setting across many sites (aggregated data).
2017-08-01 13:18:55 +08:00
Ankit Agarwal 0d14fcbc60 MDL-9367 restore: Roll only configuration dates
It was decided to roll only configuration dates and any date related to user content
such as 'timecreated' , 'timemodified' etc should not be rolled forward.
2017-08-01 10:46:37 +05:30
Ankit Agarwal cb416dbf7d MDL-59523 course_reset: Roll dates when needed 2017-08-01 10:07:48 +05:30
David Monllao 85a9c0b1e5 Merge branch 'MDL-59299-master' of https://github.com/xow/moodle 2017-08-01 04:56:09 +02:00
Andrew Nicols 5283fa3329 Merge branch 'MDL-59473' of https://github.com/sytabaresa/moodle 2017-08-01 10:46:39 +08:00
Andrew Nicols 13822dca07 Merge branch 'MDL-28574-master' of https://github.com/xow/moodle 2017-08-01 09:59:59 +08:00
Luca Bösch da15576180 MDL-58928 enrol: delete and edit icon alt attribute 2017-07-31 17:31:07 +02:00
David Monllao a79e84e060 Merge branch 'wip-MDL-59496-master-3' of git://github.com/marinaglancy/moodle 2017-07-31 17:14:56 +02:00
Dan Poltawski f4ba6def50 Merge branch 'MDL-59624-master' of git://github.com/jleyva/moodle 2017-07-31 15:54:32 +01:00
Jun Pataleta 4698e169e5 MDL-59613 course: Add dropdown menu for activity list
Part of MDL-59313.
2017-07-31 22:25:22 +08:00
Dan Poltawski c2c941b6f2 MDL-59627 mod_data: fix incorrect use of sortorder 2017-07-31 14:28:39 +01:00
David Monllao f82e86e9f7 Merge branch 'wip-MDL-59311-master' of git://github.com/marinaglancy/moodle 2017-07-31 14:45:35 +02:00
David Monllao 56b3a0a477 Merge branch 'MDL-59535-master' of git://github.com/lameze/moodle 2017-07-31 14:19:54 +02:00
David Monllao 549e57410f Merge branch 'MDL-57546-master' of git://github.com/andrewnicols/moodle 2017-07-31 14:10:19 +02:00
David Monllao 707f9beae1 Merge branch 'MDL-59612-master' of git://github.com/junpataleta/moodle 2017-07-31 13:59:55 +02:00
Jun Pataleta ed765cfad1 MDL-59612 course: Use action_link template for activity navigation
Part of MDL-59313.
2017-07-31 19:45:34 +08:00
David Monllao 7190f330b4 Merge branch 'MDL-59602_coursenav' of https://github.com/mrmark/moodle 2017-07-31 13:21:09 +02:00
Dan Poltawski 9ee4ab6330 Merge branch 'MDL-59619-master' of git://github.com/jleyva/moodle 2017-07-31 11:48:55 +01:00
Dan Poltawski 396b97b2fb Merge branch 'MDL-59627-master' of git://github.com/jleyva/moodle 2017-07-31 11:44:56 +01:00
Dan Poltawski 6cc8b0a4a6 Merge branch 'MDL-59632_master' of git://github.com/dmonllao/moodle 2017-07-31 11:33:05 +01:00
David Monllao 726ad1bd08 Merge branch 'MDL-59511-master-oauthsysmail' of git://github.com/Dagefoerde/moodle 2017-07-31 11:46:30 +02:00
Dan Poltawski 23e1ce7d52 Merge branch 'wip-MDL-59476-master-2' of git://github.com/marinaglancy/moodle 2017-07-31 10:21:32 +01:00
Mark Nelson 3cf76bbc87 MDL-59656 core_group: add support for multi-lang to groups editable
Part of MDL-59290.
2017-07-31 15:36:00 +08:00
John Okely 72e688d7ff MDL-28574 webservices: Explain tokens you can edit but can't see 2017-07-31 15:35:23 +08:00
Andrew Nicols 63615f6116 Merge branch 'MDL-58196-master' of git://github.com/ankitagarwal/moodle 2017-07-31 15:17:49 +08:00
David Monllao a3cb377374 Merge branch 'MDL-59649-master' of git://github.com/jleyva/moodle 2017-07-31 08:58:56 +02:00
David Monllao 634d0f8330 Merge branch 'MDL-58744-master' of https://github.com/jacac/moodle 2017-07-31 08:36:18 +02:00
Marina Glancy 5ac72c9c74 MDL-53492 registration: Moodle.net is more correct than Moodle.org 2017-07-31 14:31:12 +08:00
Marina Glancy 7d792aeee4 MDL-53492 registration: use https://moodle.net as hub url 2017-07-31 14:31:11 +08:00
Marina Glancy 505bbe7cd6 MDL-59496 registration: display unregistered warning consistently 2017-07-31 14:29:58 +08:00
Ankit Agarwal 49a84cec82 MDL-58196 availability: Fix UI for pass/fail config
For pass/fail setting to work properly, activities must have 'Require grade' completion set,
just make sure we don't allow activities without this setting to be set
2017-07-31 11:56:11 +05:30
Ankit Agarwal 0b3326b50e MDL-58196 availability: Add appropriate dependencies in mform 2017-07-31 11:56:11 +05:30
Marina Glancy 07ec41bcf9 MDL-59655 course: visibleoncoursepage is not mandatory 2017-07-31 14:04:37 +08:00
Jun Pataleta 9651e491d8 MDL-59366 user: Create a unified filter for participants page
Part of MDL-59290.
2017-07-31 13:04:06 +08:00
Mark Nelson 1678181a56 MDL-59612 core: removed hard-coded check for referer in modules
See mod/upgrade.txt for explanation.

Part of MDL-59313.
2017-07-31 12:03:28 +08:00
Mark Nelson 585146f0ab MDL-59612 core: edit 'frametop' layout so links display for LTI
Part of MDL-59313.
2017-07-31 12:03:28 +08:00
Mark Nelson d8cb461529 MDL-59612 core: added previous and next links to activities
Part of MDL-59313.
2017-07-31 12:03:28 +08:00
Andrew Nicols 2653e0c8e1 Merge branch 'm34_MDL-59583_Fix_MariaDB_10d2d7_Breaking_Change' of https://github.com/scara/moodle 2017-07-31 11:37:45 +08:00
Andrew Nicols 722f67d5b2 MDL-59564 user: Whitespace fix 2017-07-31 11:35:45 +08:00
Daniel Materka 0433d36de3 MDL-55364 forum: fix overlapping columns in the table at low resolutions 2017-07-31 11:23:50 +08:00
Andrew Nicols 394e96032e Merge branch 'MDL-59564-master' of git://github.com/damyon/moodle 2017-07-31 11:15:09 +08:00
Andrew Nicols d267d66fdf Merge branch 'MDL-59307_master' of git://github.com/dmonllao/moodle 2017-07-31 10:12:02 +08:00
John Okely 1318aec36e MDL-59299 filepicker: Display what filetypes are accepted 2017-07-31 09:58:22 +08:00
John Okely 320889c02b MDL-59299 filemanager: Display what filetypes are accepted 2017-07-31 09:58:21 +08:00
John Okely 847a4e219a MDL-59299 assignsubmission_file: Use filetypes library functions 2017-07-31 09:58:21 +08:00
John Okely e54d059d64 MDL-59299 assignsubmission_file: Improve accepted filetypes help 2017-07-31 09:58:21 +08:00
John Okely 3b77a0d06b MDL-59299 assignsubmission_file: Use filetype element in behat tests 2017-07-31 09:58:20 +08:00
Jake Dallimore 9069c66e42 MDL-59299 mod_assign: use new filetypes element for accepted file types 2017-07-31 09:58:20 +08:00
John Okely 11df55c0dd MDL-28574 adminlib: Token behat tests 2017-07-31 09:55:04 +08:00
John Okely fc7a345c35 MDL-28574 webservices: Use table_sql on manage tokens page
For pagination and sorting an partial loading.
2017-07-31 09:55:04 +08:00
John Okely 031877d2ee MDL-28574 webservices: Show all tokens for users with capability 2017-07-31 09:55:04 +08:00
John Okely ad2ae6e3db MDL-28574 webservices: Add new capability for managing all tokens 2017-07-31 09:55:04 +08:00
Jan Dageförde 0c62ca2563 MDL-28574 webservice: Allow admins to manage tokens created by others.
Until now, admins could only modify (or even see) tokens they have
created themselves. Tokens created by other users or even other admins
were invisible unless you were looking into the database. In case there
are former admins, their successors can be unable to inspect or delete
existing tokens.
2017-07-31 09:54:33 +08:00
Damyon Wiese 5c734b0ce7 MDL-59564 user: Add behat for bulk enrolment
Cover bulk enrolment changes from the participants page with a behat.
2017-07-31 09:29:37 +08:00
Damyon Wiese 689ccae5f3 MDL-59564 users: Add bulk enrolment change
Add bulk change enrolments form to the participants page.
2017-07-31 09:29:37 +08:00
AMOS bot b24937d07f Automatically generated installer lang files 2017-07-31 00:09:46 +08:00
AMOS bot e0baafa361 Automatically generated installer lang files 2017-07-29 00:09:51 +08:00
Juan Leyva 4f5dbd38fb MDL-59649 mod_data: Fix content exporter
The content3 and content4 fields should be type PARAM_RAW
2017-07-28 14:02:26 +02:00
Jun Pataleta 445de896ef MDL-59366 enrol: Add $onlyenabled param in enrol instances getters
* Add param in order allow flexibility for the methods to be able
to fetch only active enrol instances as well.

Part of MDL-59290.
2017-07-28 16:11:56 +08:00
Jun Pataleta 198d72913f MDL-59366 core_amd: Modifications for form-autocomplete
* New optional parameter 'closeSuggestionsOnSelect' for the enhance()
function for form-autocomplete. Setting this to true will close the
suggestions popup immediately after an option has been selected. If not
specified, it defaults to true for single-select elements and false
for multiple-select elements.

Part of MDL-59290.
2017-07-28 16:11:38 +08:00
Jan Dageförde 3fa588c637 MDL-59511 oauth2: Allow empty email in system account 2017-07-28 10:07:25 +02:00
Jun Pataleta bb1c6f85f5 MDL-59366 core: New enrolid param for get_enrolled_* functions
* New optional parameter $enrolid for the following functions:
  - get_enrolled_join()
  - get_enrolled_sql()
  - get_enrolled_with_capabilities_join()
  Setting this parameter to a non-zero value will add a condition
  to the query such that only users that were enrolled with this
  enrolment method will be returned.

Part of MDL-59290.
2017-07-28 11:32:13 +08:00
Simey Lameze 026bfb7604 MDL-59535 tool_behat: fix fatal error if there is no setup 2017-07-28 08:43:21 +08:00
AMOS bot 7f9b920f7c Automatically generated installer lang files 2017-07-28 00:07:06 +08:00
Jakob Ackermann d674f12b7c MDL-58744 blocks: Add system context block position in non user context. 2017-07-27 09:01:29 -07:00
David Monllao 5c140ac4c0 MDL-59307 analytics: Easy enable / disable 2017-07-27 12:25:23 +02:00
David Monllao 8f5a52b484 MDL-59638 analytics: Advance time splitting start instead of delay end 2017-07-27 12:03:21 +02:00
Dan Poltawski d509f80c48 weekly release 3.4dev 2017-07-27 10:10:46 +01:00
Dan Poltawski 88ac888040 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-07-27 10:10:44 +01:00
Andrew Nicols 048009ea35 Merge branch 'MDL-57791_master-fix5' of git://github.com/dmonllao/moodle 2017-07-27 14:23:52 +08:00
David Monllao cbf4c391c2 MDL-57791 analytics: Fix error message for no evaluation models 2017-07-27 08:15:02 +02:00
Andrew Nicols 81af47b7cf Merge branch 'MDL-59369-master-fix' of git://github.com/junpataleta/moodle 2017-07-27 11:34:43 +08:00
Jun Pataleta 91b099dbed MDL-59369 enrol: Fix add_to_group Behat tests
Tab to the next element after selecting groups in order for
the autocomplete element to close and be able to click on the
"Save changes" link.
2017-07-27 11:17:33 +08:00
David Monllao ad382c6a71 MDL-59632 search: Style search box for boost 2017-07-26 16:34:29 +02:00
David Monllao ab4ae50603 Merge branch 'MDL-58906-master' of git://github.com/ankitagarwal/moodle 2017-07-26 14:42:38 +02:00
Dan Poltawski 1ea5164833 Merge branch 'MDL-57698-master-fix' of https://github.com/xow/moodle 2017-07-26 09:42:10 +01:00
Dan Poltawski 75535f1692 Merge branch 'MDL-57791_master-fix4' of git://github.com/dmonllao/moodle 2017-07-26 09:34:21 +01:00
Ankit Agarwal 9b5d887967 MDL-58906 calendar: Remove check for _refresh_events exists 2017-07-26 12:51:27 +05:30
David Monllao 4a210b0688 MDL-57791 analytics: Predictions deleted context management 2017-07-26 09:17:58 +02:00
Andrew Nicols a5164e85f2 Merge branch 'MDL-59499-master-classfix' of github.com:snake/moodle 2017-07-26 14:53:39 +08:00
Andrew Nicols 9e27e298c3 Merge branch 'MDL-59367-master-fix2' of http://github.com/damyon/moodle 2017-07-26 14:03:22 +08:00
Damyon Wiese e640eb5cc3 MDL-59367 behat: Close the autocomplete
Close the auto complete suggestions list so it does not obscure the save changes button in chrome
2017-07-26 13:48:16 +08:00
Andrew Nicols b67caad9f5 Merge branch 'MDL-57791-master-inarrayfix' of github.com:snake/moodle 2017-07-26 13:38:03 +08:00
Andrew Nicols d59be47602 MDL-59367 participants: Whitespace fix 2017-07-26 13:30:44 +08:00
Andrew Nicols a8168eb981 Merge branch 'MDL-59367-master-fix1' of http://github.com/damyon/moodle 2017-07-26 13:26:12 +08:00
Jake Dallimore 0eb594401d MDL-57791 analytics: fix for in_array 2017-07-26 13:25:37 +08:00
Damyon Wiese 0ae28fad3a MDL-59367 participants: Reduce db queries
Fetch all role assignments for the course in a single query, instead of for each of the listed users.

More data but less queries.
2017-07-26 11:21:59 +08:00
Jake Dallimore 9e9ed46a99 MDL-59499 admin: class fix for course category expansion icons 2017-07-26 11:11:09 +08:00
John Okely d1b79250c6 MDL-57698 backup: Decrease deadlock fixture size 2017-07-26 10:45:58 +08:00
Andrew Nicols 2cad0cd3b6 MDL-57546 mediaplayer_youtube: Respect mobile URLs 2017-07-26 10:40:49 +08:00
Andrew Nicols 7740e186e1 Merge branch 'MDL-59369-master' of git://github.com/junpataleta/moodle 2017-07-26 09:47:26 +08:00
Jun Pataleta 90ffcfa83a MDL-59369 user: IR fixes
* Moved status_field to core_user\output namespace.
* Assigned status flags for the template context in order to determine
  which label class to use for the given status.

Part of MDL-59290.
2017-07-26 09:44:33 +08:00
Jun Pataleta 4544451aff MDL-59369 user: Render status as highlighted labels 2017-07-26 09:44:33 +08:00
Jun Pataleta 06aa592315 MDL-59369 enrol: Behat tests for plugin enrol actions 2017-07-26 09:44:33 +08:00
Jun Pataleta 642bea179c MDL-59369 user: Behat tests involving the Status column 2017-07-26 09:44:33 +08:00
Jun Pataleta 80d13bfe8d MDL-59369 user: User enrolment status JS controls
* Add actions for editing user enrolment and unenrol
* Render user enrolment details in a modal
2017-07-26 09:44:33 +08:00
Jun Pataleta fd0a43be1b MDL-59369 enrol: Introduce data-action attribute for enrol action links 2017-07-26 09:44:33 +08:00
Jun Pataleta ea758b85e4 MDL-59369 enrol: Cleanup enrol pages
* Cleanup edit enrolment form.
* Improve edit enrol form validation error message.
* Add modal custom data flag to edit enrolment form to hide action
  buttons if loaded via fragment.
* Point return URLs of edit enrolment and user unenrol pages back to
  participants page.
2017-07-26 09:44:02 +08:00
Jun Pataleta 5719f2ca50 MDL-59369 enrol: Edit user enrolment fragment 2017-07-26 09:44:02 +08:00
Jun Pataleta 58c20c8108 MDL-59369 enrol: New ws core_enrol_external::edit_user_enrolment 2017-07-26 09:43:16 +08:00
Jun Pataleta fb7929677a MDL-59369 user: Add status column to the participants table 2017-07-26 09:42:38 +08:00
Sebastian Tabares Amaya 675b291d47 MDL-59473 request: Fix Loop Redirection in Oauth2 2017-07-25 16:58:53 -05:00
Juan Leyva 6cf2ab7394 MDL-59627 mod_data: Fix totalcount calculation in search_entries
totalcount was incorrectly calculated for normal search.
For advanced search it was working as expected.
This was making searched entries pagination behave incorrectly.
2017-07-25 18:41:12 +02:00
AMOS bot 34e9b90b7a Automatically generated installer lang files 2017-07-26 00:07:06 +08:00
Juan Leyva be4bdab78a MDL-59624 mod_data: Return maxcount in WS mod_data_search_entries 2017-07-25 15:55:22 +02:00
Juan Leyva 84c2a87b80 MDL-59619 mod_data: Fix get_fields WS for databases without fields 2017-07-25 14:45:10 +02:00
Dan Poltawski afa752eb12 Merge branch 'MDL-57698-master' of https://github.com/xow/moodle 2017-07-25 11:48:09 +01:00
Dan Poltawski 35699ba2ff Merge branch 'MDL-57791_master-fix3' of git://github.com/dmonllao/moodle 2017-07-25 11:37:54 +01:00
Matteo Scaramuccia 0510d5c757 MDL-59583 dml: fixed breaking change added w/ MariaDB 10.2.7+ 2017-07-25 12:36:23 +02:00
Dan Poltawski 7de5101d4e Merge branch 'MDL-58761_bad_regex_in_custom_step' of https://github.com/gthomas2/moodle 2017-07-25 11:06:27 +01:00
David Monllao 10f9517c22 Merge branch 'MDL-59453-master' of git://github.com/jleyva/moodle 2017-07-25 11:53:00 +02:00
Dan Poltawski 7a39523e0e Merge branch 'MDL-59425-master' of https://github.com/abias/moodle 2017-07-25 10:51:10 +01:00
David Monllao a2b326c232 Merge branch 'MDL-59544-master-filemanagervalidation' of git://github.com/mudrd8mz/moodle 2017-07-25 11:17:07 +02:00
David Monllao 6d6b35fd24 Merge branch 'MDL-59485' of https://github.com/IMSGlobal/moodle 2017-07-25 11:11:09 +02:00
David Monllao 55399cd776 Merge branch 'MDL-59578-master' of git://github.com/junpataleta/moodle 2017-07-25 11:09:44 +02:00
David Monllao 85e50ba405 MDL-57791 analytics: Set logstore during install
get_analytics_logstore updated to fix an edge case.
2017-07-25 11:05:03 +02:00
Dan Poltawski 69340d49dc Merge branch 'MDL-59238-master' of git://github.com/jleyva/moodle 2017-07-25 09:52:03 +01:00
Dan Poltawski a13277a740 Merge branch 'MDL-59268-master' of git://github.com/jleyva/moodle 2017-07-25 09:04:59 +01:00
Matteo Scaramuccia dae6c5dc31 MDL-59583 dml: improve perfs by unsetting the key. 2017-07-25 09:06:18 +02:00
Andrew Nicols 11b31ab857 MDL-59367 user: Documentation fix 2017-07-25 15:04:57 +08:00
Andrew Nicols e18ebf3999 Merge branch 'MDL-59367-master' of git://github.com/damyon/moodle 2017-07-25 15:02:55 +08:00
Dan Poltawski 6fc41d0241 Merge branch 'MDL-59432-master' of git://github.com/lameze/moodle 2017-07-25 07:58:23 +01:00
Dan Poltawski a1e094f9dd Merge branch 'MDL-59240-master' of git://github.com/jleyva/moodle 2017-07-25 07:31:34 +01:00
Marina Glancy 8120795233 MDL-59311 course: duplicate module rebuilds cache twice
slightly refactor duplicate_module() code so it does not rebuild course cache
twice and also we do not need to move module if it is already the last module in a section
2017-07-25 14:23:41 +08:00
Marina Glancy c07c8c6e3e MDL-59476 dml: temporary mysql tables should not use compressed rows 2017-07-25 13:49:53 +08:00
Andrew Nicols d3e69bee38 Merge branch 'MDL-56751-master' of git://github.com/jleyva/moodle 2017-07-25 10:44:05 +08:00
Andrew Nicols e392b8bb2f Merge branch 'MDL-57791_master-fix2' of git://github.com/dmonllao/moodle 2017-07-25 08:27:36 +08:00
Juan Leyva 291645f760 MDL-59238 mod_workshop: New WS mod_workshop_view_workshop 2017-07-24 18:03:37 +02:00
Juan Leyva 31496ddeba MDL-59238 mod_workshop: Move event and completion to Workshop class
The completion set_module_viewed and the course_module_viewed event
code has been moved to the workshop class.
This change is consistent with other modules (like lesson, feedback or
quiz) and it is necessary to be able to use the new method via WS.
2017-07-24 18:03:36 +02:00
Juan Leyva cd4950291f MDL-59268 mod_workshop: New WS mod_workshop_get_user_plan 2017-07-24 18:02:21 +02:00
Juan Leyva 977fdfa30b MDL-59240 mod_workshop: New WS mod_workshop_get_access_information 2017-07-24 17:59:41 +02:00
Dan Poltawski e3f17b9fdb Merge branch 'MDL-59436-master' of git://github.com/junpataleta/moodle 2017-07-24 16:55:54 +01:00
Ruslan Kabalin e5ece45e84 MDL-59273 core: Remove mailto links support in clean_param. 2017-07-24 16:51:55 +01:00
David Monllao 466f683aa6 MDL-57791 analytics: Compatibility with oracle
Also moved predictions test to analytics/tests/prediction_test.php
2017-07-24 17:49:09 +02:00
Andrew Davidson 9c631e9408 MDL-59499 coursemanagement: Rewitten expand and collapse
Also replace M.util.get_string() calls with core/str module
2017-07-24 13:53:55 +02:00
Andrew Davidson d040476723 MDL-59499 - Fixed collapsing category javascript to use template rendering 2017-07-24 13:50:56 +02:00
David Monllao 87d1c6134f Merge branch 'MDL-57945-master' of git://github.com/danpoltawski/moodle 2017-07-24 13:24:31 +02:00
Dan Poltawski 4364fdb537 Merge branch 'MDL-59237-master' of git://github.com/jleyva/moodle 2017-07-24 12:15:52 +01:00
Dan Poltawski eb5d54a09a MDL-57945 css: remove no-browser-hacks ignores
The rule has been removed
2017-07-24 12:08:28 +01:00
David Monllao b4e55d3a37 Merge branch 'MDL-59509-master' of git://github.com/andrewnicols/moodle 2017-07-24 13:03:10 +02:00
David Monllao 8fbae27fd8 Merge branch 'MDL-59556-master' of https://github.com/abias/moodle 2017-07-24 12:35:14 +02:00
David Monllao 53565d4cf5 Merge branch 'MDL-58906-master' of git://github.com/ankitagarwal/moodle 2017-07-24 12:22:43 +02:00
Dan Poltawski 13b7c4fe79 Merge branch 'MDL-57791_master-fix1' of git://github.com/dmonllao/moodle 2017-07-24 10:04:56 +01:00
Dan Poltawski 9c0cdc069b Merge branch 'MDL-59572-master' of git://github.com/andrewnicols/moodle 2017-07-24 09:54:39 +01:00
David Monllao 382a089052 MDL-57791 tests: Restore logstores pre-test state 2017-07-24 10:43:04 +02:00
Dan Poltawski 3586887eb6 Merge branch 'MDL-58174-master' of https://github.com/abias/moodle 2017-07-24 09:05:19 +01:00
Andrew Nicols 680732844c Merge branch 'wip-MDL-38129-master' of git://github.com/marinaglancy/moodle 2017-07-24 15:03:30 +08:00
Andrew Nicols 7b1c6374c9 Merge branch 'analytics-34' of git://github.com/dmonllao/moodle 2017-07-24 14:38:46 +08:00
David Monllao e10b29ed0c MDL-57791 tool_analytics: From tool_models to tool_analytics 2017-07-24 08:37:03 +02:00
David Monllao 690ad8759d MDL-57791 analytics: Fixes during integration review
This commit includes the following changes:
- cibot complains fixes
- removed randomly failing test
- fixed course_dropout return
- other minor fixes
2017-07-24 08:37:03 +02:00
David Monllao 950b1d78bd MDL-57791 analytics: Remove reference to removed config var 2017-07-24 08:37:02 +02:00
David Monllao 98b2f06fe7 MDL-57791 mlbackend_php: Minimum 2 samples per target value 2017-07-24 08:37:02 +02:00
David Monllao ee345551d6 MDL-57791 analytics: No API calls during upgrades 2017-07-24 08:37:02 +02:00
David Monllao 96863d8fd4 MDL-59065 mlbackend_python: Switch references to moodlehq fork
Part of MDL-57791 epic.
2017-07-24 08:37:02 +02:00
David Monllao e709e54435 MDL-57791 analytics: Add builtin models during upgrade 2017-07-24 08:37:01 +02:00
David Monllao 08015e1895 MDL-57791 analytics: Add missing 'new' to throw
Also other code refinements. Credit to Mark Nelson.
2017-07-24 08:37:01 +02:00
David Monllao 2db6e9811b MDL-59212 analytics: Core indicators tests
Part of MDL-57791 epic.
2017-07-24 08:37:01 +02:00
David Monllao 206d7aa9ad MDL-59212 analytics: Move API uses out of analytics dir
Part of MDL-57791 epic.
2017-07-24 08:37:00 +02:00
David Monllao 21d4ae9353 MDL-59060 analytics: Allow all predictions to be retrieved
Part of MDL-57791 epic.
2017-07-24 08:37:00 +02:00
David Monllao fbc18acda0 MDL-59212 analytics: Abstract equal parts and accum time splittings
Part of MDL-57791 epic.
2017-07-24 08:37:00 +02:00
David Monllao f67bd6af70 MDL-59212 analytics: Expand unit test coverage
Part of MDL-57791 epic.
2017-07-24 08:36:59 +02:00
Damyon Wiese 68bfe1de40 MDL-59060 analytics: Add paging to insights report
Part of MDL-57791 epic.
2017-07-24 08:36:59 +02:00
David Monllao b3d6879489 MDL-59212 analytics: Analyser and static methods tests
Part of MDL-57791 epic.
2017-07-24 08:36:59 +02:00
David Monllao 3a396286b1 MDL-57791 analytics: Always absolute full class names
Some extra tiny changes as well.
2017-07-24 08:36:50 +02:00
David Monllao 1cc2b4bac3 MDL-57791 analytics: Second review round 2017-07-24 08:36:50 +02:00
David Monllao 413f19bc49 MDL-59211 analytics: Make cibot happy
Part of MDL-57791 epic.
2017-07-24 08:36:49 +02:00
David Monllao 1611308b58 MDL-57791 analytics: Changes after review
- Split model::predict in parts
- JS promises updated according to eslint-plugin-promise
- New API methods replacing direct DB queries
- Reduce insights nav link display cost
- Increase time limit as well as memory for big processes
- Move prediction action event to core
- Dataset write locking and others
- Refine last time range end time
- Removed dodgy splitting method id to int
- Replace admin_setting_predictor output_html overwrite for write_setting overwrite
- New APIs for access control
- Discard invalid samples also during prediction
2017-07-24 08:36:49 +02:00
David Monllao 584ffa4ffc MDL-57791 analytics: Replace sql queries for API calls 2017-07-24 08:36:49 +02:00
David Monllao acb14d08f6 MDL-57791 insights: Templates examples 2017-07-24 08:36:48 +02:00
David Monllao 27ae9af4ba MDL-57791 analytics: No UI in calculables APIs 2017-07-24 08:36:48 +02:00
David Monllao 3a217fc394 MDL-57791 analytics: Replace settings by get_archetype_roles 2017-07-24 08:36:48 +02:00
Ankit Agarwal f39cebbb3c MDL-59119 analytics: Fix references to wrong var
Part of MDL-57791 epic.
2017-07-24 08:36:47 +02:00
David Monllao 0045726d78 MDL-59079 analytics: Restore low social breadth level
Until those activities have feedback_viewed (or friends) methods.

Part of MDL-57791 epic.
2017-07-24 08:36:47 +02:00
David Monllao 55c3845c23 MDL-59095 analytics: Update to use feedback_viewed API
Part of MDL-57791 epic.
2017-07-24 08:36:47 +02:00
David Monllao cad362520f MDL-59010 analytics: Logstores initialised during tests
Part of MDL-57791 epic.
2017-07-24 08:36:47 +02:00
David Monllao f67f35f324 MDL-59010 analytics: Direct db calls to logging API
Part of MDL-57791 epic.
2017-07-24 08:36:46 +02:00
David Monllao 58f86c4cc5 MDL-59174 enrollib: More flexibility for enrol_get_course_users
Part of MDL-57791 epic.
2017-07-24 08:36:46 +02:00
David Monllao 8970ff91bb MDL-59174 analytics: Analyser queries to enrollib
Part of MDL-57791 epic.
2017-07-24 08:36:46 +02:00
David Monllao bd164083eb MDL-59057 analytics: Unit test fixes
Updating tests according to courses - site_courses analysers change.

Part of MDL-57791 epic.
2017-07-24 08:36:45 +02:00
David Monllao 20b77f9b63 MDL-59057 analytics: Split up course analyser in 2
One at course level so teachers can get insights and another
one at system level so the insights go to the site admin.

Part of MDL-57791 epic.
2017-07-24 08:36:45 +02:00
David Monllao 5d7f06f4c8 MDL-59057 analytics: Get rid of week_before_course_start
It is useless at site level. It can be useful at course level but
I removed it in favour of single_range + is_valid_*

Part of MDL-57791 epic.
2017-07-24 08:36:45 +02:00
David Monllao d8327b60b0 MDL-57791 analytics: Delete should be an instance method 2017-07-24 08:36:44 +02:00
David Monllao f9e7447f42 MDL-57791 insights: Clarify insights-prediction boundaries 2017-07-24 08:36:44 +02:00
David Monllao 1a8461390b MDL-59057 analytics: no_teaching model fixes
Part of MDL-57791 epic.
2017-07-24 08:36:44 +02:00
David Monllao b0c2492906 MDL-59057 analytics: Standarize indicators and targets ids
Part of MDL-57791 epic.
2017-07-24 08:36:43 +02:00
David Monllao e499074f39 MDL-59057 analytics: Adapt tests to static models API changes
Part of MDL-57791 epic.
2017-07-24 08:36:43 +02:00
David Monllao fba4052685 MDL-59057 enrol: New enrol API method - by_ue_id
Part of MDL-57791 epic.
2017-07-24 08:36:43 +02:00
David Monllao 357507b4e6 MDL-59057 analytics: static models changes
Part of MDL-57791 epic.
2017-07-24 08:36:33 +02:00
David Monllao a40952d384 MDL-59057 analytics: Introduce static models
Part of MDL-57791 epic.
2017-07-24 08:36:32 +02:00
David Monllao 2834ea9611 MDL-57791 analytics: Increase time splitting field size 2017-07-24 08:36:22 +02:00
David Monllao d16cf374eb MDL-59162 tool_models: Remove dependant models on uninstall
Part of MDL-57791 epic.
2017-07-24 08:36:21 +02:00
David Monllao 9ad87761ef MDL-59117 quiz: Move quiz indicators to the correct location
Part of MDL-57791 epic.
2017-07-24 08:36:21 +02:00
Ankit Agarwal 5846c72c4d MDL-59117 core_analytics: Move all indicators to respective modules
Part of MDL-57791 epic.
2017-07-24 08:36:21 +02:00
David Monllao ebd55f666d MDL-57791 analytics: Ignored new 3rd party lib 2017-07-24 08:36:20 +02:00
David Monllao b94dbb5561 MDL-57791 analytics: Remove references to project inspire 2017-07-24 08:36:20 +02:00
David Monllao db3252c18d MDL-59152 mlbackend_php: Check PHP version
Part of MDL-57791 epic.
2017-07-24 08:36:20 +02:00
David Monllao ad7a4d3521 MDL-57791 mlbackend_php: Remove unnecessary files 2017-07-24 08:36:19 +02:00
David Monllao 16f379a197 MDL-57791 analytics: Build JS module 2017-07-24 08:36:19 +02:00
David Monllao 8de0d1da61 MDL-57791 testing: Switch to analytics API namespace 2017-07-24 08:36:19 +02:00
David Monllao 3834630813 MDL-57791 testing: Add analytics test suite 2017-07-24 08:36:18 +02:00
David Monllao f96488df66 MDL-57791 testing: Add missing cachedef lang string 2017-07-24 08:36:18 +02:00
Ankit Agarwal 3c305df1de MDL-59079 core_analytics: Add social level 2 to various activities
Part of MDL-57791 epic.
2017-07-24 08:36:18 +02:00
Ankit Agarwal a6805cc8e0 MDL-59079 core_analytics: Define social levels for various activities
Part of MDL-57791 epic.
2017-07-24 08:36:17 +02:00
Ankit Agarwal 1eb6c52bf2 MDL-59079 core_analytics: Add support for more than one social level
Part of MDL-57791 epic.
2017-07-24 08:36:17 +02:00
Ankit Agarwal 022f3f07fa MDL-59079 core_analytics: Refactor community of inquiry indicators
Refactor code to introduce a new base class per activity. This would help in sharing apis
between cognitive and social classes which is heavily required for level 2 and onwards.

Part of MDL-57791 epic.
2017-07-24 08:36:17 +02:00
David Monllao 6ec2ae0f87 MDL-58859 analytics: Fix migration to core bugs and pre-migration issues
Part of MDL-57791 epic.
2017-07-24 08:36:17 +02:00
David Monllao 52c0a11022 MDL-58834 analytics: Simplify indicators names
Part of MDL-57791 epic.
2017-07-24 08:36:16 +02:00
David Monllao d2cdaf68ae MDL-58859 analytics: No enddate update if wrong guess
Part of MDL-57791 epic.
2017-07-24 08:36:16 +02:00
David Monllao fa76feff86 MDL-58859 mlbackend_php: Switch to LogisticRegression with norm.
Part of MDL-57791 epic.
2017-07-24 08:35:58 +02:00
David Monllao 589d7e8eb6 MDL-58859 mlbackend_php: Upgrade php-ml to latest version
Part of MDL-57791 epic.
2017-07-24 07:53:20 +02:00
David Monllao 40fcb365c3 MDL-58859 analytics: Subsystem and API db/ requirements added
Part of MDL-57791 epic.
2017-07-24 07:53:17 +02:00
David Monllao 8473b73581 MDL-58859 analytics: New core database tables
Part of MDL-57791 epic.
2017-07-24 07:53:13 +02:00
David Monllao ff656baeab MDL-58859 analytics: Add tests to core
Part of MDL-57791 epic.
2017-07-24 07:53:10 +02:00
David Monllao 369389c9a6 MDL-58859 analytics: Analytics API added to core
Part of MDL-57791 epic.
2017-07-24 07:53:03 +02:00
David Monllao efaf853426 MDL-58859 tool_models: Added to core
Part of MDL-57791 epic.
2017-07-24 07:52:59 +02:00
David Monllao 373b1de18c MDL-58859 report_insights: Added to core
Part of MDL-57791 epic.
2017-07-24 07:52:52 +02:00
David Monllao 25531de6e8 MDL-58859 mlbackend_python: Added to core
Part of MDL-57791 epic.
2017-07-24 07:52:18 +02:00
David Monllao 9e84757bf0 MDL-58859 mlbackend_php: Added to core
Part of MDL-57791 epic.
2017-07-24 07:51:54 +02:00
Ankit Agarwal 65f15cd277 MDL-58906 completion: Fix incorrect phpdoc 2017-07-24 11:17:54 +05:30
Ankit Agarwal abca33beb0 MDL-58906 restore: Do not backup/restore action events 2017-07-24 11:17:54 +05:30
Ankit Agarwal a4af31ded4 MDL-58906 restore: Call action event refresh task during restore 2017-07-24 11:17:53 +05:30
Andrew Nicols ba0e56c3a6 Merge branch 'MDL-59528-master' of git://github.com/junpataleta/moodle 2017-07-24 13:29:58 +08:00
Andrew Nicols 42a2f1cf4c Merge branch 'wip-MDL-59561-master' of git://github.com/abgreeve/moodle 2017-07-24 13:21:39 +08:00
Andrew Nicols 21b0554d00 Merge branch 'MDL-59490' of https://github.com/spvickers/moodle 2017-07-24 12:42:34 +08:00
Andrew Nicols aabdac6753 Merge branch 'MDL-59538-master' of git://github.com/junpataleta/moodle 2017-07-24 11:57:23 +08:00
AMOS bot 0790ca68d0 Automatically generated installer lang files 2017-07-23 00:07:57 +08:00
Mark Nielsen 197e2bca5b MDL-59602 behat: make use of new course nav steps 2017-07-21 13:50:47 -07:00
AMOS bot a80a1697b3 Automatically generated installer lang files 2017-07-22 00:07:20 +08:00
John Okely 469ffa6893 MDL-57698 mssql: Update reserve word list for generator 2017-07-21 14:41:55 +08:00
John Okely 9726144ef3 MDL-57698 sqlsrv: Unit test NOLOCK 2017-07-21 14:41:55 +08:00
John Okely b540fd1a80 MDL-57698 sqlsrv: Query temp tables with no lock 2017-07-21 14:41:54 +08:00
John Okely b1fc170b21 MDL-57698 sqlsrv: Unit test deadlock case 2017-07-21 14:41:54 +08:00
Andrew Nicols e879619477 MDL-59509 dml: sqlsrv should respect port setting
Details of how to connect to a specific port are available at
https://docs.microsoft.com/en-us/sql/connect/php/how-to-connect-on-a-specified-port
2017-07-21 13:23:17 +08:00
Jun Pataleta a43ec9ebac MDL-59538 core_calendar: PR fixes
* Fix eslint warnings about promises.
* Simplify event handling.
* Prevent double assignment of calendar subscription property for in
  core_calendar_external::get_calendar_event_by_id() for readability.

Part of MDL-59333.
2017-07-21 11:31:09 +08:00
Damyon Wiese 73d0d56284 MDL-59367 user: Tests and coding style
Add a unit test for user_roles_editable.
Coding style fixes.
Don't show duplicate roles.
2017-07-21 10:25:25 +08:00
Damyon Wiese 5d0b4765d8 MDL-59367 roles: Add roles to participants page. 2017-07-21 09:52:14 +08:00
Adrian Greeve 3a8c989137 MDL-59561 database: Update to creating new indexes in mysql.
When updating the mysql system to utf8mb4 not all tables are
converted to the row format of compressed or dynamic. If a new
index is created there is a possibility that the table could be
using compact or redundant and then an error will be shown saying
that the index size is too large. This fix handles this exception
and converts the table over to compressed.
2017-07-21 09:27:08 +08:00
Simey Lameze 52380c823c MDL-59538 core_calendar: add behat step back
Part of MDL-59333.
2017-07-21 09:01:57 +08:00
Simey Lameze 3d67e83f53 MDL-59538 core_calendar: add event source logic to calendar 2017-07-21 09:01:57 +08:00
Simey Lameze 5472bdd091 MDL-59538 core_calendar: add event source to summary template 2017-07-21 09:01:57 +08:00
Simey Lameze 57d5b1b7cf MDL-59538 core_calendar: handle event source on the webservice
Part of MDL-59333.
2017-07-21 09:01:57 +08:00
Jun Pataleta f7cd3bc0e1 MDL-59436 user: Apply default sorting for participants table 2017-07-21 08:49:18 +08:00
Jun Pataleta a9991533fa MDL-59436 user: Render city and country based on $CFG->showuseridentity
* I also fixed the redundant generation of query fields in
  user_get_participants_sql().
2017-07-21 08:46:23 +08:00
Jun Pataleta 7a22e49e05 MDL-59436 admin: Add city and country to $CFG->showuseridentity 2017-07-21 08:46:12 +08:00
Jun Pataleta c5d59db9a6 MDL-59528 user: Render user picture link with user's fullname 2017-07-21 08:45:31 +08:00
Jun Pataleta 3b1eba069e MDL-59528 core: Add option to display fullname beside user picture 2017-07-21 08:45:31 +08:00
AMOS bot b6bf0e4210 Automatically generated installer lang files 2017-07-21 00:06:26 +08:00
Dan Poltawski 229ae617c5 weekly release 3.4dev 2017-07-20 13:20:46 +01:00
Dan Poltawski b6da40deb4 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-07-20 13:20:43 +01:00
Dan Poltawski b7e26ad2dc MDL-57945 npm: commit lockfile changes frm npm v5.3.0
Sadly npm keep altering the lockfile format see - MDL-59582
2017-07-20 11:15:37 +01:00
David Balch 8fb9a27170 MDL-30634 auth_ldap: Assign arbitrary system roles via LDAP sync.
Loosely based on a 2.7 branch by Mark Johnson.
2017-07-20 10:00:36 +01:00
Marco Ferrante a86dbfbb3d MDL-59432 auth_db: add aliases to field mapping query
This patch fixes an issue with mapping different internal fields
to the same external field.
2017-07-20 14:57:39 +08:00
Andrew Nicols 43fd867cc3 Merge branch 'MDL-59527-master-fix1' of http://github.com/damyon/moodle 2017-07-20 10:42:31 +08:00
Andrew Nicols 103cd4d394 Merge branch 'wip-MDL-57649-master-fix2' of git://github.com/abgreeve/moodle 2017-07-20 10:22:25 +08:00
Adrian Greeve 7b78154e39 MDL-57649 mod_lesson: Improvement to upgrade query.
We only need one record for each filearea that we
are removing.
2017-07-20 09:57:25 +08:00
Damyon Wiese ddc1482026 MDL-59527 autocomplete: Don't fetch ajax twice 2017-07-20 09:52:05 +08:00
Jun Pataleta 71e2a34192 MDL-59578 core: Remove unnecessary steps in alpha_chooser.feature
* The steps at the end of the Background scenario don't make sense and
  just adds to the execution time of the test.
2017-07-20 09:43:48 +08:00
AMOS bot 990a50a36c Automatically generated installer lang files 2017-07-20 00:06:11 +08:00
Juan Leyva 9f1ab2db6d MDL-59237 mod_workshop: New WS get_workshops_by_courses 2017-07-19 16:35:59 +01:00
Dan Poltawski 0a023e5fc7 MDL-57945 stylelint: use csstree to replace some rules
Ironically we have to reverse the change from e63d89a5 because
this linter is more clever..
2017-07-19 14:29:56 +01:00
Dan Poltawski 09074c91d0 MDL-57945 stylelint: Upgrade 7.12.0
This stylelint is consolodating and focusing the project
so there are some rule deprecations without real alternatives yet.
2017-07-19 13:45:47 +01:00
Dan Poltawski dda72b9d56 Merge branch 'MDL-59515' of https://github.com/NeillM/moodle 2017-07-19 13:11:23 +01:00
Neill Magill 5b40aaa5e4 MDL-59515 messages: arguments behave differently with single promise
Seems that objects are not borked by when in the same way as arrays when
there is only a single promise.
2017-07-19 11:52:15 +01:00
Dan Poltawski 00589c1f5a Merge branch 'MDL-59515' of https://github.com/NeillM/moodle 2017-07-19 11:16:00 +01:00
Neill Magill 6e594ff687 MDL-59515 messages: arguments behave differently with single promise
When only a single promise is passed the returned array is flattened.
2017-07-19 10:10:25 +01:00
Dan Poltawski 0224022b08 Merge branch 'wip-MDL-57649-master-fix' of git://github.com/abgreeve/moodle 2017-07-19 09:33:07 +01:00
Adrian Greeve 23e2a9cb7c MDL-57649 mod_lesson: Additional refinement to upgrade script. 2017-07-19 15:44:42 +08:00
Dan Poltawski 088494fd04 Merge branch 'MDL-59569-master' of git://github.com/andrewnicols/moodle 2017-07-19 08:43:56 +01:00
Andrew Nicols 9790a9b583 MDL-59572 dml: Call error_log for AJAX/WS calls 2017-07-19 12:49:15 +08:00
Andrew Nicols 86be85dde7 MDL-59569 travis: Remove haveged 2017-07-19 09:57:14 +08:00
Juan Leyva 41860b7e9e MDL-59453 mod_lesson: Return lesson contents without html cleaning
This is consistent to what is done in the web interface.
2017-07-18 12:24:01 +01:00
David Monllao 95d8e61161 Merge branch 'MDL-59460_master' of git://github.com/dmonllao/moodle 2017-07-18 12:23:37 +02:00
David Monllao 3f6e42b611 MDL-59460 mod_forum: Ensure CFG->forum_subscription is set 2017-07-18 12:21:42 +02:00
Luca Bösch 58affdc80e MDL-59460 mod_forum: default setting for Subscription mode.
Allow to set a Subscription mode default.
2017-07-18 12:21:37 +02:00
Dan Poltawski d2f3823342 MDL-59255 grunt: build ignorefiles 2017-07-18 10:54:58 +01:00
Dan Poltawski faa52511c3 Merge branch 'MDL-59255-master' of github.com:lucisgit/moodle 2017-07-18 10:54:05 +01:00
Ruslan Kabalin 362be64a2b MDL-59255 core: Extend test_clean_param_url.
Add rtmp:// test and some more URL validity tests since we made changes in
validateUrlSyntax function.
2017-07-18 10:29:07 +01:00
Ruslan Kabalin b03ffb099e MDL-59255 core: Make core_media_manager support RTMP. 2017-07-18 10:29:07 +01:00
Ruslan Kabalin 646e8bf668 MDL-59255 core: Add rtmp:// support to validateUrlSyntax function. 2017-07-18 10:29:07 +01:00
David Monllao f14987bc24 Merge branch 'wip-MDL-39471-master' of git://github.com/abgreeve/moodle 2017-07-18 10:48:37 +02:00
Dan Poltawski df57a201c9 Merge branch 'm34_MDL-59109_Backup_Missing_AutoCommit' of https://github.com/scara/moodle 2017-07-18 09:47:56 +01:00
Dan Poltawski 7718d3fba4 Merge branch 'MDL-50925-master' of git://github.com/andrewnicols/moodle 2017-07-18 08:53:43 +01:00
Dan Poltawski 9adc505b9f Merge branch 'MDL-59418-master' of https://github.com/Kathrin84/moodle 2017-07-18 08:52:10 +01:00
David Monllao d96508b610 Merge branch 'MDL-59521-master' of git://github.com/lameze/moodle 2017-07-18 09:41:28 +02:00
David Monllao d0f28cf058 Merge branch 'MDL-57991-master' of https://github.com/micaherne/moodle 2017-07-18 09:40:59 +02:00
David Monllao c9f2924941 Merge branch 'wip-MDL-58362-master' of git://github.com/marinaglancy/moodle 2017-07-18 09:08:30 +02:00
David Monllao a0f12fcafc Merge branch 'master_MDL-58863' of https://github.com/danmarsden/moodle 2017-07-18 09:03:35 +02:00
David Monllao ed539f8233 Merge branch 'MDL-59407-folder-remember-view-mode' of https://github.com/vvzh/moodle 2017-07-18 08:58:24 +02:00
Andrew Nicols 8d46ce8107 MDL-50925 auth: Remove old README
This is much better and more accurately documented in the Moodle Docs at
https://docs.moodle.org/dev/Authentication_plugins.
2017-07-18 14:49:09 +08:00
Andrew Nicols abc25c01b8 MDL-50925 auth_imap: Remove from core and into plugins DB 2017-07-18 14:49:08 +08:00
Andrew Nicols 36eaa96332 MDL-50925 auth_pop3: Remove from core and into plugins DB 2017-07-18 14:48:51 +08:00
Andrew Nicols f9d12a2d1e MDL-50925 auth_pam: Remove from core and into plugins DB 2017-07-18 14:48:38 +08:00
Andrew Nicols db6ba96510 MDL-50925 auth_nntp: Remove from core and into plugins DB 2017-07-18 14:48:23 +08:00
Andrew Nicols 032194970b MDL-50925 auth_fc: Remove from core and into plugins DB 2017-07-18 14:47:56 +08:00
David Monllao f510788b44 Merge branch 'MDL-59150-master-3' of git://github.com/ryanwyllie/moodle 2017-07-18 08:27:13 +02:00
Ryan Wyllie 0f268f5db9 MDL-59150 admin: build site theme after CLI install or upgrade 2017-07-18 06:13:07 +00:00
Marina Glancy 1ef14a5aec MDL-38129 gradeexport: custom profile fields case problem
Do not use custom pfofile field name as a field alias in DB query, use field id instead.
DML lowercases all column aliases and fields with uppercase letters no longer match.
2017-07-18 11:03:22 +08:00
AMOS bot 64562f309a Automatically generated installer lang files 2017-07-18 00:06:34 +08:00
Dan Poltawski 7af4771d63 Merge branch 'MDL-59323-master' of https://github.com/sammarshallou/moodle 2017-07-17 16:40:20 +02:00
David Monllao 2c3a34f0c6 MDL-59411 course: Fix unavailable typo 2017-07-17 16:40:00 +02:00
David Monllao bf442807f5 Merge branch 'wip-MDL-59411-master' of git://github.com/marinaglancy/moodle 2017-07-17 15:48:12 +02:00
Dan Poltawski efc1d2bb6b Merge branch 'MDL-59475-master-cas' of git://github.com/lameze/moodle 2017-07-17 14:18:21 +01:00
David Monllao 7d04eaca5c Merge branch 'MDL-59527-master' of git://github.com/damyon/moodle 2017-07-17 14:07:59 +02:00
Dan Poltawski 2ce7fad864 MDL-59548 behat: fix trailing whitespace 2017-07-17 11:30:28 +01:00
Dan Poltawski c899bfb088 Merge branch 'MDL-59548-master' of git://github.com/damyon/moodle 2017-07-17 11:21:56 +01:00
Alexander Bias 85d87d11c0 MDL-58174 themes: Make build_action_menu_from_navigation() protected 2017-07-17 11:17:26 +02:00
David Monllao 57f869c184 Merge branch 'wip-MDL-59377-master-3' of git://github.com/marinaglancy/moodle 2017-07-17 11:04:02 +02:00
Alexander Bias 46676b7633 MDL-59556 themes: Re-sort /theme/upgrade.txt 2017-07-17 10:51:54 +02:00
Alexander Bias d7d2a72faf MDL-59425 themes: Expose navigation node properties in boost flat nav 2017-07-17 10:46:45 +02:00
Dan Poltawski 1250166338 Merge branch 'MDL-59515' of https://github.com/NeillM/moodle 2017-07-17 09:42:27 +01:00
Dan Poltawski 540177523f Merge branch 'MDL-59442-master' of git://github.com/lameze/moodle 2017-07-17 09:16:29 +01:00
David Monllao 9e3b60c95d Merge branch 'MDL-59539-master' of git://github.com/tobiasreischmann/moodle 2017-07-17 10:14:55 +02:00
David Monllao 2764cd594b Merge branch 'MDL-59068-master' of git://github.com/dpalou/moodle 2017-07-17 10:09:35 +02:00
Dan Poltawski 16c903acc0 Merge branch 'wip-MDL-57649-master' of git://github.com/abgreeve/moodle 2017-07-17 09:01:05 +01:00
David Monllao 35d27924f9 Merge branch 'MDL-54607-master' of git://github.com/ankitagarwal/moodle 2017-07-17 09:31:53 +02:00
David Monllao 3ea76efa00 Merge branch 'MDL-58948_chrome_mink_driver' of https://github.com/mrmark/moodle 2017-07-17 09:10:25 +02:00
David Monllao 05c616d0b1 Merge branch 'wip-MDL-55912-master' of git://github.com/abgreeve/moodle 2017-07-17 09:09:03 +02:00
Marina Glancy 1bc9ef82c9 MDL-59377 mod_label: set showdescription to be always 1 2017-07-17 13:43:51 +08:00
Marina Glancy 66347456ec MDL-59377 course: when module intro is visible display embedded files
Even when course module is not available the intro text can still be visible on the
course page. In this case the availability restriction is displayed to the student
but link to the activity is not available
2017-07-17 13:42:08 +08:00
Andrew Nicols 5ee30c0fb4 Merge branch 'mdl55979-master' of https://github.com/tlock/moodle 2017-07-17 12:29:00 +08:00
Damyon Wiese dda64b6f45 MDL-59548 behat: Helpers for autocomplete
Improve the helpers for autocomplete so that:
a) the set field for an auto complete will automatically close the suggestions list.
b) add a new helper to open the suggestions list
c) move the helper for clicking on an element in the suggestions list from tool_lp to core.
2017-07-17 11:10:15 +08:00
Andrew Nicols 5a842a92b3 Merge branch 'MDL-57476_file_callbacks' of https://github.com/gthomas2/moodle 2017-07-17 10:31:28 +08:00
Andrew Nicols cdbfc8d3ef Merge branch 'MDL-59371-master' of git://github.com/lameze/moodle 2017-07-17 10:23:06 +08:00
Adrian Greeve c802d23dc8 MDL-39471 mod_assign: Comment visibility in blind marking.
Students can now see the identity of anyone making comments.
Markers on the otherhand can only see the identity of themselves
when making comments.
2017-07-17 09:25:04 +08:00
Adrian Greeve 0163e5d276 MDL-55912 mod_assign: Set grader details to the correct user. 2017-07-17 09:21:39 +08:00
Adrian Greeve 63cf03265b MDL-57649 mod_lesson: Delete answer files correctly.
The files associated with answers and responses were
not being deleted due to the fact that the wrong itemid
was being used.
2017-07-17 09:15:21 +08:00
Simey Lameze 548f5cf04d MDL-59521 core_calendar: conditionally hide description header 2017-07-17 08:20:18 +08:00
AMOS bot b040bb6775 Automatically generated installer lang files 2017-07-17 00:06:18 +08:00
Matteo Scaramuccia 746702c88d MDL-59109 scorm: Save autocommit setting in the backup. 2017-07-15 00:10:39 +02:00
Vladimir Zhirov 0398bbe675 MDL-59407 folder resource: remember view mode using preference API 2017-07-15 00:46:36 +04:00
David Mudrák 0fa2b2ee88 MDL-59544 workshop: Drop the custom validation of allowed file types
Now that the validation is provided directly by the filemanager, we do
not need to do the same here.

Note that existing Behat tests are left untouched to make sure there is
no regression.
2017-07-14 20:38:55 +02:00
David Mudrák 1661204a6c MDL-59544 forms: Implicit validation of the filemanager and filepicker
The patch adds an extra validation step against accepted file types.
Even if the repository checks are bypassed (as illustrated in the
Behat), the invalid file is still caught by the element's validation
rules.

It turns out there is no way to test the filepicker element easily via
Behat. Additionally, it provides the renaming features only with
disabled javascript. So the Behat tests are provided for the filemanager
only.

AMOS BEGIN
 CPY [err_wrongfileextension,mod_workshop],[err_wrongfileextension,core_form]
AMOS END
2017-07-14 20:38:54 +02:00
Neill Magill a5fbe27d8e MDL-59515 messages: Order of popup messages should be predictable
Before this change the messages in the message popup would be loaded
onto a page in a random order, based on the speed at which the user's
browser was able to render each template.

This causes the messages to be attached to the page sequentially, after
they have all been rendered asynchronously.
2017-07-14 15:50:48 +01:00
gthomas2 023037dc9e MDL-57476 file: Add CUD callbacks 2017-07-14 13:51:51 +01:00
Dan Poltawski 16a68a2f76 weekly release 3.4dev 2017-07-14 11:46:44 +01:00
Dan Poltawski de1c03ccce NOBUG: Fixed file access permissions 2017-07-14 11:46:43 +01:00
Dan Poltawski 5b38d0b031 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-07-14 11:46:42 +01:00
Juan Leyva 993e817576 MDL-56751 admin: New setting to set user created tokens duration
We were using a hardcoded value for 12 months.
With this change, administrators can change the duration time via a
security setting.
2017-07-14 10:24:53 +01:00
Tobias Reischmann d029841300 MDL-59539 oauth2/issuer: Changed baseurl for guessing image URL
The url, which was used for guessing the image, was queried with the
key 'discoveryurl', which is not defined in the context of an issuer.
The baseurl should be sufficient to retrieve the favicon.ico from a
server. That's why the key for was changed from 'discoveryurl' to
'baseurl'.
2017-07-14 11:10:50 +02:00
Marina Glancy 884983723a MDL-58362 registration: correctly retrieve registration values 2017-07-14 16:34:33 +08:00
Kathrin Osswald b3b938bfbc MDL-59418 theme Boost: Improve visibility of maintenance warning 2017-07-14 09:53:46 +02:00
Dan Poltawski 009dcd91fd Merge branch 'MDL-59534' of git://github.com/stronk7/moodle 2017-07-14 07:16:05 +01:00
Damyon Wiese 47dd535097 MDL-59527 forms: Race cond with ajax autocomplete
Sometimes (rarely) the auto complete will show "No suggestions" when there are valid suggestions.
2017-07-14 12:41:14 +08:00
Simey Lameze 2a6224c273 MDL-59475 auth_cas: update phpCAS to version 1.3.5 2017-07-14 12:19:30 +08:00
Andrew Nicols de1d92459e Merge branch 'MDL-59383-master-behat-failure' of https://github.com/lameze/moodle 2017-07-14 11:52:53 +08:00
Simey Lameze ebebbc442c MDL-59383 core_calendar: remove failing behat steps 2017-07-14 11:42:56 +08:00
Ankit Agarwal 8aaba9e47d MDL-54607 calendar: Export 0 duration events properly
Thanks to Paul Prencis for initial suggestion of this patch
2017-07-14 09:07:26 +05:30
Ankit Agarwal 0de211094a MDL-54607 calendar: Update benu lib to allow for instantaneous events 2017-07-14 09:07:08 +05:30
Eloy Lafuente (stronk7) 1d52027e57 MDL-59534 feedback: avoid some randomness with behat test failures 2017-07-13 20:08:33 +02:00
Juan Leyva 56da66adb6 MDL-59532 mod_lesson: Fix check_updates_since with groups
There were a couple of incorrect SQL queries when the user calling the
function is a teacher and the activity uses separate groups.
2017-07-13 16:18:57 +01:00
sam marshall e80e4778c5 MDL-58957 Global search: fix failing text compare in Oracle 2017-07-13 14:41:37 +01:00
sam marshall 12f7d77cc6 MDL-59323 XMLDB: Check defaults work incorrectly with char fields 2017-07-13 12:05:28 +01:00
sam marshall 94904cc323 MDL-59323 XMLDB: Code style fixes 2017-07-13 12:01:42 +01:00
Dan Poltawski 671971775f Merge branch 'MDL-59437-master' of git://github.com/damyon/moodle 2017-07-13 09:16:19 +01:00
Simey Lameze 3a3d8c487b MDL-59442 core_course: apply css classes to activity icons 2017-07-13 15:23:22 +08:00
Andrew Nicols f6a7d54f24 Merge branch 'MDL-59365-master-fix2' of http://github.com/damyon/moodle 2017-07-13 13:04:08 +08:00
Andrew Nicols e45c3ae9b2 Merge branch 'MDL-58957-master-fix' of https://github.com/lameze/moodle 2017-07-13 12:58:27 +08:00
Damyon Wiese b7386d0034 MDL-59437 participants: Add sort/pagination behat 2017-07-13 11:48:43 +08:00
Eloy Lafuente (stronk7) d131489e3d MDL-59437 behat: avoid using participants page for tag tests
While participants page is being refactored, there are links (fullname)
going and changing, leading to inestability in tests that were using
those links.

When possible, provide an alternative, stable path, in this case, the
tags page itself can be used to jump to the user profile, keeping the
tag tests better isolated.
2017-07-13 11:48:35 +08:00
Eloy Lafuente (stronk7) 28fcc33944 MDL-59437 behat: old "edit" cog to go to enrollments page is gone
There use to be a little cot to easily navigate from the
participations page to the enrollments page.

In boost it was already hidden, but present and the test was still
working (non-javascript).

With the conversion, the functionality is 100% gone so, right now,
the only way to navigate from participats to enrollments (that will
dissappear with with unification), is using the course admin cog.
2017-07-13 11:48:28 +08:00
Simey Lameze 54ff9a4bb8 MDL-58957 theme_boost: add rule to prevent target conflict 2017-07-13 11:10:36 +08:00
Simey Lameze a14907faa8 MDL-58957 core_block: fix link to site home 2017-07-13 11:10:36 +08:00
Damyon Wiese af6d23853a MDL-59365 enrol: Behat fixes
Fixes for the new enrol users popup with behat.
2017-07-13 10:55:01 +08:00
David Monllao 002ac8e9fe MDL-59368 users: Clear whitespace 2017-07-12 16:53:55 +02:00
David Monllao ed45119212 MDL-59368 users: Fix incorrect reference 2017-07-12 16:47:20 +02:00
David Monllao eac6f51590 Merge branch 'MDL-59368-master' of git://github.com/damyon/moodle 2017-07-12 16:46:49 +02:00
David Monllao 9e548756cf Merge branch 'MDL-59384-master-final' of https://github.com/lameze/moodle 2017-07-12 14:12:53 +02:00
Simey Lameze 38b325a3e6 MDL-59384 core_calendar: add delete event logic to modal
Part of MDL-59333.
2017-07-12 20:03:04 +08:00
Simey Lameze ea0368d599 MDL-59384 core_calendar: add calendar event amd module 2017-07-12 20:00:37 +08:00
Simey Lameze 1e8e6e132c MDL-59384 core_calendar: add necessary data-* attributes
Part of MDL-59333.
2017-07-12 19:58:57 +08:00
Simey Lameze 97c4a29d41 MDL-59384 core_modal: trigger bodyRendered event
Part of MDL-59333.
2017-07-12 19:57:22 +08:00
Simey Lameze e4aff89a16 MDL-59384 core_calendar: add deleteEvent function to repository
Part of MDL-59333.
2017-07-12 19:56:27 +08:00
Simey Lameze 542f5afacc MDL-59384 core_calendar: make delete_calendar_events ajax visible
Part of MDL-59333.
2017-07-12 19:55:24 +08:00
Dan Poltawski eff0303ad8 Merge branch 'MDL-56486-master-workshopfiletypes' of git://github.com/mudrd8mz/moodle 2017-07-12 12:22:32 +01:00
Simey Lameze f02e119afd MDL-59383 core_modal: trigger event on modal module 2017-07-12 18:57:55 +08:00
Simey Lameze e1c811609b MDL-59383 core_calendar: change modal body rendering 2017-07-12 18:56:45 +08:00
Simey Lameze 8a5c06b705 MDL-59383 core_calendar: proper handling of description on webservice 2017-07-12 18:56:30 +08:00
Simey Lameze f2e981e869 MDL-59383 core_calendar: css fixes to summary modal body 2017-07-12 18:56:14 +08:00
Simey Lameze d4a87aa370 MDL-59383 core_modal: trigger event on modal module 2017-07-12 18:28:11 +08:00
David Mudrák 6218889e2d MDL-56486 workshop: Do not rely on the button implementation in behat
It turned out that behat's "I should see ..." does not work for buttons
rendered as `<input>` elements so this assertion worked only in Boost
where the button is rendered as `<button>` but not in Clean.

But we do not really need this check here. All we need is to make sure
that the form has been saved successfully. For which, checking for the
text on the page is enough.

p.s. Another mistake of mine to not double-check behat on both standard
themes. Sigh ...
2017-07-12 11:58:08 +02:00
Simey Lameze 5d6b189574 MDL-59371 gradereport_overview: allow auth user role to view report 2017-07-12 17:52:03 +08:00
David Mudrák 581710e278 MDL-56486 workshop: Fix behat scenario for submission attachments
This Behat scenario was not failing only because it actually relied on
the bug in the wrongly set accepted_types for submission attachments.
Now that the previous commit has fixed that bug, this scenario started
to fail correctly.

We need to do the same trick here as we are doing in the latter
scenario: we first upload a valid file to bypass the upload repository
checks, and rename it before submitting the form. That allows us to see
that the invalid file is caught finally.

p.s. It was a silly mistake of mine. I should had been wondering why
the same procedure worked for one field and not for the other. I would
spot the bug with wrong accepted_types earlier.
2017-07-12 11:39:49 +02:00
Dan Poltawski 331785d0f7 Merge branch 'MDL-56486-master-workshopfiletypes' of git://github.com/mudrd8mz/moodle 2017-07-12 09:50:36 +01:00
David Mudrák afa6deec48 MDL-56486 workshop: Fix accepted_types for submission attachments
It was a copy&paste mistake that the accepted_types option for the
submission attachments used the value configured for overall feedback
attachments.

Credit goes to Marina Glancy for catching this during testing.
2017-07-12 09:57:06 +02:00
Dan Poltawski f409b3984b Merge branch 'MDL-59365-master-fix1' of http://github.com/damyon/moodle 2017-07-12 08:15:38 +01:00
David Monllao 347be35d75 Merge branch 'MDL-59383-fix-1' of https://github.com/lameze/moodle 2017-07-12 09:07:03 +02:00
Simey Lameze 19ab239f18 MDL-59383 core_calendar: change modal body rendering 2017-07-12 15:00:30 +08:00
Simey Lameze f405284728 MDL-59383 core_calendar: proper handling of description on webservice 2017-07-12 15:00:29 +08:00
Simey Lameze 6133141798 MDL-59383 core_calendar: css fixes to summary modal body 2017-07-12 15:00:29 +08:00
Damyon Wiese 2cc2001bef MDL-59365 enrol: Teachers can see other users on the site
In order to enrol new users into a course, you need to see users who are not in the current course.
2017-07-12 14:47:11 +08:00
David Monllao 5e961676c3 Merge branch 'MDL-59431-master-fix2' of git://github.com/andrewnicols/moodle 2017-07-12 08:34:30 +02:00
Simey Lameze f6f2e3fd4f MDL-59371 gradereport_overview: add missing course id to url 2017-07-12 14:09:22 +08:00
Andrew Nicols bd5416aab5 Merge branch 'wip-MDL-57462-master-fix' of git://github.com/abgreeve/moodle 2017-07-12 10:49:59 +08:00
Damyon Wiese bfd42c1a88 MDL-59368 groups: More phpunit coverage
Cover $withmembers parameter to groups_get_all_groups with a unit test.
2017-07-12 10:41:32 +08:00
Adrian Greeve 24a7acf354 MDL-57432 installation: Fix to the php version check. 2017-07-12 10:39:20 +08:00
Damyon Wiese f3ecea3af4 MDL-59368 groups: Peer review fixes
* Fix coalesce on postgres.
* The edit icon's alt shows the HTML entities causing
* enrol/tests/behat/add_to_group.feature Contains a '@doit' tag which I assume is there from testing.
* group/classes/output/user_groups_editable.php
** Missing MOODLE_INTERNAL check.
** Unused variables context_system and moodle_exception.
** The PHPDocs for the constructors are wrong.
** export_for_template() returns an array, not stdClass (according to parent docs).
** Change moodle_exception to coding_exception at the beginning.
* group/lib.php
** Missing docs for core_group_inplace_editable().
* user/classes/participants_table.php
** The docs for the class variables $groups, $course and $context need a '\' beforehand as they are in a namespace.
** I would prefer $this->context = $context; and $this->groups = ... to be done at the end of the constructor with the other class variable assignments.
** You could get rid of the class variable courseid if we are setting course and use $this->course->id instead.
** The function col_groups has @param \stdclass $row but it should be $data
* lib/amd/src/form-autocomplete.js and lib/amd/src/inplace_editable.js
** Some issues here CiBot has pointed out.
* lib/classes/output/inplace_editable.php
** @see should be on a new line.
2017-07-12 10:09:09 +08:00
Damyon Wiese f746a078cb MDL-59368 groups: Postgres fix
Postgres is strict about mixing types.
2017-07-12 10:07:58 +08:00
Damyon Wiese 4aad7c2be2 MDL-59368 groups: Show no groups instead of ''
This is on the inplace editable for a users course groups.
2017-07-12 10:07:58 +08:00
Damyon Wiese 76c493b3f2 MDL-59368 groups: Add behat for new group edit 2017-07-12 10:07:58 +08:00
Damyon Wiese 090d064dda MDL-59368 enrol: Ensure remove_group_member_allowed works
Wierd rare callback that does not work in core. Still respect it in the UI.
2017-07-12 10:07:58 +08:00
Damyon Wiese 13426bae93 MDL-59368 inplace_editable: Focus on auto-complete
Also fix JS coding style and build the amd.
2017-07-12 10:07:58 +08:00
Damyon Wiese 5a90a7cabe MDL-59368 groups: Add an explicit cancel button
Autocomplete already uses Escape keyboard handler - so we can't use it to cancel an edit-inplace thing.
Make an obvious cancel button instead.
2017-07-12 10:07:57 +08:00
Damyon Wiese 2fa35b8d16 MDL-59368 groups: Inplace editing for users groups 2017-07-12 10:07:57 +08:00
Andrew Nicols 0d8ad3b500 MDL-59431 requirejs: Prioritise errors 2017-07-12 10:05:59 +08:00
Andrew Nicols d45a6d4fe3 MDL-59431 requirejs: Correct failed JS check 2017-07-12 09:45:45 +08:00
David Monllao afabbd110e Merge branch 'MDL-59039-master' of https://github.com/sammarshallou/moodle 2017-07-11 21:49:03 +02:00
sam marshall 67d6479581 MDL-59039 Global search: Allow partial indexing (in scheduled task) 2017-07-11 16:41:33 +01:00
Dan Poltawski b4a5f2b63e Merge branch 'MDL-59019-master' of git://github.com/jleyva/moodle 2017-07-11 14:06:11 +01:00
Damyon Wiese d77c73a359 MDL-59365 enrol: Use standard modal
Replace the custom footer with a standard modal.
2017-07-11 13:48:27 +01:00
Damyon Wiese 394e73ff12 MDL-59365 behat: Autocomplete fixes
The suggestion list stays open for multi-selects now. We need to close it
explicitly.
2017-07-11 13:48:27 +01:00
Damyon Wiese 2e1615f2c0 MDL-59365 eslint: Noop changes for eslint 2017-07-11 13:48:26 +01:00
Damyon Wiese a78ed71c11 MDL-59365 enrol: enrol button participants page 2017-07-11 13:48:25 +01:00
Damyon Wiese aa8909f479 MDL-59365 enrol: Make select users first
This is the most important element in the form - make it first.
2017-07-11 13:47:52 +01:00
Damyon Wiese 0fa35b1abc MDL-59365 enrol: Switch the user selector
The user selector was calling the wrong API to get the potential list of users to enrol.

Now it works.
2017-07-11 13:47:46 +01:00
Damyon Wiese 786e014c5c MDL-59365 autocomplete: Keep the suggestions open
If the list allows multiple selections, don't auto-close the suggestions list
every time something is chosen.
2017-07-11 13:47:28 +01:00
Damyon Wiese a60e8ba51e MDL-59365 enrol_manual: Rewrite the yui enrolment popup in amd
The add/roles thing was only converted to bootstrap 2/4 markup and the yui left in place.

The modal for adding users to a course was unsavable so I rewrote it with an mform in a popup, still calling
the same (barely) modified ajax script.

The webservice for searching cohorts was taken from admin/tool/lp and moved into /cohort. I added a generic "cohort"
mform element at the same time.

The webservice for searching for users was taken from the original ajax script.
2017-07-11 13:47:26 +01:00
Eloy Lafuente (stronk7) bdf31b0919 MDL-56629 dataformat_html: Adding UTF-8 charset
Also adding the HEAD tag which was missing.

(credit goes to Frédéric Massart - FMCorz, thanks!)
2017-07-11 13:43:17 +01:00
Eloy Lafuente (stronk7) 64ea4b5edd Merge branch 'MDL-54965-master' of git://github.com/tobiasreischmann/moodle 2017-07-11 13:43:16 +01:00
David Monllao e78d7cc0b1 Merge branch 'wip-MDL-59363-master' of git://github.com/marinaglancy/moodle 2017-07-11 12:36:58 +02:00
Dan Poltawski e5ca70ba1d MDL-59287 upgrade.txt: avoid misleading versions 2017-07-11 11:30:43 +01:00
Dan Poltawski 58a9d391a6 Merge branch 'wip-MDL-59287-master-v3' of git://github.com/abgreeve/moodle 2017-07-11 11:29:53 +01:00
David Monllao f938456835 Merge branch 'MDL-59431' of git://github.com/timhunt/moodle 2017-07-11 12:05:30 +02:00
David Monllao 93f2056000 Merge branch 'wip-MDL-59441-master' of git://github.com/marinaglancy/moodle 2017-07-11 11:41:03 +02:00
Dan Poltawski 58fcd0a0ed Merge branch 'MDL-56486-master-workshopfiletypes' of git://github.com/mudrd8mz/moodle 2017-07-11 10:18:48 +01:00
Dan Poltawski 229c5ec14f Merge branch 'MDL-59443-master-filetypesvalidation' of git://github.com/mudrd8mz/moodle 2017-07-11 10:16:40 +01:00
Eloy Lafuente (stronk7) f84bdb4347 Merge branch 'MDL-57432-master' of git://github.com/danpoltawski/moodle 2017-07-11 10:44:06 +02:00
David Monllao e578ab114c Merge branch 'MDL-59383-master' of git://github.com/lameze/moodle 2017-07-11 10:05:03 +02:00
Simey Lameze 0d38888e2a MDL-59383 core_calendar: make event summary display on modal
Part of MDL-59333.
2017-07-11 15:36:29 +08:00
Simey Lameze 5813d1b9f9 MDL-59383 core_calendar: add get_calendar_event_by_id webservice
Part of MDL-59333.
2017-07-11 15:36:29 +08:00
Simey Lameze fee9f355bf MDL-59383 core_calendar: add lang strings for event types
Part of MDL-59333.
2017-07-11 15:36:29 +08:00
Simey Lameze 68c3e21a89 MDL-59383 core_calendar: create summary modal templates
Part of MDL-59333.
2017-07-11 15:36:29 +08:00
Simey Lameze dfdde9ad35 MDL-59383 core_calendar: create summary modal AMD module
Part of MDL-59333.
2017-07-11 15:36:29 +08:00
Simey Lameze 385a56e33c MDL-59383 core_calendar: create calendar repository AMD module
Part of MDL-59333.
2017-07-11 15:36:28 +08:00
Simey Lameze 3b0738f04c MDL-59383 core_calendar: create main calendar AMD module
Part of MDL-59333.
2017-07-11 15:36:28 +08:00
Stephen Vickers 1bd212e860 MDL-59490 mod_lti: Prevent text wrapping
Update html_to_text method calls with a width of zero.
2017-07-10 17:01:54 +01:00
Dan Poltawski 54ef4a9f36 Merge branch 'wip-MDL-40408-master' of git://github.com/marinaglancy/moodle 2017-07-10 14:36:40 +01:00
Dan Poltawski 25a425d709 Merge branch 'wip-MDL-59262-master-2' of git://github.com/marinaglancy/moodle 2017-07-10 14:31:06 +01:00
David Monllao 0245f733b7 Merge branch 'MDL-52501' of https://github.com/NeillM/moodle 2017-07-10 14:38:27 +02:00
Dan Poltawski bf51478fce Merge branch 'MDL-59317' of https://github.com/NeillM/moodle 2017-07-10 13:28:28 +01:00
David Monllao bef9a71934 MDL-58851 lti: Fix undefined var PHP notice 2017-07-10 14:26:24 +02:00
David Monllao 7fd09e2471 Merge branch 'lti_admin' of https://github.com/baholladay/moodle 2017-07-10 14:25:24 +02:00
Bryan Holladay 1aa11df72f MDL-58851 LTI module: Add LTI admin role capability
Adding a new 'mod/lti:admin' capability and passes the LTI admin role if the user has the 'mod/lti:admin' capability.
2017-07-10 08:19:48 -04:00
David Monllao 4b0518a834 Merge branch 'MDL-58332-master' of git://github.com/ryanwyllie/moodle 2017-07-10 14:19:31 +02:00
Dan Poltawski f04b6af7d7 Merge branch 'wip-MDL-46495-master' of git://github.com/marinaglancy/moodle 2017-07-10 13:15:21 +01:00
Tobias Reischmann 3a133b3028 MDL-54965 mod_data: removed unused code in display_add_field()
Since the refactoring towards using the filepicker for file and picture
fields there are several variables, which are set but never read. Thus,
I removed them.
2017-07-10 14:14:41 +02:00
Tobias Reischmann bdf6753528 MDL-54965 mod_data: Init draft area for empty file/pic fields
When a file or picture field was added with existing records, these
records could not be saved, since the draft area was not created
properly.

Co-authored-by: Jérôme Mouneyrac <mouneyrac>
2017-07-10 14:14:41 +02:00
Eloy Lafuente (stronk7) 6248b5ba63 Merge branch 'MDL-59452-master-filetypesbehat' of git://github.com/mudrd8mz/moodle 2017-07-10 12:19:09 +02:00
Dan Poltawski 1a54672fe6 Merge branch 'MDL-58957-master' of https://github.com/sammarshallou/moodle 2017-07-10 11:15:00 +01:00
David Monllao 1d0dd2072c Merge branch 'wip-MDL-56579-master-2' of git://github.com/marinaglancy/moodle 2017-07-10 12:04:14 +02:00
Michael Aherne 8b6dcb0479 MDL-57991 media: Prevent mediaplayer taking up too much space 2017-07-10 10:15:19 +01:00
Eloy Lafuente (stronk7) f83d212bcf MDL-57432 upgrade: remove unused functions/settings from upgradelib
All these functions were used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
them internal. Deletion has been documented in corresponding
upgrade.txt files:

- upgrade_mimetypes()
- upgrade_fix_missing_root_folders_draft()
- upgrade_minmaxgrade() and upgrade_minmaxgradestepignored setting
- upgrade_course_tags()
- atto_equation_update_librarygroup4_setting()
- mod_lti_upgrade_custom_separator()

These have been kept because continue being used by restore:

- upgrade_group_members_only()
- upgrade_extra_credit_weightoverride()
- upgrade_calculated_grade_items()
2017-07-10 09:18:56 +01:00
Eloy Lafuente (stronk7) 29af7b0b4c MDL-57432 upgrade: clean < 3.0.0 upgrade steps
This just deletes all the upgrade steps previous to 3.0.0. Some
small adjustments, like adding missing MOODLE_INTERNAL or tweaking
globals can also be applied when needed.

Also includes an upgrade step to prevent upgrading from any
version < 2015111600 (v3.0.0) as anti-cheating measure.

Next commit will get rid of/deprecate all the upgradelib functions
not used anymore in codebase.
2017-07-10 09:16:55 +01:00
Dan Poltawski d18f16032c MDL-57432 environment: raise Moodle requirement
Due to Moodle 2.7 and Moodle 3.4 not having a common compatible php version
between them to upgrade from Moodle 3.4 from Moodle 2.7 you'll need to upgrade
to a higher version first or upgrade php at the same time as upgrade,
this encourages the former.
2017-07-10 09:16:55 +01:00
Dan Poltawski 8c97a659ce MDL-57432 travis: move to PHP 7.x only
* We have to make the upgrade test from 3.0 to
  avoid messing messing around with versions
2017-07-10 09:16:55 +01:00
Dan Poltawski 29bbf948a3 MDL-57432 environment: raise Moodle 3.4 requirements
1) PHP minimum version raised to 7.0.0
2) Intl extension raised from optional to required
2017-07-10 09:16:55 +01:00
Dan Poltawski 9a9e061398 MDL-57432 environment: 3.4 base information
This is a direct copy of the 3.3 branch to
have changes under control easier in next commits.
2017-07-10 09:16:55 +01:00
Dan Poltawski 64e57937be MDL-57432 lib: unify PHP version checks
* Introduce a new php compatible library which can be used
  early in execution, without Moodle dependencies
* Use it where we previously had hardcoded checks

This was originally suggested in MDL-39007.
2017-07-10 09:16:55 +01:00
Dan Poltawski 04d1f77644 Merge branch 'MDL-58544-master' of git://github.com/damyon/moodle 2017-07-10 08:36:40 +01:00
Eloy Lafuente (stronk7) 2ae3581d63 Merge branch 'wip-MDL-59468-master' of https://github.com/marinaglancy/moodle 2017-07-10 04:25:23 +02:00
Ryan Wyllie 7f805edb38 MDL-58332 message: remove concat in get_popup_notifications sql
Removed the concat to generate the uniqueid field for the popup
notifications data. The concat can't be used directly in the SQL because
the syntax changes between databases. The sql_concat helper can't be
used because it assumes all values are database columns (which they
aren't in this case).

Instead I've just removed the uniqueid field because it isn't required
for the union all to work and the field isn't being used by anything.
This should fixed the compatibility issues between databases.
2017-07-10 02:02:26 +00:00
Adrian Greeve 9ffbdafc95 MDL-59287 calendar_events: Update modules to create all events.
All events equals all calendar events including completion events.
2017-07-10 09:40:02 +08:00
Adrian Greeve a85e191c4d MDL-59287 course_module: switching to new function.
Instead of using *_refresh_events directly
course_module_update_calendar_events is called so
that all types of calendar events can be updated.
2017-07-10 09:40:02 +08:00
Adrian Greeve e3658a6a9c MDL-59287 course_module: Create calendar event update function. 2017-07-10 09:40:02 +08:00
Adrian Greeve 190d4ecf1e MDL-59287 core_completion: Bulk completion now updates events. 2017-07-10 09:40:02 +08:00
Adrian Greeve 190646bd75 MDL-59287 core_completion: Update to unit tests. 2017-07-10 09:40:02 +08:00
Adrian Greeve 1930749f46 MDL-59287 core_completion: Update API to use less DB calls. 2017-07-10 09:40:01 +08:00
Stephen Vickers d7d8db95e9 MDL-59485 mod_lti: Add missing capabilities
Capabilities missing which should allow Moodle to pass IMS certification
for LTI 2.0
2017-07-08 12:39:02 +01:00
AMOS bot 7e6d2ac436 Automatically generated installer lang files 2017-07-08 00:15:42 +08:00
Jake Dallimore 350700bf8b weekly release 3.4dev 2017-07-07 12:10:12 +08:00
Jake Dallimore a51401a189 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-07-07 12:10:10 +08:00
Marina Glancy 63470cf31c MDL-59468 theme: bug fix accessing db during install 2017-07-07 11:11:50 +08:00
Dan Marsden e63d7244a6 MDL-58863 scorm: Improve accessibility when css disabled. 2017-07-07 10:40:13 +12:00
AMOS bot cc738fb8b4 Automatically generated installer lang files 2017-07-07 00:06:17 +08:00
Neill Magill 22481f3d89 MDL-59317 message: Message page taking long time to load
The OR clause in these queries used different sets of columns to select
userid which meant that the indexes that included user id could not be
used.

This change splits the query so that each individual part can use one of
the indexes that includes a userid which speeds them up considerably.
2017-07-06 15:24:02 +01:00
Neill Magill 733c4978fc MDL-52501 assign: Fix group submissions without submission record
Based on work by Tim Lock <tim.lock@blackboard.com>

While upgrading to Moodle 2.8 or above it is possible for it to fail if
the site has multiple graded attempts for a user without an associated
submission record. This caused the upgrade to violate the databases
unique key rules.

This same issue could apply to a backup that was created of an
assignment that had this issue, when it is restored into Moodle 2.8 or
later.

This change adds the attempt number from the grade table into the query
that is inserting the new submission record (thanks to Tim). It also
moves the insert query before the latest flag is set on submission
records to ensure that only one has it, without this it is possible that
multiple submission records would be marked as the latest after an
upgrade or restore.
2017-07-06 15:23:40 +01:00
Eloy Lafuente (stronk7) da120d408c Merge branch 'MDL-59395_master-fix2' of git://github.com/markn86/moodle 2017-07-06 15:34:43 +02:00
Mark Nelson a6a65da4f3 MDL-59395 core_user: removed unnecessary Behat javascript tags
1) Fixes a failing Behat test.
2) Speeds up two tests (including one fixed above).

Part of MDL-59290.
2017-07-06 21:26:02 +08:00
Mark Nelson 272094b8aa MDL-59395 report_log: removed unnecessary Behat javascript tags
Reverts the original fix for the failing Behat tests and solves
it in a better way - it is now faster!

Part of MDL-59290.
2017-07-06 21:26:02 +08:00
David Mudrák fd8fe9c1db MDL-56486 workshop: Add behat tests for restricting file types 2017-07-06 12:31:26 +02:00
Simey Lameze b9e9ff8830 MDL-59456 auth_cas: patch phpCAS auth bypass vulnerability 2017-07-06 09:30:53 +01:00
David Mudrák b8b07ce2c4 MDL-56486 workshop: Deprecate custom methods for handling file types
The functionality and the tests are now part of the core element.
2017-07-06 09:49:04 +02:00
David Mudrák 9ef238bc84 MDL-56486 workshop: Use filetypes utility class to normalize file types 2017-07-06 09:49:04 +02:00
David Mudrák 5a0865a1b1 MDL-56486 workshop: Use filetypes utility class to check submitted files 2017-07-06 09:49:04 +02:00
David Mudrák f9a8d98047 MDL-56486 workshop: Use the new filetypes element in the mod_form
The element copes well with the legacy syntax - just extensions, no
dots. So the upgrade step is not actually necessary here. The element
has in-built validation so there is no need to validate it explicitly
here again.
2017-07-06 09:49:04 +02:00
David Mudrák ee7e8fdf8e MDL-59443 forms: Add behat tests for the field validation 2017-07-06 09:29:04 +02:00
David Mudrák a100469875 MDL-59443 forms: Consider '*' as a known file type
While working on the filetypes element validation, I realized we did not
cover the case of selecting 'Any file type'. So the value '*' was
falsely reported as unknown file type.
2017-07-06 09:29:04 +02:00
David Mudrák 572d6fdef3 MDL-59443 forms: Allow implicit validation of filetypes element values
The validation obeys the element options 'allowall', 'allowunknown' and
'onlytypes' passed when creating the element.
2017-07-06 09:29:04 +02:00
David Mudrák 6c8e25fa51 MDL-59443 forms: Give elements a chance to validate submitted values
This patch introduces support for an optional method provided by the
form element classes to validate the submitted values implicitly -
without the need to have the rule explicitly added via the form
definition.

I am aware this should ideally be added to the HTML_QuickForm_element
parent class. But I wanted to avoid modification of that third party
library and keep the change in the moodleform layer only.
2017-07-06 09:29:04 +02:00
David Mudrák 6b59e4aafb MDL-59452 forms: Add Behat test for the filetypes form element
This is a very basic test for now to illustrate that it is possible now
to specify filetypes fields by the label.
2017-07-06 09:22:14 +02:00
Jake Dallimore d5d70e57a4 Merge branch 'MDL-59395_master-fix' of github.com:markn86/moodle 2017-07-06 15:20:41 +08:00
Mark Nelson 7a1c830b0b MDL-59395 core_user: fixed random PHPUnit failure
Part of MDL-59290.
2017-07-06 14:54:41 +08:00
Jake Dallimore bdbffe0efc Merge branch 'MDL-59364-master-fix2' of http://github.com/damyon/moodle 2017-07-06 14:48:05 +08:00
Damyon Wiese 40f6d24725 MDL-59364 behat: Brief / full links removed
The selector for brief / full user details was removed, it needs removing from the behat test.
2017-07-06 14:37:59 +08:00
Mark Nelson 688892d66f MDL-59395 report_log: fixed step navigating to user profile
Part of MDL-59290.
2017-07-06 13:20:04 +08:00
Jake Dallimore 11f512ee06 Merge branch 'MDL-59396_master-fix' of github.com:markn86/moodle 2017-07-06 11:54:48 +08:00
Mark Nelson 661750afc2 MDL-59396 block_participants: removed Behat reference to deleted select
Part of MDL-59290.
2017-07-06 11:17:02 +08:00
David Mudrák 9aabf267ee MDL-59452 forms: Provide a label for the filetypes input field
This is a pragmatic (read: hacky) solution of the problem that
Behat/Mink is unable to locate the input field within the filetypes
group. I've spent a while trying to figure out how to make it work. On
the road, I've discovered that our situation with labels of mform group
elements is a bit messy. And generally there seems to be no easy way how
to use the group's label to identify one particular input field in the
group.

In this case, we use mform group but in fact there is a single input
field within the group. Mink does not locate the group itself as an
input field and throws ElementNotFoundException. So reusing the group's
label as a hidden label for the input makes sense from certain
perspective.

The potential drawback (unconfirmed) is that screen readers might read
the same label text twice. But only one of them is associated with the
actual input field so chances are they would ignore the group's one,
like Mink does.
2017-07-05 17:38:04 +02:00
Jun Pataleta 3a2304f99b MDL-58651 logstore_database: Set dbhandlesoptions in test page 2017-07-05 22:49:44 +08:00
Eloy Lafuente (stronk7) 58da7e8851 Merge branch 'MDL-57021-master-v2' of git://github.com/danpoltawski/moodle 2017-07-05 12:24:45 +02:00
Eloy Lafuente (stronk7) 92acc71388 Merge branch 'MDL-59395_master' of git://github.com/markn86/moodle 2017-07-05 12:00:12 +02:00
Eloy Lafuente (stronk7) aef0609316 Merge branch 'MDL-59398-master-enfix' of git://github.com/mudrd8mz/moodle 2017-07-05 11:51:05 +02:00
Eloy Lafuente (stronk7) a590ff736c Merge branch 'MDL-59294-master' of git://github.com/junpataleta/moodle 2017-07-05 09:42:41 +02:00
Eloy Lafuente (stronk7) 9a334cb444 Merge branch 'MDL-58286-master' of https://github.com/xow/moodle 2017-07-05 09:39:21 +02:00
Eloy Lafuente (stronk7) 29dcef0b65 Merge branch 'wip-MDL-59412-master' of git://github.com/marinaglancy/moodle 2017-07-05 09:34:19 +02:00
Helen Foster f08d4da505 MDL-59398 lang: Merge English strings from the en_fix language pack 2017-07-05 09:27:29 +02:00
Mark Nelson ba6645daa0 MDL-59395 core_user: added unit tests for new participation functions
Part of MDL-59290.
2017-07-05 14:51:41 +08:00
Mark Nelson bc47b70667 MDL-59395 core_user: move participants table to own class
Removed the edit link variable which was used in the heading
'Users with the role ..' but was never displayed due to filters.

Other minor tidy ups as well.

Part of MDL-59290.
2017-07-05 14:51:41 +08:00
Jake Dallimore e166657532 Merge branch 'MDL-58716-master-fix' of git://github.com/junpataleta/moodle 2017-07-05 13:03:56 +08:00
Jun Pataleta 64755ee800 MDL-58716 core: Define core_login_testsuite in phpunit.xml.dist 2017-07-05 12:39:18 +08:00
Marina Glancy 1c885118fc MDL-59412 course: do not display completion icon for unavailable mod 2017-07-05 09:48:18 +08:00
John Okely d349b0f0f8 MDL-58286 enrol_ldap: Pass connection to ldap_paged_results_supported
Thanks to Bianco Veigel for the original patch.
2017-07-05 09:46:27 +08:00
Jun Pataleta a50089bac5 Merge branch 'MDL-58716-master' of git://github.com/jleyva/moodle 2017-07-05 09:36:41 +08:00
Eloy Lafuente (stronk7) 39f8a9636e Merge branch 'MDL-59413_master' of git://github.com/markn86/moodle 2017-07-05 02:35:26 +02:00
Eloy Lafuente (stronk7) 8eb4f41f1d Merge branch 'MDL-59396_master' of git://github.com/markn86/moodle 2017-07-05 02:33:09 +02:00
Eloy Lafuente (stronk7) 5133e30da3 Merge branch 'MDL-59364_master' of git://github.com/markn86/moodle 2017-07-05 02:31:48 +02:00
Eloy Lafuente (stronk7) acbcffd342 Merge branch 'MDL-58651' of git://github.com/aolley/moodle 2017-07-05 01:21:13 +02:00
Eloy Lafuente (stronk7) 77c8eb94c3 Merge branch 'wip-MDL-59336-master' of git://github.com/marinaglancy/moodle 2017-07-04 19:58:51 +02:00
Eloy Lafuente (stronk7) f75b93c9d3 Merge branch 'MDL-59427-master' of https://github.com/sammarshallou/moodle 2017-07-04 19:44:07 +02:00
Juan Leyva b6f70a3745 MDL-58716 auth: New ajax WS core_auth_request_password_reset 2017-07-04 11:40:12 +01:00
Juan Leyva cca01ddace MDL-58716 login: API changes to accommodate web services 2017-07-04 11:40:11 +01:00
Dani Palou 18f3d7667b MDL-59068 lesson: Revert MDL-54849
MDL-54859 made the 'wrong jump' setting useless, since clicking 'No' always sends the user to the next page.
2017-07-04 10:33:17 +02:00
Jake Dallimore 542933e30a Merge branch 'MDL-59380-master' of git://github.com/damyon/moodle 2017-07-04 16:27:30 +08:00
Marina Glancy 5540c0979b MDL-59441 calendar: unittest fix for modules without generators 2017-07-04 11:16:08 +08:00
Marina Glancy 6e861be6b7 MDL-59409 admin: set admin user in unittest 2017-07-04 11:04:54 +08:00
Marina Glancy b1ed151f4d MDL-59262 tool_uploadcourse: allow to set numsections 2017-07-04 10:27:39 +08:00
Ankit Agarwal 8d8d00ef42 MDL-56565 forum: Add sitename as heading when there is nothing to display 2017-07-04 10:11:34 +08:00
Ankit Agarwal 73d78820c8 MDL-56565 forum: Make sure userfullname is not disclosed 2017-07-04 10:11:34 +08:00
Jake Dallimore 012555492e MDL-56565 navigation: fix for cap checks in nav and context header
Fix to:
- Make sure we properly check both user and course contexts in
the load_for_user function in navigation lib and user the
user_can_view_profile function for same-course access checks.
- Use user_can_view_profile in the renderer's context_header to
properly decide whether a user can view another user's picture
and messaging options in the page header.
2017-07-04 10:11:34 +08:00
Jake Dallimore 02e5a9d766 MDL-56565 navigation: fix user details disclosure in nav tree
Fixes a bug in which a user's full name might be disclosed via the
nav tree. Nav generation now checks the current user's access to the
user before adding the node, else adds a dummy node.
2017-07-04 10:11:34 +08:00
Jake Dallimore 08692e9736 MDL-56565 core: fix user details disclosure in page context header
Fixes a bug with context_header function in which user details were
displayed regardless of the current user's capabilities.
2017-07-04 10:11:34 +08:00
Mark Nelson 2fe7f706d7 MDL-59304 core_calendar: check if course is hidden in bailout callback 2017-07-04 10:11:34 +08:00
Marina Glancy 915f801546 MDL-59409 admin: check access to every setting in category 2017-07-04 10:00:26 +08:00
Jake Dallimore ccf1c6e621 Merge branch 'MDL-59165-master-2' of git://github.com/andrewnicols/moodle 2017-07-04 09:16:11 +08:00
Andrew Nicols 1e68076e5d MDL-59165 tool_mobile: Display mobile setup link in footer 2017-07-04 09:14:34 +08:00
Jake Dallimore 5141266546 Merge branch 'MDL-59008-master' of git://github.com/lameze/moodle 2017-07-03 15:55:38 +08:00
Simey Lameze 64c385a293 MDL-59008 repository: add reload parent window support to callback 2017-07-03 13:41:58 +08:00
Simey Lameze 1ba1412fa3 MDL-59008 repository_onedrive: add method to serve login on a popup 2017-07-03 13:41:58 +08:00
Simey Lameze fd8790d5cf MDL-59008 repository_googledocs: add method to serve login on a popup
This commit also add a new string logintoaccount to make the login
button more clear.
2017-07-03 13:41:58 +08:00
Andrew Nicols 7bd28dffc2 MDL-59165 output: Add standard footer html callback 2017-07-03 13:35:28 +08:00
Simey Lameze 1fad6ff3f5 MDL-59008 mod_resource: add option to serve external files embed 2017-07-03 10:19:33 +08:00
Tim Hunt 39c40adad1 MDL-59431 requirejs: better reporting if a JS file cannot be loaded 2017-06-30 17:17:26 +01:00
sam marshall 902be008db MDL-58957 Global search: Unit test for block searching 2017-06-30 13:10:14 +01:00
sam marshall 2f487b67eb MDL-58957 Global search: Add search support to HTML block 2017-06-30 13:10:14 +01:00
sam marshall a96faa49a8 MDL-58957 Global search: Add block support to search manager 2017-06-30 13:10:12 +01:00
sam marshall 4998d3a5be MDL-59427 MUC: cache_helper::purge_all should reset adhoc caches 2017-06-30 11:15:30 +01:00
Marina Glancy ca66f9654e MDL-59262 course: bug - requested course is created without sections 2017-06-30 12:11:55 +08:00
Marina Glancy ef5fdb3709 MDL-46495 tool_uploadcourse: set enablecompletion to default 2017-06-30 10:25:29 +08:00
sam marshall 557554f99f MDL-58957 Global search: Add time fields to block_instances 2017-06-29 15:14:47 +01:00
Jake Dallimore 5a651b43fb weekly release 3.4dev 2017-06-29 16:23:42 +08:00
Jake Dallimore 4c68642926 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-06-29 16:23:41 +08:00
Mark Nelson e727e91c38 MDL-59413 core_user: removed broken group information table
Part of MDL-59290.
2017-06-29 14:19:08 +08:00
Marina Glancy 592f3ae22c MDL-59411 course: display access restriction in access error message 2017-06-29 13:48:27 +08:00
Jun Pataleta 56249d8710 MDL-59294 block_login: Make display of ID provider buttons consistent 2017-06-29 09:29:26 +08:00
Mark Nielsen b095b36c02 MDL-58948 behat: capture DriverException
Other drivers may throw a DriverException when the popup
or iframe disappears.
2017-06-28 14:34:08 -07:00
Mark Nielsen f46a2dd913 MDL-58948 behat: Fix spin method when callback throws exception
Was preventing the sleep statements from running.  This caused
steps to fail too early when it was just waiting for something
to change in the browser.
2017-06-28 14:33:51 -07:00
Mark Nielsen 7cde2bb313 MDL-58948 behat: Chrome driver has unique xpaths
Chrome driver has unique xpaths for clicking on all the
show more links.  So clicking on the first xpath X times
does not work.
2017-06-28 12:50:44 -07:00
Mark Nielsen 95ee1f6392 MDL-58948 course: correct event type listener
This event handler is listening for click events on a select
element, should be a change event.
2017-06-28 12:50:44 -07:00
Mark Nielsen b5be387556 MDL-58948 behat: conditionally execute MoodleSelenium2Driver
There is some specific code being executed that only exists
in the MoodleSelenium2Driver.  Conditionally execute this
code to make it compatible with other Mink drivers.
2017-06-28 12:50:44 -07:00
Mark Nielsen f5459099ae MDL-58948 behat: catch ElementNotFoundException
Another valid exception that can be thrown from a Mink driver
is the ElementNotFoundException when an element has gone missing.
2017-06-28 12:50:11 -07:00
Mark Nielsen 3cf0d01a61 MDL-58948 behat: Fix timeouts without a condition
The second parameter of the wait method should be a string
so passing boolean false was wrong.  The default on for the
script is 'false' which works cross Mink drivers.
2017-06-28 12:50:10 -07:00
Mark Nielsen 5536bf4f22 MDL-58948 behat: return the result of the pending JS method
This increases compatibility with other Mink drivers,
in particular, the Chrome Mink Driver.
2017-06-28 11:20:49 -07:00
David Monllao f9e4731c86 MDL-59148 css: Remove legacy param from php-doc
Version bump as well.
2017-06-28 18:24:50 +02:00
David Monllao 185455dcc3 Merge branch 'MDL-59148-master-7' of git://github.com/andrewnicols/moodle 2017-06-28 18:24:50 +02:00
Andrew Nicols 0e9911e143 MDL-59148 theme: Use fallback if compiled version unavailable 2017-06-28 18:24:50 +02:00
David Monllao 0248d16801 MDL-59285 version: Bump 2017-06-28 18:24:49 +02:00
Simey Lameze 3b9b47312c MDL-59148 core: save css file totemp directory
Save a copy of the css file on the temp directory
to be used as a fallback when waiting for a theme to be compiled
and is not versioned in any way.
2017-06-28 18:24:49 +02:00
David Monllao 7f382c05b0 Merge branch 'MDL-59285-master' of git://github.com/lameze/moodle 2017-06-28 18:24:48 +02:00
Jake Dallimore 1bff0a1d97 Merge branch 'MDL-56046_master-fix2' of git://github.com/markn86/moodle 2017-06-28 18:24:48 +02:00
Mark Nelson 1370d793fc MDL-56046 mod_quiz: do not close the sheet twice 2017-06-28 18:24:48 +02:00
Eloy Lafuente (stronk7) 1555f25b24 Merge branch 'MDL-57809-34-progressbar' of https://github.com/roperto/moodle 2017-06-28 18:24:47 +02:00
David Monllao 364ccb771a MDL-57734 version: Bump 2017-06-28 18:24:47 +02:00
David Monllao aa736731ba Merge branch 'MDL-57734-master' of https://github.com/xow/moodle 2017-06-28 18:24:46 +02:00
Eloy Lafuente (stronk7) d4bd3dbb69 Merge branch 'wip-MDL-59136-master' of git://github.com/marinaglancy/moodle 2017-06-28 18:24:46 +02:00
David Monllao 6ac5f70c01 Merge branch 'MDL-59053-downcase-username_LATEST' of git://github.com/spaceraccoon/moodle 2017-06-28 18:24:45 +02:00
David Monllao 34b3c1da70 Merge branch 'MDL-32151-master' of git://github.com/junpataleta/moodle 2017-06-28 18:24:45 +02:00
Eloy Lafuente (stronk7) 0f9bdd637a Merge branch 'MDL-59362_master' of git://github.com/markn86/moodle 2017-06-28 18:24:44 +02:00
Simey Lameze 83f50acd53 MDL-59285 tool_mobile: add user profile page callback 2017-06-28 16:39:07 +08:00
Jun Pataleta 7c482415a9 MDL-59294 theme_bootstrapbase: Fix display of ID provider buttons 2017-06-28 13:27:41 +08:00
Marina Glancy 6b7a32f33c MDL-56579 media_videojs: use new config element for selecting file types 2017-06-28 12:12:48 +08:00
Adam Olley 556ceb2071 MDL-58651 logstore_database: Add ability to not send database options
In the core dml:
PostgreSQL connections now use advanced options to reduce connection overhead.
These options are not compatible with some connection poolers. The
dbhandlesoptions parameter has been added to allow the database to configure
the required defaults.

This item adds a setting to the logstore_database plugin to let you set the
same flag for your destination database - without it you won't be able to ship
logs to a postgresql database with a pgbouncer frontend.
2017-06-28 13:21:01 +09:30
Marina Glancy 6023e58bd1 MDL-59363 mod_workshop: user object must have alternative name fields 2017-06-28 11:36:11 +08:00
Eloy Lafuente (stronk7) 56fc5143ad Merge branch 'MDL-59073_workshop_prevent_submission_without_content_or_file' of https://github.com/dannyjung90/moodle 2017-06-27 16:59:44 +02:00
David Monllao 1243fce158 Merge branch 'wip-MDL-59308-master' of git://github.com/marinaglancy/moodle 2017-06-27 16:41:26 +02:00
David Monllao 93c97fdc3a Merge branch 'MDL-59158-master' of git://github.com/junpataleta/moodle 2017-06-27 16:39:41 +02:00
David Monllao c4b25152cc Merge branch 'MDL-57927-master' of git://github.com/lameze/moodle 2017-06-27 15:55:17 +02:00
Eloy Lafuente (stronk7) c32f0cd62a Merge branch 'MDL-58844-master' of git://github.com/andrewnicols/moodle 2017-06-27 11:41:08 +02:00
Eloy Lafuente (stronk7) ce836829e6 Merge branch 'MDL-59296-master' of git://github.com/crazyserver/moodle 2017-06-27 11:37:52 +02:00
Damyon Wiese 859e2033cb MDL-58544 oauth2: Allow trusted issuers
Add a setting to each issuer that skips the email confirmation when creating and linking accounts.
2017-06-27 16:50:27 +08:00
Mark Nelson a24c59b9b4 MDL-59396 core_user: removed 'My courses' select from participants page
Part of MDL-59290.
2017-06-27 16:44:41 +08:00
Eloy Lafuente (stronk7) e2aa2f25f1 Merge branch 'MDL-59123-master-3' of git://github.com/ryanwyllie/moodle 2017-06-27 09:24:24 +02:00
Jake Dallimore 8d7ae061e3 Merge branch 'MDL-59312-master' of https://github.com/xow/moodle 2017-06-27 15:07:44 +08:00
Ryan Wyllie 5dd40ec4b4 MDL-59123 admin: add cli script to compile theme CSS
Added a script to selectively compile theme CSS. In order to allow
compiling on per theme basis without purging all theme CSS in the
local cache I have made some changes to how CSS is compiled and
how it is accessed via local cache.
2017-06-27 06:48:45 +00:00
Jake Dallimore cb37f200a8 Merge branch 'MDL-59275-master' of git://github.com/lameze/moodle 2017-06-27 13:57:11 +08:00
Damyon Wiese 3d185faceb MDL-59380 fragments: Include js from templates
Mustache templates containing {{#js}} blocks are not returned via the
fragments API. This is because the requirements manager is assigned when the renderer is created
and not updated by the call to start collecting page requirements.
2017-06-27 13:20:32 +08:00
Jake Dallimore 196558a5d8 Merge branch 'MDL-56046_master-fix' of git://github.com/markn86/moodle 2017-06-27 13:16:42 +08:00
Mark Nelson 4c7593ff5b MDL-59364 core_user: removed 'User details' option in participants page
Part of MDL-59290.
2017-06-27 13:13:07 +08:00
Simey Lameze 92c8cb9d98 MDL-59275 auth: prevent user login failed coding error 2017-06-27 13:04:02 +08:00
Mark Nelson e0ee37e426 MDL-56046 dataformat: changes to docs, upgrade.txt and error message 2017-06-27 11:35:05 +08:00
Eloy Lafuente (stronk7) 7ad2822269 Merge branch 'MDL-56046_master' of git://github.com/markn86/moodle 2017-06-27 02:42:31 +02:00
Eloy Lafuente (stronk7) 139648e5bd Merge branch 'MDL-40818-master' of git://github.com/junpataleta/moodle 2017-06-27 01:50:28 +02:00
Andrew Nicols 29d409b642 MDL-58844 testing: Move to GCE build infrastructure
Switch back to GCE build infrastructure for Travis Builds and move
databases to RAM Disk.

This also adds a software entropy generator (haveged) which is
recommended when using a RAMdisk for the database.
2017-06-27 07:42:38 +08:00
Eloy Lafuente (stronk7) 51fc76193d Merge branch 'MDL-59295-master' of git://github.com/lameze/moodle 2017-06-27 00:53:28 +02:00
Eloy Lafuente (stronk7) 1dac440f55 MDL-58813 phpunit: pick test from 32_STABLE to fix expected behavior 2017-06-26 19:46:05 +02:00
Eloy Lafuente (stronk7) df30a5a25f Merge branch 'MDL-1322-master' of git://github.com/junpataleta/moodle 2017-06-26 18:15:25 +02:00
Eloy Lafuente (stronk7) 41c17610c0 Merge branch 'MDL-59297_myoverview_error' of git://github.com/davosmith/moodle 2017-06-26 13:04:42 +02:00
Mark Nelson faf45f9c47 MDL-56046 core: enable multiple sheets for flexible table 2017-06-26 13:59:30 +08:00
Mark Nelson d4606c1b24 MDL-56046 dataformat: added related information to upgrade.txt 2017-06-26 13:59:30 +08:00
Jun Pataleta 390098fa64 MDL-1322 calendar: Add course short name in calendar event
* Add the course's short name for a course event in order to let the
user know immediately which course an event belongs to. Particularly
helpful for activity events.
2017-06-26 13:37:39 +08:00
Mark Nelson eb26be5b39 MDL-56046 dataformat_*: convert core plugins 2017-06-26 13:29:32 +08:00
Mark Nelson ce3beb267c MDL-56046 core: convert download_as_dataformat to use new API 2017-06-26 13:29:32 +08:00
Mark Nelson b62b5879af MDL-56046 core_dataformat: added functions to support multiple sheets
Also removed write_header() and write_footer(). The reason for this
is because in core we want to know if the format being used supports
multiple sheets. To do this, and ensure we do not break third-party
dataformat plugins, we are using method_exist(). If write_header()
and write_footer() remain in the base class then this will always
be true.
2017-06-26 13:29:32 +08:00
Mark Nelson 6d721cab9e MDL-59362 core: ensure we use 'new' when throwing exceptions 2017-06-26 13:08:05 +08:00
Marina Glancy 1c4a0506e5 MDL-59136 roles: avoid double escaping in role names 2017-06-26 11:57:09 +08:00
Marina Glancy eca7e52901 MDL-59336 themes: change FA mapping for i/new 2017-06-26 11:36:35 +08:00
Jake Dallimore e6142a1e2e Merge branch 'MDL-49484-master' of github.com:jebarviabb/moodle 2017-06-26 10:51:43 +08:00
Yair Spielmann 409ad1d60a MDL-57734 admin: New setting for when to use the noindex meta tag 2017-06-26 10:38:25 +08:00
Josh Ebarvia a06face2ce MDL-49484 mod_lesson: Fix lesson page headers when editing 2017-06-24 05:21:25 +09:30
AMOS bot b87f163a1b Merge branch 'master' into install_master 2017-06-24 00:08:36 +08:00
Pau Ferrer Ocaña 43cf2cb0a4 MDL-59296 data: Fix latlong field search 2017-06-23 09:15:40 +02:00
Simey Lameze 6dfb4ff2b3 MDL-59285 tool_mobile: new setting for mobile app setup url 2017-06-23 14:09:08 +08:00
Andrew Nicols bd90b61ad2 MDL-59312 js: Improve display of exception stacktrace 2017-06-23 10:44:15 +08:00
John Okely 6bdcaa1320 MDL-59312 notification: Normalise backtrace/stacktrace 2017-06-23 10:43:56 +08:00
Andrew Nicols fa038116bc MDL-59312 js: Add exception on AJAX error 2017-06-23 10:42:22 +08:00
Jun Pataleta 628fbd48fe MDL-32151 group: Use appropriate error langstring error key 2017-06-23 10:27:37 +08:00
Jun Pataleta d9ce6a4ffb MDL-32151 grade: Use appropriate error langstring error key 2017-06-23 10:22:24 +08:00
Jun Pataleta 91af29ba57 MDL-59158 theme_boost: Remove auto width and height for user picture 2017-06-23 10:12:47 +08:00
Zhi Wei Lim 7be51d3389 MDL-59053 signup_form: Prevents autocapitalization 2017-06-23 01:39:18 +00:00
Jun Pataleta fb1a615dfe MDL-40818 calendar: Require login to calendar pages
* Make sure that the course ID being passed points to an existing course
* Require user to login before granting access to calendar pages.
2017-06-23 09:20:32 +08:00
Daniel Thee Roperto ef8ceb2fc2 MDL-57809 weblib: Added missing NO_OUTPUT_BUFFERING directive. 2017-06-23 09:43:07 +10:00
Daniel Thee Roperto 6eaa9d2ffb MDL-57809 weblib: Added opening disclaimer and file-level phpdocs. 2017-06-23 09:43:07 +10:00
Daniel Thee Roperto b40722fbf7 MDL-57809 weblib: Progress bar and output buffer - added debugging
This fix makes Moodle show a debbuging message if using progressbar without defining NO_OUTPUT_BUFFERING.
2017-06-23 09:43:07 +10:00
Danny Jung 36a7651de2 MDL-59073 Workshop: Prevent submission without content or file 2017-06-22 14:03:28 -07:00
AMOS bot 979202e96b Automatically generated installer lang files 2017-06-23 00:07:36 +08:00
Dan Poltawski f4a2d69631 weekly release 3.4dev 2017-06-22 15:40:45 +01:00
Dan Poltawski 6894a98aa1 NOBUG: Fixed SVG browser compatibility 2017-06-22 15:40:44 +01:00
Juan Leyva bef201c7e0 MDL-58712 core_user: Do not count the root directory 2017-06-22 16:09:58 +02:00
Jake Dallimore 828540b557 Merge branch 'wip-MDL-58919-master' of https://github.com/marinaglancy/moodle 2017-06-22 16:09:56 +02:00
Marina Glancy 412a56027b MDL-58919 mod_assign: fix check for existing setting 2017-06-22 16:09:55 +02:00
Eloy Lafuente (stronk7) b78887cc4b Merge branch 'MDL-59170-master' of https://github.com/xow/moodle 2017-06-22 16:09:53 +02:00
Marina Glancy 70b6230829 MDL-59308 calendar: pass module context when known
this will protect us from exceptions when context for removed instance can not be retrieved
2017-06-22 13:42:22 +08:00
John Okely 76b5fe8665 MDL-59170 fontawesome: Fix course total controls icon on grader report 2017-06-22 09:13:20 +08:00
Dan Poltawski 8c0b1ec32b Merge branch 'MDL-58919-master-fix1' of https://github.com/snake/moodle 2017-06-21 10:22:11 +01:00
Jake Dallimore c6b32acdb1 MDL-58919 mod_assign: fix allowing accepted file types to be empty 2017-06-21 17:15:21 +08:00
Jake Dallimore 34e2b1f92d Merge branch 'MDL-56979-master-fix' of git://github.com/junpataleta/moodle 2017-06-21 14:21:56 +08:00
Jun Pataleta a7184670fd MDL-56979 group: Template and styles fixes
* Remove custom styles for groups since we're using default Bootstrap
  styles now.
* Hidden input breaks grid layout. Moved it inside the groups column.
* Removed unnecessary 'groups' and 'members' classes. They are not being
  used in JS nor CSS.
2017-06-21 11:02:16 +08:00
Jun Pataleta 91fe23133c Merge branch 'MDL-58892-mahara-icon-update' of https://github.com/peikk0/moodle 2017-06-21 08:52:46 +08:00
Eloy Lafuente (stronk7) 46e9afecf3 Merge branch 'MDL-58985-master-bluebubbles' of git://github.com/mudrd8mz/moodle 2017-06-21 00:45:07 +02:00
Pierre Guinoiseau 58f2660009 MDL-58892 pix: update icon for Mahara 2017-06-21 10:14:08 +12:00
Eloy Lafuente (stronk7) 2eb67fdc88 Merge branch 'wip-MDL-59125-master' of git://github.com/marinaglancy/moodle 2017-06-20 21:45:38 +02:00
Eloy Lafuente (stronk7) 9ee6de4389 Merge branch 'wip-MDL-59263-master' of git://github.com/marinaglancy/moodle 2017-06-20 18:02:09 +02:00
Eloy Lafuente (stronk7) 42a78077c6 Merge branch 'MDL-59269-master-languninstall' of git://github.com/mudrd8mz/moodle 2017-06-20 17:56:44 +02:00
Eloy Lafuente (stronk7) 41781cf31d Merge branch 'MDL-59214-master' of git://github.com/jleyva/moodle 2017-06-20 17:46:55 +02:00
Dan Poltawski 22ef8f1f9b Merge branch 'MDL-58919-master' of git://github.com/Dave-B/moodle 2017-06-20 14:24:59 +01:00
Juan Leyva bef5777fc4 MDL-59214 webservice: Return calendar type in get_site_info 2017-06-20 11:44:04 +01:00
Dan Poltawski 3fb9ca78c7 Merge branch 'MDL-58952' of https://github.com/scyrma/moodle 2017-06-20 11:31:30 +01:00
Davo Smith 977258bacd MDL-59297 block_myoverview: fix fatal error (missing require_once) 2017-06-20 11:13:03 +01:00
Dan Poltawski 4431f1e0e3 Merge branch 'MDL-59005-master' of git://github.com/lameze/moodle 2017-06-20 09:51:50 +01:00
Dan Poltawski 2764bcf49b Merge branch 'MDL-58472-master' of git://github.com/damyon/moodle 2017-06-20 09:38:29 +01:00
Jun Pataleta 88720416ba Merge branch 'wip-MDL-58911-master' of git://github.com/marinaglancy/moodle 2017-06-20 16:33:15 +08:00
Jun Pataleta d938d1b6e2 Merge branch 'MDL-57770-master' of git://github.com/lameze/moodle 2017-06-20 16:27:48 +08:00
Marina Glancy 63e9e38202 MDL-58911 calendar: use the same callbacks in unittests and prod
Remove unittest-specific callbacks for checking access and displaying
the calendar events on the dashboard.

This will allow plugin developers unittest the full behavior
of how their plugins add events to the dashboard.

Reset all static caches between unittests.
2017-06-20 16:13:35 +08:00
Dan Poltawski 0ba61c3bf8 Merge branch 'MDL-59160-master' of git://github.com/jleyva/moodle 2017-06-20 09:10:25 +01:00
Simey Lameze 9524169a59 MDL-59295 tool_lp: remove useless ng-label attribute 2017-06-20 16:08:20 +08:00
Jake Dallimore 6f2950cf59 Merge branch 'wip-MDL-58729-master' of git://github.com/abgreeve/moodle 2017-06-20 15:18:16 +08:00
Jun Pataleta b70b7df6d3 Merge branch 'MDL-58766-clean-tree-item-indent' of https://github.com/lucaboesch/moodle 2017-06-20 15:09:41 +08:00
Jun Pataleta 65f1cac814 Merge branch 'MDL-59270-master' of git://github.com/lameze/moodle 2017-06-20 09:58:37 +08:00
Simey Lameze 0eade6bfd1 MDL-57927 tool_lp: make both buttons consistent 2017-06-20 08:49:15 +08:00
Simey Lameze 07782e10f1 MDL-59270 block_myoverview: tab setting logic to main template on clean 2017-06-20 08:45:18 +08:00
Jake Dallimore 78013a17c7 Merge branch 'MDL-58808-master' of git://github.com/damyon/moodle 2017-06-20 08:22:16 +08:00
Juan Leyva 0f398b500d MDL-59160 core_group: Return if the user can access all groups in WS
The core_group_get_activity_allowed_groups WS should be returning not
only the groups but also if the user is allowed to access all the
activity groups.
2017-06-19 15:53:38 +01:00
Dan Poltawski dd6848c1b0 Merge branch 'MDL-59048' of https://github.com/timhunt/moodle 2017-06-19 15:43:28 +01:00
Dan Poltawski 214962f964 Merge branch 'MDL-26976-master' of git://github.com/jleyva/moodle 2017-06-19 14:55:55 +01:00
Dan Poltawski 6252f44d84 Merge branch 'MDL-58712-master' of git://github.com/jleyva/moodle 2017-06-19 14:20:06 +01:00
Dan Poltawski 6659c5ffba Merge branch 'MDL-59173-master' of git://github.com/tobiasreischmann/moodle 2017-06-19 12:27:43 +01:00
Dan Poltawski 4469ae96b6 Merge branch 'wip-MDL-51917-master' of git://github.com/marinaglancy/moodle 2017-06-19 12:21:45 +01:00
Juan Leyva b5ef326c03 MDL-26976 files: Display space usage message in private files 2017-06-19 11:01:48 +01:00
Dan Poltawski 0a4d8ea1a5 Merge branch 'MDL-56979-master-2' of git://github.com/junpataleta/moodle 2017-06-19 10:46:09 +01:00
Dan Poltawski 275b5fa8ce Merge branch 'MDL-46418-master-hiddenrepos' of git://github.com/mudrd8mz/moodle 2017-06-19 10:33:37 +01:00
Jun Pataleta 8cc4e1c0cd Merge branch 'MDL-44961-master' of git://github.com/ankitagarwal/moodle 2017-06-19 16:24:51 +08:00
Damyon Wiese 57ea73d02c MDL-58808 fontawesome: nav and settings blocks 2017-06-19 15:51:15 +08:00
Jun Pataleta d745f174a2 Merge branch 'MDL-58310-master' of https://github.com/xow/moodle 2017-06-19 13:25:10 +08:00
John Okely 671be2bedb MDL-58310 ajax: suppress errors upon page unload 2017-06-19 11:31:24 +08:00
John Okely 46f68f026e MDL-58310 message: No longer need to supress errors from messaging 2017-06-19 09:34:34 +08:00
Jake Dallimore 66b8ad8642 Merge branch 'MDL-59230-master' of git://github.com/lameze/moodle 2017-06-19 09:12:30 +08:00
Vladimir Zhirov ff2dab4566 MDL-59005 resource: fixed zip extraction for filenames in CP-1251/CP-866 2017-06-19 08:50:23 +08:00
Luca Bösch fc684bce4b MDL-58766 css: clean theme block alignment 2017-06-16 16:12:00 +02:00
David Mudrák 64b6651cfa MDL-59269 lang: Fix ability to uninstall certain language packs
In the issue MDL-39319 (6ddf92c77), the ability to uninstall multiple
language packs at once was added. By a mistake, the PARAM_ALPHAEXT was
used as paramater type for the dash-separated list of language packs to
be uninstalled. Language packs with a number in the name (such as
en_us_k12) do not pass the ALPHAEXT cleaning.

This patch changes the parameter cleaning to PARAM_SAFEPATH which is
more appropriate for the given scenario as language code themselves must
be SAFEDIRs.
2017-06-16 14:15:25 +02:00
Simey Lameze e00e673195 MDL-59230 block_myoverview: add missing core notification module 2017-06-16 16:39:19 +08:00
Tobias Reischmann 4acb33f67b MDL-59173 tablelib.php: changed default of $params in set_sql to array()
Default of $params = null leads to a problem in query_db().
There this value is used in array_merge, which can not handle null
values. If null is passed for one of the params the outcome will be null
independent of the value of the second param!
2017-06-16 10:26:31 +02:00
Marina Glancy 450d15d159 MDL-59125 filter_urltolink: respect nolink span, unittest 2017-06-16 15:57:23 +08:00
Mark Sharp 2a477bf08e MDL-59125 filter_urltolink: ignoretags on nolink span 2017-06-16 15:57:23 +08:00
Jun Pataleta 3b5865396e MDL-56979 group: Make group index page Boost-y 2017-06-16 13:58:15 +08:00
Jake Dallimore 6bb80a1917 weekly release 3.4dev 2017-06-16 13:29:33 +08:00
Jake Dallimore a249188531 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-06-16 13:29:32 +08:00
Jean-Roch Meurisse - University of Namur - Belgium 509679e203 MDL-59263 roles: Wrong order of parameters in calls to pix_icon function 2017-06-16 10:02:52 +08:00
David Mudrák 30e891e08f MDL-46418 repositories: Fix how enabled repositories are populated
Repository instances are stored in the 'repository' table. Repositories
in the table are either 'Enabled and visible' or 'Enabled but hidden'.
Hidden repositories still serve their files, but are not visible in the
filepicker UI. Disabling a repository instance removes its record from
the table.

In the original implementation of the plugin manager (see b9934a17), the
method plugintype_repository::get_enabled_repositories() correctly
returned all records from the repository table. Then as a part of the
bigger refactoring in MDL-41437, the commit bde002b8 replaced the
original method with the new get_enabled_plugins() one which started to
return visible repositories only.

As a consequence, the admin tree stopped populating setting page nodes
for hidden repository instances. So attempting to visit their setting
page threw a section error. Credit goes to Ike Quigley for debugging and
tracing this down.

This patch fixes the way how the list of enabled repositories is
populated by the plugin manager so that both visible and hidden
repositories are returned again. This does not affect the filepicker
itself as it is using its own methods for obtaining the list.
2017-06-15 21:22:43 +02:00
Dan Poltawski dd58863dab MDL-57021 passwords: only use unmask field with shared secrets
When a user is entering a password which isn't returned back to them
then its not correct to use the unmask element - this element was
designed for places where we are storing shared secrets.
2017-06-15 12:59:19 +01:00
Jun Pataleta 20456abffc Merge branch 'MDL-58248-master-iconfix' of github.com:snake/moodle 2017-06-15 17:08:03 +08:00
Juan Leyva f74ac6e704 MDL-58712 core_user: New WS core_user_get_private_files_info 2017-06-15 09:40:30 +01:00
Simey Lameze 7af8b56ab4 MDL-57770 tool_lp: style fixes for the competency rule dialog 2017-06-15 15:02:42 +08:00
Jake Dallimore af12c81d51 Merge branch 'MDL-59140_master-fix-v2' of https://github.com/markn86/moodle 2017-06-15 13:34:24 +08:00
Mark Nelson 3dabb083ad MDL-59140 core: apply limit only on courses to be shown in specific nav
There can be a different number of courses displayed in the
'Navigation' block and in the 'Flat' navigation. This patch
decides what courses we want to display on each, then
applies the 'navcourselimit' setting individually.
2017-06-15 13:10:14 +08:00
Jake Dallimore 0cd6e1bfec MDL-58248 theme: use pix icon for side panel menu icon instead of char
Replaces the trigram for heaven char with the fa-bars pix icon for
improved support with all screen readers.
2017-06-15 09:57:52 +08:00
Jake Dallimore bb931788cc Merge branch 'MDL-59142-master' of git://github.com/lameze/moodle 2017-06-14 12:38:11 +01:00
Dan Poltawski 7419853951 Merge branch 'MDL-59171-master' of git://github.com/junpataleta/moodle 2017-06-14 12:36:39 +01:00
Dan Poltawski e66905375e Merge branch 'MDL-55548_master-fix' of https://github.com/markn86/moodle 2017-06-14 12:36:38 +01:00
Mark Nelson f25e2b1dc7 MDL-55548 core: fixed misleading comment in upgrade code 2017-06-14 12:36:38 +01:00
Dan Poltawski 569907002f Merge branch 'MDL-59140_master' of git://github.com/markn86/moodle 2017-06-14 12:36:37 +01:00
Mark Nelson c8f2e0e96b MDL-59140 core: upgrade 'navcourselimit' if set to old default value 2017-06-14 12:32:05 +01:00
Mark Nelson fa238237a0 MDL-59140 core: limit the number of courses shown in the navigation
If the user is enrolled in more courses than the limit then a 'More...'
link is displayed which takes the user to the course/index.php page.
2017-06-14 12:32:04 +01:00
Mark Nelson c0a9edbd18 MDL-59140 core: changes to the 'navcourselimit' setting
Changed the default and description.
2017-06-14 12:32:04 +01:00
Eloy Lafuente (stronk7) 736973d604 Merge branch 'wip-MDL-58523-master' of git://github.com/marinaglancy/moodle 2017-06-14 12:32:03 +01:00
Jun Pataleta e037a6a126 Merge branch 'MDL-59012-master-linkurl' of git://github.com/mudrd8mz/moodle 2017-06-14 12:32:03 +01:00
Eloy Lafuente (stronk7) 6c79f56fe0 Merge branch 'MDL-58820-master' of https://github.com/nwp90/moodle 2017-06-14 12:32:03 +01:00
Jun Pataleta ef9b236d8a Merge branch 'MDL-58991-master' of git://github.com/lameze/moodle 2017-06-14 12:32:02 +01:00
Dan Poltawski 5dbb6b74a9 Merge branch 'MDL-41426-block-completionstatus-spaces' of https://github.com/lucaboesch/moodle 2017-06-14 12:32:02 +01:00
Dan Poltawski f1ec088e84 Merge branch 'MDL-46322' of https://github.com/stronk7/moodle 2017-06-14 12:32:01 +01:00
Eloy Lafuente (stronk7) 84e3c97bb0 MDL-46322 database: alias sort fields to avoid ambiguous naming 2017-06-14 12:32:01 +01:00
Jake Dallimore 63aa8c27be Merge branch 'MDL-58136-master' of git://github.com/damyon/moodle 2017-06-14 12:31:56 +01:00
Jake Dallimore 235df202c4 Merge branch 'MDL-51691-master' of https://github.com/jebarviabb/moodle 2017-06-14 12:30:43 +01:00
Jun Pataleta abb8b5e147 Merge branch 'MDL-58248-theme_boost-label-for-expand-button' of https://github.com/marcusgreen/moodle 2017-06-14 12:30:43 +01:00
Eloy Lafuente (stronk7) 1e34274846 Merge branch 'MDL-59032-master' of git://github.com/damyon/moodle 2017-06-14 12:30:42 +01:00
Eloy Lafuente (stronk7) 29a063a13f Merge branch 'MDL-59133-master' of git://github.com/jleyva/moodle 2017-06-14 12:30:42 +01:00
Eloy Lafuente (stronk7) e0f8686f39 Merge branch 'MDL-40015-master' of git://github.com/jleyva/moodle 2017-06-14 12:30:41 +01:00
Eloy Lafuente (stronk7) 8a55a41f88 Merge branch 'mdl58161-master' of https://github.com/tlock/moodle 2017-06-14 12:30:41 +01:00
Eloy Lafuente (stronk7) 4009603025 Merge branch 'MDL-59056-admin-allowstealth-select-checkbox' of https://github.com/lucaboesch/moodle 2017-06-14 12:30:41 +01:00
Eloy Lafuente (stronk7) bf3b9e57b8 Merge branch 'MDL-58907_master' of git://github.com/markn86/moodle 2017-06-14 12:30:40 +01:00
Eloy Lafuente (stronk7) 0c272e07e2 Merge branch 'MDL-59132-master' of git://github.com/jleyva/moodle 2017-06-14 12:30:40 +01:00
Eloy Lafuente (stronk7) f30af085a9 Merge branch 'MDL-58318-master' of git://github.com/damyon/moodle 2017-06-14 12:30:39 +01:00
Dan Poltawski fd5772e691 Merge branch 'wip_MDL-36501_master' of https://github.com/mtpmcdermott/moodle 2017-06-14 12:30:39 +01:00
Dan Poltawski ff3c693b58 Merge branch 'MDL-50011-master' of https://github.com/nwp90/moodle 2017-06-14 12:30:38 +01:00
Eloy Lafuente (stronk7) 03b0cb584c Merge branch 'MDL-59112-master' of git://github.com/jleyva/moodle 2017-06-14 12:30:38 +01:00
Dan Poltawski dd4208e6ec Merge branch 'mdl46322-master' of https://github.com/AndresMelo/moodle 2017-06-14 12:30:37 +01:00
Ankit Agarwal a4beef4e31 MDL-44961 logs: Keep log dates constant during restore 2017-06-14 15:20:58 +05:30
Marina Glancy 118d569863 MDL-40408 mod_data: skip metadata fields during import 2017-06-14 11:31:30 +08:00
Juan Leyva 0237571004 MDL-58712 core_user: New function for retrieving file area info 2017-06-13 11:22:33 +01:00
Damyon Wiese 4c735661ad MDL-58136 course: Remove lines from unit test
Remove unused vars and logic from the unit test for classifying a course.
2017-06-13 15:06:20 +08:00
Marina Glancy fe81ef397c MDL-51917 course completion: order activities in reports
Thanks to Nick Phillips for initial patch
2017-06-13 14:46:25 +08:00
Marina Glancy c3c97e2ee2 MDL-58523 mod_feedback: deleting response should reset completion 2017-06-13 14:35:08 +08:00
Damyon Wiese c561297d26 MDL-58136 navigation: Ensure we have all course fields
To properly classify courses we need the start/end dates etc.
2017-06-13 10:07:54 +08:00
Damyon Wiese ddce4f4ba9 MDL-58136 cache: Add a course completion cache
The last change added 1 db read per course per page which is not OK. Add a cache to compensate.
2017-06-13 10:03:00 +08:00
Damyon Wiese d07373f289 MDL-58136 boost: Limit courses in flatnav
Only show "in-progress" courses in the boost flat navigation (as per the myoverview block).
2017-06-13 10:02:14 +08:00
Simey Lameze 4cc2f33b08 MDL-59142 core_theme: cache post-processed css
Thanks Cameron Ball for the base patch
2017-06-13 09:35:35 +08:00
Damyon Wiese 4a0a23e98f MDL-58472 videojs: Force manual initialise
If we let videojs auto-init the video/audio tags present in the page - we cannot guarantee that the
youtube library will be loaded by the time video.js is processing the tag.

Video.js uses the presence of a data-setup attibute to signal that it should auto-init this tag, so
we have to rename our config attribute to something else.
2017-06-13 09:11:20 +08:00
Josh Ebarvia 9916cef9c4 MDL-51691 assignsubmission_feedback: Fix delete comments 2017-06-13 08:39:53 +09:30
Tim Lock d621396fee MDL-58161 user: tests: user_can_view_profile fails under certain cases 2017-06-13 08:12:08 +09:30
Dan Poltawski fc4e3b3cf0 MDL-55548 course: update test to use waitForSecond() 2017-06-12 10:04:01 +01:00
Dan Poltawski a52d3abbb6 Merge branch 'MDL-55548_master' of git://github.com/markn86/moodle 2017-06-12 10:00:24 +01:00
Mark Nelson b75ff47441 MDL-55548 backup: changes after review
1) There is no need to store the 'timemodified' value of
the section when backing up a course module, they do
not refer to the same time.
2) When creating a new course section during restore use
the current time.
3) Added timemodified value to more places when updating
the 'course_sections' table.
2017-06-12 15:52:54 +08:00
Devang Gaur 4ddf7c6025 MDL-55548 course: added timemodified field to course_sections table 2017-06-12 15:52:53 +08:00
David Mudrák 7352805df1 MDL-58985 course: Fix display of availability information
The availability info text can be either a one line short text such as
"Hidden from students" but it can also be a long HTML formatted text
with the list of all restricted access conditions. For the latter, using
bootstrap labels was not appropriate.

This extends the template context data with some boolean flags that
allow to better distinguish the source and meaning of the availability
information and display it accordingly.

Credit goes to Marina Glancy for the solution idea.
2017-06-12 09:38:56 +02:00
Jun Pataleta 8b6dfe10ee Merge branch 'MDL-59042-master-upgradefix' of github.com:snake/moodle 2017-06-12 15:29:59 +08:00
Jake Dallimore 8430250a2f MDL-59042 upgrade: fix for non existent table in core upgrade.
Moved upgrade step to the assign mod where table is known to exist.
2017-06-12 15:03:31 +08:00
Adrian Greeve c05dc071b0 MDL-58729 database: Improve performance of CLI tool.
Imporve the speed with which mysql_collation converts to
a different collation.
2017-06-12 14:03:36 +08:00
Jake Dallimore 3b3460bc73 Merge branch 'MDL-57103-master' of https://github.com/xow/moodle 2017-06-12 13:58:14 +08:00
Jun Pataleta 46f2ea5dba Merge branch 'MDL-59154-master' of git://github.com/andrewnicols/moodle 2017-06-12 13:44:57 +08:00
Jun Pataleta 8363ec8637 Merge branch 'MDL-59042-master' of git://github.com/snake/moodle 2017-06-12 13:29:03 +08:00
Jake Dallimore 4cd1d4c70f MDL-59042 upgrade: datafix assign group overrides with null priority
Find any events records for assign group overrides having null priority
and sets their priority to the sortorder value from the corresponding
assign_overrides table entry.
2017-06-12 13:18:40 +08:00
John Okely c9a4d37c3d MDL-57103 lib: Force ajax renderer for all ajax fatal errors 2017-06-12 10:36:42 +08:00
Mark Nelson 0ecb3d7786 MDL-58907 block_myoverview: change URL when tab is selected
We then check if this paramter exists in the URL and if it
does we display the specified tab.
2017-06-12 10:34:38 +08:00
Mark Nelson 4dfb8cf060 MDL-58907 block_myoverview: display last tab user was on 2017-06-12 10:34:38 +08:00
Mark Nelson ff6cd55d79 MDL-58907 block_myoverview: added setting to select default tab 2017-06-12 10:34:38 +08:00
Jun Pataleta 9332accdc5 MDL-59171 mod_lti: Set mod_lti_view_lti's type to 'read' 2017-06-12 08:33:49 +08:00
Juan Leyva 63130e328d MDL-59133 mod_lesson: Return page record in get_user_attempt WS 2017-06-09 12:07:16 +01:00
David Balch 053c55a76c MDL-58919 assignsubmission_file: Wider accepted file types input field 2017-06-09 09:23:27 +01:00
David Balch 797a70c0ec MDL-58919 assignsubmission_file: Add accepted file types default.
New setting "defaultacceptedfiletypes" to define default accepted file
types in File submissions.
2017-06-09 09:23:27 +01:00
Jake Dallimore 67ed6d415e MDL-59042 assign: Group override edit no longer resets event priority
Fixed a bug in which $fromform->sortorder wasn't set before passing
$formdata to assign_update_events, resulting in the existing event
priority being incorrectly nulled and breaking the effective override.
2017-06-09 15:23:46 +08:00
Tim Lock 72b8806abc MDL-55979 quiz: Fix error moving question from last page
When moving the last question from the last page to the last slot of the previous page would show the error in the error
log but move successfully.
2017-06-09 08:33:38 +09:30
Luca Bösch ad2cba8ec5 MDL-59056 admin: allowstealth yes/no checkbox instead of on/off 2017-06-08 19:13:05 +02:00
Luca Bösch cf052a864d MDL-41426 block: Whitespace lacking in completion status block 2017-06-08 19:09:52 +02:00
Marcus Green 78af4ba053 MDL-58248 theme_boost: label/span for sidepanel expand button
Add string "Side panel" to make the purpose of
trigram/hamburger icon at top left clearer, particularly
when using screen readers e.g. Jaws/NVDA.
Currently it reads out only "expand"
2017-06-08 18:06:01 +01:00
AMOS bot 342db7031e Automatically generated installer lang files 2017-06-09 00:18:10 +08:00
Dan Poltawski 4c6063bff9 weekly release 3.4dev 2017-06-08 12:16:18 +01:00
Dan Poltawski 97559da88d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-06-08 12:16:16 +01:00
Juan Leyva 7c3c0fa323 MDL-59132 mod_feedback: Fix anonymous responses numbering
This was done correctly by the web scrip but not by the WS.
2017-06-08 11:14:45 +01:00
Juan Leyva 67adb4d8c1 MDL-40015 core_course: Fix description of duplicate_course WS
It said that the duplication didn’t include user data, but that’s not
true since there is a parameter to include it.
2017-06-08 10:19:47 +01:00
Juan Leyva 15248799ff MDL-59112 theme_clean: Always return expected moodle_url
The function was returned some times a moodle_url object and another
times just a string with a relative URL.
2017-06-08 09:39:44 +01:00
Andrew Nicols d0f6660b98 MDL-59154 theme: Lock for all caching builds
The previous behaviour was to only lock when in theme designer mode.
As a result, when generating the theme for after a reset, each new
client was starting the generation afresh and no locking was taking
place at all.
2017-06-08 11:49:50 +08:00
Juan Leyva 7ddb5f25b3 MDL-59019 course: Fix grade field type in WS get_course_module 2017-06-07 16:53:36 +01:00
Dan Poltawski 60d04b28e7 Merge branch 'MDL-59101-master' of git://github.com/junpataleta/moodle 2017-06-07 16:25:58 +01:00
Jun Pataleta 51807cf5c4 MDL-59101 calendar: Properly calculate expected until date 2017-06-07 23:09:17 +08:00
Dan Poltawski 1cf7106717 Merge branch 'MDL-58567-master-fix' of git://github.com/junpataleta/moodle 2017-06-07 15:14:30 +01:00
Jun Pataleta 83740b9fc1 MDL-58567 upgradelib: Do not show upgrade times on install 2017-06-07 16:15:40 +08:00
Jun Pataleta 953df36964 Merge branch 'MDL-57139-master' of git://github.com/danpoltawski/moodle 2017-06-07 14:36:13 +08:00
Dan Poltawski afaa33d9e1 MDL-57139 myoverview: fix paging button edge case
Previously the 'view more' button was disabled when should be enabled
2017-06-07 07:21:31 +01:00
Jake Dallimore 3a0bd9d95a Merge branch 'MDL-59076_master' of git://github.com/markn86/moodle 2017-06-07 09:24:07 +08:00
Eloy Lafuente (stronk7) e747059693 Merge branch 'MDL-58694-master' of git://github.com/jleyva/moodle 2017-06-06 19:34:16 +02:00
Eloy Lafuente (stronk7) 6fff2a911a Merge branch 'MDL-50265-master' of git://github.com/danpoltawski/moodle 2017-06-06 19:27:59 +02:00
Jun Pataleta 1ff50be21f Merge branch 'MDL-58908-master' of git://github.com/damyon/moodle 2017-06-06 17:15:41 +08:00
Dan Poltawski 1be1d5e5cf Merge branch 'MDL-58658' of https://github.com/sk-unikent/moodle 2017-06-06 10:00:42 +01:00
Damyon Wiese 4c8deb9cfa MDL-59032 scorm: Don't show action events to teachers 2017-06-06 15:57:23 +08:00
Jake Dallimore 58a4dacf87 Merge branch 'MDL-57304_template_comments_fix' of https://github.com/gthomas2/moodle 2017-06-06 15:54:33 +08:00
Dan Poltawski cafd4bc67e Merge branch 'MDL-59086_master' of git://github.com/markn86/moodle 2017-06-06 08:44:46 +01:00
Jun Pataleta 4b64128f5b Merge branch 'MDL-57139-master' of git://github.com/danpoltawski/moodle 2017-06-06 14:47:52 +08:00
Jun Pataleta c9a3a21c31 Merge branch 'MDL-49398_final4' of https://github.com/sk-unikent/moodle 2017-06-06 12:43:14 +08:00
Mark Nelson 0a5d493c70 MDL-59076 format_weeks: if 'enddate' does not exist in backup then use 0 2017-06-06 12:39:38 +08:00
Jun Pataleta 4079a000ef Merge branch 'MDL-58646-master' of git://github.com/danpoltawski/moodle 2017-06-06 12:24:07 +08:00
Jake Dallimore 98acb48366 Merge branch 'MDL-58900-master' of git://github.com/lameze/moodle 2017-06-06 11:37:16 +08:00
Nick Phillips 3543eabc36 MDL-58820 question: Allow styling response numbering in MCQs 2017-06-06 15:29:41 +12:00
Nadav Kavalerchik 06bedaf83f MDL-50011 qtype_multichoice: add settings (defaults for new questions) 2017-06-06 15:23:41 +12:00
Simey Lameze 01d22ff8c6 MDL-58991 report_stats: use same date handling on chart rendering
This commmit fixes applies the same date handling used on stats
table render to the charts render.
2017-06-06 09:46:23 +08:00
Eloy Lafuente (stronk7) fa58bc0a36 Merge branch 'MDL-58826_master' of https://github.com/marxjohnson/moodle 2017-06-06 01:44:18 +02:00
Eloy Lafuente (stronk7) 31409e0718 Merge branch 'MDL-59096-master' of https://github.com/sammarshallou/moodle 2017-06-06 01:34:21 +02:00
Eloy Lafuente (stronk7) 39f0cb8b8f Merge branch 'MDL-53240-master-filetypewidgets' of git://github.com/mudrd8mz/moodle 2017-06-05 23:38:23 +02:00
Eloy Lafuente (stronk7) f3f4c142fc Merge branch 'MDL-58970-master' of https://github.com/abias/moodle 2017-06-05 22:27:52 +02:00
David Mudrák 710a2414d8 MDL-53240 filetypes: Use multibyte safe variant of strtolower
Credit goes to failed unit tests.
2017-06-05 20:50:28 +02:00
Matt McDermott d55c1ef2d2 MDL-36501 grades: Include 'Parent Category' on create grade item
Force the edit and creat grade item forms to include the same content. This is accomplished by creating a new grade item and setting the correct category. From there the same logic applied when editing a grade item is applied when creating a grade item.
2017-06-05 09:22:28 -07:00
Skylar Kelty 4bdd769309 MDL-49398 accesslib: Update for 3.4 and cleanups 2017-06-05 15:13:07 +01:00
Dan Poltawski 10cd2bfad3 Merge branch 'MDL-53240-master-filetypewidgets' of git://github.com/mudrd8mz/moodle 2017-06-05 14:54:54 +01:00
Dan Poltawski 646916b914 Merge branch 'MDL-59080_master' of git://github.com/lazydaisy/moodle 2017-06-05 12:49:03 +01:00
Dan Poltawski e796817c97 Merge branch 'MDL-58567-master-v2' of https://github.com/sammarshallou/moodle 2017-06-05 12:39:47 +01:00
Mark Johnson 7e732c5d5a MDL-58826 theme_boost: Prevent fatal errors in action menu behat steps 2017-06-05 09:01:20 +01:00
AMOS bot 498566c065 Automatically generated installer lang files 2017-06-04 00:06:57 +08:00
AMOS bot 6b178cd439 Automatically generated installer lang files 2017-06-04 00:06:57 +08:00
Dan Poltawski 37c9bbe37d Merge branch 'MDL-59091_gherkinlint_fix' of https://github.com/mrmark/moodle 2017-06-03 08:54:43 +01:00
Alexander Bias 79675c05d0 MDL-58970 themes: Fix references to core/loginform template 2017-06-02 20:29:24 +02:00
Mark Nielsen 965c700dad MDL-59091 behat: Fix gherkinlint errors
Just whitespace problems.
2017-06-02 09:31:40 -07:00
Mark Nielsen 58923606e4 MDL-59091 behat: Properly propagate gherkinlint exit code 2017-06-02 09:27:48 -07:00
AMOS bot a891c41cbe Automatically generated installer lang files 2017-06-03 00:07:17 +08:00
sam marshall 6d7c06a990 MDL-59096 Tasks: Web running local plugin scheduled tasks fails 2017-06-02 17:06:28 +01:00
sam marshall 03440bcb37 MDL-58567 Upgrade: Show upgrade times 2017-06-02 17:05:35 +01:00
Dan Poltawski 45de56112a MDL-50265 tests: update tag events tests
Remove use of final deprecated functions. Sadly these tests were not
properly updated when the functions were deprecated and continued to use
the deprecated functions. I've removed the uses of the final deprecated
functions and updated a few of the non-final-deprecation uses (but not
all)
2017-06-02 11:11:37 +01:00
Dan Poltawski b6989e92ba MDL-50265 tests: remove deprecated useragent tests 2017-06-02 11:11:37 +01:00
Dan Poltawski e4f4d34131 MDL-50265 deprecatedlib: final deprecation of 3.0 deprecations
These functions have now been deprecated for 4 releases, so are being
removed according to:
https://docs.moodle.org/dev/Deprecation#Step_2._Final_deprecation
2017-06-02 11:11:37 +01:00
Tony Levi 95c0b810bf MDL-49398 accesslib: Change competency to use new accesslib function 2017-06-02 10:04:09 +01:00
Tony Levi e705e69e7f MDL-49398 accesslib: Simplify role definition loading and cache
This change removes the complex and partial loading of role definition data for users.
It is replaced by keeping one system-wide definition for each role in MUC.

This is cheaper to regenerate as it avoids complex database queries (repeated LEFT JOIN to context).
Memory usage is kept low thanks to array CoW for each user access data.
2017-06-02 07:53:23 +01:00
Mary Evans 7bfebce0c0 MDL-59080 theme_boost: make drawer.scss variables default
--author="Urs Hunkler <urs.hunkler@unodo.de>"
2017-06-02 07:53:03 +01:00
Dan Poltawski 2fe51fa327 MDL-58646 lib: import latest sabberworm/PHP-CSS-Parser
This version includes a fix[1] contributed by Frédéric Massart investigating
our compilation time issues, which significantly improves the speed of
processing font awesome.

Thanks, Fred!

[1] https://github.com/sabberworm/PHP-CSS-Parser/pull/120
2017-06-02 07:45:57 +01:00
Dan Poltawski 50c277a5d8 MDL-57139 js: built 2017-06-01 14:54:40 +01:00
Dan Poltawski 751ec02540 MDL-57139 amd/templates: catch unhandled promise failure 2017-06-01 14:54:39 +01:00
Dan Poltawski 4276f9c717 MDL-57139 amd/user_date: always return 2017-06-01 14:54:39 +01:00
Dan Poltawski f8587005cb MDL-57139 survey: fix promise return 2017-06-01 14:54:39 +01:00
Dan Poltawski a1ce326669 MDL-57139 course: update menu action promises to best practices 2017-06-01 14:54:38 +01:00
Dan Poltawski 72ed079f60 MDL-57139 myoverview: Use promise best practices
Simplified promise
* Always return
* Make use of promise chaining features to simplfy flow
2017-06-01 14:54:38 +01:00
Dan Poltawski 08c2360e4a MDL-57139 competencies: ensure promise best practices 2017-06-01 10:27:59 +01:00
Dan Poltawski 1fea12b0eb MDL-57139 mod_lti: ensure promise best practices 2017-06-01 10:27:59 +01:00
Dan Poltawski 7efdac5fc3 MDL-57139 tool_usertours: return in promises 2017-06-01 10:27:59 +01:00
Dan Poltawski e58ecca175 MDL-57139 core/fragment: simplify promises and always return
We can remove the DIY promise handling because the ajax request can just
return a promise itself.
2017-06-01 10:27:59 +01:00
Dan Poltawski d85d7831d0 MDL-57139 assign: ensure promise best practices 2017-06-01 10:27:58 +01:00
Dan Poltawski 877d997fe1 MDL-57139 messages/notifications: ensure promise best practices
Previously there were a few issues with the code

* We were capturing a promise without then then .then() that came after
  it, so our promise wouldn't always be completely resolved by the time
  then next piece of code was operating on it

* We weren't catching all errors with .catch()
2017-06-01 10:27:58 +01:00
Dan Poltawski 66a91ddada MDL-57139 eslint: enable eslint-plugin-promise rules
For promise best practices
2017-06-01 10:27:58 +01:00
Dan Poltawski 78ab4f741b weekly release 3.4dev 2017-06-01 09:28:17 +01:00
Dan Poltawski 012ac814a6 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-06-01 09:28:14 +01:00
David Mudrák 8cf36e9c81 MDL-53240 filetypes: Introduce admin_setting_filetypes class
This new type of admin settings makes use of the filetypes browser but
for the admin settings.
2017-06-01 09:48:45 +02:00
Jake Dallimore 9ced5fcc7b Merge branch 'MDL-59094-master' of git://github.com/danpoltawski/moodle 2017-06-01 15:27:57 +08:00
David Mudrák 8b493eb09d MDL-53240 filetypes: Enhance the filetypes element with a types browser 2017-06-01 09:20:07 +02:00
John Okely 86bb4f5bf2 MDL-53240 filetypes: Add functions to be used for input validation 2017-06-01 09:18:38 +02:00
David Mudrák e3ad9db6b6 MDL-53240 filetypes: Add methods for generating the browser tree content
These new methods will be used to render the tree of file types groups
and extensions in the browser widget.

Co-Authored-By: John Okely <john@moodle.com>
2017-06-01 09:18:38 +02:00
Jonathon Fowler 97bb4f755e MDL-53240 filetypes: Introduce the form element to specify plugin types
This is a stripped down version of the original Jonathon's element
without the actual JS selector. The options "allowall" and "onlytypes"
are not fully supported right now yet.
2017-06-01 09:18:38 +02:00
David Mudrák 6c4a5fdf88 MDL-53240 filetypes: Introduce the filetypes_util helper class 2017-06-01 09:18:38 +02:00
AMOS bot d4bf7e8a39 Automatically generated installer lang files 2017-06-01 00:11:46 +08:00
Dan Poltawski 67c70db593 Merge branch 'MDL-59093-master' of git://github.com/junpataleta/moodle 2017-05-31 11:09:06 +01:00
Dan Poltawski 94e6425103 MDL-59094 npm: Update shrinkwrap file to npm 5 generated
Starting with npm version 5, npm install will generate a lockfile
(now named package-lock.json) or update the existing npm-shrinkwrap.json

To prevent changes being generated in the codebase when this happens, we
need to commit the version 5 generated shrinkwrap.

This is related to a general overhaul [1] of how npm manages things. But
for our purposes, we the lockfile should be BC to previous versions [2].

Going forward, we need to ensure we generate the lockfile on npm >=5 to
prevent differences from the previously un-versioned lockfile.

[1] http://blog.npmjs.org/post/161081169345/v500
[2] https://github.com/npm/npm/issues/16728#issuecomment-305104149
2017-05-31 10:10:03 +01:00
gthomas2 bd87693fd6 MDL-57304 templates: Do not include comments via ajax 2017-05-31 09:09:53 +01:00
Jun Pataleta 723742fee0 MDL-59093 calendar: Use a fixed start day for forever BYMONTH test 2017-05-31 15:01:34 +08:00
Simey Lameze dc0deaf04d MDL-58900 mod_assign: fix incorrect overrides ordering 2017-05-31 10:50:28 +08:00
Jake Dallimore 4ff1fef79f Merge branch 'MDL-58654_global_search_batch' of https://github.com/mattporritt/moodle 2017-05-31 09:05:29 +08:00
Jake Dallimore ea1676f761 Merge branch 'MDL-54887-master' of git://github.com/junpataleta/moodle 2017-05-31 08:35:05 +08:00
Eloy Lafuente (stronk7) 32a627d7cf Merge branch 'MDL-49988_fix_wiki_preview' of https://github.com/DMaterka/moodle 2017-05-31 00:30:08 +02:00
Matt Porritt 0a9a10f029 MDL-58654 Global search: Allow engines to support batch processing.
Allow Global Search 3rd party engines to be much faster by supporting batch processing.
Refactor the iterator loop for the documents to add to the search index into its own method.
Move this new method from the manger class to the base engine class.
The move to the base engine class will allow search engine plugins to override this and determine
how they implment it. It will not break the existing interface contract with existing plugins.

Finally, add an elasped time indication to the trace output.
2017-05-31 08:28:12 +10:00
Dan Poltawski 1a07f9f037 Merge branch 'MDL-58997-group-names-multilang' of https://github.com/lucaboesch/moodle 2017-05-30 16:53:06 +01:00
Luca Bösch 29b83cbb34 MDL-58997 calendar: Group names passing multilang filters. 2017-05-30 16:42:52 +02:00
Dan Poltawski a8aa1a0362 Merge branch 'MDL-59041-master' of git://github.com/junpataleta/moodle 2017-05-30 14:05:13 +01:00
Jun Pataleta 5e0af1da71 MDL-59041 calendar: Make PRODID of exported ics attributed to Moodle 2017-05-30 19:33:01 +08:00
Eloy Lafuente (stronk7) 7ec40aac16 Merge branch 'MDL-58994-master' of git://github.com/cameron1729/moodle 2017-05-30 13:23:29 +02:00
Jun Pataleta 8334c8a0a0 Merge branch 'MDL-50273-master' of git://github.com/danpoltawski/moodle 2017-05-30 19:21:35 +08:00
Dan Poltawski 6ed955f16c Merge branch 'MDL-59075' of git://github.com/stronk7/moodle 2017-05-30 12:17:38 +01:00
Dan Poltawski 64fe8bfe94 Merge branch 'MDL-49040-master' of https://github.com/jebarviabb/moodle 2017-05-30 11:42:23 +01:00
Dan Poltawski 31245d8746 Merge branch 'MDL-50266-master' of git://github.com/ankitagarwal/moodle 2017-05-30 10:38:14 +01:00
Dan Poltawski 53ca9cc890 MDL-50273 deprecatedlib: final deprecation of groups functions 2017-05-30 10:23:33 +01:00
Jun Pataleta 50b4c5a491 Merge branch 'MDL-57313-master-clibootswatch' of git://github.com/mudrd8mz/moodle 2017-05-30 16:57:29 +08:00
Dan Poltawski b1846b8a17 Merge branch 'MDL-50632-master' of git://github.com/ankitagarwal/moodle 2017-05-30 09:55:34 +01:00
Jun Pataleta e083ac1cde MDL-54887 calendar: PR fixes
* Use the calendar_event::description property and format it using
format_text() on it in order to apply the appropriate filters.
* Then use html_to_text() on it to strip the tags and convert the
description to plain text while converting <br> and <p> tags to
line breaks.
2017-05-30 16:52:12 +08:00
Soon-Systems 231ddd5a8d MDL-54887 calendar: Format summary + description of an event for export 2017-05-30 16:32:36 +08:00
Eloy Lafuente (stronk7) 6308dad828 MDL-59075 behat: Update master to use 3.34.0 behat extension tag 2017-05-30 09:45:40 +02:00
Dan Poltawski c744efe5bc Merge branch 'MDL-59014-master' of git://github.com/junpataleta/moodle 2017-05-30 08:31:47 +01:00
Mark Nelson 9bd705e3dd MDL-59086 gradereport_grader: style 'Save changes' button 2017-05-30 13:43:37 +08:00
Jake Dallimore a142f6dc59 Merge branch 'MDL-44905' of https://github.com/anieminen/moodle 2017-05-30 09:32:03 +08:00
Arto Nieminen 81d7b77d6f MDL-44905 mod_scorm: Skip view page on a Single activity course
Allow 'Student skip content structure page: Always' option with 'Single
activity' course format, and redirect 'Exit activity' back to site home
if user has no report access.
2017-05-29 20:32:40 +03:00
David Mudrák 017d0bc199 MDL-57313 boost: Fix the CLI utility import-bootswatch.php 2017-05-26 09:52:18 +02:00
Dan Poltawski 9e7afbbc6c weekly release 3.4dev 2017-05-24 19:14:39 +01:00
Dan Poltawski e543846602 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-05-24 19:14:37 +01:00
Tim Hunt de4f0f25ea MDL-59048 user tours: avoid white-on-white text in Clean 2017-05-24 17:48:21 +01:00
gthomas2 770f0532ef MDL-58761 behat: Fix regex in i_open_my_profile_in_edit_mode step 2017-05-24 13:54:49 +01:00
Ankit Agarwal 8130352f5a MDL-50632 filters: Final deprecation of apis deprecated in 3.0 2017-05-24 12:44:27 +05:30
Andrew Nicols 44dd6d95e2 Merge branch 'MDL-59011-master' of git://github.com/ankitagarwal/moodle 2017-05-24 14:18:34 +08:00
Damyon Wiese d4d414694a MDL-58318 setuplib: Redirect on https mismatch
When the wwwroot indicates https support and a page is accessed over http,
redirect to the wwwroot. This is a better experience than displaying an error.
2017-05-24 13:42:34 +08:00
Ankit Agarwal 23cef8753b MDL-59011 restore: Check for userride only for activity events 2017-05-24 09:58:46 +05:30
Andrew Nicols 4680221da4 MDL-58577 stats: Correct groupby when getting report options 2017-05-23 19:40:37 +08:00
Andrew Nicols 1c74ec835b Merge branch 'MDL-58577-statistics-report-header-multilang' of https://github.com/lucaboesch/moodle 2017-05-23 19:36:05 +08:00
David Mudrák 97cc7e0969 MDL-59012 auth_oauth2: Do not escape URL in plain text emails 2017-05-23 13:28:27 +02:00
Jun Pataleta 382ac14d1d MDL-59014 calendar: Unescape event URL for the mini calendar 2017-05-23 17:20:31 +08:00
Luca Bösch 2ee4c6cd73 MDL-58577 stats: Use multilang with role in header 2017-05-23 11:07:51 +02:00
Jun Pataleta 986e5eb7ee Merge branch 'MDL-58895-master' of git://github.com/ankitagarwal/moodle 2017-05-23 16:53:00 +08:00
Jake Dallimore e013a69fde Merge branch 'MDL-58921-calculated-question-name-multilang' of https://github.com/lucaboesch/moodle 2017-05-23 16:25:27 +08:00
Jun Pataleta 5d13738a82 Merge branch 'MDL-58165-master' of https://github.com/abias/moodle 2017-05-23 14:41:42 +08:00
Alexander Bias 27456a6422 MDL-58165 navigation: Add node key to private files navigation node 2017-05-23 07:20:27 +02:00
Ankit Agarwal 09028f32c8 MDL-58895 groups: Add bootstrap classes to buttons 2017-05-23 10:47:42 +05:30
Josh Ebarvia f0242b4d95 MDL-49040 gradereport_grader: Fix feedback truncation after & char 2017-05-23 13:05:00 +09:30
AMOS bot 32124b0010 Automatically generated installer lang files 2017-05-23 00:05:26 +08:00
Dan Poltawski 976e29a17d Merge branch 'MDL-58922-calculatedmulti-question-name-multilang' of https://github.com/lucaboesch/moodle 2017-05-22 10:46:47 +01:00
Luca Bösch f378fafd3b MDL-58921 questions: Calculated question name passing multilang.
In edit calculated question the question name does pass format_string to process multilang tags.
2017-05-22 11:36:23 +02:00
Luca Bösch 11252bde86 MDL-58922 questions: Calculatedmulti question name passing multilang.
In edit calculatedmulti question the question name does pass format_string to process multilang tags.
2017-05-22 11:31:49 +02:00
David Monllao 13a1e8b50c Merge branch 'master-MDL-56973' of https://github.com/fwsl/moodle 2017-05-22 15:13:58 +08:00
Jake Dallimore da2959fe9c Merge branch 'MDL-56617-course-cbm-grade-to-pass' of https://github.com/lucaboesch/moodle 2017-05-22 14:31:37 +08:00
Jun Pataleta aec421153e Merge branch 'MDL-58933' of git://github.com/stronk7/moodle 2017-05-22 14:12:36 +08:00
David Monllao 52ab8b2c16 Merge branch 'MDL-58986_master' of git://github.com/markn86/moodle 2017-05-22 12:21:11 +08:00
Jun Pataleta 905ceff28a Merge branch 'MDL-58966-master' of git://github.com/danpoltawski/moodle 2017-05-22 10:47:31 +08:00
David Monllao a5906ac944 Merge branch 'MDL-57957' of https://github.com/bostelm/moodle 2017-05-22 10:41:46 +08:00
AMOS bot a607c1fcb0 Automatically generated installer lang files 2017-05-21 00:04:03 +08:00
Eloy Lafuente (stronk7) 5e27228335 MDL-58933 upgrade: add 3.3.0 separation line to all upgrade scripts 2017-05-19 19:22:07 +02:00
Luca Bösch 16302f85ec MDL-56617 mod_quiz: No grade to pass check if CBM used
When certainty-based marking is used, grades can 'exceed' the maximum grade
(because they are multiplied by factors). Therefore, in such cases, don't show
no warning.
2017-05-19 12:30:38 +02:00
Grzegorz Ziółek 2e241fea56 MDL-56973 wiki: New page title readonly after changing course language 2017-05-19 11:12:55 +02:00
Cameron Ball 919b5c95e6 MDL-58994 core_calendar: Coalesce event sort field
There are situations where we need to sort events on a field called
"timesort", but sometimes it is not set. So we can fall back to
"timestart" in this case.
2017-05-19 15:08:05 +08:00
David Monllao 590292d48e weekly on-sync release 3.4dev 2017-05-19 13:11:14 +08:00
David Monllao ead7725c8e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2017-05-19 13:11:12 +08:00
Andres 373d7d3f28 MDL-46322 mod_assign: Only list enrolled graders as potential markers 2017-05-18 21:58:24 -05:00
Dan Poltawski b7d26eb3d2 MDL-58966 completion: improve dashboard string 2017-05-18 10:15:08 +01:00
Mark Nelson f3dc7a171a MDL-58986 mod_quiz: add CSS classes to buttons on comment page 2017-05-18 16:49:25 +08:00
Ankit Agarwal fce1d7deb8 MDL-50266 mod_forum: Remove strings deprecated in 3.0 2017-05-18 11:17:13 +05:30
Ankit Agarwal 420617061d MDL-50266 block_tags: Remove strings deprecated in 3.0 2017-05-18 11:17:13 +05:30
Ankit Agarwal 715d6ba5f7 MDL-50266 core: Remove strings deprecated in 3.0 2017-05-18 11:17:13 +05:30
Ankit Agarwal aa951785e0 MDL-50266 lesson: Remove strings deprecated in 3.0 2017-05-18 08:34:33 +05:30
Andres Melo 3ffd13827e MDL-46322 mod_assign: Only list enrolled graders as potential markers 2017-05-17 16:12:54 -05:00
Alexander Bias 92a1ea6870 MDL-58970 themes: Rename login.mustache to loginform.mustache 2017-05-17 20:58:46 +02:00
AMOS bot e9e5295eb3 Automatically generated installer lang files 2017-05-18 00:06:54 +08:00
Dan Poltawski 2e34848348 Merge branch 'MDL-58776_master-fix' of https://github.com/markn86/moodle 2017-05-17 12:11:56 +01:00
Mark Nelson f92e27d84e MDL-58776 core_tag: removed whitespace from id attribute
This was preventing the JS from finding the element.
2017-05-17 18:42:28 +08:00
Simey Lameze b991325da2 MDL-58884 core_competency: add exporter required course fields 2017-05-17 13:02:48 +08:00
Jake Dallimore 1f36a0796f Merge branch 'MDL-58947-master' of https://github.com/sammarshallou/moodle 2017-05-17 09:15:09 +08:00
Andrew Nicols bb706a6557 Merge branch 'MDL-58795-master' of https://github.com/jebarviabb/moodle 2017-05-17 06:59:36 +08:00
Daniel Materka 5058a4d199 MDL-49988 wiki: fix broken page layout if html contains line breaks 2017-05-16 19:23:00 +01:00
Dan Poltawski 2ba9d7d8f9 Merge branch 'MDL-58776-master' of git://github.com/ankitagarwal/moodle 2017-05-16 17:48:56 +01:00
AMOS bot aa614927a8 Automatically generated installer lang files 2017-05-17 00:08:41 +08:00
Henning Bostelmann b2e76ba7d8 MDL-57957 mod_assign: show feedback file in absence of grade item 2017-05-16 11:58:05 +01:00
Iñaki Arenaza 67bebb69eb MDL-57558 ldap: fix ldap_get_entries_moodle()
While ldap_get_entries_moodle() PHPdocs state that it returns "array
ldap-entries with lower-cased attributes as indexes.", this is not true. It
uses ldap_get_attributes() internally, which returns both numerically indexed
attribute names, and dictionary-like entries indexed by attribute names.

Current code lowercases the dictionary-like entries, but then uses the
numerically indexed entries for the attribute names used as keys in the
returned array. The numerically indexed names might or might not be lowercased,
depending on the LDAP server and PHP version) version. E.g., OpenLDAP 2.x,
Novell eDirectory 8.x and MS Active Directory return mixed-cased attribute
names, and PHP 5.x and PHP 7.x don't lowercase them inside ldap_get_entries().

This is probably why all calls to ldap_get_entries_moodle() are followed by
calls to array_change_key_case(), even if that shouldn't be necessary.

So make sure we always return lower-cased attributs as indexes and add some
unit tests to avoid regressions in the future.
2017-05-16 10:48:27 +01:00
Jun Pataleta 9695ca7698 Merge branch 'MDL-58811-master-extra-slash' of https://github.com/dmitriim/moodle 2017-05-16 17:41:51 +08:00
Josh Ebarvia 0a0e2843fd MDL-58795 gradereport_grader: Prevent duplicates in grader report
Currently, the sorting being used for the grader report table
(asc/desc arrows) is just the grade_grades.finalgrade.
This adds grade_grades.userid in the sort to prevent duplicate
in records returned when using pages.
2017-05-16 18:29:24 +09:30
Mathieu Petit-Clair c14e697ee6 MDL-58952 admin: use valid default for language selection dropdown. 2017-05-16 15:28:25 +08:00
Jake Dallimore 8e123642e7 Merge branch 'MDL-58723-master' of git://github.com/junpataleta/moodle 2017-05-16 15:15:04 +08:00
Jun Pataleta 4eec39e2b2 MDL-58723 calendar: Better testing of forever recurring events
* Change the start date of the parent event to the current date
  for tests that with events that recur forever.
* Limit query results to 100 for events that recur forever that can
  generate more than 100 event records.
2017-05-16 14:39:53 +08:00
Andrew Nicols 1d52a56e48 Merge branch 'MDL-58756-statslib-roles-multilang' of https://github.com/lucaboesch/moodle 2017-05-16 13:52:05 +08:00
Luca Bösch 4bd112e4de MDL-58756 stats: Use multilang with role. 2017-05-16 07:29:09 +02:00
Dmitrii Metelkin 597c6f2a09 MDL-58811 backup: fix an extra slash on restore for the legacy files 2017-05-16 14:35:16 +10:00
David Monllao 8a0d6655f2 Merge branch 'MDL-58884-master' of git://github.com/StudiUM/moodle 2017-05-16 10:41:41 +08:00
Jake Dallimore 9f13573c43 Merge branch 'MDL-58770' of https://github.com/IMSGlobal/moodle 2017-05-16 09:57:05 +08:00
sam marshall ec5ec9bce5 MDL-58947 Search: Label URLs not correctly calculated 2017-05-15 17:45:45 +01:00
AMOS bot eaf052890f Automatically generated installer lang files 2017-05-16 00:06:43 +08:00
Dan Poltawski 5ff3609556 Merge branch 'MDL-58929-master' of git://github.com/ankitagarwal/moodle 2017-05-15 12:07:13 +01:00
Dan Poltawski 52836e3c73 Merge branch 'MDL-58936_master' of git://github.com/markn86/moodle 2017-05-15 11:45:17 +01:00
Dan Poltawski ca4f5a68bc Merge branch 'MDL-58496-master' of git://github.com/cameron1729/moodle 2017-05-15 11:14:19 +01:00
Dan Poltawski 6dbfda8109 Merge branch 'MDL-58916-master' of https://github.com/xow/moodle 2017-05-15 11:01:13 +01:00
Dan Poltawski 4010466614 Merge branch 'MDL-58841-master' of git://github.com/cameron1729/moodle 2017-05-15 10:46:00 +01:00
Dan Poltawski a4cc28017f Merge branch 'MDL-58852-choice-chart-options-multilang' of https://github.com/lucaboesch/moodle 2017-05-15 10:23:02 +01:00
Dan Poltawski bbc9e4f540 Merge branch 'MDL-58932' of git://github.com/stronk7/moodle 2017-05-15 08:57:09 +01:00
Andrew Nicols 86ef13916d Merge branch 'MDL-58893-master-missing-div' of https://github.com/dmitriim/moodle 2017-05-15 15:12:38 +08:00
Andrew Nicols ffd795ab95 Merge branch 'MDL-58920-calculated-question-edit-name-multilang' of https://github.com/lucaboesch/moodle 2017-05-15 13:57:04 +08:00
Dmitrii Metelkin f62497ce8e MDL-58893 portfolio: add missing closing div 2017-05-15 15:53:21 +10:00
Mark Nelson 004dcb4f58 MDL-58936 core: ensure 'page->context' is not null
When using $page->context it calls magic_get_context() in lib/pagelib.php.
This method sets the context to context_system::instance() if it is currently
null and returns that as the context. However, when installing a new site
context_system::instance() also returns null.
2017-05-15 12:29:15 +08:00
Ankit Agarwal b5eff76621 MDL-58929 converters: Make link title consistent 2017-05-15 09:45:09 +05:30
John Okely 40ca0bd914 MDL-58916 user_profile: Pass site context when determining menu options 2017-05-15 12:12:54 +08:00
Eloy Lafuente (stronk7) 1820d0bb6d MDL-58932 backup: Bump release to 3.4 2017-05-15 00:43:40 +02:00
Luca Bösch 46470ad02c MDL-58852 choice: Use multilang for choice options in charts 2017-05-14 21:31:10 +02:00
Luca Bösch 06147c5ab3 MDL-58920 questions: Calculated question name passing multilang.
In "Shared wild cards" table calculated question name do pass format_string to process multilang tags.
Thus, not breaking the layout any more.
2017-05-14 21:30:18 +02:00
Eloy Lafuente (stronk7) 17fb1d84a2 weekly back-to-dev release 3.4dev 2017-05-14 11:53:28 +02:00
Eloy Lafuente (stronk7) 8f568743d7 NOBUG: Change travis.yml back to master 2017-05-14 11:46:35 +02:00
Damyon Wiese 95e13556df MDL-58908 auth_oauth2: Don't kill gravatar
If gravatar is enabled, don't update profile pictures.
2017-05-12 11:43:47 +08:00
Skylar Kelty 761ac5a0aa MDL-58658 caching: Add static acceleration unit test for empty arrays 2017-05-11 10:56:04 +01:00
Issam Taboubi 013982e3c4 MDL-58884 competency: Inaccurate stats proficient competencies in course 2017-05-10 15:08:21 -04:00
Cameron Ball 15fbd9057e MDL-58841 mod_assign: Style "view all" link on grading summary 2017-05-09 15:04:55 +08:00
Ankit Agarwal 9e218b9282 MDL-58776 tags: Add bootstrap classes to buttons 2017-05-02 12:12:06 +05:30
Stephen Vickers 1768b85f09 MDL-58770 mod_lti: Strip HTML from parameters
Remove HTML tags from parameters which should be plain text.
2017-05-01 21:15:37 +01:00
Cameron Ball ec4b1e6183 MDL-58496 mod_chat: Update timesort when updating timestart
Previously when a repeating chat was updating the calendar
it would only update the timestart column. It needs to also
update the timesort column to display correctly on the new
overview.
2017-04-28 12:06:25 +08:00
Juan Leyva bf1babe5ff MDL-58694 admin: Add mobile related data to site registration 2017-04-25 10:30:24 +02:00
Skylar Kelty 32ec2da151 MDL-58658 caching: Fix static acceleration for empty arrays 2017-04-20 09:49:09 +01:00
Daniel Thee Roperto 589c8eb61b MDL-57246 forum: Fixed mod/forum/view.php redirection.
Fixed: Trying to view a forum without the capability may lead you to a broken page.
2017-04-04 16:16:54 +10:00
4916 changed files with 318805 additions and 74025 deletions
+5 -1
View File
@@ -3,10 +3,10 @@
*/**/build/
node_modules/
vendor/
admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
admin/tool/usertours/amd/src/tour.js
admin/tool/usertours/amd/src/popper.js
auth/cas/CAS/
auth/fc/fcFPP.php
enrol/lti/ims-blti/
filter/algebra/AlgParser.pm
filter/tex/mimetex.*
@@ -14,6 +14,7 @@ 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/bennu/
lib/evalmath/
@@ -58,9 +59,12 @@ lib/maxmind/MaxMind/
lib/ltiprovider/
lib/amd/src/truncate.js
lib/fonts/
lib/validateurlsyntax.php
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/
+36 -2
View File
@@ -1,4 +1,7 @@
{
'plugins': [
'promise',
],
'env': {
'browser': true,
'amd': true
@@ -13,6 +16,7 @@
// === Possible Errors ===
'comma-dangle': 'off',
'no-compare-neg-zero': 'error',
'no-cond-assign': 'error',
'no-console': 'error',
'no-constant-condition': 'error',
@@ -64,7 +68,6 @@
'no-fallthrough': 'error',
'no-floating-decimal': 'warn',
'no-global-assign': 'warn',
// Enabled by grunt for AMD modules: 'no-implicit-globals': 'error',
'no-implied-eval': 'error',
'no-invalid-this': 'error',
'no-iterator': 'error',
@@ -103,6 +106,7 @@
'block-spacing': 'warn',
'brace-style': ['warn', '1tbs'],
'camelcase': 'warn',
'capitalized-comments': ['warn', 'always', { 'ignoreConsecutiveComments': true }],
'comma-spacing': ['warn', { 'before': false, 'after': true }],
'comma-style': ['warn', 'last'],
'computed-property-spacing': 'error',
@@ -170,11 +174,41 @@
'unicode-bom': 'error',
'wrap-regex': 'off',
// === Promises ===
'promise/always-return': 'warn',
'promise/no-return-wrap': 'warn',
'promise/param-names': 'warn',
'promise/catch-or-return': ['warn', {terminationMethod: ['catch', 'fail']}],
'promise/no-native': 'warn',
'promise/no-promise-in-callback': 'warn',
'promise/no-callback-in-promise': 'warn',
'promise/avoid-new': 'warn',
// === Deprecations ===
"no-restricted-properties": ['warn', {
'object': 'M',
'property': 'str',
'message': 'Use AMD module "core/str" or M.util.get_string()'
}],
}
},
overrides: [
{
files: ["**/yui/src/**/*.js"],
// Disable some rules which we can't safely define for YUI rollups.
rules: {
'no-undef': 'off',
'no-unused-vars': 'off',
'no-unused-expressions': 'off'
}
},
{
files: ["**/amd/src/*.js"],
// Check AMD with some slightly stricter rules.
rules: {
'no-unused-vars': 'error',
'no-implicit-globals': 'error'
}
}
]
}
+1
View File
@@ -1,4 +1,5 @@
**/yui/build/** -diff
**/amd/build/** -diff
lib/dml/oci_native_moodle_package.sql text eol=lf
theme/bootstrapbase/style/editor.css -diff
theme/bootstrapbase/style/moodle.css -diff
+5 -1
View File
@@ -4,10 +4,10 @@ theme/clean/style/custom.css
theme/more/style/custom.css
node_modules/
vendor/
admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
admin/tool/usertours/amd/src/tour.js
admin/tool/usertours/amd/src/popper.js
auth/cas/CAS/
auth/fc/fcFPP.php
enrol/lti/ims-blti/
filter/algebra/AlgParser.pm
filter/tex/mimetex.*
@@ -15,6 +15,7 @@ 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/bennu/
lib/evalmath/
@@ -59,9 +60,12 @@ lib/maxmind/MaxMind/
lib/ltiprovider/
lib/amd/src/truncate.js
lib/fonts/
lib/validateurlsyntax.php
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/
+11 -10
View File
@@ -1,18 +1,22 @@
{
"plugins": [
"stylelint-csstree-validator"
],
"rules": {
"csstree/validator": true,
"at-rule-empty-line-before": [ "always",
{"except": [ "blockless-group"], ignore: ["after-comment", "all-nested"]}
{"except": [ "blockless-after-blockless"], ignore: ["after-comment", "inside-block"]}
],
"at-rule-name-case": "lower",
"at-rule-name-space-after": "always-single-line",
"at-rule-no-unknown": null, # Enabled for non-scss in grunt.
"at-rule-semicolon-newline-after": "always",
"at-rule-semicolon-space-before": "never",
"block-closing-brace-newline-after": "always",
"block-closing-brace-newline-before": "always-multi-line",
"block-closing-brace-newline-before": "always",
"block-closing-brace-space-before": "always-single-line",
"block-no-empty": true,
"block-no-single-line": true,
"block-opening-brace-newline-after": "always-multi-line",
"block-opening-brace-newline-after": "always",
"block-opening-brace-space-after": "always-single-line",
"block-opening-brace-space-before": "always",
"color-hex-case": ["lower", { "severity": "warning" }],
@@ -21,7 +25,6 @@
"declaration-bang-space-after": "never",
"declaration-bang-space-before": "always",
"declaration-block-no-duplicate-properties": true,
"declaration-block-no-ignored-properties": true,
"declaration-block-no-shorthand-property-overrides": true,
"declaration-block-semicolon-newline-after": "always-multi-line",
"declaration-block-semicolon-space-after": "always-single-line",
@@ -32,6 +35,7 @@
"declaration-colon-space-after": "always-single-line",
"declaration-colon-space-before": "never",
"declaration-no-important": true,
"font-family-no-duplicate-names": true,
"function-calc-no-unspaced-operator": true,
"function-comma-newline-after": "always-multi-line",
"function-comma-space-after": "always-single-line",
@@ -41,7 +45,7 @@
"function-name-case": "lower",
"function-parentheses-newline-inside": "always-multi-line",
"function-parentheses-space-inside": "never-single-line",
"function-url-data-uris": never,
"function-url-scheme-blacklist": ["data"],
"function-whitespace-after": "always",
"indentation": 4,
"keyframe-declaration-no-important": true,
@@ -50,14 +54,12 @@
"max-line-length": [132, { "severity": "warning" }],
"media-feature-colon-space-after": "always",
"media-feature-colon-space-before": "never",
"media-feature-no-missing-punctuation": true,
"media-feature-parentheses-space-inside": "never",
"media-feature-range-operator-space-after": "always",
"media-feature-range-operator-space-before": "always",
"media-query-list-comma-newline-after": "always-multi-line",
"media-query-list-comma-space-after": "always-single-line",
"media-query-list-comma-space-before": "never",
"no-browser-hacks": null, # Enabled for non-scss in grunt.
"no-empty-source": true,
"no-eol-whitespace": true,
"no-extra-semicolons": [true, { "severity": "warning" }],
@@ -78,11 +80,10 @@
"selector-pseudo-class-parentheses-space-inside": "never",
"selector-pseudo-element-case": "lower",
"selector-pseudo-element-no-unknown": true,
"selector-root-no-composition": true,
"selector-type-case": "lower",
"selector-type-no-unknown": true,
"string-no-newline": true,
"time-no-imperceptible": true,
"time-min-milliseconds": 100,
"unit-blacklist": ["pt"],
"unit-case": "lower",
"unit-no-unknown": true,
+46 -26
View File
@@ -2,7 +2,7 @@
# process (which uses our internal CI system) this file is here for the benefit
# of community developers git clones - see MDL-51458.
sudo: false
sudo: required
# We currently disable Travis notifications entirely until https://github.com/travis-ci/travis-ci/issues/4976
# is fixed.
@@ -13,20 +13,25 @@ language: php
php:
# We only run the highest and lowest supported versions to reduce the load on travis-ci.org.
- 7.1
- 5.6
- 7.2
- 7.0
addons:
postgresql: "9.3"
postgresql: "9.6"
packages:
- mysql-server-5.6
- mysql-client-core-5.6
- mysql-client-5.6
services:
- redis-server
# Redis tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
# services:
# - redis-server
env:
# Although we want to run these jobs and see failures as quickly as possible, we also want to get the slowest job to
# start first so that the total run time is not too high.
#
# We only run MySQL on PHP 7.1, so run that first.
# We only run MySQL on PHP 7.2, so run that first.
# CI Tests should be second-highest in priority as these only take <= 60 seconds to run under normal circumstances.
# Postgres is significantly is pretty reasonable in its run-time.
@@ -49,23 +54,16 @@ matrix:
fast_finish: true
include:
# Run grunt/npm install on lowest supported npm version
- php: 7.1
env: DB=none TASK=GRUNT NVM_VERSION='4'
# Run grunt/npm install on highest version ('node' is an alias for the latest node.js version.)
- php: 7.1
env: DB=none TASK=GRUNT NVM_VERSION='node'
- php: 7.2
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
exclude:
# MySQL - it's just too slow.
# Exclude it on all versions except for 7.1
# Exclude it on all versions except for 7.2
- env: DB=mysqli TASK=PHPUNIT
php: 5.6
# Moodle 2.7 is not compatible with PHP 7 for the upgrade test.
- env: DB=pgsql TASK=UPGRADE
php: 7.1
php: 7.0
cache:
directories:
@@ -73,6 +71,26 @@ cache:
- $HOME/.npm
install:
- >
if [ "$DB" = 'mysqli' ];
then
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk
sudo stop mysql
sudo mv /var/lib/mysql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/mysql /var/lib/mysql
sudo start mysql
fi
- >
if [ "$DB" = 'pgsql' ];
then
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk
sudo service postgresql stop
sudo mv /var/lib/postgresql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/postgresql /var/lib/postgresql
sudo service postgresql start 9.6
fi
- >
if [ "$TASK" = 'PHPUNIT' ];
then
@@ -82,8 +100,9 @@ install:
fi
# Enable Redis.
echo 'extension="redis.so"' > /tmp/redis.ini
phpenv config-add /tmp/redis.ini
# Redis tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
# echo 'extension="redis.so"' > /tmp/redis.ini
# phpenv config-add /tmp/redis.ini
# Install composer dependencies.
# We need --no-interaction in case we hit API limits for composer. This causes it to fall back to a standard clone.
@@ -154,10 +173,11 @@ before_script:
mkdir -p "$HOME"/roots/phpunit
# The phpunit dataroot and prefix..
# Redis tests are currently failing on php 7.2 due to https://bugs.php.net/bug.php?id=75628
# -e "/require_once/i \\define('TEST_SESSION_REDIS_HOST', '127.0.0.1');" \
sed -i \
-e "/require_once/i \\\$CFG->phpunit_dataroot = '\/home\/travis\/roots\/phpunit';" \
-e "/require_once/i \\\$CFG->phpunit_prefix = 'p_';" \
-e "/require_once/i \\define('TEST_SESSION_REDIS_HOST', '127.0.0.1');" \
config.php ;
# Initialise PHPUnit for Moodle.
@@ -187,7 +207,7 @@ before_script:
# We need the official upstream for comparison
git remote add upstream https://github.com/moodle/moodle.git;
git fetch upstream MOODLE_33_STABLE;
git fetch upstream MOODLE_34_STABLE;
export GIT_PREVIOUS_COMMIT="`git merge-base FETCH_HEAD $TRAVIS_COMMIT`";
export GIT_COMMIT="$TRAVIS_COMMIT";
export UPSTREAM_FETCH_HEAD=`git rev-parse FETCH_HEAD`
@@ -207,9 +227,9 @@ before_script:
# We need the official upstream.
git remote add upstream https://github.com/moodle/moodle.git;
# Checkout 27 STABLE branch.
git fetch upstream MOODLE_27_STABLE;
git checkout MOODLE_27_STABLE;
# Checkout 30 STABLE branch (the first version compatible with PHP 7.x)
git fetch upstream MOODLE_30_STABLE;
git checkout MOODLE_30_STABLE;
# Perform the upgrade
php admin/cli/install_database.php --agree-license --adminpass=Password --adminemail=admin@example.com --fullname="Upgrade test" --shortname=Upgrade;
@@ -228,7 +248,7 @@ script:
- >
if [ "$TASK" = 'PHPUNIT' ];
then
vendor/bin/phpunit;
vendor/bin/phpunit --fail-on-risky --disallow-test-output --verbose;
fi
- >
+3 -22
View File
@@ -112,26 +112,9 @@ module.exports = function(grunt) {
// Even though warnings dont stop the build we don't display warnings by default because
// at this moment we've got too many core warnings.
options: {quiet: !grunt.option('show-lint-warnings')},
amd: {
src: amdSrc,
// Check AMD with some slightly stricter rules.
rules: {
'no-unused-vars': 'error',
'no-implicit-globals': 'error'
}
},
amd: {src: amdSrc},
// Check YUI module source files.
yui: {
src: ['**/yui/src/**/*.js', '!*/**/yui/src/*/meta/*.js'],
options: {
// Disable some rules which we can't safely define for YUI rollups.
rules: {
'no-undef': 'off',
'no-unused-vars': 'off',
'no-unused-expressions': 'off'
}
}
}
yui: {src: ['**/yui/src/**/*.js', '!*/**/yui/src/*/meta/*.js']}
},
uglify: {
amd: {
@@ -194,7 +177,6 @@ module.exports = function(grunt) {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
"at-rule-no-unknown": true,
"no-browser-hacks": [true, {"severity": "warning"}]
}
}
},
@@ -211,7 +193,6 @@ module.exports = function(grunt) {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
"at-rule-no-unknown": true,
"no-browser-hacks": [true, {"severity": "warning"}]
}
}
}
@@ -338,7 +319,7 @@ module.exports = function(grunt) {
opts: {stdio: 'inherit', env: process.env}
}, function(error, result, code) {
// Propagate the exit code.
done(code);
done(code === 0);
});
};
+6
View File
@@ -165,6 +165,12 @@ function print_auth_lock_options($auth, $user_fields, $helptext, $retrieveopts,
// If custom field then pick name from database.
$fieldshortname = str_replace('profile_field_', '', $fieldname);
$fieldname = $customfieldname[$fieldshortname]->name;
if (core_text::strlen($fieldshortname) > 67) {
// If custom profile field name is longer than 67 characters we will not be able to store the setting
// such as 'field_updateremote_profile_field_NOTSOSHORTSHORTNAME' in the database because the character
// limit for the setting name is 100.
continue;
}
} elseif ($fieldname == 'url') {
$fieldname = get_string('webpage');
} else {
+14 -10
View File
@@ -54,14 +54,16 @@ $statusmsg = '';
$errormsg = '';
if ($data = data_submitted() and confirm_sesskey()) {
if (admin_write_settings($data)) {
$statusmsg = get_string('changessaved');
}
$count = admin_write_settings($data);
if (empty($adminroot->errors)) {
switch ($return) {
case 'site': redirect("$CFG->wwwroot/");
case 'admin': redirect("$CFG->wwwroot/$CFG->admin/");
// No errors. Did we change any setting? If so, then indicate success.
if ($count) {
$statusmsg = get_string('changessaved');
} else {
switch ($return) {
case 'site': redirect("$CFG->wwwroot/");
case 'admin': redirect("$CFG->wwwroot/$CFG->admin/");
}
}
} else {
$errormsg = get_string('errorwithsettings', 'admin');
@@ -73,7 +75,7 @@ if ($data = data_submitted() and confirm_sesskey()) {
if ($PAGE->user_allowed_editing() && $adminediting != -1) {
$USER->editing = $adminediting;
}
$buttons = null;
if ($PAGE->user_allowed_editing()) {
$url = clone($PAGE->url);
if ($PAGE->user_is_editing()) {
@@ -89,7 +91,7 @@ if ($PAGE->user_allowed_editing()) {
$savebutton = false;
$outputhtml = '';
foreach ($settingspage->children as $childpage) {
if ($childpage->is_hidden()) {
if ($childpage->is_hidden() || !$childpage->check_access()) {
continue;
}
if ($childpage instanceof admin_externalpage) {
@@ -127,7 +129,9 @@ if ($savebutton) {
$visiblepathtosection = array_reverse($settingspage->visiblepath);
$PAGE->set_title("$SITE->shortname: " . implode(": ",$visiblepathtosection));
$PAGE->set_heading($SITE->fullname);
$PAGE->set_button($buttons);
if ($buttons) {
$PAGE->set_button($buttons);
}
echo $OUTPUT->header();
+41
View File
@@ -0,0 +1,41 @@
<?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/>.
/**
* Privacy Subsystem implementation for core_admin.
*
* @package core_admin
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_admin\privacy;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for core_admin implementing null_provider.
*
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\null_provider {
/**
* Get the language string identifier with the component's language
* file to explain why this plugin stores no data.
*
* @return string
*/
public static function get_reason() : string {
return 'privacy:metadata';
}
}
+119
View File
@@ -0,0 +1,119 @@
<?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/>.
/**
* Build and store theme CSS.
*
* @package core
* @subpackage cli
* @copyright 2017 Ryan Wyllie <ryan@moodle.com>
* @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");
require_once("$CFG->libdir/csslib.php");
require_once("$CFG->libdir/outputlib.php");
$longparams = [
'themes' => null,
'direction' => null,
'help' => false,
'verbose' => false
];
$shortmappings = [
't' => 'themes',
'd' => 'direction',
'h' => 'help',
'v' => 'verbose'
];
// Get CLI params.
list($options, $unrecognized) = cli_get_params($longparams, $shortmappings);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help']) {
echo
"Compile the CSS for one or more installed themes.
Existing CSS caches will replaced.
By default all themes will be recompiled unless otherwise specified.
Options:
-t, --themes A comma separated list of themes to be compiled
-d, --direction Only compile a single direction (either ltr or rtl)
-v, --verbose Print info comments to stdout
-h, --help Print out this help
Example:
\$ sudo -u www-data /usr/bin/php admin/cli/build_theme_css.php --themes=boost --direction=ltr
";
die;
}
if (empty($options['verbose'])) {
$trace = new null_progress_trace();
} else {
$trace = new text_progress_trace();
}
cli_heading('Build theme css');
// Determine which themes we need to build.
$themenames = [];
if (is_null($options['themes'])) {
$trace->output('No themes specified. Finding all installed themes.');
$themenames = array_keys(core_component::get_plugin_list('theme'));
} else {
if (is_string($options['themes'])) {
$themenames = explode(',', $options['themes']);
} else {
cli_error('--themes must be a comma separated list of theme names');
}
}
$trace->output('Checking that each theme is correctly installed...');
$themeconfigs = [];
foreach ($themenames as $themename) {
if (is_null(theme_get_config_file_path($themename))) {
cli_error("Unable to find theme config for {$themename}");
}
// Load the config for the theme.
$themeconfigs[] = theme_config::load($themename);
}
$directions = ['ltr', 'rtl'];
if (!is_null($options['direction'])) {
if (!in_array($options['direction'], $directions)) {
cli_error("--direction must be either ltr or rtl");
}
$directions = [$options['direction']];
}
$trace->output('Building CSS for themes: ' . implode(', ', $themenames));
theme_build_css_for_themes($themeconfigs, $directions);
exit(0);
+1
View File
@@ -73,6 +73,7 @@ foreach ($rs as $user) {
echo "Redeleting user $user->id: $user->username ($user->email)\n";
delete_user($user);
}
$rs->close();
cli_heading('Deleting all leftovers');
+9 -8
View File
@@ -146,14 +146,9 @@ define('PHPUNIT_TEST', false);
define('IGNORE_COMPONENT_CACHE', true);
// Check that PHP is of a sufficient version
if (version_compare(phpversion(), "5.6.5") < 0) {
$phpversion = phpversion();
// do NOT localise - lang strings would not work here and we CAN NOT move it after installib
fwrite(STDERR, "Moodle 3.2 or later requires at least PHP 5.6.5 (currently using version $phpversion).\n");
fwrite(STDERR, "Please upgrade your server software or install older Moodle version.\n");
exit(1);
}
// Check that PHP is of a sufficient version as soon as possible.
require_once(__DIR__.'/../../lib/phpminimumversionlib.php');
moodle_require_minimum_php_version();
// set up configuration
global $CFG;
@@ -808,6 +803,12 @@ if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
if (!$options['skip-database']) {
install_cli_database($options, $interactive);
// This needs to happen at the end to ensure it occurs after all caches
// have been purged for the last time.
// This will build a cached version of the current theme for the user
// to immediately start browsing the site.
require_once($CFG->libdir.'/upgradelib.php');
upgrade_themes();
} else {
echo get_string('cliskipdatabase', 'install')."\n";
}
+10 -8
View File
@@ -62,14 +62,9 @@ Example:
\$sudo -u www-data /usr/bin/php admin/cli/install_database.php --lang=cs --adminpass=soMePass123 --agree-license
";
// Check that PHP is of a sufficient version
if (version_compare(phpversion(), "5.6.5") < 0) {
$phpversion = phpversion();
// do NOT localise - lang strings would not work here and we CAN NOT move it after installib
fwrite(STDERR, "Moodle 3.2 or later requires at least PHP 5.6.5 (currently using version $phpversion).\n");
fwrite(STDERR, "Please upgrade your server software or install older Moodle version.\n");
exit(1);
}
// Check that PHP is of a sufficient version as soon as possible.
require_once(__DIR__.'/../../lib/phpminimumversionlib.php');
moodle_require_minimum_php_version();
// Nothing to do if config.php does not exist
$configfile = __DIR__.'/../../config.php';
@@ -183,5 +178,12 @@ if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
install_cli_database($options, true);
// This needs to happen at the end to ensure it occurs after all caches
// have been purged for the last time.
// This will build a cached version of the current theme for the user
// to immediately start browsing the site.
require_once($CFG->libdir.'/upgradelib.php');
upgrade_themes();
echo get_string('cliinstallfinished', 'install')."\n";
exit(0); // 0 means success
+55
View File
@@ -0,0 +1,55 @@
<?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/>.
/**
* CLI script to kill all user sessions without asking for confirmation.
*
* @package core
* @subpackage cli
* @copyright 2017 Alexander Bias <alexander.bias@uni-ulm.de>
* @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');
list($options, $unrecognized) = cli_get_params(array('help' => false), array('h' => 'help'));
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized), 2);
}
if ($options['help']) {
$help =
"Kill all Moodle sessions
Options:
-h, --help Print out this help
Example:
\$sudo -u www-data /usr/bin/php admin/cli/kill_all_sessions.php
";
echo $help;
exit(0);
}
\core\session\manager::kill_all_sessions();
exit(0);
+41 -5
View File
@@ -53,7 +53,7 @@ Options:
-h, --help Print out this help
Example:
\$ sudo -u www-data /usr/bin/php admin/cli/mysql_collation.php --collation=utf8_general_ci
\$ sudo -u www-data /usr/bin/php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci
";
if (!empty($options['collation'])) {
@@ -145,9 +145,22 @@ if (!empty($options['collation'])) {
$skipped++;
} else {
$DB->change_database_structure("ALTER TABLE $table->name DEFAULT CHARACTER SET $charset DEFAULT COLLATE = $collation");
echo "CONVERTED\n";
$converted++;
try {
$DB->change_database_structure("ALTER TABLE $table->name CONVERT TO CHARACTER SET $charset COLLATE $collation");
echo "CONVERTED\n";
$converted++;
} catch (ddl_exception $e) {
$result = mysql_set_row_format($table->name, $charset, $collation, $engine);
if ($result) {
echo "CONVERTED\n";
$converted++;
} else {
// We don't know what the problem is. Stop the conversion.
cli_error("Error: Tried to convert $table->name, but there was a problem. Please check the details of this
table and try again.");
die();
}
}
}
$sql = "SHOW FULL COLUMNS FROM $table->name WHERE collation IS NOT NULL";
@@ -190,7 +203,7 @@ if (!empty($options['collation'])) {
$DB->change_database_structure($sql);
} else {
echo "ERROR (unknown column type: $column->type)\n";
$error++;
$errors++;
continue;
}
echo "CONVERTED\n";
@@ -290,3 +303,26 @@ function mysql_get_column_collations($tablename) {
$rs->close();
return $collations;
}
function mysql_set_row_format($tablename, $charset, $collation, $engine) {
global $DB;
$sql = "SELECT row_format
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = DATABASE() AND table_name = ?";
$rs = $DB->get_record_sql($sql, array($tablename));
if ($rs) {
if ($rs->row_format == 'Compact' || $rs->row_format == 'Redundant') {
$rowformat = $DB->get_row_format_sql($engine, $collation);
// Try to convert to compressed format and then try updating the collation again.
$DB->change_database_structure("ALTER TABLE $tablename $rowformat");
$DB->change_database_structure("ALTER TABLE $tablename CONVERT TO CHARACTER SET $charset COLLATE $collation");
} else {
// Row format may not be the problem. Can not diagnose problem. Send fail reply.
return false;
}
} else {
return false;
}
return true;
}
+3 -1
View File
@@ -15,6 +15,8 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* CLI script to purge caches without asking for confirmation.
*
* @package core
* @subpackage cli
* @copyright 2011 David Mudrak <david@moodle.com>
@@ -50,4 +52,4 @@ Example:
purge_all_caches();
exit(0);
exit(0);
+6
View File
@@ -187,5 +187,11 @@ upgrade_noncore(true);
admin_apply_default_settings(NULL, false);
admin_apply_default_settings(NULL, false);
// This needs to happen at the end to ensure it occurs after all caches
// have been purged for the last time.
// This will build a cached version of the current theme for the user
// to immediately start browsing the site.
upgrade_themes();
echo get_string('cliupgradefinished', 'admin')."\n";
exit(0); // 0 means success
+535
View File
@@ -1754,6 +1754,7 @@
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="5.6.5" level="required">
<RESTRICT function="restrict_php_version_72" message="unsupportedphpversion72" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -1919,6 +1920,7 @@
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="5.6.5" level="required">
<RESTRICT function="restrict_php_version_72" message="unsupportedphpversion72" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -2081,4 +2083,537 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.4" requires="3.0">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="5.5.31" />
<VENDOR name="mysql" version="5.5.31" />
<VENDOR name="postgres" version="9.3" />
<VENDOR name="mssql" version="10.0" />
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="7.0.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.5" requires="3.1">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="5.5.31" />
<VENDOR name="mysql" version="5.5.31" />
<VENDOR name="postgres" version="9.3" />
<VENDOR name="mssql" version="10.0" />
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="7.0.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.6" requires="3.1">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="5.5.31" />
<VENDOR name="mysql" version="5.6" />
<VENDOR name="postgres" version="9.4" />
<VENDOR name="mssql" version="10.0" />
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.0.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
<FEEDBACK>
<ON_CHECK message="sixtyfourbitswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+21 -10
View File
@@ -29,14 +29,9 @@ if (!file_exists('../config.php')) {
die();
}
// Check that PHP is of a sufficient version as soon as possible
if (version_compare(phpversion(), '5.6.5') < 0) {
$phpversion = phpversion();
// do NOT localise - lang strings would not work here and we CAN NOT move it to later place
echo "Moodle 3.2 or later requires at least PHP 5.6.5 (currently using version $phpversion).<br />";
echo "Please upgrade your server software or install older Moodle version.";
die();
}
// Check that PHP is of a sufficient version as soon as possible.
require_once(__DIR__.'/../lib/phpminimumversionlib.php');
moodle_require_minimum_php_version();
// make sure iconv is available and actually works
if (!function_exists('iconv')) {
@@ -704,6 +699,7 @@ if (!$cache and moodle_needs_upgrading()) {
if (during_initial_install()) {
set_config('rolesactive', 1); // after this, during_initial_install will return false.
set_config('adminsetuppending', 1);
set_config('registrationpending', 1); // Remind to register site after all other setup is finished.
// we need this redirect to setup proper session
upgrade_finished("index.php?sessionstarted=1&amp;lang=$CFG->lang");
}
@@ -819,6 +815,9 @@ if (isset($SESSION->pluginuninstallreturn)) {
}
}
// If site registration needs updating, redirect.
\core\hub\registration::registration_reminder('/admin/index.php');
// Everything should now be set up, and the user is an admin
// Print default admin page with notifications.
@@ -862,12 +861,23 @@ if ($updateschecker->enabled()) {
$buggyiconvnomb = (!function_exists('mb_convert_encoding') and @iconv('UTF-8', 'UTF-8//IGNORE', '100'.chr(130).'€') !== '100€');
//check if the site is registered on Moodle.org
$registered = $DB->count_records('registration_hubs', array('huburl' => HUB_MOODLEORGHUBURL, 'confirmed' => 1));
$registered = \core\hub\registration::is_registered();
// Check if there are any cache warnings.
$cachewarnings = cache_helper::warnings();
// Check if there are events 1 API handlers.
$eventshandlers = $DB->get_records_sql('SELECT DISTINCT component FROM {events_handlers}');
$themedesignermode = !empty($CFG->themedesignermode);
$mobileconfigured = !empty($CFG->enablemobilewebservice);
$invalidforgottenpasswordurl = !empty($CFG->forgottenpasswordurl) && empty(clean_param($CFG->forgottenpasswordurl, PARAM_URL));
// Check if a directory with development libraries exists.
if (empty($CFG->disabledevlibdirscheck) && (is_dir($CFG->dirroot.'/vendor') || is_dir($CFG->dirroot.'/node_modules'))) {
$devlibdir = true;
} else {
$devlibdir = false;
}
// Check if the site is being foced onto ssl.
$overridetossl = !empty($CFG->overridetossl);
admin_externalpage_setup('adminnotifications');
@@ -875,4 +885,5 @@ $output = $PAGE->get_renderer('core', 'admin');
echo $output->admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed, $cronoverdue, $dbproblems,
$maintenancemode, $availableupdates, $availableupdatesfetch, $buggyiconvnomb,
$registered, $cachewarnings, $eventshandlers, $themedesignermode);
$registered, $cachewarnings, $eventshandlers, $themedesignermode, $devlibdir,
$mobileconfigured, $overridetossl, $invalidforgottenpasswordurl);
+3 -4
View File
@@ -29,9 +29,10 @@ require_once($CFG->libdir.'/adminlib.php');
$confirm = optional_param('confirm', 0, PARAM_BOOL);
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
admin_externalpage_setup('purgecaches');
// If we have got here as a confirmed aciton, do it.
if ($confirm && isloggedin() && confirm_sesskey()) {
require_capability('moodle/site:config', context_system::instance());
if ($confirm && confirm_sesskey()) {
// Valid request. Purge, and redirect the user back to where they came from.
purge_all_caches();
@@ -45,8 +46,6 @@ if ($confirm && isloggedin() && confirm_sesskey()) {
}
// Otherwise, show a button to actually purge the caches.
admin_externalpage_setup('purgecaches');
$actionurl = new moodle_url('/admin/purgecaches.php', array('sesskey'=>sesskey(), 'confirm'=>1));
if ($returnurl) {
$actionurl->param('returnurl', $returnurl);
+27 -32
View File
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////
/*
/**
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
@@ -36,7 +36,6 @@
require('../../config.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php');
$newtoken = optional_param('newtoken', '', PARAM_ALPHANUM);
$url = optional_param('url', '', PARAM_URL);
@@ -44,7 +43,19 @@ $hubname = optional_param('hubname', '', PARAM_TEXT);
$token = optional_param('token', '', PARAM_TEXT);
$error = optional_param('error', '', PARAM_ALPHANUM);
admin_externalpage_setup('registrationhubs');
admin_externalpage_setup('registrationmoodleorg');
if ($url !== HUB_MOODLEORGHUBURL) {
// Allow other plugins to confirm registration on hubs other than moodle.net . Plugins implementing this
// callback need to redirect or exit. See https://docs.moodle.org/en/Hub_registration .
$callbacks = get_plugins_with_function('hub_registration');
foreach ($callbacks as $plugintype => $plugins) {
foreach ($plugins as $plugin => $callback) {
$callback('confirm');
}
}
throw new moodle_exception('errorotherhubsnotsupported', 'hub');
}
if (!empty($error) and $error == 'urlalreadyexist') {
throw new moodle_exception('urlalreadyregistered', 'hub',
@@ -52,38 +63,22 @@ if (!empty($error) and $error == 'urlalreadyexist') {
}
//check that we are waiting a confirmation from this hub, and check that the token is correct
$registrationmanager = new registration_manager();
$registeredhub = $registrationmanager->get_unconfirmedhub($url);
if (!empty($registeredhub) and $registeredhub->token == $token) {
core\hub\registration::confirm_registration($token, $newtoken, $hubname);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('registrationconfirmed', 'hub'), 3, 'main');
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('registrationconfirmed', 'hub'), 3, 'main');
$registeredhub->token = $newtoken;
$registeredhub->confirmed = 1;
$registeredhub->hubname = $hubname;
$registrationmanager->update_registeredhub($registeredhub);
// Display notification message.
echo $OUTPUT->notification(get_string('registrationconfirmedon', 'hub'), 'notifysuccess');
// Display notification message.
echo $OUTPUT->notification(get_string('registrationconfirmedon', 'hub'), 'notifysuccess');
// Display continue button.
$returnurl = !empty($SESSION->registrationredirect) ? clean_param($SESSION->registrationredirect, PARAM_LOCALURL) : null;
unset($SESSION->registrationredirect);
$continueurl = new moodle_url($returnurl ?: '/admin/registration/index.php');
$continuebutton = $OUTPUT->render(new single_button($continueurl, get_string('continue')));
$continuebutton = html_writer::tag('div', $continuebutton, array('class' => 'mdl-align'));
echo $continuebutton;
//display continue button
$registrationpage = new moodle_url('/admin/registration/index.php');
$continuebutton = $OUTPUT->render(new single_button($registrationpage, get_string('continue', 'hub')));
$continuebutton = html_writer::tag('div', $continuebutton, array('class' => 'mdl-align'));
echo $continuebutton;
if (!extension_loaded('xmlrpc')) {
//display notice about xmlrpc
$xmlrpcnotification = $OUTPUT->doc_link('admin/environment/php_extension/xmlrpc', '');
$xmlrpcnotification .= get_string('xmlrpcdisabledregistration', 'hub');
echo $OUTPUT->notification($xmlrpcnotification);
}
echo $OUTPUT->footer();
} else {
throw new moodle_exception('wrongtoken', 'hub',
$CFG->wwwroot . '/' . $CFG->admin . '/registration/index.php');
}
echo $OUTPUT->footer();
+4 -479
View File
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////
/*
/**
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
@@ -30,482 +30,7 @@
* The forms needed by registration pages.
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/formslib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php');
/**
* This form display a unregistration form.
*/
class site_unregistration_form extends moodleform {
public function definition() {
$mform = & $this->_form;
$mform->addElement('header', 'site', get_string('unregister', 'hub'));
$huburl = $this->_customdata['huburl'];
$hubname = $this->_customdata['hubname'];
$unregisterlabel = get_string('unregister', 'hub');
$mform->addElement('checkbox', 'unpublishalladvertisedcourses', '',
' ' . get_string('unpublishalladvertisedcourses', 'hub'));
$mform->setType('unpublishalladvertisedcourses', PARAM_INT);
$mform->addElement('checkbox', 'unpublishalluploadedcourses', '',
' ' . get_string('unpublishalluploadedcourses', 'hub'));
$mform->setType('unpublishalluploadedcourses', PARAM_INT);
$mform->addElement('hidden', 'confirm', 1);
$mform->setType('confirm', PARAM_INT);
$mform->addElement('hidden', 'unregistration', 1);
$mform->setType('unregistration', PARAM_INT);
$mform->addElement('hidden', 'huburl', $huburl);
$mform->setType('huburl', PARAM_URL);
$mform->addElement('hidden', 'hubname', $hubname);
$mform->setType('hubname', PARAM_TEXT);
$this->add_action_buttons(true, $unregisterlabel);
}
}
/**
* This form display a clean registration data form.
*/
class site_clean_registration_data_form extends moodleform {
public function definition() {
$mform = & $this->_form;
$mform->addElement('header', 'site', get_string('unregister', 'hub'));
$huburl = $this->_customdata['huburl'];
$hubname = $this->_customdata['hubname'];
$unregisterlabel = get_string('forceunregister', 'hub');
$mform->addElement('static', '', get_string('warning', 'hub'), get_string('forceunregisterconfirmation', 'hub', $hubname));
$mform->addElement('hidden', 'confirm', 1);
$mform->setType('confirm', PARAM_INT);
$mform->addElement('hidden', 'unregistration', 1);
$mform->setType('unregistration', PARAM_INT);
$mform->addElement('hidden', 'cleanregdata', 1);
$mform->setType('cleanregdata', PARAM_INT);
$mform->addElement('hidden', 'huburl', $huburl);
$mform->setType('huburl', PARAM_URL);
$mform->addElement('hidden', 'hubname', $hubname);
$mform->setType('hubname', PARAM_TEXT);
$this->add_action_buttons(true, $unregisterlabel);
}
}
/**
* This form display a hub selector.
* The hub list is retrieved from Moodle.org hub directory.
* Also displayed, a text field to enter private hub url + its password
*/
class hub_selector_form extends moodleform {
public function definition() {
global $CFG, $OUTPUT;
$mform = & $this->_form;
$mform->addElement('header', 'site', get_string('selecthub', 'hub'));
//retrieve the hub list on the hub directory by web service
$function = 'hubdirectory_get_hubs';
$params = array();
$serverurl = HUB_HUBDIRECTORYURL . "/local/hubdirectory/webservice/webservices.php";
require_once($CFG->dirroot . "/webservice/xmlrpc/lib.php");
$xmlrpcclient = new webservice_xmlrpc_client($serverurl, 'publichubdirectory');
try {
$hubs = $xmlrpcclient->call($function, $params);
} catch (Exception $e) {
$error = $OUTPUT->notification(get_string('errorhublisting', 'hub', $e->getMessage()));
$mform->addElement('static', 'errorhub', '', $error);
$hubs = array();
}
//remove moodle.org from the hub list
foreach ($hubs as $key => $hub) {
if ($hub['url'] == HUB_MOODLEORGHUBURL) {
unset($hubs[$key]);
}
}
//Public hub list
$options = array();
foreach ($hubs as $hub) {
//to not display a name longer than 100 character (too big)
if (core_text::strlen($hub['name']) > 100) {
$hubname = core_text::substr($hub['name'], 0, 100);
$hubname = $hubname . "...";
} else {
$hubname = $hub['name'];
}
$options[$hub['url']] = $hubname;
$mform->addElement('hidden', clean_param($hub['url'], PARAM_ALPHANUMEXT), $hubname);
$mform->setType(clean_param($hub['url'], PARAM_ALPHANUMEXT), PARAM_ALPHANUMEXT);
}
if (!empty($hubs)) {
$mform->addElement('select', 'publichub', get_string('publichub', 'hub'),
$options, array("size" => 15));
$mform->setType('publichub', PARAM_URL);
}
$mform->addElement('static', 'or', '', get_string('orenterprivatehub', 'hub'));
//Private hub
$mform->addElement('text', 'unlistedurl', get_string('privatehuburl', 'hub'),
array('class' => 'registration_textfield'));
$mform->setType('unlistedurl', PARAM_URL);
$mform->addElement('text', 'password', get_string('password'),
array('class' => 'registration_textfield'));
$mform->setType('password', PARAM_RAW);
$this->add_action_buttons(false, get_string('selecthub', 'hub'));
}
/**
* Check the unlisted URL is a URL
*/
function validation($data, $files) {
global $CFG;
$errors = parent::validation($data, $files);
$unlistedurl = $this->_form->_submitValues['unlistedurl'];
if (empty($unlistedurl)) {
$errors['unlistedurl'] = get_string('badurlformat', 'hub');
}
return $errors;
}
}
/**
* The site registration form. Information will be sent to a given hub.
*/
class site_registration_form extends moodleform {
public function definition() {
global $CFG, $DB;
$strrequired = get_string('required');
$mform = & $this->_form;
$huburl = $this->_customdata['huburl'];
$hubname = $this->_customdata['hubname'];
$password = $this->_customdata['password'];
$admin = get_admin();
$site = get_site();
//retrieve config for this hub and set default if they don't exist
$cleanhuburl = clean_param($huburl, PARAM_ALPHANUMEXT);
$sitename = get_config('hub', 'site_name_' . $cleanhuburl);
if ($sitename === false) {
$sitename = format_string($site->fullname, true, array('context' => context_course::instance(SITEID)));
}
$sitedescription = get_config('hub', 'site_description_' . $cleanhuburl);
if ($sitedescription === false) {
$sitedescription = $site->summary;
}
$contactname = get_config('hub', 'site_contactname_' . $cleanhuburl);
if ($contactname === false) {
$contactname = fullname($admin, true);
}
$contactemail = get_config('hub', 'site_contactemail_' . $cleanhuburl);
if ($contactemail === false) {
$contactemail = $admin->email;
}
$contactphone = get_config('hub', 'site_contactphone_' . $cleanhuburl);
if ($contactphone === false) {
$contactphone = $admin->phone1;
}
$imageurl = get_config('hub', 'site_imageurl_' . $cleanhuburl);
$privacy = get_config('hub', 'site_privacy_' . $cleanhuburl);
$address = get_config('hub', 'site_address_' . $cleanhuburl);
$region = get_config('hub', 'site_region_' . $cleanhuburl);
$country = get_config('hub', 'site_country_' . $cleanhuburl);
if ($country === false) {
$country = $admin->country;
}
$language = get_config('hub', 'site_language_' . $cleanhuburl);
if ($language === false) {
$language = current_language();
}
$geolocation = get_config('hub', 'site_geolocation_' . $cleanhuburl);
$contactable = get_config('hub', 'site_contactable_' . $cleanhuburl);
$emailalert = get_config('hub', 'site_emailalert_' . $cleanhuburl);
$emailalert = ($emailalert === 0) ? 0 : 1;
$coursesnumber = get_config('hub', 'site_coursesnumber_' . $cleanhuburl);
$usersnumber = get_config('hub', 'site_usersnumber_' . $cleanhuburl);
$roleassignmentsnumber = get_config('hub', 'site_roleassignmentsnumber_' . $cleanhuburl);
$postsnumber = get_config('hub', 'site_postsnumber_' . $cleanhuburl);
$questionsnumber = get_config('hub', 'site_questionsnumber_' . $cleanhuburl);
$resourcesnumber = get_config('hub', 'site_resourcesnumber_' . $cleanhuburl);
$badgesnumber = get_config('hub', 'site_badges_' . $cleanhuburl);
$issuedbadgesnumber = get_config('hub', 'site_issuedbadges_' . $cleanhuburl);
$mediancoursesize = get_config('hub', 'site_mediancoursesize_' . $cleanhuburl);
$participantnumberaveragecfg = get_config('hub', 'site_participantnumberaverage_' . $cleanhuburl);
$modulenumberaveragecfg = get_config('hub', 'site_modulenumberaverage_' . $cleanhuburl);
//hidden parameters
$mform->addElement('hidden', 'huburl', $huburl);
$mform->setType('huburl', PARAM_URL);
$mform->addElement('hidden', 'hubname', $hubname);
$mform->setType('hubname', PARAM_TEXT);
$mform->addElement('hidden', 'password', $password);
$mform->setType('password', PARAM_RAW);
//the input parameters
$mform->addElement('header', 'moodle', get_string('registrationinfo', 'hub'));
$mform->addElement('text', 'name', get_string('sitename', 'hub'),
array('class' => 'registration_textfield'));
$mform->addRule('name', $strrequired, 'required', null, 'client');
$mform->setType('name', PARAM_TEXT);
$mform->setDefault('name', $sitename);
$mform->addHelpButton('name', 'sitename', 'hub');
$options = array();
$registrationmanager = new registration_manager();
$options[HUB_SITENOTPUBLISHED] = $registrationmanager->get_site_privacy_string(HUB_SITENOTPUBLISHED);
$options[HUB_SITENAMEPUBLISHED] = $registrationmanager->get_site_privacy_string(HUB_SITENAMEPUBLISHED);
$options[HUB_SITELINKPUBLISHED] = $registrationmanager->get_site_privacy_string(HUB_SITELINKPUBLISHED);
$mform->addElement('select', 'privacy', get_string('siteprivacy', 'hub'), $options);
$mform->setDefault('privacy', $privacy);
$mform->setType('privacy', PARAM_ALPHA);
$mform->addHelpButton('privacy', 'privacy', 'hub');
unset($options);
$mform->addElement('textarea', 'description', get_string('sitedesc', 'hub'),
array('rows' => 8, 'cols' => 41));
$mform->addRule('description', $strrequired, 'required', null, 'client');
$mform->setDefault('description', $sitedescription);
$mform->setType('description', PARAM_TEXT);
$mform->addHelpButton('description', 'sitedesc', 'hub');
$languages = get_string_manager()->get_list_of_languages();
core_collator::asort($languages);
$mform->addElement('select', 'language', get_string('sitelang', 'hub'),
$languages);
$mform->setType('language', PARAM_ALPHANUMEXT);
$mform->addHelpButton('language', 'sitelang', 'hub');
$mform->setDefault('language', $language);
$mform->addElement('textarea', 'address', get_string('postaladdress', 'hub'),
array('rows' => 4, 'cols' => 41));
$mform->setType('address', PARAM_TEXT);
$mform->setDefault('address', $address);
$mform->addHelpButton('address', 'postaladdress', 'hub');
//TODO: use the region array I generated
// $mform->addElement('select', 'region', get_string('selectaregion'), array('-' => '-'));
// $mform->setDefault('region', $region);
$mform->addElement('hidden', 'regioncode', '-');
$mform->setType('regioncode', PARAM_ALPHANUMEXT);
$countries = get_string_manager()->get_list_of_countries();
$mform->addElement('select', 'countrycode', get_string('sitecountry', 'hub'), $countries);
$mform->setDefault('countrycode', $country);
$mform->setType('countrycode', PARAM_ALPHANUMEXT);
$mform->addHelpButton('countrycode', 'sitecountry', 'hub');
$mform->addElement('text', 'geolocation', get_string('sitegeolocation', 'hub'),
array('class' => 'registration_textfield'));
$mform->setDefault('geolocation', $geolocation);
$mform->setType('geolocation', PARAM_RAW);
$mform->addHelpButton('geolocation', 'sitegeolocation', 'hub');
$mform->addElement('text', 'contactname', get_string('siteadmin', 'hub'),
array('class' => 'registration_textfield'));
$mform->addRule('contactname', $strrequired, 'required', null, 'client');
$mform->setType('contactname', PARAM_TEXT);
$mform->setDefault('contactname', $contactname);
$mform->addHelpButton('contactname', 'siteadmin', 'hub');
$mform->addElement('text', 'contactphone', get_string('sitephone', 'hub'),
array('class' => 'registration_textfield'));
$mform->setType('contactphone', PARAM_TEXT);
$mform->addHelpButton('contactphone', 'sitephone', 'hub');
$mform->setForceLtr('contactphone');
$mform->addElement('text', 'contactemail', get_string('siteemail', 'hub'),
array('class' => 'registration_textfield'));
$mform->addRule('contactemail', $strrequired, 'required', null, 'client');
$mform->setType('contactemail', PARAM_EMAIL);
$mform->setDefault('contactemail', $contactemail);
$mform->addHelpButton('contactemail', 'siteemail', 'hub');
$options = array();
$options[0] = get_string("registrationcontactno");
$options[1] = get_string("registrationcontactyes");
$mform->addElement('select', 'contactable', get_string('siteregistrationcontact', 'hub'), $options);
$mform->setDefault('contactable', $contactable);
$mform->setType('contactable', PARAM_INT);
$mform->addHelpButton('contactable', 'siteregistrationcontact', 'hub');
unset($options);
$options = array();
$options[0] = get_string("registrationno");
$options[1] = get_string("registrationyes");
$mform->addElement('select', 'emailalert', get_string('siteregistrationemail', 'hub'), $options);
$mform->setDefault('emailalert', $emailalert);
$mform->setType('emailalert', PARAM_INT);
$mform->addHelpButton('emailalert', 'siteregistrationemail', 'hub');
unset($options);
//TODO site logo
$mform->addElement('hidden', 'imageurl', ''); //TODO: temporary
$mform->setType('imageurl', PARAM_URL);
$mform->addElement('static', 'urlstring', get_string('siteurl', 'hub'), $CFG->wwwroot);
$mform->addHelpButton('urlstring', 'siteurl', 'hub');
$mform->addElement('static', 'versionstring', get_string('siteversion', 'hub'), $CFG->version);
$mform->addElement('hidden', 'moodleversion', $CFG->version);
$mform->setType('moodleversion', PARAM_INT);
$mform->addHelpButton('versionstring', 'siteversion', 'hub');
$mform->addElement('static', 'releasestring', get_string('siterelease', 'hub'), $CFG->release);
$mform->addElement('hidden', 'moodlerelease', $CFG->release);
$mform->setType('moodlerelease', PARAM_TEXT);
$mform->addHelpButton('releasestring', 'siterelease', 'hub');
/// Display statistic that are going to be retrieve by the hub
$coursecount = $DB->count_records('course') - 1;
$usercount = $DB->count_records('user', array('deleted' => 0));
$roleassigncount = $DB->count_records('role_assignments');
$postcount = $DB->count_records('forum_posts');
$questioncount = $DB->count_records('question');
$resourcecount = $DB->count_records('resource');
require_once($CFG->dirroot . "/course/lib.php");
$participantnumberaverage = number_format(average_number_of_participants(), 2);
$modulenumberaverage = number_format(average_number_of_courses_modules(), 2);
require_once($CFG->libdir . '/badgeslib.php');
$badges = $DB->count_records_select('badge', 'status <> ' . BADGE_STATUS_ARCHIVED);
$issuedbadges = $DB->count_records('badge_issued');
if (HUB_MOODLEORGHUBURL != $huburl) {
$mform->addElement('checkbox', 'courses', get_string('sendfollowinginfo', 'hub'),
" " . get_string('coursesnumber', 'hub', $coursecount));
$mform->setDefault('courses', $coursesnumber != -1);
$mform->setType('courses', PARAM_INT);
$mform->addHelpButton('courses', 'sendfollowinginfo', 'hub');
$mform->addElement('checkbox', 'users', '',
" " . get_string('usersnumber', 'hub', $usercount));
$mform->setDefault('users', $usersnumber != -1);
$mform->setType('users', PARAM_INT);
$mform->addElement('checkbox', 'roleassignments', '',
" " . get_string('roleassignmentsnumber', 'hub', $roleassigncount));
$mform->setDefault('roleassignments', $roleassignmentsnumber != -1);
$mform->setType('roleassignments', PARAM_INT);
$mform->addElement('checkbox', 'posts', '',
" " . get_string('postsnumber', 'hub', $postcount));
$mform->setDefault('posts', $postsnumber != -1);
$mform->setType('posts', PARAM_INT);
$mform->addElement('checkbox', 'questions', '',
" " . get_string('questionsnumber', 'hub', $questioncount));
$mform->setDefault('questions', $questionsnumber != -1);
$mform->setType('questions', PARAM_INT);
$mform->addElement('checkbox', 'resources', '',
" " . get_string('resourcesnumber', 'hub', $resourcecount));
$mform->setDefault('resources', $resourcesnumber != -1);
$mform->setType('resources', PARAM_INT);
$mform->addElement('checkbox', 'badges', '',
" " . get_string('badgesnumber', 'hub', $badges));
$mform->setDefault('badges', $badgesnumber != -1);
$mform->setType('badges', PARAM_INT);
$mform->addElement('checkbox', 'issuedbadges', '',
" " . get_string('issuedbadgesnumber', 'hub', $issuedbadges));
$mform->setDefault('issuedbadges', $issuedbadgesnumber != -1);
$mform->setType('issuedbadges', PARAM_INT);
$mform->addElement('checkbox', 'participantnumberaverage', '',
" " . get_string('participantnumberaverage', 'hub', $participantnumberaverage));
$mform->setDefault('participantnumberaverage', $participantnumberaveragecfg != -1);
$mform->setType('participantnumberaverage', PARAM_FLOAT);
$mform->addElement('checkbox', 'modulenumberaverage', '',
" " . get_string('modulenumberaverage', 'hub', $modulenumberaverage));
$mform->setDefault('modulenumberaverage', $modulenumberaveragecfg != -1);
$mform->setType('modulenumberaverage', PARAM_FLOAT);
} else {
$mform->addElement('static', 'courseslabel', get_string('sendfollowinginfo', 'hub'),
" " . get_string('coursesnumber', 'hub', $coursecount));
$mform->addElement('hidden', 'courses', 1);
$mform->setType('courses', PARAM_INT);
$mform->addHelpButton('courseslabel', 'sendfollowinginfo', 'hub');
$mform->addElement('static', 'userslabel', '',
" " . get_string('usersnumber', 'hub', $usercount));
$mform->addElement('hidden', 'users', 1);
$mform->setType('users', PARAM_INT);
$mform->addElement('static', 'roleassignmentslabel', '',
" " . get_string('roleassignmentsnumber', 'hub', $roleassigncount));
$mform->addElement('hidden', 'roleassignments', 1);
$mform->setType('roleassignments', PARAM_INT);
$mform->addElement('static', 'postslabel', '',
" " . get_string('postsnumber', 'hub', $postcount));
$mform->addElement('hidden', 'posts', 1);
$mform->setType('posts', PARAM_INT);
$mform->addElement('static', 'questionslabel', '',
" " . get_string('questionsnumber', 'hub', $questioncount));
$mform->addElement('hidden', 'questions', 1);
$mform->setType('questions', PARAM_INT);
$mform->addElement('static', 'resourceslabel', '',
" " . get_string('resourcesnumber', 'hub', $resourcecount));
$mform->addElement('hidden', 'resources', 1);
$mform->setType('resources', PARAM_INT);
$mform->addElement('static', 'badgeslabel', '',
" " . get_string('badgesnumber', 'hub', $badges));
$mform->addElement('hidden', 'badges', 1);
$mform->setType('badges', PARAM_INT);
$mform->addElement('static', 'issuedbadgeslabel', '',
" " . get_string('issuedbadgesnumber', 'hub', $issuedbadges));
$mform->addElement('hidden', 'issuedbadges', true);
$mform->setType('issuedbadges', PARAM_INT);
$mform->addElement('static', 'participantnumberaveragelabel', '',
" " . get_string('participantnumberaverage', 'hub', $participantnumberaverage));
$mform->addElement('hidden', 'participantnumberaverage', 1);
$mform->setType('participantnumberaverage', PARAM_FLOAT);
$mform->addElement('static', 'modulenumberaveragelabel', '',
" " . get_string('modulenumberaverage', 'hub', $modulenumberaverage));
$mform->addElement('hidden', 'modulenumberaverage', 1);
$mform->setType('modulenumberaverage', PARAM_FLOAT);
}
//check if it's a first registration or update
$hubregistered = $registrationmanager->get_registeredhub($huburl);
if (!empty($hubregistered)) {
$buttonlabel = get_string('updatesite', 'hub',
!empty($hubname) ? $hubname : $huburl);
$mform->addElement('hidden', 'update', true);
$mform->setType('update', PARAM_BOOL);
} else {
$buttonlabel = get_string('registersite', 'hub',
!empty($hubname) ? $hubname : $huburl);
}
$this->add_action_buttons(false, $buttonlabel);
}
}
debugging('Support for alternative hubs has been removed from Moodle in 3.4. For communication with moodle.net ' .
'see lib/classes/hub/ .', DEBUG_DEVELOPER);
+78 -165
View File
@@ -15,199 +15,112 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/*
/**
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL
* @copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com
*
* On this page the administrator selects which hub he wants to register (except for moodle.net)
* Admins can register with moodle.net via the site admin menu "Registration" link.
* On this page the administrator can also unregister from any hubs including moodle.net.
* This page displays the site registration form for Moodle.net.
* It handles redirection to the hub to continue the registration workflow process.
* It also handles update operation by web service.
*/
require('../../config.php');
require_once('../../config.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/forms.php');
require_once($CFG->dirroot . '/course/publish/lib.php');
require_once($CFG->dirroot . "/webservice/xmlrpc/lib.php");
admin_externalpage_setup('registrationhubs');
$renderer = $PAGE->get_renderer('core', 'register');
admin_externalpage_setup('registrationmoodleorg');
$unregistration = optional_param('unregistration', 0, PARAM_INT);
$cleanregdata = optional_param('cleanregdata', 0, PARAM_BOOL);
$confirm = optional_param('confirm', 0, PARAM_INT);
$huburl = optional_param('huburl', '', PARAM_URL);
$cancel = optional_param('cancel', null, PARAM_ALPHA);
$registrationmanager = new registration_manager();
$publicationmanager = new course_publish_manager();
$errormessage = '';
if (empty($cancel) and $unregistration and $confirm and confirm_sesskey()) {
if ($unregistration && \core\hub\registration::is_registered()) {
$siteunregistrationform = new \core\hub\site_unregistration_form();
$hub = $registrationmanager->get_registeredhub($huburl);
//unpublish course and unregister the site by web service
if (!$cleanregdata) {
//check if we need to unpublish courses
//enrollable courses
$unpublishalladvertisedcourses = optional_param('unpublishalladvertisedcourses', 0, PARAM_INT);
$hubcourseids = array();
if ($unpublishalladvertisedcourses) {
$enrollablecourses = $publicationmanager->get_publications($huburl, null, 1);
if (!empty($enrollablecourses)) {
foreach ($enrollablecourses as $enrollablecourse) {
$hubcourseids[] = $enrollablecourse->hubcourseid;
}
}
}
//downloadable courses
$unpublishalluploadedcourses = optional_param('unpublishalluploadedcourses', 0, PARAM_INT);
if ($unpublishalluploadedcourses) {
$downloadablecourses = $publicationmanager->get_publications($huburl, null, 0);
if (!empty($downloadablecourses)) {
foreach ($downloadablecourses as $downloadablecourse) {
$hubcourseids[] = $downloadablecourse->hubcourseid;
}
}
}
//unpublish the courses by web service
if (!empty($hubcourseids)) {
$function = 'hub_unregister_courses';
$params = array('courseids' => $hubcourseids);
$serverurl = $huburl . "/local/hub/webservice/webservices.php";
$xmlrpcclient = new webservice_xmlrpc_client($serverurl, $hub->token);
try {
$result = $xmlrpcclient->call($function, $params);
//delete the published courses
if (!empty($enrollablecourses)) {
$publicationmanager->delete_hub_publications($huburl, 1);
}
if (!empty($downloadablecourses)) {
$publicationmanager->delete_hub_publications($huburl, 0);
}
} catch (Exception $e) {
$errormessage = $e->getMessage();
$errormessage .= html_writer::empty_tag('br') .
get_string('errorunpublishcourses', 'hub');
$confirm = false;
$cleanregdata = 1;
}
if ($siteunregistrationform->is_cancelled()) {
redirect(new moodle_url('/admin/registration/index.php'));
} else if ($data = $siteunregistrationform->get_data()) {
\core\hub\registration::unregister($data->unpublishalladvertisedcourses,
$data->unpublishalluploadedcourses);
if (!\core\hub\registration::is_registered()) {
redirect(new moodle_url('/admin/registration/index.php'));
}
}
//course unpublish went ok, unregister the site now
if ($confirm) {
$function = 'hub_unregister_site';
$params = array();
$serverurl = $huburl . "/local/hub/webservice/webservices.php";
$xmlrpcclient = new webservice_xmlrpc_client($serverurl, $hub->token);
try {
$result = $xmlrpcclient->call($function, $params);
} catch (Exception $e) {
if (!$cleanregdata) {
$errormessage = $e->getMessage();
$confirm = false;
$cleanregdata = 1;
}
}
}
//check that we are still processing the unregistration,
//it could have been unset if an exception were previsouly catched
if ($confirm) {
$registrationmanager->delete_registeredhub($huburl);
}
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('unregisterfrom', 'hub', 'Moodle.net'), 3, 'main');
$siteunregistrationform->display();
echo $OUTPUT->footer();
exit;
}
if (empty($cancel) and $unregistration and !$confirm) {
$isinitialregistration = \core\hub\registration::show_after_install(true);
if (!$returnurl = optional_param('returnurl', null, PARAM_LOCALURL)) {
$returnurl = $isinitialregistration ? '/admin/index.php' : '/admin/registration/index.php';
}
echo $OUTPUT->header();
$siteregistrationform = new \core\hub\site_registration_form();
$siteregistrationform->set_data(['returnurl' => $returnurl]);
if ($fromform = $siteregistrationform->get_data()) {
//do not check sesskey if confirm = false because this script is linked into email message
if (!empty($errormessage)) {
echo $OUTPUT->notification(get_string('unregistrationerror', 'hub', $errormessage));
}
// Save the settings.
\core\hub\registration::save_site_info($fromform);
$hub = $registrationmanager->get_registeredhub($huburl);
echo $OUTPUT->heading(get_string('unregisterfrom', 'hub', $hub->hubname), 3, 'main');
if ($cleanregdata) {
$siteunregistrationform = new site_clean_registration_data_form('',
array('huburl' => $huburl, 'hubname' => $hub->hubname));
if (\core\hub\registration::is_registered()) {
if (\core\hub\registration::update_manual()) {
redirect(new moodle_url($returnurl));
}
redirect(new moodle_url('/admin/registration/index.php', ['returnurl' => $returnurl]));
} else {
$siteunregistrationform = new site_unregistration_form('',
array('huburl' => $huburl, 'hubname' => $hub->hubname));
\core\hub\registration::register($returnurl);
// This method will redirect away.
}
$siteunregistrationform->display();
}
// OUTPUT SECTION.
echo $OUTPUT->header();
// Current status of registration on Moodle.net.
$notificationtype = \core\output\notification::NOTIFY_ERROR;
if (\core\hub\registration::is_registered()) {
$lastupdated = \core\hub\registration::get_last_updated();
if ($lastupdated == 0) {
$registrationmessage = get_string('pleaserefreshregistrationunknown', 'admin');
} else if (\core\hub\registration::get_new_registration_fields()) {
$registrationmessage = get_string('pleaserefreshregistrationnewdata', 'admin');
} else {
$lastupdated = userdate($lastupdated, get_string('strftimedate', 'langconfig'));
$registrationmessage = get_string('pleaserefreshregistration', 'admin', $lastupdated);
$notificationtype = \core\output\notification::NOTIFY_INFO;
}
echo $OUTPUT->notification($registrationmessage, $notificationtype);
} else if (!$isinitialregistration) {
$registrationmessage = get_string('registrationwarning', 'admin');
echo $OUTPUT->notification($registrationmessage, $notificationtype);
}
// Heading.
if (\core\hub\registration::is_registered()) {
echo $OUTPUT->heading(get_string('updatesite', 'hub', 'Moodle.net'));
} else if ($isinitialregistration) {
echo $OUTPUT->heading(get_string('completeregistration', 'hub'));
} else {
$registeredonmoodleorg = false;
$moodleorghub = $registrationmanager->get_registeredhub(HUB_MOODLEORGHUBURL);
if (!empty($moodleorghub)) {
$registeredonmoodleorg = true;
}
echo $OUTPUT->heading(get_string('registerwithmoodleorg', 'admin'));
}
// load the hub selector form
$hubselectorform = new hub_selector_form();
$fromform = $hubselectorform->get_data();
$selectedhuburl = optional_param('publichub', false, PARAM_URL);
$unlistedhuburl = optional_param('unlistedurl', false, PARAM_TEXT);
$password = optional_param('password', '', PARAM_RAW);
$registeringhuburl = null;
if (!empty($unlistedhuburl)) {
if (clean_param($unlistedhuburl, PARAM_URL) !== '') {
$registeringhuburl = $unlistedhuburl;
}
} else if (!empty($selectedhuburl)) {
$registeringhuburl = $selectedhuburl;
}
$renderer = $PAGE->get_renderer('core', 'admin');
echo $renderer->moodleorg_registration_message();
// a hub has been selected, redirect to the hub registration page
if (empty($cancel) and !empty($registeringhuburl) and confirm_sesskey()) {
$hubname = optional_param(clean_param($registeringhuburl, PARAM_ALPHANUMEXT), '', PARAM_TEXT);
$params = array('sesskey' => sesskey(), 'huburl' => $registeringhuburl,
'password' => $password, 'hubname' => $hubname);
redirect(new moodle_url($CFG->wwwroot . "/" . $CFG->admin . "/registration/register.php",
$params));
}
$siteregistrationform->display();
echo $OUTPUT->header();
//check if the site is registered on Moodle.org and display a message about registering on MOOCH
$registered = $DB->count_records('registration_hubs', array('huburl' => HUB_MOODLEORGHUBURL, 'confirmed' => 1));
if (empty($registered)) {
$warningmsg = get_string('registermoochtips', 'hub');
$warningmsg .= $renderer->single_button(new moodle_url('register.php', array('huburl' => HUB_MOODLEORGHUBURL
, 'hubname' => 'Moodle.org')), get_string('register', 'admin'));
echo $renderer->box($warningmsg, 'buttons mdl-align generalbox adminwarning');
}
//do not check sesskey if confirm = false because this script is linked into email message
if (!empty($errormessage)) {
echo $OUTPUT->notification(get_string('unregistrationerror', 'hub', $errormessage));
}
echo $OUTPUT->heading(get_string('registerwith', 'hub'));
$hubselectorform->display();
if (extension_loaded('xmlrpc')) {
$hubs = $registrationmanager->get_registered_on_hubs();
if (!empty($hubs)) {
echo $OUTPUT->heading(get_string('registeredon', 'hub'), 3, 'main');
echo $renderer->registeredonhublisting($hubs);
}
} else { //display notice about xmlrpc
$xmlrpcnotification = $OUTPUT->doc_link('admin/environment/php_extension/xmlrpc', '');
$xmlrpcnotification .= get_string('xmlrpcdisabledregistration', 'hub');
echo $OUTPUT->notification($xmlrpcnotification);
}
if (\core\hub\registration::is_registered()) {
// Unregister link.
$unregisterhuburl = new moodle_url("/admin/registration/index.php", ['unregistration' => 1]);
echo html_writer::div(html_writer::link($unregisterhuburl, get_string('unregister', 'hub')), 'unregister');
} else if ($isinitialregistration) {
echo html_writer::div(html_writer::link(new moodle_url($returnurl), get_string('skipregistration', 'hub')), 'skipregistration');
}
echo $OUTPUT->footer();
+1 -295
View File
@@ -1,5 +1,4 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
@@ -15,297 +14,4 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
//// SITE PRIVACY /////
/**
* Site privacy: private
*/
define('HUB_SITENOTPUBLISHED', 'notdisplayed');
/**
* Site privacy: public
*/
define('HUB_SITENAMEPUBLISHED', 'named');
/**
* Site privacy: public and global
*/
define('HUB_SITELINKPUBLISHED', 'linked');
/**
*
* Site registration library
*
* @package course
* @copyright 2010 Moodle Pty Ltd (http://moodle.com)
* @author Jerome Mouneyrac
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class registration_manager {
/**
* Automatically update the registration on all hubs
*/
public function cron() {
global $CFG;
if (extension_loaded('xmlrpc')) {
$function = 'hub_update_site_info';
require_once($CFG->dirroot . "/webservice/xmlrpc/lib.php");
// Update all hubs where the site is registered.
$hubs = $this->get_registered_on_hubs();
if (empty($hubs)) {
mtrace(get_string('registrationwarning', 'admin'));
}
foreach ($hubs as $hub) {
// Update the registration.
$siteinfo = $this->get_site_info($hub->huburl);
$params = array('siteinfo' => $siteinfo);
$serverurl = $hub->huburl . "/local/hub/webservice/webservices.php";
$xmlrpcclient = new webservice_xmlrpc_client($serverurl, $hub->token);
try {
$result = $xmlrpcclient->call($function, $params);
$this->update_registeredhub($hub); // To update timemodified.
mtrace(get_string('siteupdatedcron', 'hub', $hub->hubname));
} catch (Exception $e) {
$errorparam = new stdClass();
$errorparam->errormessage = $e->getMessage();
$errorparam->hubname = $hub->hubname;
mtrace(get_string('errorcron', 'hub', $errorparam));
}
}
} else {
mtrace(get_string('errorcronnoxmlrpc', 'hub'));
}
}
/**
* Return the site secret for a given hub
* site identifier is assigned to Mooch
* each hub has a unique and personal site secret.
* @param string $huburl
* @return string site secret
*/
public function get_site_secret_for_hub($huburl) {
global $DB;
$existingregistration = $DB->get_record('registration_hubs',
array('huburl' => $huburl));
if (!empty($existingregistration)) {
return $existingregistration->secret;
}
if ($huburl == HUB_MOODLEORGHUBURL) {
$siteidentifier = get_site_identifier();
} else {
$siteidentifier = random_string(32) . $_SERVER['HTTP_HOST'];
}
return $siteidentifier;
}
/**
* When the site register on a hub, he must call this function
* @param object $hub where the site is registered on
* @return integer id of the record
*/
public function add_registeredhub($hub) {
global $DB;
$hub->timemodified = time();
$id = $DB->insert_record('registration_hubs', $hub);
return $id;
}
/**
* When a site unregister from a hub, he must call this function
* @param string $huburl the huburl to delete
*/
public function delete_registeredhub($huburl) {
global $DB;
$DB->delete_records('registration_hubs', array('huburl' => $huburl));
}
/**
* Get a hub on which the site is registered for a given url or token
* Mostly use to check if the site is registered on a specific hub
* @param string $huburl
* @param string $token
* @return object the hub
*/
public function get_registeredhub($huburl = null, $token = null) {
global $DB;
$params = array();
if (!empty($huburl)) {
$params['huburl'] = $huburl;
}
if (!empty($token)) {
$params['token'] = $token;
}
$params['confirmed'] = 1;
$token = $DB->get_record('registration_hubs', $params);
return $token;
}
/**
* Get the hub which has not confirmed that the site is registered on,
* but for which a request has been sent
* @param string $huburl
* @return object the hub
*/
public function get_unconfirmedhub($huburl) {
global $DB;
$params = array();
$params['huburl'] = $huburl;
$params['confirmed'] = 0;
$token = $DB->get_record('registration_hubs', $params);
return $token;
}
/**
* Update a registered hub (mostly use to update the confirmation status)
* @param object $hub the hub
*/
public function update_registeredhub($hub) {
global $DB;
$hub->timemodified = time();
$DB->update_record('registration_hubs', $hub);
}
/**
* Return all hubs where the site is registered
*/
public function get_registered_on_hubs() {
global $DB;
$hubs = $DB->get_records('registration_hubs', array('confirmed' => 1));
return $hubs;
}
/**
* Return site information for a specific hub
* @param string $huburl
* @return array site info
*/
public function get_site_info($huburl) {
global $CFG, $DB;
$siteinfo = array();
$cleanhuburl = clean_param($huburl, PARAM_ALPHANUMEXT);
$siteinfo['name'] = get_config('hub', 'site_name_' . $cleanhuburl);
$siteinfo['description'] = get_config('hub', 'site_description_' . $cleanhuburl);
$siteinfo['contactname'] = get_config('hub', 'site_contactname_' . $cleanhuburl);
$siteinfo['contactemail'] = get_config('hub', 'site_contactemail_' . $cleanhuburl);
$siteinfo['contactphone'] = get_config('hub', 'site_contactphone_' . $cleanhuburl);
$siteinfo['imageurl'] = get_config('hub', 'site_imageurl_' . $cleanhuburl);
$siteinfo['privacy'] = get_config('hub', 'site_privacy_' . $cleanhuburl);
$siteinfo['street'] = get_config('hub', 'site_address_' . $cleanhuburl);
$siteinfo['regioncode'] = get_config('hub', 'site_region_' . $cleanhuburl);
$siteinfo['countrycode'] = get_config('hub', 'site_country_' . $cleanhuburl);
$siteinfo['geolocation'] = get_config('hub', 'site_geolocation_' . $cleanhuburl);
$siteinfo['contactable'] = get_config('hub', 'site_contactable_' . $cleanhuburl);
$siteinfo['emailalert'] = get_config('hub', 'site_emailalert_' . $cleanhuburl);
if (get_config('hub', 'site_coursesnumber_' . $cleanhuburl) == -1) {
$coursecount = -1;
} else {
$coursecount = $DB->count_records('course') - 1;
}
$siteinfo['courses'] = $coursecount;
if (get_config('hub', 'site_usersnumber_' . $cleanhuburl) == -1) {
$usercount = -1;
} else {
$usercount = $DB->count_records('user', array('deleted' => 0));
}
$siteinfo['users'] = $usercount;
if (get_config('hub', 'site_roleassignmentsnumber_' . $cleanhuburl) == -1) {
$roleassigncount = -1;
} else {
$roleassigncount = $DB->count_records('role_assignments');
}
$siteinfo['enrolments'] = $roleassigncount;
if (get_config('hub', 'site_postsnumber_' . $cleanhuburl) == -1) {
$postcount = -1;
} else {
$postcount = $DB->count_records('forum_posts');
}
$siteinfo['posts'] = $postcount;
if (get_config('hub', 'site_questionsnumber_' . $cleanhuburl) == -1) {
$questioncount = -1;
} else {
$questioncount = $DB->count_records('question');
}
$siteinfo['questions'] = $questioncount;
if (get_config('hub', 'site_resourcesnumber_' . $cleanhuburl) == -1) {
$resourcecount = -1;
} else {
$resourcecount = $DB->count_records('resource');
}
$siteinfo['resources'] = $resourcecount;
// Badge statistics.
require_once($CFG->libdir . '/badgeslib.php');
if (get_config('hub', 'site_badges_' . $cleanhuburl) == -1) {
$badges = -1;
} else {
$badges = $DB->count_records_select('badge', 'status <> ' . BADGE_STATUS_ARCHIVED);
}
$siteinfo['badges'] = $badges;
if (get_config('hub', 'site_issuedbadges_' . $cleanhuburl) == -1) {
$issuedbadges = -1;
} else {
$issuedbadges = $DB->count_records('badge_issued');
}
$siteinfo['issuedbadges'] = $issuedbadges;
//TODO
require_once($CFG->dirroot . "/course/lib.php");
if (get_config('hub', 'site_participantnumberaverage_' . $cleanhuburl) == -1) {
$participantnumberaverage = -1;
} else {
$participantnumberaverage = average_number_of_participants();
}
$siteinfo['participantnumberaverage'] = $participantnumberaverage;
if (get_config('hub', 'site_modulenumberaverage_' . $cleanhuburl) == -1) {
$modulenumberaverage = -1;
} else {
$modulenumberaverage = average_number_of_courses_modules();
}
$siteinfo['modulenumberaverage'] = $modulenumberaverage;
$siteinfo['language'] = get_config('hub', 'site_language_' . $cleanhuburl);
$siteinfo['moodleversion'] = $CFG->version;
$siteinfo['moodlerelease'] = $CFG->release;
$siteinfo['url'] = $CFG->wwwroot;
return $siteinfo;
}
/**
* Retrieve the site privacy string matching the define value
* @param string $privacy must match the define into moodlelib.php
* @return string
*/
public function get_site_privacy_string($privacy) {
switch ($privacy) {
case HUB_SITENOTPUBLISHED:
$privacystring = get_string('siteprivacynotpublished', 'hub');
break;
case HUB_SITENAMEPUBLISHED:
$privacystring = get_string('siteprivacypublished', 'hub');
break;
case HUB_SITELINKPUBLISHED:
$privacystring = get_string('siteprivacylinked', 'hub');
break;
}
if (empty($privacystring)) {
throw new moodle_exception('unknownprivacy');
}
return $privacystring;
}
}
?>
defined('MOODLE_INTERNAL') || die();
+2 -165
View File
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////
/*
/**
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
@@ -34,168 +34,5 @@
require_once('../../config.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/forms.php');
require_once($CFG->dirroot . '/webservice/lib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php');
require_sesskey();
$huburl = required_param('huburl', PARAM_URL);
$huburl = rtrim($huburl, "/");
if ($huburl == HUB_MOODLEORGHUBURL) { // register to Moodle.org
admin_externalpage_setup('registrationmoodleorg');
} else { //register to a hub
admin_externalpage_setup('registrationhub');
}
$password = optional_param('password', '', PARAM_TEXT);
$hubname = optional_param('hubname', '', PARAM_TEXT);
$registrationmanager = new registration_manager();
$registeredhub = $registrationmanager->get_registeredhub($huburl);
$siteregistrationform = new site_registration_form('',
array('alreadyregistered' => !empty($registeredhub->token),
'huburl' => $huburl, 'hubname' => $hubname,
'password' => $password));
$fromform = $siteregistrationform->get_data();
if (!empty($fromform) and confirm_sesskey()) {
// Set to -1 all optional data marked as "don't send" by the admin.
// The function get_site_info() will not calculate the optional data if config is set to -1.
$inputnames = array('courses', 'users', 'roleassignments', 'posts', 'questions', 'resources',
'badges', 'issuedbadges', 'modulenumberaverage', 'participantnumberaverage');
foreach ($inputnames as $inputname) {
if (empty($fromform->{$inputname})) {
$fromform->{$inputname} = -1;
}
}
// Save the settings.
$cleanhuburl = clean_param($huburl, PARAM_ALPHANUMEXT);
set_config('site_name_' . $cleanhuburl, $fromform->name, 'hub');
set_config('site_description_' . $cleanhuburl, $fromform->description, 'hub');
set_config('site_contactname_' . $cleanhuburl, $fromform->contactname, 'hub');
set_config('site_contactemail_' . $cleanhuburl, $fromform->contactemail, 'hub');
set_config('site_contactphone_' . $cleanhuburl, $fromform->contactphone, 'hub');
set_config('site_imageurl_' . $cleanhuburl, $fromform->imageurl, 'hub');
set_config('site_privacy_' . $cleanhuburl, $fromform->privacy, 'hub');
set_config('site_address_' . $cleanhuburl, $fromform->address, 'hub');
set_config('site_region_' . $cleanhuburl, $fromform->regioncode, 'hub');
set_config('site_country_' . $cleanhuburl, $fromform->countrycode, 'hub');
set_config('site_language_' . $cleanhuburl, $fromform->language, 'hub');
set_config('site_geolocation_' . $cleanhuburl, $fromform->geolocation, 'hub');
set_config('site_contactable_' . $cleanhuburl, $fromform->contactable, 'hub');
set_config('site_emailalert_' . $cleanhuburl, $fromform->emailalert, 'hub');
set_config('site_coursesnumber_' . $cleanhuburl, $fromform->courses, 'hub');
set_config('site_usersnumber_' . $cleanhuburl, $fromform->users, 'hub');
set_config('site_roleassignmentsnumber_' . $cleanhuburl, $fromform->roleassignments, 'hub');
set_config('site_postsnumber_' . $cleanhuburl, $fromform->posts, 'hub');
set_config('site_questionsnumber_' . $cleanhuburl, $fromform->questions, 'hub');
set_config('site_resourcesnumber_' . $cleanhuburl, $fromform->resources, 'hub');
set_config('site_badges_' . $cleanhuburl, $fromform->badges, 'hub');
set_config('site_issuedbadges_' . $cleanhuburl, $fromform->issuedbadges, 'hub');
set_config('site_modulenumberaverage_' . $cleanhuburl, $fromform->modulenumberaverage, 'hub');
set_config('site_participantnumberaverage_' . $cleanhuburl, $fromform->participantnumberaverage, 'hub');
}
/////// UPDATE ACTION ////////
// update the hub registration
$update = optional_param('update', 0, PARAM_INT);
if ($update and confirm_sesskey()) {
//update the registration
$function = 'hub_update_site_info';
$siteinfo = $registrationmanager->get_site_info($huburl);
$params = array('siteinfo' => $siteinfo);
$serverurl = $huburl . "/local/hub/webservice/webservices.php";
require_once($CFG->dirroot . "/webservice/xmlrpc/lib.php");
$xmlrpcclient = new webservice_xmlrpc_client($serverurl, $registeredhub->token);
try {
$result = $xmlrpcclient->call($function, $params);
$registrationmanager->update_registeredhub($registeredhub); // To update timemodified.
} catch (Exception $e) {
$error = $OUTPUT->notification(get_string('errorregistration', 'hub', $e->getMessage()));
}
}
/////// FORM REGISTRATION ACTION //////
if (!empty($fromform) and empty($update) and confirm_sesskey()) {
if (!empty($fromform) and confirm_sesskey()) { // if the register button has been clicked
// Retrieve the optional info (specially course number, user number, module number average...).
$siteinfo = $registrationmanager->get_site_info($huburl);
$fromform->courses = $siteinfo['courses'];
$fromform->users = $siteinfo['users'];
$fromform->enrolments = $siteinfo['enrolments'];
$fromform->posts = $siteinfo['posts'];
$fromform->questions = $siteinfo['questions'];
$fromform->resources = $siteinfo['resources'];
$fromform->badges = $siteinfo['badges'];
$fromform->issuedbadges = $siteinfo['issuedbadges'];
$fromform->modulenumberaverage = $siteinfo['modulenumberaverage'];
$fromform->participantnumberaverage = $siteinfo['participantnumberaverage'];
$fromform->street = $siteinfo['street'];
$params = (array) $fromform; //we are using the form input as the redirection parameters (token, url and name)
$unconfirmedhub = $registrationmanager->get_unconfirmedhub($huburl);
if (empty($unconfirmedhub)) {
//we save the token into the communication table in order to have a reference
$unconfirmedhub = new stdClass();
$unconfirmedhub->token = $registrationmanager->get_site_secret_for_hub($huburl);
$unconfirmedhub->secret = $unconfirmedhub->token;
$unconfirmedhub->huburl = $huburl;
$unconfirmedhub->hubname = $hubname;
$unconfirmedhub->confirmed = 0;
$unconfirmedhub->id = $registrationmanager->add_registeredhub($unconfirmedhub);
}
$params['token'] = $unconfirmedhub->token;
$params['url'] = $CFG->wwwroot;
redirect(new moodle_url($huburl . '/local/hub/siteregistration.php', $params));
}
}
/////// OUTPUT SECTION /////////////
echo $OUTPUT->header();
//Display update notification result
if (!empty($registeredhub->confirmed)) {
if (!empty($result)) {
echo $OUTPUT->notification(get_string('siteregistrationupdated', 'hub'), 'notifysuccess');
}
}
if (!empty($error)) {
echo $error;
}
// Some Moodle.org registration explanation.
if ($huburl == HUB_MOODLEORGHUBURL) {
if (!empty($registeredhub->token)) {
if ($registeredhub->timemodified == 0) {
$registrationmessage = get_string('pleaserefreshregistrationunknown', 'admin');
} else {
$lastupdated = userdate($registeredhub->timemodified, get_string('strftimedate', 'langconfig'));
$registrationmessage = get_string('pleaserefreshregistration', 'admin', $lastupdated);
}
} else {
$registrationmessage = get_string('registrationwarning', 'admin');
}
echo $OUTPUT->notification($registrationmessage);
echo $OUTPUT->heading(get_string('registerwithmoodleorg', 'admin'));
$renderer = $PAGE->get_renderer('core', 'register');
echo $renderer->moodleorg_registration_message();
}
$siteregistrationform->display();
echo $OUTPUT->footer();
redirect(new moodle_url('/admin/registration/index.php'));
-95
View File
@@ -1,95 +0,0 @@
<?php
///////////////////////////////////////////////////////////////////////////
// //
// This file is part of Moodle - http://moodle.org/ //
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
// //
// 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/>. //
// //
///////////////////////////////////////////////////////////////////////////
/**
* Registration renderer.
* @package moodle
* @subpackage registration
* @copyright 2010 Moodle Pty Ltd (http://moodle.com)
* @author Jerome Mouneyrac
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class core_register_renderer extends plugin_renderer_base {
/**
* Display message about the benefits of registering on Moodle.org
*
* @return string
*/
public function moodleorg_registration_message() {
$moodleorgstatslink = html_writer::link('http://moodle.net/stats',
get_string('statsmoodleorg', 'admin'),
array('target' => '_blank'));
$moodleorgregmsg = get_string('registermoodleorg', 'admin');
$items = array(get_string('registermoodleorgli1', 'admin'),
get_string('registermoodleorgli2', 'admin', $moodleorgstatslink));
$moodleorgregmsg .= html_writer::alist($items);
return $moodleorgregmsg;
}
/**
* Display a box message confirming a site registration (add or update)
* @param string $confirmationmessage
* @return string
*/
public function registration_confirmation($confirmationmessage) {
$linktositelist = html_writer::tag('a', get_string('sitelist', 'hub'),
array('href' => new moodle_url('/local/hub/index.php')));
$message = $confirmationmessage . html_writer::empty_tag('br') . $linktositelist;
return $this->output->box($message);
}
/**
* Display the listing of registered on hub
*/
public function registeredonhublisting($hubs) {
global $CFG;
$table = new html_table();
$table->head = array(get_string('hub', 'hub'), get_string('operation', 'hub'));
$table->size = array('80%', '20%');
foreach ($hubs as $hub) {
if ($hub->huburl == HUB_MOODLEORGHUBURL) {
$hub->hubname = get_string('registeredmoodleorg', 'hub', $hub->hubname);
}
$hublink = html_writer::tag('a', $hub->hubname, array('href' => $hub->huburl));
$hublinkcell = html_writer::tag('div', $hublink, array('class' => 'registeredhubrow'));
$unregisterhuburl = new moodle_url("/" . $CFG->admin . "/registration/index.php",
array('sesskey' => sesskey(), 'huburl' => $hub->huburl,
'unregistration' => 1));
$unregisterbutton = new single_button($unregisterhuburl,
get_string('unregister', 'hub'));
$unregisterbutton->class = 'centeredbutton';
$unregisterbuttonhtml = $this->output->render($unregisterbutton);
//add button cells
$cells = array($hublinkcell, $unregisterbuttonhtml);
$row = new html_table_row($cells);
$table->data[] = $row;
}
return html_writer::table($table);
}
}
+29 -33
View File
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////
/*
/**
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
@@ -33,44 +33,40 @@
require('../../config.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/registration/lib.php');
$url = optional_param('url', '', PARAM_URL);
$hubname = optional_param('hubname', '', PARAM_TEXT);
$token = optional_param('token', '', PARAM_TEXT);
admin_externalpage_setup('registrationhubs');
admin_externalpage_setup('registrationmoodleorg');
//check that we are waiting a confirmation from this hub, and check that the token is correct
$registrationmanager = new registration_manager();
$registeredhub = $registrationmanager->get_unconfirmedhub($url);
if (!empty($registeredhub) and $registeredhub->token == $token) {
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('renewregistration', 'hub'), 3, 'main');
$hublink = html_writer::tag('a', $hubname, array('href' => $url));
$registrationmanager->delete_registeredhub($url);
//Mooch case, need to recreate the siteidentifier
if ($url == HUB_MOODLEORGHUBURL) {
$CFG->siteidentifier = null;
get_site_identifier();
if ($url !== HUB_MOODLEORGHUBURL) {
// Allow other plugins to renew registration on hubs other than moodle.net . Plugins implementing this
// callback need to redirect or exit. See https://docs.moodle.org/en/Hub_registration .
$callbacks = get_plugins_with_function('hub_registration');
foreach ($callbacks as $plugintype => $plugins) {
foreach ($plugins as $plugin => $callback) {
$callback('renew');
}
}
$deletedregmsg = get_string('previousregistrationdeleted', 'hub', $hublink);
$button = new single_button(new moodle_url('/admin/registration/index.php'),
get_string('restartregistration', 'hub'));
$button->class = 'restartregbutton';
echo html_writer::tag('div', $deletedregmsg . $OUTPUT->render($button),
array('class' => 'mdl-align'));
echo $OUTPUT->footer();
} else {
throw new moodle_exception('wrongtoken', 'hub',
$CFG->wwwroot . '/' . $CFG->admin . '/registration/index.php');
throw new moodle_exception('errorotherhubsnotsupported', 'hub');
}
// Check that we are waiting a confirmation from this hub, and check that the token is correct.
\core\hub\registration::reset_site_identifier($token);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('renewregistration', 'hub'), 3, 'main');
$hublink = html_writer::tag('a', 'Moodle.net', array('href' => HUB_MOODLEORGHUBURL));
$deletedregmsg = get_string('previousregistrationdeleted', 'hub', $hublink);
$button = new single_button(new moodle_url('/admin/registration/index.php'),
get_string('restartregistration', 'hub'));
$button->class = 'restartregbutton';
echo html_writer::tag('div', $deletedregmsg . $OUTPUT->render($button),
array('class' => 'mdl-align'));
echo $OUTPUT->footer();
+108 -6
View File
@@ -276,12 +276,19 @@ class core_admin_renderer extends plugin_renderer_base {
* @param int|null $availableupdatesfetch timestamp of the most recent updates fetch or null (unknown)
* @param string[] $cachewarnings An array containing warnings from the Cache API.
* @param array $eventshandlers Events 1 API handlers.
* @param bool $themedesignermode Warn about the theme designer mode.
* @param bool $devlibdir Warn about development libs directory presence.
* @param bool $mobileconfigured Whether the mobile web services have been enabled
* @param bool $overridetossl Whether or not ssl is being forced.
* @param bool $invalidforgottenpasswordurl Whether the forgotten password URL does not link to a valid URL.
*
* @return string HTML to output.
*/
public function admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed,
$cronoverdue, $dbproblems, $maintenancemode, $availableupdates, $availableupdatesfetch,
$buggyiconvnomb, $registered, array $cachewarnings = array(), $eventshandlers = 0, $themedesignermode = false) {
$buggyiconvnomb, $registered, array $cachewarnings = array(), $eventshandlers = 0,
$themedesignermode = false, $devlibdir = false, $mobileconfigured = false,
$overridetossl = false, $invalidforgottenpasswordurl = false) {
global $CFG;
$output = '';
@@ -290,15 +297,19 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->legacy_log_store_writing_error();
$output .= empty($CFG->disableupdatenotifications) ? $this->available_updates($availableupdates, $availableupdatesfetch) : '';
$output .= $this->insecure_dataroot_warning($insecuredataroot);
$output .= $this->development_libs_directories_warning($devlibdir);
$output .= $this->themedesignermode_warning($themedesignermode);
$output .= $this->display_errors_warning($errorsdisplayed);
$output .= $this->buggy_iconv_warning($buggyiconvnomb);
$output .= $this->cron_overdue_warning($cronoverdue);
$output .= $this->db_problems($dbproblems);
$output .= $this->maintenance_mode_warning($maintenancemode);
$output .= $this->overridetossl_warning($overridetossl);
$output .= $this->cache_warnings($cachewarnings);
$output .= $this->events_handlers($eventshandlers);
$output .= $this->registration_warning($registered);
$output .= $this->mobile_configuration_warning($mobileconfigured);
$output .= $this->forgotten_password_url_warning($invalidforgottenpasswordurl);
//////////////////////////////////////////////////////////////////////////////////////////////////
//// IT IS ILLEGAL AND A VIOLATION OF THE GPL TO HIDE, REMOVE OR MODIFY THIS COPYRIGHT NOTICE ///
@@ -520,6 +531,24 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
/**
* Render a warning that a directory with development libs is present.
*
* @param bool $devlibdir True if the warning should be displayed.
* @return string
*/
protected function development_libs_directories_warning($devlibdir) {
if ($devlibdir) {
$moreinfo = new moodle_url('/report/security/index.php');
$warning = get_string('devlibdirpresent', 'core_admin', ['moreinfourl' => $moreinfo->out()]);
return $this->warning($warning, 'error');
} else {
return '';
}
}
/**
* Render an appropriate message if dataroot is insecure.
* @param bool $errorsdisplayed
@@ -644,6 +673,20 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->warning(get_string('sitemaintenancewarning2', 'admin', $url));
}
/**
* Render a warning that ssl is forced because the site was on loginhttps.
*
* @param bool $overridetossl Whether or not ssl is being forced.
* @return string
*/
protected function overridetossl_warning($overridetossl) {
if (!$overridetossl) {
return '';
}
$warning = get_string('overridetossl', 'core_admin');
return $this->warning($warning, 'warning');
}
/**
* Display a warning about installing development code if necesary.
* @param int $maturity
@@ -782,17 +825,67 @@ class core_admin_renderer extends plugin_renderer_base {
if (!$registered) {
$registerbutton = $this->single_button(new moodle_url('/admin/registration/register.php',
array('huburl' => HUB_MOODLEORGHUBURL, 'hubname' => 'Moodle.org')),
if (has_capability('moodle/site:config', context_system::instance())) {
$registerbutton = $this->single_button(new moodle_url('/admin/registration/index.php'),
get_string('register', 'admin'));
$str = 'registrationwarning';
} else {
$registerbutton = '';
$str = 'registrationwarningcontactadmin';
}
return $this->warning( get_string('registrationwarning', 'admin')
. '&nbsp;' . $this->help_icon('registration', 'admin') . $registerbutton );
return $this->warning( get_string($str, 'admin')
. '&nbsp;' . $this->help_icon('registration', 'admin') . $registerbutton ,
'error alert alert-danger');
}
return '';
}
/**
* Return an admin page warning if site is not registered with moodle.org
*
* @return string
*/
public function warn_if_not_registered() {
return $this->registration_warning(\core\hub\registration::is_registered());
}
/**
* Display a warning about the Mobile Web Services being disabled.
*
* @param boolean $mobileconfigured true if mobile web services are enabled
* @return string HTML to output.
*/
protected function mobile_configuration_warning($mobileconfigured) {
$output = '';
if (!$mobileconfigured) {
$settingslink = new moodle_url('/admin/settings.php', ['section' => 'mobilesettings']);
$configurebutton = $this->single_button($settingslink, get_string('enablemobilewebservice', 'admin'));
$output .= $this->warning(get_string('mobilenotconfiguredwarning', 'admin') . '&nbsp;' . $configurebutton);
}
return $output;
}
/**
* Display a warning about the forgotten password URL not linking to a valid URL.
*
* @param boolean $invalidforgottenpasswordurl true if the forgotten password URL is not valid
* @return string HTML to output.
*/
protected function forgotten_password_url_warning($invalidforgottenpasswordurl) {
$output = '';
if ($invalidforgottenpasswordurl) {
$settingslink = new moodle_url('/admin/settings.php', ['section' => 'manageauths']);
$configurebutton = $this->single_button($settingslink, get_string('check', 'moodle'));
$output .= $this->warning(get_string('invalidforgottenpasswordurl', 'admin') . '&nbsp;' . $configurebutton,
'error alert alert-danger');
}
return $output;
}
/**
* Helper method to render the information about the available Moodle update
*
@@ -1897,7 +1990,7 @@ class core_admin_renderer extends plugin_renderer_base {
if (empty($CFG->docroot) or $environment_result->plugin) {
$report = get_string($stringtouse, 'admin', $rec);
} else {
$report = $this->doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec));
$report = $this->doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec), true);
}
// Enclose report text in div so feedback text will be displayed underneath it.
$report = html_writer::div($report);
@@ -1991,4 +2084,13 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->warning(get_string('legacylogginginuse'));
}
}
/**
* Display message about the benefits of registering on Moodle.org
*
* @return string
*/
public function moodleorg_registration_message() {
return format_text(get_string('registermoodlenet', 'admin'), FORMAT_HTML, ['noclean' => true]);
}
}
+1 -1
View File
@@ -245,7 +245,7 @@ if ($roleid) {
$select = new single_select($PAGE->url, 'roleid', $nameswithcounts, $roleid, null);
$select->label = get_string('assignanotherrole', 'core_role');
echo $OUTPUT->render($select);
echo '<p><a href="' . $PAGE->url . '">' . get_string('backtoallroles', 'core_role') . '</a></p>';
echo '<p><a href="' . $url . '">' . get_string('backtoallroles', 'core_role') . '</a></p>';
echo '</div>';
} else if (empty($assignableroles)) {
@@ -183,9 +183,14 @@ abstract class core_role_capability_table_with_risks extends core_role_capabilit
public function get_risk_icon($type) {
global $OUTPUT;
$text = $OUTPUT->pix_icon('i/' . str_replace('risk', 'risk_', $type), get_string($type . 'short', 'admin'));
$alt = get_string("{$type}short", "admin");
$title = get_string($type, "admin");
$text = $OUTPUT->pix_icon('i/' . str_replace('risk', 'risk_', $type), $alt, 'moodle', [
'title' => $title,
]);
$action = new popup_action('click', $this->risksurl, 'docspopup');
$riskicon = $OUTPUT->action_link($this->risksurl, $text, $action, array('title'=>get_string($type, 'admin')));
$riskicon = $OUTPUT->action_link($this->risksurl, $text, $action);
return $riskicon;
}
@@ -100,6 +100,8 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
$this->role->shortname = core_text::strtolower(clean_param($this->role->shortname, PARAM_ALPHANUMEXT));
if (empty($this->role->shortname)) {
$this->errors['shortname'] = get_string('errorbadroleshortname', 'core_role');
} else if (core_text::strlen($this->role->shortname) > 100) { // Check if it exceeds the max of 100 characters.
$this->errors['shortname'] = get_string('errorroleshortnametoolong', 'core_role');
}
}
if ($DB->record_exists_select('role', 'shortname = ? and id <> ?', array($this->role->shortname, $this->roleid))) {
@@ -476,7 +478,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
}
protected function get_shortname_field($id) {
return '<input type="text" id="' . $id . '" name="' . $id . '" maxlength="254" value="' . s($this->role->shortname) . '"' .
return '<input type="text" id="' . $id . '" name="' . $id . '" maxlength="100" value="' . s($this->role->shortname) . '"' .
' class="form-control"/>';
}
+379
View File
@@ -0,0 +1,379 @@
<?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/>.
/**
* Privacy Subsystem implementation for core_role.
*
* @package core_role
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_role\privacy;
defined('MOODLE_INTERNAL') || die();
use \core_privacy\local\metadata\collection;
use \core_privacy\local\request\contextlist;
use \core_privacy\local\request\approved_contextlist;
use \core_privacy\local\request\transform;
use \core_privacy\local\request\writer;
/**
* Privacy provider for core_role.
*
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements
\core_privacy\local\metadata\provider,
\core_privacy\local\request\subsystem\provider,
\core_privacy\local\request\subsystem\plugin_provider,
\core_privacy\local\request\user_preference_provider {
/**
* Get information about the user data stored by this plugin.
*
* @param collection $collection An object for storing metadata.
* @return collection The metadata.
*/
public static function get_metadata(collection $collection) : collection {
$rolecapabilities = [
'roleid' => 'privacy:metadata:role_capabilities:roleid',
'capability' => 'privacy:metadata:role_capabilities:capability',
'permission' => 'privacy:metadata:role_capabilities:permission',
'timemodified' => 'privacy:metadata:role_capabilities:timemodified',
'modifierid' => 'privacy:metadata:role_capabilities:modifierid'
];
$roleassignments = [
'roleid' => 'privacy:metadata:role_assignments:roleid',
'userid' => 'privacy:metadata:role_assignments:userid',
'timemodified' => 'privacy:metadata:role_assignments:timemodified',
'modifierid' => 'privacy:metadata:role_assignments:modifierid',
'component' => 'privacy:metadata:role_assignments:component',
'itemid' => 'privacy:metadata:role_assignments:itemid'
];
$collection->add_database_table('role_capabilities', $rolecapabilities,
'privacy:metadata:role_capabilities:tableexplanation');
$collection->add_database_table('role_assignments', $roleassignments,
'privacy:metadata:role_assignments:tableexplanation');
$collection->add_user_preference('definerole_showadvanced',
'privacy:metadata:preference:showadvanced');
return $collection;
}
/**
* Export all user preferences for the plugin.
*
* @param int $userid The userid of the user whose data is to be exported.
*/
public static function export_user_preferences(int $userid) {
$showadvanced = get_user_preferences('definerole_showadvanced', null, $userid);
if ($showadvanced !== null) {
writer::export_user_preference('core_role',
'definerole_showadvanced',
transform::yesno($showadvanced),
get_string('privacy:metadata:preference:showadvanced', 'core_role')
);
}
}
/**
* Return all contexts for this userid.
*
* @param int $userid The user ID.
* @return contextlist The list of context IDs.
*/
public static function get_contexts_for_userid(int $userid) : contextlist {
global $DB;
$contextlist = new contextlist();
// The role_capabilities table contains user data.
$contexts = [
CONTEXT_SYSTEM,
CONTEXT_USER,
CONTEXT_COURSECAT,
CONTEXT_COURSE,
CONTEXT_MODULE,
CONTEXT_BLOCK
];
list($insql, $inparams) = $DB->get_in_or_equal($contexts, SQL_PARAMS_NAMED);
$sql = "SELECT ctx.id
FROM {context} ctx
JOIN {role_capabilities} rc
ON rc.contextid = ctx.id
AND ((ctx.contextlevel {$insql} AND rc.modifierid = :modifierid)
OR (ctx.contextlevel = :contextlevel AND ctx.instanceid = :userid))";
$params = [
'modifierid' => $userid,
'contextlevel' => CONTEXT_USER,
'userid' => $userid
];
$params += $inparams;
$contextlist->add_from_sql($sql, $params);
// The role_assignments table contains user data.
$contexts = [
CONTEXT_SYSTEM,
CONTEXT_USER,
CONTEXT_COURSECAT,
CONTEXT_COURSE,
CONTEXT_MODULE,
CONTEXT_BLOCK
];
list($insql, $inparams) = $DB->get_in_or_equal($contexts, SQL_PARAMS_NAMED);
$params = [
'userid' => $userid,
'modifierid' => $userid
];
$params += $inparams;
$sql = "SELECT ctx.id
FROM {role_assignments} ra
JOIN {context} ctx
ON ctx.id = ra.contextid
AND ctx.contextlevel {$insql}
WHERE (ra.userid = :userid
OR ra.modifierid = :modifierid)
AND ra.component != 'tool_cohortroles'";
$contextlist->add_from_sql($sql, $params);
return $contextlist;
}
/**
* Export all user data for the specified user, in the specified contexts.
*
* @param approved_contextlist $contextlist The list of approved contexts for a user.
*/
public static function export_user_data(approved_contextlist $contextlist) {
global $DB;
if (empty($contextlist)) {
return;
}
$rolesnames = self::get_roles_name();
$userid = $contextlist->get_user()->id;
$ctxfields = \context_helper::get_preload_record_columns_sql('ctx');
list($insql, $inparams) = $DB->get_in_or_equal($contextlist->get_contextids(), SQL_PARAMS_NAMED);
// Role Assignments export data.
$contexts = [
CONTEXT_SYSTEM,
CONTEXT_USER,
CONTEXT_COURSECAT,
CONTEXT_COURSE,
CONTEXT_MODULE,
CONTEXT_BLOCK
];
list($inctxsql, $ctxparams) = $DB->get_in_or_equal($contexts, SQL_PARAMS_NAMED);
$sql = "SELECT ra.id, ra.contextid, ra.roleid, ra.userid, ra.timemodified, ra.modifierid, $ctxfields
FROM {role_assignments} ra
JOIN {context} ctx
ON ctx.id = ra.contextid
AND ctx.contextlevel {$inctxsql}
AND (ra.userid = :userid OR ra.modifierid = :modifierid)
AND ra.component != 'tool_cohortroles'
JOIN {role} r
ON r.id = ra.roleid
WHERE ctx.id {$insql}";
$params = ['userid' => $userid, 'modifierid' => $userid];
$params += $inparams;
$params += $ctxparams;
$assignments = $DB->get_recordset_sql($sql, $params);
foreach ($assignments as $assignment) {
\context_helper::preload_from_record($assignment);
$alldata[$assignment->contextid][$rolesnames[$assignment->roleid]][] = (object)[
'timemodified' => transform::datetime($assignment->timemodified),
'userid' => transform::user($assignment->userid),
'modifierid' => transform::user($assignment->modifierid)
];
}
$assignments->close();
if (!empty($alldata)) {
array_walk($alldata, function($roledata, $contextid) {
$context = \context::instance_by_id($contextid);
array_walk($roledata, function($data, $rolename) use ($context) {
writer::with_context($context)->export_data(
[get_string('privacy:metadata:role_assignments', 'core_role'), $rolename],
(object)$data);
});
});
unset($alldata);
}
// Role Capabilities export data.
$strpermissions = self::get_permissions_name();
$contexts = [
CONTEXT_SYSTEM,
CONTEXT_USER,
CONTEXT_COURSECAT,
CONTEXT_COURSE,
CONTEXT_MODULE,
CONTEXT_BLOCK
];
list($inctxsql, $ctxparams) = $DB->get_in_or_equal($contexts, SQL_PARAMS_NAMED);
$sql = "SELECT rc.id, rc.contextid, rc.capability, rc.permission, rc.timemodified, rc.roleid, $ctxfields
FROM {context} ctx
JOIN {role_capabilities} rc
ON rc.contextid = ctx.id
AND ((ctx.contextlevel {$inctxsql} AND rc.modifierid = :modifierid)
OR (ctx.contextlevel = :contextlevel AND ctx.instanceid = :userid))
WHERE ctx.id {$insql}";
$params = [
'modifierid' => $userid,
'contextlevel' => CONTEXT_USER,
'userid' => $userid
];
$params += $inparams;
$params += $ctxparams;
$capabilities = $DB->get_recordset_sql($sql, $params);
foreach ($capabilities as $capability) {
\context_helper::preload_from_record($capability);
$alldata[$capability->contextid][$rolesnames[$capability->roleid]][] = (object)[
'timemodified' => transform::datetime($capability->timemodified),
'capability' => $capability->capability,
'permission' => $strpermissions[$capability->permission]
];
}
$capabilities->close();
if (!empty($alldata)) {
array_walk($alldata, function($capdata, $contextid) {
$context = \context::instance_by_id($contextid);
array_walk($capdata, function($data, $rolename) use ($context) {
writer::with_context($context)->export_data(
[get_string('privacy:metadata:role_capabilities', 'core_role'), $rolename],
(object)$data);
});
});
}
}
/**
* Exports the data relating to tool_cohortroles component on role assignments by
* Assign user roles to cohort feature.
*
* @param int $userid The user ID.
*/
public static function export_user_role_to_cohort(int $userid) {
global $DB;
$rolesnames = self::get_roles_name();
$sql = "SELECT ra.id, ra.contextid, ra.roleid, ra.userid, ra.timemodified, ra.modifierid, r.id as roleid
FROM {role_assignments} ra
JOIN {context} ctx
ON ctx.id = ra.contextid
AND ctx.contextlevel = :contextlevel
AND ra.component = 'tool_cohortroles'
JOIN {role} r
ON r.id = ra.roleid
WHERE ctx.instanceid = :instanceid
OR ra.userid = :userid";
$params = ['userid' => $userid, 'instanceid' => $userid, 'contextlevel' => CONTEXT_USER];
$assignments = $DB->get_recordset_sql($sql, $params);
foreach ($assignments as $assignment) {
$alldata[$assignment->contextid][$rolesnames[$assignment->roleid]][] = (object)[
'timemodified' => transform::datetime($assignment->timemodified),
'userid' => transform::user($assignment->userid),
'modifierid' => transform::user($assignment->modifierid)
];
}
$assignments->close();
if (!empty($alldata)) {
array_walk($alldata, function($roledata, $contextid) {
$context = \context::instance_by_id($contextid);
array_walk($roledata, function($data, $rolename) use ($context) {
writer::with_context($context)->export_related_data(
[get_string('privacy:metadata:role_cohortroles', 'core_role'), $rolename], 'cohortroles',
(object)$data);
});
});
}
}
/**
* Delete all user data for this context.
*
* @param \context $context The context to delete data for.
*/
public static function delete_data_for_all_users_in_context(\context $context) {
global $DB;
// Don't remove data from role_capabilities.
// Because this data affects the whole Moodle, there are override capabilities.
// Don't belong to the modifier user.
// Remove data from role_assignments.
$DB->delete_records('role_assignments', ['contextid' => $context->id]);
}
/**
* Delete all user data for this user only.
*
* @param approved_contextlist $contextlist The list of approved contexts for a user.
*/
public static function delete_data_for_user(approved_contextlist $contextlist) {
global $DB;
// Don't remove data from role_capabilities.
// Because this data affects the whole Moodle, there are override capabilities.
// Don't belong to the modifier user.
// Remove data from role_assignments.
if (empty($contextlist->count())) {
return;
}
$userid = $contextlist->get_user()->id;
foreach ($contextlist->get_contexts() as $context) {
// Only delete the roles assignments where the user is assigned in all contexts.
$DB->delete_records('role_assignments', ['userid' => $userid, 'contextid' => $context->id]);
}
}
/**
* Delete user entries in role_assignments related to the feature
* Assign user roles to cohort feature.
*
* @param int $userid The user ID.
*/
public static function delete_user_role_to_cohort(int $userid) {
global $DB;
// Delete entries where userid is a mentor by tool_cohortroles.
$DB->delete_records('role_assignments', ['userid' => $userid, 'component' => 'tool_cohortroles']);
}
/**
* Get all the localised roles name in a simple array.
*
* @return array Array of name of the roles by roleid.
*/
protected static function get_roles_name() {
$roles = role_fix_names(get_all_roles(), \context_system::instance(), ROLENAME_ORIGINAL);
$rolesnames = array();
foreach ($roles as $role) {
$rolesnames[$role->id] = $role->localname;
}
return $rolesnames;
}
/**
* Get all the permissions name in a simple array.
*
* @return array Array of permissions name.
*/
protected static function get_permissions_name() {
$strpermissions = array(
CAP_INHERIT => get_string('inherit', 'role'),
CAP_ALLOW => get_string('allow', 'role'),
CAP_PREVENT => get_string('prevent', 'role'),
CAP_PROHIBIT => get_string('prohibit', 'role')
);
return $strpermissions;
}
}
+477
View File
@@ -0,0 +1,477 @@
<?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/>.
/**
* Privacy test for core_role
*
* @package core_role
* @category test
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
use \core_role\privacy\provider;
use \core_privacy\local\request\approved_contextlist;
use \core_privacy\local\request\writer;
use \core_privacy\tests\provider_testcase;
use \core_privacy\local\request\transform;
use \tool_cohortroles\api;
/**
* Privacy test for core_role
*
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class core_role_privacy_testcase extends provider_testcase {
/**
* Test to check export_user_preferences.
* returns user preferences data.
*/
public function test_export_user_preferences() {
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$showadvanced = 1;
set_user_preference('definerole_showadvanced', $showadvanced);
provider::export_user_preferences($user->id);
$writer = writer::with_context(\context_system::instance());
$prefs = $writer->get_user_preferences('core_role');
$this->assertEquals(transform::yesno($showadvanced), transform::yesno($prefs->definerole_showadvanced->value));
$this->assertEquals(get_string('privacy:metadata:preference:showadvanced', 'core_role'),
$prefs->definerole_showadvanced->description);
}
/**
* Check all contexts are returned if there is any user data for this user.
*/
public function test_get_contexts_for_userid() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$this->assertEmpty(provider::get_contexts_for_userid($user->id));
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$coursecat = $this->getDataGenerator()->create_category();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
$cmcontext2 = \context_module::instance($page->cmid);
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments, where the user is assigned.
role_assign($student->id, $user->id, $cmcontext2->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
// Role assignments, where the user makes assignments.
$this->setUser($user);
role_assign($student->id, $user2->id, $coursecontext->id);
role_assign($manager->id, $user2->id, $coursecatcontext->id);
role_assign($manager->id, $user2->id, $systemcontext->id);
// Role capabilities.
$this->setUser($user);
$result = assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $cmcontext->id);
$contextlist = provider::get_contexts_for_userid($user->id)->get_contextids();
$this->assertCount(8, $contextlist);
$this->assertTrue(in_array($cmcontext->id, $contextlist));
}
/**
* Test that user data is exported correctly.
*/
public function test_export_user_data() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$coursecat = $this->getDataGenerator()->create_category();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
$cmcontext2 = \context_module::instance($page->cmid);
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$rolesnames = self::get_roles_name();
$subcontextstudent = [
get_string('privacy:metadata:role_assignments', 'core_role'),
$rolesnames[$student->id]
];
$subcontextmanager = [
get_string('privacy:metadata:role_assignments', 'core_role'),
$rolesnames[$manager->id]
];
$subcontextrc = [
get_string('privacy:metadata:role_capabilities', 'core_role'),
$rolesnames[$student->id]
];
// Test over role assignments.
// Where the user is assigned.
role_assign($student->id, $user->id, $cmcontext2->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
// Where the user makes assignments.
$this->setUser($user);
role_assign($manager->id, $user2->id, $coursecatcontext->id);
role_assign($manager->id, $user2->id, $systemcontext->id);
// Test overridable roles in module, course, category, user, system and block.
assign_capability('moodle/backup:backupactivity', CAP_ALLOW, $student->id, $cmcontext->id, true);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $coursecontext->id, true);
assign_capability('moodle/category:manage', CAP_ALLOW, $student->id, $coursecatcontext->id, true);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $systemcontext->id, true);
assign_capability('moodle/block:edit', CAP_ALLOW, $student->id, $blockcontext->id, true);
assign_capability('moodle/competency:evidencedelete', CAP_ALLOW, $student->id, $usercontext2->id, true);
// Retrieve the user's context ids.
$contextlist = provider::get_contexts_for_userid($user->id);
$approvedcontextlist = new approved_contextlist($user, 'core_role', $contextlist->get_contextids());
$strpermissions = array(
CAP_INHERIT => get_string('inherit', 'role'),
CAP_ALLOW => get_string('allow', 'role'),
CAP_PREVENT => get_string('prevent', 'role'),
CAP_PROHIBIT => get_string('prohibit', 'role')
);
// Retrieve role capabilities and role assignments.
provider::export_user_data($approvedcontextlist);
foreach ($contextlist as $context) {
$writer = writer::with_context($context);
$this->assertTrue($writer->has_any_data());
if ($context->contextlevel == CONTEXT_MODULE) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupactivity', reset($data)->capability);
$this->assertEquals($strpermissions[CAP_ALLOW], reset($data)->permission);
}
}
if ($context->contextlevel == CONTEXT_COURSE) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_COURSECAT) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/category:manage', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_SYSTEM) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_BLOCK) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/block:edit', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_USER) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/competency:evidencedelete', reset($data)->capability);
}
}
}
}
/**
* Test for provider::delete_data_for_all_users_in_context().
*/
public function test_delete_data_for_all_users_in_context() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$user3 = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course();
$coursecontext = \context_course::instance($course->id);
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
// Role assignments CONTEXT_COURSE.
role_assign($student->id, $user->id, $coursecontext->id);
role_assign($student->id, $user2->id, $coursecontext->id);
role_assign($student->id, $user3->id, $coursecontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $coursecontext->id]);
$this->assertEquals(3, $count);
// Role assignments CONTEXT_COURSECAT.
role_assign($student->id, $user2->id, $coursecatcontext->id);
role_assign($student->id, $user3->id, $coursecatcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(2, $count);
// Role assignments CONTEXT_SYSTEM.
role_assign($student->id, $user->id, $systemcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(1, $count);
// Role assignments CONTEXT_MODULE.
role_assign($student->id, $user->id, $cmcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(1, $count);
// Role assigments CONTEXT_BLOCK.
role_assign($student->id, $user->id, $blockcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $blockcontext->id]);
$this->assertEquals(1, $count);
// Role assigments CONTEXT_USER.
role_assign($manager->id, $user->id, $usercontext2->id);
$count = $DB->count_records('role_assignments', ['contextid' => $usercontext2->id]);
$this->assertEquals(1, $count);
// Delete data based on CONTEXT_COURSE context.
provider::delete_data_for_all_users_in_context($coursecontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecontext->id]);
$this->assertEquals(0, $count);
// Check it is not removing data on other contexts.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(2, $count);
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(1, $count);
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(1, $count);
// Delete data based on CONTEXT_COURSECAT context.
provider::delete_data_for_all_users_in_context($coursecatcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_SYSTEM context.
provider::delete_data_for_all_users_in_context($systemcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_MODULE context.
provider::delete_data_for_all_users_in_context($cmcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_BLOCK context.
provider::delete_data_for_all_users_in_context($usercontext2);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $usercontext2->id]);
$this->assertEquals(0, $count);
}
/**
* Test for provider::delete_data_for_user().
*/
public function test_delete_data_for_user() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$user3 = $this->getDataGenerator()->create_user();
$usercontext3 = \context_user::instance($user3->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$course3 = $this->getDataGenerator()->create_course();
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecontext3 = \context_course::instance($course3->id);
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
// Role assignments, Where the user is assigned.
role_assign($student->id, $user->id, $coursecontext->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $coursecatcontext->id);
role_assign($student->id, $user->id, $cmcontext->id);
role_assign($student->id, $user->id, $systemcontext->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
role_assign($manager->id, $user->id, $usercontext3->id);
$count = $DB->count_records('role_assignments', ['userid' => $user->id]);
$this->assertEquals(8, $count);
// Role assignments, where the user makes assignments.
$this->setUser($user);
role_assign($student->id, $user2->id, $coursecontext3->id);
role_assign($student->id, $user3->id, $coursecontext3->id);
$count = $DB->count_records('role_assignments', ['modifierid' => $user->id]);
$this->assertEquals(2, $count);
$contextlist = provider::get_contexts_for_userid($user->id);
$approvedcontextlist = new approved_contextlist($user, 'core_role', $contextlist->get_contextids());
provider::delete_data_for_user($approvedcontextlist);
// After deletion, the role_assignments assigned to the user should have been deleted.
$count = $DB->count_records('role_assignments', ['userid' => $user->id]);
$this->assertEquals(0, $count);
// After deletion, the role_assignments assigned by the user should not have been deleted.
$count = $DB->count_records('role_assignments', ['modifierid' => $user->id]);
$this->assertEquals(2, $count);
}
/**
* Export for a user with a key against a script where no instance is specified.
*/
public function test_export_user_role_to_cohort() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
// Assign user roles to cohort.
$user = $this->getDataGenerator()->create_user();
$contextuser = \context_user::instance($user->id);
$teacher = $DB->get_record('role', array('shortname' => 'teacher'), '*', MUST_EXIST);
$cohort = $this->getDataGenerator()->create_cohort();
$userassignover = $this->getDataGenerator()->create_user();
$contextuserassignover = \context_user::instance($userassignover->id);
cohort_add_member($cohort->id, $userassignover->id);
$this->setAdminUser();
$params = (object) array(
'userid' => $user->id,
'roleid' => $teacher->id,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
$rolesnames = self::get_roles_name();
$subcontextteacher = [
get_string('privacy:metadata:role_cohortroles', 'core_role'),
$rolesnames[$teacher->id]
];
// Test User is assigned role teacher to cohort.
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuserassignover);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user->id, reset($exported)->userid);
// Test User is member of a cohort which User2 is assigned to role to this cohort.
$user2 = $this->getDataGenerator()->create_user();
$cohort2 = $this->getDataGenerator()->create_cohort();
cohort_add_member($cohort2->id, $user->id);
$params = (object) array(
'userid' => $user2->id,
'roleid' => $teacher->id,
'cohortid' => $cohort2->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuser);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user2->id, reset($exported)->userid);
}
/**
* Test for provider::delete_user_role_to_cohort().
*/
public function test_delete_user_role_to_cohort() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
// Assign user roles to cohort.
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$user3 = $this->getDataGenerator()->create_user();
$user4 = $this->getDataGenerator()->create_user();
$teacher = $DB->get_record('role', array('shortname' => 'teacher'), '*', MUST_EXIST);
$cohort = $this->getDataGenerator()->create_cohort();
cohort_add_member($cohort->id, $user2->id);
cohort_add_member($cohort->id, $user3->id);
cohort_add_member($cohort->id, $user4->id);
$this->setAdminUser();
$params = (object) array(
'userid' => $user->id,
'roleid' => $teacher->id,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
$count = $DB->count_records('role_assignments', ['userid' => $user->id, 'component' => 'tool_cohortroles']);
$this->assertEquals(3, $count);
provider::delete_user_role_to_cohort($user->id);
$count = $DB->count_records('role_assignments', ['userid' => $user->id, 'component' => 'tool_cohortroles']);
$this->assertEquals(0, $count);
}
/**
* Supoort function to get all the localised roles name
* in a simple array for testing.
*
* @return array Array of name of the roles by roleid.
*/
protected static function get_roles_name() {
$roles = role_fix_names(get_all_roles(), \context_system::instance(), ROLENAME_ORIGINAL);
$rolesnames = array();
foreach ($roles as $role) {
$rolesnames[$role->id] = $role->localname;
}
return $rolesnames;
}
}
+2 -2
View File
@@ -193,8 +193,8 @@ function print_report_tree($contextid, $contexts, $systemcontext, $fullname, $al
$strgoto = get_string('gotoassignroles', 'core_role', $a);
$strcheck = get_string('checkuserspermissionshere', 'core_role', $a);
}
echo ' <a title="' . $strgoto . '" href="' . $raurl . '">' . $OUTPUT->pix_icon('t/edit', 'core', $stredit) . '</a> ';
echo ' <a title="' . $strcheck . '" href="' . $churl . '">' . $OUTPUT->pix_icon('t/preview', 'core', $strcheckpermissions) . '</a> ';
echo ' <a title="' . $strgoto . '" href="' . $raurl . '">' . $OUTPUT->pix_icon('t/edit', $stredit) . '</a> ';
echo ' <a title="' . $strcheck . '" href="' . $churl . '">' . $OUTPUT->pix_icon('t/preview', $strcheckpermissions) . '</a> ';
echo "</p>\n";
}
}
+23 -5
View File
@@ -5,11 +5,22 @@
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
redirect_if_major_upgrade_required();
$query = trim(optional_param('query', '', PARAM_NOTAGS)); // Search string
$context = context_system::instance();
$PAGE->set_context($context);
$hassiteconfig = has_capability('moodle/site:config', $context);
if ($hassiteconfig && moodle_needs_upgrading()) {
redirect(new moodle_url('/admin/index.php'));
}
// If site registration needs updating, redirect.
\core\hub\registration::registration_reminder('/admin/search.php');
admin_externalpage_setup('search', '', array('query' => $query)); // now hidden page
$adminroot = admin_get_root(); // need all settings here
@@ -21,15 +32,16 @@ $focus = '';
// now we'll deal with the case that the admin has submitted the form with changed settings
if ($data = data_submitted() and confirm_sesskey() and isset($data->action) and $data->action == 'save-settings') {
require_capability('moodle/site:config', $context);
if (admin_write_settings($data)) {
redirect($PAGE->url, get_string('changessaved'), null, \core\output\notification::NOTIFY_SUCCESS);
}
$count = admin_write_settings($data);
if (!empty($adminroot->errors)) {
$errormsg = get_string('errorwithsettings', 'admin');
$firsterror = reset($adminroot->errors);
$focus = $firsterror->id;
} else {
// No errors. Did we change any setting? If so, then redirect with success.
if ($count) {
redirect($PAGE->url, get_string('changessaved'), null, \core\output\notification::NOTIFY_SUCCESS);
}
redirect($PAGE->url);
}
}
@@ -38,6 +50,12 @@ if ($data = data_submitted() and confirm_sesskey() and isset($data->action) and
// to modify them
echo $OUTPUT->header($focus);
// Display a warning if site is not registered.
if (empty($query)) {
$adminrenderer = $PAGE->get_renderer('core', 'admin');
echo $adminrenderer->warn_if_not_registered();
}
echo $OUTPUT->heading(get_string('administrationsite'));
if ($errormsg !== '') {
@@ -49,7 +67,7 @@ if ($errormsg !== '') {
$showsettingslinks = true;
if (has_capability('moodle/site:config', $context)) {
if ($hassiteconfig) {
require_once("admin_settings_search_form.php");
$form = new admin_settings_search_form();
$form->display();
+89 -57
View File
@@ -28,85 +28,112 @@ admin_externalpage_setup('searchareas');
$areaid = optional_param('areaid', null, PARAM_ALPHAEXT);
$action = optional_param('action', null, PARAM_ALPHA);
$indexingenabled = \core_search\manager::is_indexing_enabled(); // This restricts many of the actions on this page.
// Get a search manager instance, which we'll need for display and to handle some actions.
try {
$searchmanager = \core_search\manager::instance();
} catch (core_search\engine_exception $searchmanagererror) {
// Continue, we return an error later depending on the requested action.
// In action cases, well throw this exception below. In non-action cases, we produce a lang string error.
}
echo $OUTPUT->header();
// Handle all the actions.
if ($action) {
require_sesskey();
// If dealing with an areaid, we need to check that the area exists.
if ($areaid) {
// We need to check that the area exists.
$area = \core_search\manager::get_search_area($areaid);
if ($area === false) {
throw new moodle_exception('invalidrequest');
}
}
// All actions but enable/disable need the search engine to be ready.
if ($action !== 'enable' && $action !== 'disable') {
if (!empty($searchmanagererror)) {
throw $searchmanagererror;
// All the indexing actions.
if (in_array($action, ['delete', 'indexall', 'reindexall', 'deleteall'])) {
// All of these actions require that indexing is enabled.
if ($indexingenabled) {
// For all of these actions, we strictly need a manager instance.
if (isset($searchmanagererror)) {
throw $searchmanagererror;
}
switch ($action) {
case 'delete':
$searchmanager->delete_index($areaid);
\core\notification::success(get_string('searchindexdeleted', 'admin'));
break;
case 'indexall':
$searchmanager->index();
\core\notification::success(get_string('searchindexupdated', 'admin'));
break;
case 'reindexall':
$searchmanager->index(true);
\core\notification::success(get_string('searchreindexed', 'admin'));
break;
case 'deleteall':
$searchmanager->delete_index();
\core\notification::success(get_string('searchalldeleted', 'admin'));
break;
default:
break;
}
// Redirect back to the main page after taking action.
redirect(new moodle_url('/admin/searchareas.php'));
}
} else if (in_array($action, ['enable', 'disable'])) {
switch ($action) {
case 'enable':
$area->set_enabled(true);
\core\notification::success(get_string('searchareaenabled', 'admin'));
break;
case 'disable':
$area->set_enabled(false);
core\notification::success(get_string('searchareadisabled', 'admin'));
break;
default:
break;
}
}
switch ($action) {
case 'enable':
$area->set_enabled(true);
echo $OUTPUT->notification(get_string('searchareaenabled', 'admin'), \core\output\notification::NOTIFY_SUCCESS);
break;
case 'disable':
$area->set_enabled(false);
echo $OUTPUT->notification(get_string('searchareadisabled', 'admin'), \core\output\notification::NOTIFY_SUCCESS);
break;
case 'delete':
$search = \core_search\manager::instance();
$search->delete_index($areaid);
echo $OUTPUT->notification(get_string('searchindexdeleted', 'admin'), \core\output\notification::NOTIFY_SUCCESS);
break;
case 'indexall':
$searchmanager->index();
echo $OUTPUT->notification(get_string('searchindexupdated', 'admin'), \core\output\notification::NOTIFY_SUCCESS);
break;
case 'reindexall':
$searchmanager->index(true);
echo $OUTPUT->notification(get_string('searchreindexed', 'admin'), \core\output\notification::NOTIFY_SUCCESS);
break;
case 'deleteall':
$searchmanager->delete_index();
echo $OUTPUT->notification(get_string('searchalldeleted', 'admin'), \core\output\notification::NOTIFY_SUCCESS);
break;
default:
throw new moodle_exception('invalidaction');
break;
redirect(new moodle_url('/admin/searchareas.php'));
} else {
// Invalid action.
throw new moodle_exception('invalidaction');
}
}
$searchareas = \core_search\manager::get_search_areas_list();
if (empty($searchmanagererror)) {
$areasconfig = $searchmanager->get_areas_config($searchareas);
// Display.
if (isset($searchmanager) && $indexingenabled) {
\core\notification::info(get_string('indexinginfo', 'admin'));
} else if (isset($searchmanager)) {
$params = (object) [
'url' => (new moodle_url("/admin/settings.php?section=manageglobalsearch#admin-searchindexwhendisabled"))->out(false)
];
\core\notification::error(get_string('indexwhendisabledfullnotice', 'search', $params));
} else {
$areasconfig = false;
}
if (!empty($searchmanagererror)) {
// In non-action cases, init errors are translated and displayed to the user as error notifications.
$errorstr = get_string($searchmanagererror->errorcode, $searchmanagererror->module, $searchmanagererror->a);
echo $OUTPUT->notification($errorstr, \core\output\notification::NOTIFY_ERROR);
} else {
echo $OUTPUT->notification(get_string('indexinginfo', 'admin'), \core\output\notification::NOTIFY_INFO);
\core\notification::error($errorstr);
}
echo $OUTPUT->header();
$table = new html_table();
$table->id = 'core-search-areas';
$table->head = [
get_string('searcharea', 'search'),
get_string('enable'),
get_string('newestdocindexed', 'admin'),
get_string('searchlastrun', 'admin'),
get_string('searchindexactions', 'admin')
];
$table->head = array(get_string('searcharea', 'search'), get_string('enable'), get_string('newestdocindexed', 'admin'),
get_string('searchlastrun', 'admin'), get_string('searchindexactions', 'admin'));
$searchareas = \core_search\manager::get_search_areas_list();
$areasconfig = isset($searchmanager) ? $searchmanager->get_areas_config($searchareas) : false;
foreach ($searchareas as $area) {
$areaid = $area->get_area_id();
$columns = array(new html_table_cell($area->get_visible_name()));
@@ -116,7 +143,7 @@ foreach ($searchareas as $area) {
new pix_icon('t/hide', get_string('disable'), 'moodle', array('title' => '', 'class' => 'iconsmall')),
null, array('title' => get_string('disable')));
if ($areasconfig) {
if ($areasconfig && $indexingenabled) {
$columns[] = $areasconfig[$areaid]->lastindexrun;
if ($areasconfig[$areaid]->indexingstart) {
@@ -125,6 +152,9 @@ foreach ($searchareas as $area) {
$areasconfig[$areaid]->docsprocessed . ' , ' .
$areasconfig[$areaid]->recordsprocessed . ' , ' .
$areasconfig[$areaid]->docsignored;
if ($areasconfig[$areaid]->partial) {
$laststatus .= ' ' . get_string('searchpartial', 'admin');
}
} else {
$laststatus = '';
}
@@ -132,7 +162,11 @@ foreach ($searchareas as $area) {
$columns[] = html_writer::link(admin_searcharea_action_url('delete', $areaid), 'Delete index');
} else {
$blankrow = new html_table_cell(get_string('searchnotavailable', 'admin'));
if (!$areasconfig) {
$blankrow = new html_table_cell(get_string('searchnotavailable', 'admin'));
} else {
$blankrow = new html_table_cell(get_string('indexwhendisabledshortnotice', 'search'));
}
$blankrow->colspan = 3;
$columns[] = $blankrow;
}
@@ -151,10 +185,7 @@ foreach ($searchareas as $area) {
}
// Cross-search area tasks.
$options = array();
if (!empty($searchmanagererror)) {
$options['disabled'] = true;
}
$options = (isset($searchmanager) && $indexingenabled) ? [] : ['disabled' => true];
echo $OUTPUT->box_start('search-areas-actions');
echo $OUTPUT->single_button(admin_searcharea_action_url('indexall'), get_string('searchupdateindex', 'admin'), 'get', $options);
echo $OUTPUT->single_button(admin_searcharea_action_url('reindexall'), get_string('searchreindexindex', 'admin'), 'get', $options);
@@ -162,6 +193,7 @@ echo $OUTPUT->single_button(admin_searcharea_action_url('deleteall'), get_string
echo $OUTPUT->box_end();
echo html_writer::table($table);
echo $OUTPUT->footer();
/**
+9 -4
View File
@@ -38,12 +38,17 @@ if (!($settingspage->check_access())) {
$statusmsg = '';
$errormsg = '';
if ($data = data_submitted() and confirm_sesskey()) {
if (admin_write_settings($data)) {
redirect($PAGE->url, get_string('changessaved'), null, \core\output\notification::NOTIFY_SUCCESS);
}
// Form is submitted with changed settings. Do not want to execute when modifying a block.
if ($data = data_submitted() and confirm_sesskey() and isset($data->action) and $data->action == 'save-settings') {
$count = admin_write_settings($data);
// Regardless of whether any setting change was written (a positive count), check validation errors for those that didn't.
if (empty($adminroot->errors)) {
// No errors. Did we change any setting? If so, then redirect with success.
if ($count) {
redirect($PAGE->url, get_string('changessaved'), null, \core\output\notification::NOTIFY_SUCCESS);
}
// We didn't change a setting.
switch ($return) {
case 'site': redirect("$CFG->wwwroot/");
case 'admin': redirect("$CFG->wwwroot/$CFG->admin/");
+110
View File
@@ -0,0 +1,110 @@
<?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/>.
/**
* Adds settings links to admin tree.
*
* @package core_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig) {
$settings = new admin_settingpage('analyticssettings', new lang_string('analyticssettings', 'analytics'));
$ADMIN->add('analytics', $settings);
if ($ADMIN->fulltree) {
// Select the site prediction's processor.
$predictionprocessors = \core_analytics\manager::get_all_prediction_processors();
$predictors = array();
foreach ($predictionprocessors as $fullclassname => $predictor) {
$pluginname = substr($fullclassname, 1, strpos($fullclassname, '\\', 1) - 1);
$predictors[$fullclassname] = new lang_string('pluginname', $pluginname);
}
$settings->add(new \core_analytics\admin_setting_predictor('analytics/predictionsprocessor',
new lang_string('predictionsprocessor', 'analytics'), new lang_string('predictionsprocessor_help', 'analytics'),
'\mlbackend_php\processor', $predictors)
);
// Log store.
$logmanager = get_log_manager();
$readers = $logmanager->get_readers('core\log\sql_reader');
$options = array();
$defaultreader = null;
foreach ($readers as $plugin => $reader) {
if (!$reader->is_logging()) {
continue;
}
if (!isset($defaultreader)) {
// The top one as default reader.
$defaultreader = $plugin;
}
$options[$plugin] = $reader->get_name();
}
if (empty($defaultreader)) {
// We fall here during initial site installation because log stores are not
// enabled until admin/tool/log/db/install.php is executed and get_readers
// return nothing.
if ($enabledlogstores = get_config('tool_log', 'enabled_stores')) {
$enabledlogstores = explode(',', $enabledlogstores);
$defaultreader = reset($enabledlogstores);
// No need to set the correct name, just the value, this will not be displayed.
$options[$defaultreader] = $defaultreader;
}
}
$settings->add(new admin_setting_configselect('analytics/logstore',
new lang_string('analyticslogstore', 'analytics'), new lang_string('analyticslogstore_help', 'analytics'),
$defaultreader, $options));
// Enable/disable time splitting methods.
$alltimesplittings = \core_analytics\manager::get_all_time_splittings();
$timesplittingoptions = array();
$timesplittingdefaults = array('\core\analytics\time_splitting\quarters_accum',
'\core\analytics\time_splitting\quarters', '\core\analytics\time_splitting\single_range');
foreach ($alltimesplittings as $key => $timesplitting) {
$timesplittingoptions[$key] = $timesplitting->get_name();
}
$settings->add(new admin_setting_configmultiselect('analytics/timesplittings',
new lang_string('enabledtimesplittings', 'analytics'), new lang_string('timesplittingmethod_help', 'analytics'),
$timesplittingdefaults, $timesplittingoptions)
);
// Predictions processor output dir.
$defaultmodeloutputdir = rtrim($CFG->dataroot, '/') . DIRECTORY_SEPARATOR . 'models';
if (empty(get_config('analytics', 'modeloutputdir')) && !file_exists($defaultmodeloutputdir) &&
is_writable($defaultmodeloutputdir)) {
// Automatically create the dir for them so users don't see the invalid value red cross.
mkdir($defaultmodeloutputdir, $CFG->directorypermissions, true);
}
$settings->add(new admin_setting_configdirectory('analytics/modeloutputdir', new lang_string('modeloutputdir', 'analytics'),
new lang_string('modeloutputdirinfo', 'analytics'), $defaultmodeloutputdir));
// Disable web interface evaluation and get predictions.
$settings->add(new admin_setting_configcheckbox('analytics/onlycli', new lang_string('onlycli', 'analytics'),
new lang_string('onlycliinfo', 'analytics'), 1));
// Training and prediction time limit per model.
$settings->add(new admin_setting_configduration('analytics/modeltimelimit', new lang_string('modeltimelimit', 'analytics'),
new lang_string('modeltimelimitinfo', 'analytics'), 20 * MINSECS));
}
}
+4 -3
View File
@@ -179,10 +179,11 @@ preferences,moodle|/user/preferences.php|preferences',
'idnumber' => new lang_string('sort_idnumber', 'admin'),
);
$temp->add(new admin_setting_configselect('navsortmycoursessort', new lang_string('navsortmycoursessort', 'admin'), new lang_string('navsortmycoursessort_help', 'admin'), 'sortorder', $sortoptions));
$temp->add(new admin_setting_configtext('navcourselimit',new lang_string('navcourselimit','admin'),new lang_string('confignavcourselimit', 'admin'),20,PARAM_INT));
$temp->add(new admin_setting_configtext('navcourselimit', new lang_string('navcourselimit', 'admin'),
new lang_string('confignavcourselimit', 'admin'), 10, PARAM_INT));
$temp->add(new admin_setting_configcheckbox('usesitenameforsitepages', new lang_string('usesitenameforsitepages', 'admin'), new lang_string('configusesitenameforsitepages', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('linkadmincategories', new lang_string('linkadmincategories', 'admin'), new lang_string('linkadmincategories_help', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('linkcoursesections', new lang_string('linkcoursesections', 'admin'), new lang_string('linkcoursesections_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('linkcoursesections', new lang_string('linkcoursesections', 'admin'), new lang_string('linkcoursesections_help', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('navshowfrontpagemods', new lang_string('navshowfrontpagemods', 'admin'), new lang_string('navshowfrontpagemods_help', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('navadduserpostslinks', new lang_string('navadduserpostslinks', 'admin'), new lang_string('navadduserpostslinks_help', 'admin'), 1));
@@ -198,7 +199,7 @@ preferences,moodle|/user/preferences.php|preferences',
// "documentation" settingpage
$temp = new admin_settingpage('documentation', new lang_string('moodledocs'));
$temp->add(new admin_setting_configtext('docroot', new lang_string('docroot', 'admin'), new lang_string('configdocroot', 'admin'), 'http://docs.moodle.org', PARAM_URL));
$temp->add(new admin_setting_configtext('docroot', new lang_string('docroot', 'admin'), new lang_string('configdocroot', 'admin'), 'https://docs.moodle.org', PARAM_URL));
$ltemp = array('' => get_string('forceno'));
$ltemp += get_string_manager()->get_list_of_translations(true);
$temp->add(new admin_setting_configselect('doclang', get_string('doclang', 'admin'), get_string('configdoclang', 'admin'), '', $ltemp));
+3
View File
@@ -92,6 +92,9 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configselect('moodlecourse/coursedisplay', new lang_string('coursedisplay'),
new lang_string('coursedisplay_help'), COURSE_DISPLAY_SINGLEPAGE, $choices));
$temp->add(new admin_setting_configcheckbox('moodlecourse/courseenddateenabled', get_string('courseenddateenabled'),
get_string('courseenddateenabled_desc'), 1));
$temp->add(new admin_setting_configduration('moodlecourse/courseduration', get_string('courseduration'),
get_string('courseduration_desc'), YEARSECS));
+3 -1
View File
@@ -28,7 +28,9 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$ADMIN->add('development', $temp);
// "Profiling" settingpage (conditionally if the 'xhprof' extension is available only).
$xhprofenabled = extension_loaded('xhprof') || extension_loaded('tideways');
$xhprofenabled = extension_loaded('tideways_xhprof');
$xhprofenabled = $xhprofenabled || extension_loaded('tideways');
$xhprofenabled = $xhprofenabled || extension_loaded('xhprof');
$temp = new admin_settingpage('profiling', new lang_string('profiling', 'admin'), 'moodle/site:config', !$xhprofenabled);
// Main profiling switch.
$temp->add(new admin_setting_configcheckbox('profilingenabled', new lang_string('profilingenabled', 'admin'), new lang_string('profilingenabled_help', 'admin'), false));
+17 -2
View File
@@ -102,7 +102,7 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_configtext('alternateloginurl', new lang_string('alternateloginurl', 'auth'),
new lang_string('alternatelogin', 'auth', htmlspecialchars(get_login_url())), ''));
$temp->add(new admin_setting_configtext('forgottenpasswordurl', new lang_string('forgottenpasswordurl', 'auth'),
new lang_string('forgottenpassword', 'auth'), ''));
new lang_string('forgottenpassword', 'auth'), '', PARAM_URL));
$temp->add(new admin_setting_confightmleditor('auth_instructions', new lang_string('instructions', 'auth'),
new lang_string('authinstructions', 'auth'), ''));
$setting = new admin_setting_configtext('allowemailaddresses', new lang_string('allowemailaddresses', 'admin'),
@@ -232,7 +232,7 @@ if ($hassiteconfig) {
// Convert plugins.
$ADMIN->add('modules', new admin_category('fileconverterplugins', new lang_string('type_fileconverter_plural', 'plugin')));
$temp = new admin_settingpage('managefileconverterplugins', new lang_string('type_fileconverter', 'plugin'));
$temp = new admin_settingpage('managefileconverterplugins', new lang_string('type_fileconvertermanage', 'plugin'));
$temp->add(new admin_setting_manage_fileconverter_plugins());
$ADMIN->add('fileconverterplugins', $temp);
@@ -557,6 +557,21 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_heading('searchengineheading', new lang_string('searchengine', 'admin'), ''));
$temp->add(new admin_setting_configselect('searchengine',
new lang_string('selectsearchengine', 'admin'), '', 'solr', $engines));
$temp->add(new admin_setting_heading('searchoptionsheading', new lang_string('searchoptions', 'admin'), ''));
$temp->add(new admin_setting_configcheckbox('searchindexwhendisabled',
new lang_string('searchindexwhendisabled', 'admin'), new lang_string('searchindexwhendisabled_desc', 'admin'),
0));
$temp->add(new admin_setting_configduration('searchindextime',
new lang_string('searchindextime', 'admin'), new lang_string('searchindextime_desc', 'admin'),
600));
$options = [
0 => new lang_string('searchallavailablecourses_off', 'admin'),
1 => new lang_string('searchallavailablecourses_on', 'admin')
];
$temp->add(new admin_setting_configselect('searchallavailablecourses',
new lang_string('searchallavailablecourses', 'admin'),
new lang_string('searchallavailablecourses_desc', 'admin'),
0, $options));
$ADMIN->add('searchplugins', $temp);
$ADMIN->add('searchplugins', new admin_externalpage('searchareas', new lang_string('searchareas', 'admin'),
+11 -3
View File
@@ -18,6 +18,11 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('forceloginforprofiles', new lang_string('forceloginforprofiles', 'admin'), new lang_string('configforceloginforprofiles', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('forceloginforprofileimage', new lang_string('forceloginforprofileimage', 'admin'), new lang_string('forceloginforprofileimage_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('opentogoogle', new lang_string('opentogoogle', 'admin'), new lang_string('configopentogoogle', 'admin'), 0));
$temp->add(new admin_setting_configselect('allowindexing', new lang_string('allowindexing', 'admin'), new lang_string('allowindexing_desc', 'admin'),
0,
array(0 => new lang_string('allowindexingexceptlogin', 'admin'),
1 => new lang_string('allowindexingeverywhere', 'admin'),
2 => new lang_string('allowindexingnowhere', 'admin'))));
$temp->add(new admin_setting_pickroles('profileroles',
new lang_string('profileroles','admin'),
new lang_string('configprofileroles', 'admin'),
@@ -49,8 +54,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
3600 => new lang_string('numminutes', '', 60))));
$temp->add(new admin_setting_configcheckbox('extendedusernamechars', new lang_string('extendedusernamechars', 'admin'), new lang_string('configextendedusernamechars', 'admin'), 0));
$temp->add(new admin_setting_configtext('sitepolicy', new lang_string('sitepolicy', 'admin'), new lang_string('sitepolicy_help', 'admin'), '', PARAM_RAW));
$temp->add(new admin_setting_configtext('sitepolicyguest', new lang_string('sitepolicyguest', 'admin'), new lang_string('sitepolicyguest_help', 'admin'), (isset($CFG->sitepolicy) ? $CFG->sitepolicy : ''), PARAM_RAW));
$temp->add(new admin_setting_configcheckbox('extendedusernamechars', new lang_string('extendedusernamechars', 'admin'), new lang_string('configextendedusernamechars', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('keeptagnamecase', new lang_string('keeptagnamecase','admin'),new lang_string('configkeeptagnamecase', 'admin'),'1'));
@@ -103,6 +107,10 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
new lang_string('passwordchangetokendeletion', 'admin'),
new lang_string('passwordchangetokendeletion_desc', 'admin'), 0));
$temp->add(new admin_setting_configduration('tokenduration',
new lang_string('tokenduration', 'admin'),
new lang_string('tokenduration_desc', 'admin'), 12 * WEEKSECS, WEEKSECS));
$temp->add(new admin_setting_configcheckbox('groupenrolmentkeypolicy', new lang_string('groupenrolmentkeypolicy', 'admin'), new lang_string('groupenrolmentkeypolicy_desc', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('disableuserimages', new lang_string('disableuserimages', 'admin'), new lang_string('configdisableuserimages', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('emailchangeconfirmation', new lang_string('emailchangeconfirmation', 'admin'), new lang_string('configemailchangeconfirmation', 'admin'), 1));
@@ -115,7 +123,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
// "httpsecurity" settingpage
$temp = new admin_settingpage('httpsecurity', new lang_string('httpsecurity', 'admin'));
$temp->add(new admin_setting_configcheckbox('loginhttps', new lang_string('loginhttps', 'admin'), new lang_string('configloginhttps', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('cookiesecure', new lang_string('cookiesecure', 'admin'), new lang_string('configcookiesecure', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('cookiehttponly', new lang_string('cookiehttponly', 'admin'), new lang_string('configcookiehttponly', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowframembedding', new lang_string('allowframembedding', 'admin'), new lang_string('allowframembedding_help', 'admin'), 0));
+2 -3
View File
@@ -12,6 +12,8 @@ $temp->add(new admin_setting_configexecutable('pathtodu', new lang_string('patht
$temp->add(new admin_setting_configexecutable('aspellpath', new lang_string('aspellpath', 'admin'), new lang_string('edhelpaspellpath'), ''));
$temp->add(new admin_setting_configexecutable('pathtodot', new lang_string('pathtodot', 'admin'), new lang_string('pathtodot_help', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('pathtogs', new lang_string('pathtogs', 'admin'), new lang_string('pathtogs_help', 'admin'), '/usr/bin/gs'));
$temp->add(new admin_setting_configexecutable('pathtopython', new lang_string('pathtopython', 'admin'),
new lang_string('pathtopythondesc', 'admin'), ''));
$ADMIN->add('server', $temp);
@@ -209,9 +211,6 @@ $temp->add(new admin_setting_configtext('curltimeoutkbitrate', new lang_string('
$ADMIN->add('server', $temp);
$ADMIN->add('server', new admin_externalpage('adminregistration', new lang_string('hubs', 'admin'),
"$CFG->wwwroot/$CFG->admin/registration/index.php"));
// E-mail settings.
$ADMIN->add('server', new admin_category('email', new lang_string('categoryemail', 'admin')));
+2 -5
View File
@@ -55,9 +55,6 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$optionalsubsystems->add(new admin_setting_configcheckbox('enableglobalsearch', new lang_string('enableglobalsearch', 'admin'),
new lang_string('enableglobalsearch_desc', 'admin'), 0, 1, 0));
$choices = array();
$choices[0] = new lang_string('no');
$choices[1] = new lang_string('yes');
$optionalsubsystems->add(new admin_setting_configselect('allowstealth', new lang_string('allowstealthmodules'),
new lang_string('allowstealthmodules_help'), 0, $choices));
$optionalsubsystems->add(new admin_setting_configcheckbox('allowstealth', new lang_string('allowstealthmodules'),
new lang_string('allowstealthmodules_help'), 0, 1, 0));
}
+2 -8
View File
@@ -11,14 +11,7 @@ $hassiteconfig = has_capability('moodle/site:config', $systemcontext);
$ADMIN->add('root', new admin_externalpage('adminnotifications', new lang_string('notifications'), "$CFG->wwwroot/$CFG->admin/index.php"));
$ADMIN->add('root', new admin_externalpage('registrationmoodleorg', new lang_string('registration', 'admin'),
"$CFG->wwwroot/$CFG->admin/registration/register.php?huburl=" . HUB_MOODLEORGHUBURL . "&hubname=Moodle.org&sesskey=" . sesskey()));
$ADMIN->add('root', new admin_externalpage('registrationhub', new lang_string('registerwith', 'hub'),
"$CFG->wwwroot/$CFG->admin/registration/register.php", 'moodle/site:config', true));
$ADMIN->add('root', new admin_externalpage('registrationhubs', new lang_string('hubs', 'admin'),
"$CFG->wwwroot/$CFG->admin/registration/index.php", 'moodle/site:config', true));
$ADMIN->add('root', new admin_externalpage('siteregistrationconfirmed',
new lang_string('registrationconfirmed', 'hub'),
$CFG->wwwroot."/".$CFG->admin."/registration/confirmregistration.php", 'moodle/site:config', true));
new moodle_url("/admin/registration/index.php")));
// hidden upgrade script
$ADMIN->add('root', new admin_externalpage('upgradesettings', new lang_string('upgradesettings', 'admin'), "$CFG->wwwroot/$CFG->admin/upgradesettings.php", 'moodle/site:config', true));
@@ -30,6 +23,7 @@ if ($hassiteconfig) {
$ADMIN->add('root', new admin_category('users', new lang_string('users','admin')));
$ADMIN->add('root', new admin_category('courses', new lang_string('courses','admin')));
$ADMIN->add('root', new admin_category('grades', new lang_string('grades')));
$ADMIN->add('root', new admin_category('analytics', new lang_string('analytics', 'analytics')));
$ADMIN->add('root', new admin_category('competencies', new lang_string('competencies', 'core_competency')));
$ADMIN->add('root', new admin_category('badges', new lang_string('badges'), empty($CFG->enablebadges)));
$ADMIN->add('root', new admin_category('location', new lang_string('location','admin')));
+49 -6
View File
@@ -4,6 +4,7 @@
$ADMIN->add('users', new admin_category('accounts', new lang_string('accounts', 'admin')));
$ADMIN->add('users', new admin_category('roles', new lang_string('permissions', 'role')));
$ADMIN->add('users', new admin_category('privacy', new lang_string('privacyandpolicies', 'admin')));
if ($hassiteconfig
or has_capability('moodle/user:create', $systemcontext)
@@ -15,15 +16,10 @@ if ($hassiteconfig
or has_capability('moodle/cohort:view', $systemcontext)) { // speedup for non-admins, add all caps used on this page
if (empty($CFG->loginhttps)) {
$securewwwroot = $CFG->wwwroot;
} else {
$securewwwroot = str_replace('http:','https:',$CFG->wwwroot);
}
// stuff under the "accounts" subcategory
$ADMIN->add('accounts', new admin_externalpage('editusers', new lang_string('userlist','admin'), "$CFG->wwwroot/$CFG->admin/user.php", array('moodle/user:update', 'moodle/user:delete')));
$ADMIN->add('accounts', new admin_externalpage('userbulk', new lang_string('userbulk','admin'), "$CFG->wwwroot/$CFG->admin/user/user_bulk.php", array('moodle/user:update', 'moodle/user:delete')));
$ADMIN->add('accounts', new admin_externalpage('addnewuser', new lang_string('addnewuser'), "$securewwwroot/user/editadvanced.php?id=-1", 'moodle/user:create'));
$ADMIN->add('accounts', new admin_externalpage('addnewuser', new lang_string('addnewuser'), "$CFG->wwwroot/user/editadvanced.php?id=-1", 'moodle/user:create'));
// "User default preferences" settingpage.
$temp = new admin_settingpage('userdefaultpreferences', new lang_string('userdefaultpreferences', 'admin'));
@@ -189,6 +185,8 @@ if ($hassiteconfig
'phone2' => new lang_string('phone2'),
'department' => new lang_string('department'),
'institution' => new lang_string('institution'),
'city' => new lang_string('city'),
'country' => new lang_string('country'),
)));
$setting = new admin_setting_configtext('fullnamedisplay', new lang_string('fullnamedisplay', 'admin'),
new lang_string('configfullnamedisplay', 'admin'), 'language', PARAM_TEXT, 50);
@@ -212,3 +210,48 @@ if ($hassiteconfig
$ADMIN->add('roles', new admin_externalpage('checkpermissions', new lang_string('checkglobalpermissions', 'role'), "$CFG->wwwroot/$CFG->admin/roles/check.php?contextid=".$systemcontext->id, array('moodle/role:assign', 'moodle/role:safeoverride', 'moodle/role:override', 'moodle/role:manage')));
} // end of speedup
// Privacy settings.
if ($hassiteconfig) {
$temp = new admin_settingpage('privacysettings', new lang_string('privacysettings', 'admin'));
$options = array(
0 => get_string('no'),
1 => get_string('yes')
);
$url = new moodle_url('/admin/settings.php?section=supportcontact');
$url = $url->out();
$setting = new admin_setting_configselect('agedigitalconsentverification',
new lang_string('agedigitalconsentverification', 'admin'),
new lang_string('agedigitalconsentverification_desc', 'admin', $url), 0, $options);
$setting->set_force_ltr(true);
$temp->add($setting);
// See {@link https://gdpr-info.eu/art-8-gdpr/}.
$ageofdigitalconsentmap = implode(PHP_EOL, [
'*, 16',
'AT, 14',
'ES, 14',
'US, 13'
]);
$setting = new admin_setting_agedigitalconsentmap('agedigitalconsentmap',
new lang_string('ageofdigitalconsentmap', 'admin'),
new lang_string('ageofdigitalconsentmap_desc', 'admin'),
$ageofdigitalconsentmap,
PARAM_RAW
);
$temp->add($setting);
$ADMIN->add('privacy', $temp);
// Policy settings.
$temp = new admin_settingpage('policysettings', new lang_string('policysettings', 'admin'));
$temp->add(new admin_settings_sitepolicy_handler_select('sitepolicyhandler', new lang_string('sitepolicyhandler', 'core_admin'),
new lang_string('sitepolicyhandler_desc', 'core_admin')));
$temp->add(new admin_setting_configtext('sitepolicy', new lang_string('sitepolicy', 'core_admin'),
new lang_string('sitepolicy_help', 'core_admin'), '', PARAM_RAW));
$temp->add(new admin_setting_configtext('sitepolicyguest', new lang_string('sitepolicyguest', 'core_admin'),
new lang_string('sitepolicyguest_help', 'core_admin'), (isset($CFG->sitepolicy) ? $CFG->sitepolicy : ''), PARAM_RAW));
$ADMIN->add('privacy', $temp);
}
@@ -0,0 +1,52 @@
{{!
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/>.
}}
{{!
@template core_admin/setting_filetypes
Renders the admin_setting_filetypes setting element.
Context variables required for this template:
* id - element id
* name - form element name
* value - element value
* descriptions - data for the core_form/filetypes-descriptions template
Example context (json):
{
"id": "test0",
"name": "test",
"value": ".jpg,.gif",
"descriptions": {
"hasdescriptions": true,
"descriptions": [
{
"description": "Image (JPEG)",
"extensions": ".jpeg .jpe .jpg"
},
{
"description": "Image (GIF)",
"extensions": ".gif"
}
]
}
}
}}
<div class="form-text defaultsnext">
<input type="text" name="{{name}}" value="{{value}}" size="30" id="{{id}}" class="text-ltr">
<span data-filetypesbrowser="{{id}}"></span>
<div data-filetypesdescriptions="{{id}}">{{#descriptions}}{{>core_form/filetypes-descriptions}}{{/descriptions}}</div>
</div>
+1
View File
@@ -40,6 +40,7 @@
<div class="settingsform clearfix">
{{#params}}
<input type="hidden" name="{{name}}" value="{{value}}">
<input type="hidden" name="action" value="save-settings">
{{/params}}
<input type="hidden" name="sesskey" value="{{sesskey}}">
<input type="hidden" name="return" value="{{return}}">
+26
View File
@@ -0,0 +1,26 @@
@core @core_admin
Feature: Manage tokens
In order to manage webservice usage
As an admin
I need to be able to create and delete tokens
Background:
Given the following "users" exist:
| username | password | firstname | lastname |
| testuser | testuser | Joe | Bloggs |
| testuser2 | testuser2 | TestFirstname | TestLastname |
And I log in as "admin"
And I am on site homepage
@javascript
Scenario: Add & delete a token
Given I navigate to "Plugins > Web services > Manage tokens" in site administration
And I follow "Add"
And I set the field "User" to "Joe Bloggs"
And I set the field "IP restriction" to "127.0.0.1"
When I press "Save changes"
Then I should see "Joe Bloggs"
And I should see "127.0.0.1"
And I follow "Delete"
And I press "Delete"
And I should not see "Joe Bloggs"
+1
View File
@@ -0,0 +1 @@
define(["jquery","core/str","core/modal_factory","core/notification"],function(a,b,c,d){return{loadInfo:function(e,f){var g=a('[data-model-log-id="'+e+'"]');b.get_string("loginfo","tool_analytics").then(function(b){var d=a("<ul>");return f.forEach(function(a){d.append("<li>"+a+"</li>")}),d.append("</ul>"),c.create({title:b,body:d.html(),large:!0},g)})["catch"](d.exception)}}});
+1
View File
@@ -0,0 +1 @@
define(["jquery","core/str","core/log","core/notification","core/modal_factory","core/modal_events"],function(a,b,c,d,e,f){var g={clear:{title:{key:"clearpredictions",component:"tool_analytics"},body:{key:"clearmodelpredictions",component:"tool_analytics"}}},h=function(b){return a(b.closest("tr")[0]).find("span.target-name").text()};return{confirmAction:function(i,j){a('[data-action-id="'+i+'"]').on("click",function(i){i.preventDefault();var k=a(i.currentTarget);if("undefined"==typeof g[j])return void c.error('Action "'+j+'" is not allowed.');var l=[g[j].title,g[j].body];l[1].param=h(k);var m=b.get_strings(l),n=e.create({type:e.types.SAVE_CANCEL});a.when(m,n).then(function(a,b){return b.setTitle(a[0]),b.setBody(a[1]),b.setSaveButtonText(a[0]),b.getRoot().on(f.save,function(){window.location.href=k.attr("href")}),b.show(),b}).fail(d.exception)})}}});
+56
View File
@@ -0,0 +1,56 @@
// 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/>.
/**
* Shows a dialogue with info about this logs.
*
* @module tool_analytics/log_info
* @class log_info
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['jquery', 'core/str', 'core/modal_factory', 'core/notification'], function($, str, ModalFactory, Notification) {
return /** @alias module:tool_analytics/log_info */ {
/**
* Prepares a modal info for a log's results.
*
* @method loadInfo
* @param {int} id
* @param {string[]} info
*/
loadInfo: function(id, info) {
var link = $('[data-model-log-id="' + id + '"]');
str.get_string('loginfo', 'tool_analytics').then(function(langString) {
var bodyInfo = $("<ul>");
info.forEach(function(item) {
bodyInfo.append('<li>' + item + '</li>');
});
bodyInfo.append("</ul>");
return ModalFactory.create({
title: langString,
body: bodyInfo.html(),
large: true,
}, link);
}).catch(Notification.exception);
}
};
});
+94
View File
@@ -0,0 +1,94 @@
// 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/>.
/**
* AMD module for model actions confirmation.
*
* @module tool_analytics/model
* @copyright 2017 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_factory', 'core/modal_events'],
function($, Str, log, Notification, ModalFactory, ModalEvents) {
/**
* List of actions that require confirmation and confirmation message.
*/
var actionsList = {
clear: {
title: {
key: 'clearpredictions',
component: 'tool_analytics'
}, body: {
key: 'clearmodelpredictions',
component: 'tool_analytics'
}
}
};
/**
* Returns the model name.
*
* @param {Object} actionItem The action item DOM node.
* @return {String}
*/
var getModelName = function(actionItem) {
return $(actionItem.closest('tr')[0]).find('span.target-name').text();
};
/** @alias module:tool_analytics/model */
return {
/**
* Displays a confirm modal window before executing the action.
*
* @param {String} actionId
* @param {String} actionType
*/
confirmAction: function(actionId, actionType) {
$('[data-action-id="' + actionId + '"]').on('click', function(ev) {
ev.preventDefault();
var a = $(ev.currentTarget);
if (typeof actionsList[actionType] === "undefined") {
log.error('Action "' + actionType + '" is not allowed.');
return;
}
var reqStrings = [
actionsList[actionType].title,
actionsList[actionType].body
];
reqStrings[1].param = getModelName(a);
var stringsPromise = Str.get_strings(reqStrings);
var modalPromise = ModalFactory.create({type: ModalFactory.types.SAVE_CANCEL});
$.when(stringsPromise, modalPromise).then(function(strings, modal) {
modal.setTitle(strings[0]);
modal.setBody(strings[1]);
modal.setSaveButtonText(strings[0]);
modal.getRoot().on(ModalEvents.save, function() {
window.location.href = a.attr('href');
});
modal.show();
return modal;
}).fail(Notification.exception);
});
}
};
});
@@ -0,0 +1,119 @@
<?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/>.
/**
* Model edit form.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output\form;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot.'/lib/formslib.php');
/**
* Model edit form.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class edit_model extends \moodleform {
/**
* Form definition
*/
public function definition() {
global $OUTPUT;
$mform = $this->_form;
if ($this->_customdata['model']->is_trained()) {
$message = get_string('edittrainedwarning', 'tool_analytics');
$mform->addElement('html', $OUTPUT->notification($message, \core\output\notification::NOTIFY_WARNING));
}
$mform->addElement('advcheckbox', 'enabled', get_string('enabled', 'tool_analytics'));
$indicators = array();
foreach ($this->_customdata['indicators'] as $classname => $indicator) {
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$indicators[$optionname] = $indicator->get_name();
}
$options = array(
'multiple' => true
);
$mform->addElement('autocomplete', 'indicators', get_string('indicators', 'tool_analytics'), $indicators, $options);
$mform->setType('indicators', PARAM_ALPHANUMEXT);
$timesplittings = array('' => '');
foreach ($this->_customdata['timesplittings'] as $classname => $timesplitting) {
$optionname = \tool_analytics\output\helper::class_to_option($classname);
$timesplittings[$optionname] = $timesplitting->get_name();
}
$mform->addElement('select', 'timesplitting', get_string('timesplittingmethod', 'analytics'), $timesplittings);
$mform->addHelpButton('timesplitting', 'timesplittingmethod', 'analytics');
$mform->addElement('hidden', 'id', $this->_customdata['id']);
$mform->setType('id', PARAM_INT);
$mform->addElement('hidden', 'action', 'edit');
$mform->setType('action', PARAM_ALPHANUMEXT);
$this->add_action_buttons();
}
/**
* Form validation
*
* @param array $data data from the form.
* @param array $files files uploaded.
*
* @return array of errors.
*/
public function validation($data, $files) {
$errors = parent::validation($data, $files);
if (!empty($data['timesplitting'])) {
$realtimesplitting = \tool_analytics\output\helper::option_to_class($data['timesplitting']);
if (\core_analytics\manager::is_valid($realtimesplitting, '\core_analytics\local\time_splitting\base') === false) {
$errors['timesplitting'] = get_string('errorinvalidtimesplitting', 'analytics');
}
}
if (empty($data['indicators'])) {
$errors['indicators'] = get_string('errornoindicators', 'analytics');
} else {
foreach ($data['indicators'] as $indicator) {
$realindicatorname = \tool_analytics\output\helper::option_to_class($indicator);
if (\core_analytics\manager::is_valid($realindicatorname, '\core_analytics\local\indicator\base') === false) {
$errors['indicators'] = get_string('errorinvalidindicator', 'analytics', $realindicatorname);
}
}
}
if (!empty($data['enabled']) && empty($data['timesplitting'])) {
$errors['enabled'] = get_string('errorcantenablenotimesplitting', 'tool_analytics');
}
return $errors;
}
}
@@ -0,0 +1,61 @@
<?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/>.
/**
* Typical crappy helper class with tiny functions.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output;
defined('MOODLE_INTERNAL') || die();
/**
* Helper class with general purpose tiny functions.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class helper {
/**
* Converts a class full name to a select option key
*
* @param string $class
* @return string
*/
public static function class_to_option($class) {
// Form field is PARAM_ALPHANUMEXT and we are sending fully qualified class names
// as option names, but replacing the backslash for a string that is really unlikely
// to ever be part of a class name.
return str_replace('\\', '2015102400ouuu', $class);
}
/**
* option_to_class
*
* @param string $option
* @return string
*/
public static function option_to_class($option) {
// Really unlikely but yeah, I'm a bad booyyy.
return str_replace('2015102400ouuu', '\\', $option);
}
}
@@ -0,0 +1,158 @@
<?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/>.
/**
* Invalid analysables renderable.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output;
defined('MOODLE_INTERNAL') || die;
/**
* Invalid analysables renderable.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class invalid_analysables implements \renderable, \templatable {
/**
* @var \core_analytics\model
*/
protected $model = null;
/**
* @var int
*/
protected $page = 0;
/**
* @var int
*/
protected $perpage = 0;
/**
* Inits the invalid analysables renderable.
*
* @param \core_analytics\model $model
* @param int $page
* @param int $perpage
* @return \stdClass
*/
public function __construct(\core_analytics\model $model, $page, $perpage) {
$this->model = $model;
$this->page = $page;
$this->perpage = $perpage;
}
/**
* Export the data.
*
* @param \renderer_base $output
* @return \stdClass
*/
public function export_for_template(\renderer_base $output) {
global $PAGE;
$offset = $this->page * $this->perpage;
$analysables = $this->model->get_analyser(['notimesplitting' => true])->get_analysables();
$skipped = 0;
$enoughresults = false;
$morepages = false;
$results = array();
foreach ($analysables as $key => $analysable) {
$validtraining = $this->model->get_target()->is_valid_analysable($analysable, true);
if ($validtraining === true) {
if ($this->model->is_static()) {
// We still want to show this analysable if it is not valid to get predictions.
$validtraining = get_string('notrainingbasedassumptions', 'analytics');
} else {
// We skip analysables that are valid for training or valid for prediction.
continue;
}
}
$validprediction = $this->model->get_target()->is_valid_analysable($analysable, false);
if ($validprediction === true) {
// We skip analysables that are valid for training or valid for prediction.
continue;
}
if ($offset && $skipped < $offset) {
$skipped++;
continue;
}
// Add a new results if we don't have enough yet.
if (!$enoughresults) {
$results[$analysable->get_id()] = array($analysable, $validtraining, $validprediction);
if ($this->perpage && count($results) === $this->perpage) {
$enoughresults = true;
}
} else {
// Confirmed that we have results we can not fit into this page.
$morepages = true;
break;
}
unset($analysables[$key]);
}
// Prepare the context object.
$data = new \stdClass();
$data->modelname = $this->model->get_target()->get_name();
if ($this->page > 0) {
$prev = clone $PAGE->url;
$prev->param('page', $this->page - 1);
$button = new \single_button($prev, get_string('previouspage', 'tool_analytics'), 'get');
$data->prev = $button->export_for_template($output);
}
if ($morepages) {
$next = clone $PAGE->url;
$next->param('page', $this->page + 1);
$button = new \single_button($next, get_string('nextpage', 'tool_analytics'), 'get');
$data->next = $button->export_for_template($output);
}
$data->analysables = [];
foreach ($results as list($analysable, $validtraining, $validprediction)) {
$obj = new \stdClass();
$obj->url = \html_writer::link($analysable->get_context()->get_url(), $analysable->get_name(),
array('target' => '_blank'));
if ($validtraining !== true) {
$obj->validtraining = $validtraining;
}
if ($validprediction !== true) {
$obj->validprediction = $validprediction;
}
$data->analysables[] = $obj;
}
return $data;
}
}
@@ -0,0 +1,192 @@
<?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/>.
/**
* Model logs table class.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output;
defined('MOODLE_INTERNAL') || die;
require_once($CFG->libdir . '/tablelib.php');
/**
* Model logs table class.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class model_logs extends \table_sql {
/**
* @var \core_analytics\model
*/
protected $model = null;
/**
* Sets up the table_log parameters.
*
* @param string $uniqueid unique id of form.
* @param \core_analytics\model $model
*/
public function __construct($uniqueid, $model) {
global $PAGE;
parent::__construct($uniqueid);
$this->model = $model;
$this->set_attribute('class', 'modellog generaltable generalbox');
$this->set_attribute('aria-live', 'polite');
$this->define_columns(array('time', 'version', 'indicators', 'timesplitting', 'accuracy', 'info', 'usermodified'));
$this->define_headers(array(
get_string('time'),
get_string('version'),
get_string('indicators', 'tool_analytics'),
get_string('timesplittingmethod', 'analytics'),
get_string('accuracy', 'tool_analytics'),
get_string('info', 'tool_analytics'),
get_string('fullnameuser'),
));
$this->pageable(true);
$this->collapsible(false);
$this->sortable(false);
$this->is_downloadable(false);
$this->define_baseurl($PAGE->url);
}
/**
* Generate the version column.
*
* @param \stdClass $log log data.
* @return string HTML for the version column
*/
public function col_version($log) {
$recenttimestr = get_string('strftimerecent', 'core_langconfig');
return userdate($log->version, $recenttimestr);
}
/**
* Generate the time column.
*
* @param \stdClass $log log data.
* @return string HTML for the time column
*/
public function col_time($log) {
$recenttimestr = get_string('strftimerecent', 'core_langconfig');
return userdate($log->timecreated, $recenttimestr);
}
/**
* Generate the indicators column.
*
* @param \stdClass $log log data.
* @return string HTML for the indicators column
*/
public function col_indicators($log) {
$indicatorclasses = json_decode($log->indicators);
$indicators = array();
foreach ($indicatorclasses as $indicatorclass) {
$indicator = \core_analytics\manager::get_indicator($indicatorclass);
if ($indicator) {
$indicators[] = $indicator->get_name();
} else {
debugging('Can\'t load ' . $indicatorclass . ' indicator', DEBUG_DEVELOPER);
}
}
return '<ul><li>' . implode('</li><li>', $indicators) . '</li></ul>';
}
/**
* Generate the context column.
*
* @param \stdClass $log log data.
* @return string HTML for the context column
*/
public function col_timesplitting($log) {
$timesplitting = \core_analytics\manager::get_time_splitting($log->timesplitting);
return $timesplitting->get_name();
}
/**
* Generate the accuracy column.
*
* @param \stdClass $log log data.
* @return string HTML for the accuracy column
*/
public function col_accuracy($log) {
return strval(round($log->score * 100, 2)) . '%';
}
/**
* Generate the info column.
*
* @param \stdClass $log log data.
* @return string HTML for the score column
*/
public function col_info($log) {
global $PAGE;
if (empty($log->info) && empty($log->dir)) {
return '';
}
$info = array();
if (!empty($log->info)) {
$info = json_decode($log->info);
}
if (!empty($log->dir)) {
$info[] = get_string('predictorresultsin', 'tool_analytics', $log->dir);
}
$PAGE->requires->js_call_amd('tool_analytics/log_info', 'loadInfo', array($log->id, $info));
return \html_writer::link('#', get_string('view'), array('data-model-log-id' => $log->id));
}
/**
* Generate the usermodified column.
*
* @param \stdClass $log log data.
* @return string HTML for the usermodified column
*/
public function col_usermodified($log) {
$user = \core_user::get_user($log->usermodified);
return fullname($user);
}
/**
* Query the logs table. Store results in the object for use by build_table.
*
* @param int $pagesize size of page for paginated displayed table.
* @param bool $useinitialsbar do you want to use the initials bar.
*/
public function query_db($pagesize, $useinitialsbar = true) {
$total = count($this->model->get_logs());
$this->pagesize($pagesize, $total);
$this->rawdata = $this->model->get_logs($this->get_page_start(), $this->get_page_size());
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
}
}
}
@@ -0,0 +1,286 @@
<?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/>.
/**
* Prediction models list page.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output;
defined('MOODLE_INTERNAL') || die();
/**
* Shows tool_analytics models list.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class models_list implements \renderable, \templatable {
/**
* models
*
* @var \core_analytics\model[]
*/
protected $models = array();
/**
* __construct
*
* @param \core_analytics\model[] $models
* @return void
*/
public function __construct($models) {
$this->models = $models;
}
/**
* Exports the data.
*
* @param \renderer_base $output
* @return \stdClass
*/
public function export_for_template(\renderer_base $output) {
global $PAGE;
$data = new \stdClass();
$onlycli = get_config('analytics', 'onlycli');
if ($onlycli === false) {
// Default applied if no config found.
$onlycli = 1;
}
$data->models = array();
foreach ($this->models as $model) {
$modeldata = $model->export();
// Check if there is a help icon for the target to show.
$identifier = $modeldata->target->get_identifier();
$component = $modeldata->target->get_component();
if (get_string_manager()->string_exists($identifier . '_help', $component)) {
$helpicon = new \help_icon($identifier, $component);
$modeldata->targethelp = $helpicon->export_for_template($output);
} else {
// We really want to encourage developers to add help to their targets.
debugging("The target '{$modeldata->target}' should include a '{$identifier}_help' string to
describe its purpose.", DEBUG_DEVELOPER);
}
// Check if there is a help icon for the indicators to show.
if (!empty($modeldata->indicators)) {
$indicators = array();
foreach ($modeldata->indicators as $ind) {
// Create the indicator with the details we want for the context.
$indicator = new \stdClass();
$indicator->name = $ind->out();
$identifier = $ind->get_identifier();
$component = $ind->get_component();
if (get_string_manager()->string_exists($identifier . '_help', $component)) {
$helpicon = new \help_icon($identifier, $component);
$indicator->help = $helpicon->export_for_template($output);
} else {
// We really want to encourage developers to add help to their indicators.
debugging("The indicator '{$ind}' should include a '{$identifier}_help' string to
describe its purpose.", DEBUG_DEVELOPER);
}
$indicators[] = $indicator;
}
$modeldata->indicators = $indicators;
}
// Check if there is a help icon for the time splitting method.
if (!empty($modeldata->timesplitting)) {
$identifier = $modeldata->timesplitting->get_identifier();
$component = $modeldata->timesplitting->get_component();
if (get_string_manager()->string_exists($identifier . '_help', $component)) {
$helpicon = new \help_icon($identifier, $component);
$modeldata->timesplittinghelp = $helpicon->export_for_template($output);
} else {
// We really want to encourage developers to add help to their time splitting methods.
debugging("The time splitting method '{$modeldata->timesplitting}' should include a '{$identifier}_help'
string to describe its purpose.", DEBUG_DEVELOPER);
}
} else {
$helpicon = new \help_icon('timesplittingnotdefined', 'tool_analytics');
$modeldata->timesplittinghelp = $helpicon->export_for_template($output);
}
// Has this model generated predictions?.
$predictioncontexts = $model->get_predictions_contexts();
// Model predictions list.
if (!$model->is_enabled()) {
$modeldata->noinsights = get_string('disabledmodel', 'analytics');
} else if ($model->uses_insights()) {
if ($predictioncontexts) {
foreach ($predictioncontexts as $contextid => $unused) {
// We prepare this to be used as single_select template options.
$context = \context::instance_by_id($contextid);
// Special name for system level predictions as showing "System is not visually nice".
if ($contextid == SYSCONTEXTID) {
$contextname = get_string('allpredictions', 'tool_analytics');
} else {
$contextname = shorten_text($context->get_context_name(true, true), 90);
}
$predictioncontexts[$contextid] = $contextname;
}
\core_collator::asort($predictioncontexts);
if (!empty($predictioncontexts)) {
$url = new \moodle_url('/report/insights/insights.php', array('modelid' => $model->get_id()));
$singleselect = new \single_select($url, 'contextid', $predictioncontexts);
$modeldata->insights = $singleselect->export_for_template($output);
}
}
if (empty($modeldata->insights)) {
if ($model->any_prediction_obtained()) {
$modeldata->noinsights = get_string('noinsights', 'analytics');
} else {
$modeldata->noinsights = get_string('nopredictionsyet', 'analytics');
}
}
} else {
$modeldata->noinsights = get_string('noinsightsmodel', 'analytics');
}
// Actions.
$actionsmenu = new \action_menu();
$actionsmenu->set_menu_trigger(get_string('actions'));
$actionsmenu->set_owner_selector('model-actions-' . $model->get_id());
$actionsmenu->set_alignment(\action_menu::TL, \action_menu::BL);
$urlparams = ['id' => $model->get_id(), 'sesskey' => sesskey()];
// Get predictions.
if (!$onlycli && $modeldata->enabled && !empty($modeldata->timesplitting)) {
$urlparams['action'] = 'getpredictions';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/notifications',
get_string('getpredictions', 'tool_analytics')), get_string('getpredictions', 'tool_analytics'));
$actionsmenu->add($icon);
}
// Evaluate machine-learning-based models.
if (!$onlycli && $model->get_indicators() && !$model->is_static()) {
$urlparams['action'] = 'evaluate';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/calc', get_string('evaluate', 'tool_analytics')),
get_string('evaluate', 'tool_analytics'));
$actionsmenu->add($icon);
}
// Machine-learning-based models evaluation log.
if (!$model->is_static()) {
$urlparams['action'] = 'log';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/report', get_string('viewlog', 'tool_analytics')),
get_string('viewlog', 'tool_analytics'));
$actionsmenu->add($icon);
}
// Edit model.
if (!$model->is_static()) {
$urlparams['action'] = 'edit';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('t/edit', get_string('edit')), get_string('edit'));
$actionsmenu->add($icon);
}
// Enable / disable.
if ($model->is_enabled() || !empty($modeldata->timesplitting)) {
// If there is no timesplitting method set, the model can not be enabled.
if ($model->is_enabled()) {
$action = 'disable';
$text = get_string('disable');
$icontype = 't/block';
} else {
$action = 'enable';
$text = get_string('enable');
$icontype = 'i/checked';
}
$urlparams['action'] = $action;
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon($icontype, $text), $text);
$actionsmenu->add($icon);
}
// Export training data.
if (!$model->is_static() && $model->is_trained()) {
$urlparams['action'] = 'export';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('i/export',
get_string('exporttrainingdata', 'tool_analytics')), get_string('export', 'tool_analytics'));
$actionsmenu->add($icon);
}
// Invalid analysables.
$analyser = $model->get_analyser(['notimesplitting' => true]);
if (!$analyser instanceof \core_analytics\local\analyser\sitewide) {
$urlparams['action'] = 'invalidanalysables';
$url = new \moodle_url('model.php', $urlparams);
$pix = new \pix_icon('i/report', get_string('invalidanalysables', 'tool_analytics'));
$icon = new \action_menu_link_secondary($url, $pix, get_string('invalidanalysables', 'tool_analytics'));
$actionsmenu->add($icon);
}
// Clear model.
if (!empty($predictioncontexts)) {
$actionid = 'clear-' . $model->get_id();
$PAGE->requires->js_call_amd('tool_analytics/model', 'confirmAction', [$actionid, 'clear']);
$urlparams['action'] = 'clear';
$url = new \moodle_url('model.php', $urlparams);
$icon = new \action_menu_link_secondary($url, new \pix_icon('e/cleanup_messy_code',
get_string('clearpredictions', 'tool_analytics')), get_string('clearpredictions', 'tool_analytics'),
['data-action-id' => $actionid]);
$actionsmenu->add($icon);
}
$modeldata->actions = $actionsmenu->export_for_template($output);
$data->models[] = $modeldata;
}
if (!$onlycli) {
$data->warnings = array(
(object)array('message' => get_string('bettercli', 'tool_analytics'), 'closebutton' => true)
);
} else {
$url = new \moodle_url('/admin/settings.php', array('section' => 'analyticssettings'),
'id_s_analytics_onlycli');
$langstrid = 'clievaluationandpredictionsnoadmin';
if (is_siteadmin()) {
$langstrid = 'clievaluationandpredictions';
}
$data->infos = array(
(object)array('message' => get_string($langstrid, 'tool_analytics', $url->out()),
'closebutton' => true)
);
}
return $data;
}
}
@@ -0,0 +1,221 @@
<?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/>.
/**
* Renderer.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\output;
defined('MOODLE_INTERNAL') || die();
use plugin_renderer_base;
use templatable;
use renderable;
/**
* Renderer class.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class renderer extends plugin_renderer_base {
/**
* Defer to template.
*
* @param \tool_analytics\output\models_list $modelslist
* @return string HTML
*/
protected function render_models_list(\tool_analytics\output\models_list $modelslist) {
$data = $modelslist->export_for_template($this);
return parent::render_from_template('tool_analytics/models_list', $data);
}
/**
* Renders a table.
*
* @param \table_sql $table
* @return string HTML
*/
public function render_table(\table_sql $table) {
ob_start();
$table->out(10, true);
$output = ob_get_contents();
ob_end_clean();
return $output;
}
/**
* Web interface evaluate results.
*
* @param \stdClass[] $results
* @param string[] $logs
* @return string HTML
*/
public function render_evaluate_results($results, $logs = array()) {
global $OUTPUT;
$output = '';
foreach ($results as $timesplittingid => $result) {
if (!CLI_SCRIPT) {
$output .= $OUTPUT->box_start('generalbox m-b-3');
}
// Check that the array key is a string, not all results depend on time splitting methods (e.g. general errors).
if (!is_numeric($timesplittingid)) {
$timesplitting = \core_analytics\manager::get_time_splitting($timesplittingid);
$langstrdata = (object)array('name' => $timesplitting->get_name(), 'id' => $timesplittingid);
if (CLI_SCRIPT) {
$output .= $OUTPUT->heading(get_string('getpredictionsresultscli', 'tool_analytics', $langstrdata), 3);
} else {
$output .= $OUTPUT->heading(get_string('getpredictionsresults', 'tool_analytics', $langstrdata), 3);
}
}
if ($result->status == 0) {
$output .= $OUTPUT->notification(get_string('goodmodel', 'tool_analytics'),
\core\output\notification::NOTIFY_SUCCESS);
} else if ($result->status === \core_analytics\model::NO_DATASET) {
$output .= $OUTPUT->notification(get_string('nodatatoevaluate', 'tool_analytics'),
\core\output\notification::NOTIFY_WARNING);
}
if (isset($result->score)) {
// Score.
$output .= $OUTPUT->heading(get_string('accuracy', 'tool_analytics') . ': ' .
round(floatval($result->score), 4) * 100 . '%', 4);
}
if (!empty($result->info)) {
foreach ($result->info as $message) {
$output .= $OUTPUT->notification($message, \core\output\notification::NOTIFY_WARNING);
}
}
if (!CLI_SCRIPT) {
$output .= $OUTPUT->box_end();
}
}
// Info logged during evaluation.
if (!empty($logs) && debugging()) {
$output .= $OUTPUT->heading(get_string('extrainfo', 'tool_analytics'), 3);
foreach ($logs as $log) {
$output .= $OUTPUT->notification($log, \core\output\notification::NOTIFY_WARNING);
}
}
if (!CLI_SCRIPT) {
$output .= $OUTPUT->single_button(new \moodle_url('/admin/tool/analytics/index.php'), get_string('continue'), 'get');
}
return $output;
}
/**
* Web interface training & prediction results.
*
* @param \stdClass|false $trainresults
* @param string[] $trainlogs
* @param \stdClass|false $predictresults
* @param string[] $predictlogs
* @return string HTML
*/
public function render_get_predictions_results($trainresults = false, $trainlogs = array(), $predictresults = false, $predictlogs = array()) {
global $OUTPUT;
$output = '';
if ($trainresults || (!empty($trainlogs) && debugging())) {
$output .= $OUTPUT->heading(get_string('trainingresults', 'tool_analytics'), 3);
}
if ($trainresults) {
if ($trainresults->status == 0) {
$output .= $OUTPUT->notification(get_string('trainingprocessfinished', 'tool_analytics'),
\core\output\notification::NOTIFY_SUCCESS);
} else if ($trainresults->status === \core_analytics\model::NO_DATASET ||
$trainresults->status === \core_analytics\model::NOT_ENOUGH_DATA) {
$output .= $OUTPUT->notification(get_string('nodatatotrain', 'tool_analytics'),
\core\output\notification::NOTIFY_WARNING);
} else {
$output .= $OUTPUT->notification(get_string('generalerror', 'tool_analytics', $trainresults->status),
\core\output\notification::NOTIFY_ERROR);
}
}
if (!empty($trainlogs) && debugging()) {
$output .= $OUTPUT->heading(get_string('extrainfo', 'tool_analytics'), 4);
foreach ($trainlogs as $log) {
$output .= $OUTPUT->notification($log, \core\output\notification::NOTIFY_WARNING);
}
}
if ($predictresults || (!empty($predictlogs) && debugging())) {
$output .= $OUTPUT->heading(get_string('predictionresults', 'tool_analytics'), 3, 'main m-t-3');
}
if ($predictresults) {
if ($predictresults->status == 0) {
$output .= $OUTPUT->notification(get_string('predictionprocessfinished', 'tool_analytics'),
\core\output\notification::NOTIFY_SUCCESS);
} else if ($predictresults->status === \core_analytics\model::NO_DATASET ||
$predictresults->status === \core_analytics\model::NOT_ENOUGH_DATA) {
$output .= $OUTPUT->notification(get_string('nodatatopredict', 'tool_analytics'),
\core\output\notification::NOTIFY_WARNING);
} else {
$output .= $OUTPUT->notification(get_string('generalerror', 'tool_analytics', $predictresults->status),
\core\output\notification::NOTIFY_ERROR);
}
}
if (!empty($predictlogs) && debugging()) {
$output .= $OUTPUT->heading(get_string('extrainfo', 'tool_analytics'), 4);
foreach ($predictlogs as $log) {
$output .= $OUTPUT->notification($log, \core\output\notification::NOTIFY_WARNING);
}
}
if (!CLI_SCRIPT) {
$output .= $OUTPUT->single_button(new \moodle_url('/admin/tool/analytics/index.php'), get_string('continue'), 'get');
}
return $output;
}
/**
* Defer to template.
*
* @param \tool_analytics\output\invalid_analysables $invalidanalysables
* @return string HTML
*/
protected function render_invalid_analysables(\tool_analytics\output\invalid_analysables $invalidanalysables) {
$data = $invalidanalysables->export_for_template($this);
return parent::render_from_template('tool_analytics/invalid_analysables', $data);
}
}
@@ -0,0 +1,46 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_analytics.
*
* @package tool_analytics
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\privacy;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_analytics implementing null_provider.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\null_provider {
/**
* Get the language string identifier with the component's language
* file to explain why this plugin stores no data.
*
* @return string
*/
public static function get_reason() : string {
return 'privacy:metadata';
}
}
@@ -0,0 +1,71 @@
<?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/>.
/**
* Predict system models with new data available.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\task;
defined('MOODLE_INTERNAL') || die();
/**
* Predict system models with new data available.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class predict_models extends \core\task\scheduled_task {
/**
* get_name
*
* @return string
*/
public function get_name() {
return get_string('predictmodels', 'tool_analytics');
}
/**
* Executes the prediction task.
*
* @return void
*/
public function execute() {
global $OUTPUT, $PAGE;
$models = \core_analytics\manager::get_all_models(true, true);
if (!$models) {
mtrace(get_string('errornoenabledandtrainedmodels', 'tool_analytics'));
return;
}
foreach ($models as $model) {
$result = $model->predict();
if ($result) {
echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_target()->get_name()));
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_get_predictions_results(false, array(), $result, $model->get_analyser()->get_logs());
}
}
}
}
@@ -0,0 +1,82 @@
<?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/>.
/**
* Train system models with new data available.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_analytics\task;
defined('MOODLE_INTERNAL') || die();
/**
* Train system models with new data available.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class train_models extends \core\task\scheduled_task {
/**
* get_name
*
* @return string
*/
public function get_name() {
return get_string('trainmodels', 'tool_analytics');
}
/**
* Executes the prediction task.
*
* @return void
*/
public function execute() {
global $OUTPUT, $PAGE;
$models = \core_analytics\manager::get_all_models(true);
if (!$models) {
mtrace(get_string('errornoenabledmodels', 'tool_analytics'));
return;
}
foreach ($models as $model) {
if ($model->is_static()) {
// Skip models based on assumptions.
continue;
}
if (!$model->get_time_splitting()) {
// Can not train if there is no time splitting method selected.
continue;
}
$result = $model->train();
if ($result) {
echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_target()->get_name()));
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_get_predictions_results($result, $model->get_analyser()->get_logs());
}
}
}
}
+72
View File
@@ -0,0 +1,72 @@
<?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/>.
/**
* Enables the provided model.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require_once(__DIR__ . '/../../../../config.php');
require_once($CFG->libdir.'/clilib.php');
$help = "Enables the provided model.
Options:
--modelid Model id
--timesplitting Time splitting method full class name
-h, --help Print out this help
Example:
\$ php admin/tool/analytics/cli/enable_model.php --modelid=1 --timesplitting=\"\\core\\analytics\\time_splitting\\quarters\"
";
// Now get cli options.
list($options, $unrecognized) = cli_get_params(
array(
'help' => false,
'modelid' => false,
'timesplitting' => false
),
array(
'h' => 'help',
)
);
if ($options['help']) {
echo $help;
exit(0);
}
if ($options['modelid'] === false || $options['timesplitting'] === false) {
echo $help;
exit(0);
}
// We need admin permissions.
\core\session\manager::set_user(get_admin());
$model = new \core_analytics\model($options['modelid']);
// Evaluate its suitability to predict accurately.
$model->enable($options['timesplitting']);
cli_heading(get_string('success'));
exit(0);
+131
View File
@@ -0,0 +1,131 @@
<?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/>.
/**
* Evaluates the provided model.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require_once(__DIR__ . '/../../../../config.php');
require_once($CFG->libdir.'/clilib.php');
$help = "Evaluates the provided model.
Options:
--modelid Model id
--non-interactive Not interactive questions
--timesplitting Restrict the evaluation to 1 single time splitting method (Optional)
--filter Analyser dependant. e.g. A courseid would evaluate the model using a single course (Optional)
--reuse-prev-analysed Reuse recently analysed courses instead of analysing the whole site. Set it to false while" .
" coding indicators. Defaults to true (Optional)" . "
-h, --help Print out this help
Example:
\$ php admin/tool/analytics/cli/evaluate_model.php --modelid=1 --timesplitting='\\core\\analytics\\time_splitting\\quarters' --filter=123,321
";
// Now get cli options.
list($options, $unrecognized) = cli_get_params(
array(
'help' => false,
'modelid' => false,
'timesplitting' => false,
'reuse-prev-analysed' => true,
'non-interactive' => false,
'filter' => false
),
array(
'h' => 'help',
)
);
if ($options['help']) {
echo $help;
exit(0);
}
if ($options['modelid'] === false) {
echo $help;
exit(0);
}
// Reformat them as an array.
if ($options['filter'] !== false) {
$options['filter'] = explode(',', $options['filter']);
}
// We need admin permissions.
\core\session\manager::set_user(get_admin());
$model = new \core_analytics\model($options['modelid']);
mtrace(get_string('analysingsitedata', 'tool_analytics'));
if ($options['reuse-prev-analysed']) {
mtrace(get_string('evaluationinbatches', 'tool_analytics'));
}
$analyseroptions = array(
'filter' => $options['filter'],
'timesplitting' => $options['timesplitting'],
'reuseprevanalysed' => $options['reuse-prev-analysed'],
);
// Evaluate its suitability to predict accurately.
$results = $model->evaluate($analyseroptions);
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_evaluate_results($results, $model->get_analyser()->get_logs());
// Check that we have, at leasa,t 1 valid dataset (not necessarily good) to use.
foreach ($results as $result) {
if ($result->status !== \core_analytics\model::NO_DATASET &&
$result->status !== \core_analytics\model::GENERAL_ERROR) {
$validdatasets = true;
}
}
if (!empty($validdatasets) && !$model->is_enabled() && $options['non-interactive'] === false) {
// Select a dataset, train and enable the model.
$input = cli_input(get_string('clienablemodel', 'tool_analytics'));
while (!\core_analytics\manager::is_valid($input, '\core_analytics\local\time_splitting\base') && $input !== 'none') {
mtrace(get_string('errorunexistingtimesplitting', 'analytics'));
$input = cli_input(get_string('clienablemodel', 'tool_analytics'));
}
if ($input === 'none') {
exit(0);
}
// Refresh the instance to prevent unexpected issues.
$model = new \core_analytics\model($modelobj);
// Set the time splitting method file and enable it.
$model->enable($input);
mtrace(get_string('trainandpredictmodel', 'tool_analytics'));
// Train the model with the selected time splitting method and start predicting.
$model->train();
$model->predict();
}
exit(0);
@@ -0,0 +1,228 @@
<?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/>.
/**
* Guesses course start and end dates based on activity logs.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require_once(__DIR__ . '/../../../../config.php');
require_once($CFG->libdir.'/clilib.php');
require_once($CFG->dirroot . '/course/lib.php');
require_once($CFG->dirroot . '/course/format/weeks/lib.php');
$help = "Guesses course start and end dates based on activity logs.
IMPORTANT: Don't use this script if you keep previous academic years users enrolled in courses. Guesses would not be accurate.
Options:
--guessstart Guess the course start date (default to true)
--guessend Guess the course end date (default to true)
--guessall Guess all start and end dates, even if they are already set (default to false)
--update Update the db or just notify the guess (default to false)
--filter Analyser dependant. e.g. A courseid would evaluate the model using a single course (Optional)
-h, --help Print out this help
Example:
\$ php admin/tool/analytics/cli/guess_course_start_and_end_dates.php --update=1 --filter=123,321
";
// Now get cli options.
list($options, $unrecognized) = cli_get_params(
array(
'help' => false,
'guessstart' => true,
'guessend' => true,
'guessall' => false,
'update' => false,
'filter' => false
),
array(
'h' => 'help',
)
);
if ($options['help']) {
echo $help;
exit(0);
}
if ($options['guessstart'] === false && $options['guessend'] === false && $options['guessall'] === false) {
echo $help;
exit(0);
}
// Reformat them as an array.
if ($options['filter'] !== false) {
$options['filter'] = explode(',', clean_param($options['filter'], PARAM_SEQUENCE));
}
// We need admin permissions.
\core\session\manager::set_user(get_admin());
$conditions = array('id != 1');
if (!$options['guessall']) {
if ($options['guessstart']) {
$conditions[] = '(startdate is null or startdate = 0)';
}
if ($options['guessend']) {
$conditions[] = '(enddate is null or enddate = 0)';
}
}
$coursessql = '';
$params = null;
if ($options['filter']) {
list($coursessql, $params) = $DB->get_in_or_equal($options['filter'], SQL_PARAMS_NAMED);
$conditions[] = 'id ' . $coursessql;
}
$courses = $DB->get_recordset_select('course', implode(' AND ', $conditions), $params, 'sortorder ASC');
foreach ($courses as $course) {
tool_analytics_calculate_course_dates($course, $options);
}
$courses->close();
/**
* tool_analytics_calculate_course_dates
*
* @param stdClass $course
* @param array $options CLI options
* @return void
*/
function tool_analytics_calculate_course_dates($course, $options) {
global $DB, $OUTPUT;
$courseman = new \core_analytics\course($course);
$notification = $course->shortname . ' (id = ' . $course->id . '): ';
$originalenddate = null;
$guessedstartdate = null;
$guessedenddate = null;
$samestartdate = null;
$lowerenddate = null;
if ($options['guessstart'] || $options['guessall']) {
$originalstartdate = $course->startdate;
$guessedstartdate = $courseman->guess_start();
$samestartdate = ($guessedstartdate == $originalstartdate);
$lowerenddate = ($course->enddate && ($course->enddate < $guessedstartdate));
if ($samestartdate) {
if (!$guessedstartdate) {
$notification .= PHP_EOL . ' ' . get_string('cantguessstartdate', 'tool_analytics');
} else {
// No need to update.
$notification .= PHP_EOL . ' ' . get_string('samestartdate', 'tool_analytics') . ': ' . userdate($guessedstartdate);
}
} else if (!$guessedstartdate) {
$notification .= PHP_EOL . ' ' . get_string('cantguessstartdate', 'tool_analytics');
} else if ($lowerenddate) {
$notification .= PHP_EOL . ' ' . get_string('cantguessstartdate', 'tool_analytics') . ': ' .
get_string('enddatebeforestartdate', 'error') . ' - ' . userdate($guessedstartdate);
} else {
// Update it to something we guess.
// We set it to $course even if we don't update because may be needed to guess the end one.
$course->startdate = $guessedstartdate;
$notification .= PHP_EOL . ' ' . get_string('startdate') . ': ' . userdate($guessedstartdate);
// Two different course updates because week's end date may be recalculated after setting the start date.
if ($options['update']) {
update_course($course);
// Refresh course data as end date may have been updated.
$course = $DB->get_record('course', array('id' => $course->id));
$courseman = new \core_analytics\course($course);
}
}
}
if ($options['guessend'] || $options['guessall']) {
if (!empty($lowerenddate) && !empty($guessedstartdate)) {
$course->startdate = $guessedstartdate;
}
$originalenddate = $course->enddate;
$format = course_get_format($course);
$formatoptions = $format->get_format_options();
// Change this for a course formats API level call in MDL-60702.
if (method_exists($format, 'update_end_date') && $formatoptions['automaticenddate']) {
// Special treatment for weeks-based formats with automatic end date.
if ($options['update']) {
$format::update_end_date($course->id);
$course->enddate = $DB->get_field('course', 'enddate', array('id' => $course->id));
$notification .= PHP_EOL . ' ' . get_string('weeksenddateautomaticallyset', 'tool_analytics') . ': ' .
userdate($course->enddate);
} else {
// We can't provide more info without actually updating it in db.
$notification .= PHP_EOL . ' ' . get_string('weeksenddatedefault', 'tool_analytics');
}
} else {
$guessedenddate = $courseman->guess_end();
if ($guessedenddate == $originalenddate) {
if (!$guessedenddate) {
$notification .= PHP_EOL . ' ' . get_string('cantguessenddate', 'tool_analytics');
} else {
// No need to update.
$notification .= PHP_EOL . ' ' . get_string('sameenddate', 'tool_analytics') . ': ' . userdate($guessedenddate);
}
} else if (!$guessedenddate) {
$notification .= PHP_EOL . ' ' . get_string('cantguessenddate', 'tool_analytics');
} else {
// Update it to something we guess.
$course->enddate = $guessedenddate;
$updateit = false;
if ($course->enddate < $course->startdate) {
$notification .= PHP_EOL . ' ' . get_string('errorendbeforestart', 'analytics', userdate($course->enddate));
} else if ($course->startdate + (YEARSECS + (WEEKSECS * 4)) > $course->enddate) {
$notification .= PHP_EOL . ' ' . get_string('coursetoolong', 'analytics');
} else {
$notification .= PHP_EOL . ' ' . get_string('enddate') . ': ' . userdate($course->enddate);
$updateit = true;
}
if ($options['update'] && $updateit) {
update_course($course);
}
}
}
}
mtrace($notification);
}
mtrace(get_string('success'));
exit(0);
+47
View File
@@ -0,0 +1,47 @@
<?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 defines tasks performed by the tool.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
// List of tasks.
$tasks = array(
array(
'classname' => 'tool_analytics\task\train_models',
'blocking' => 0,
'minute' => '0',
'hour' => 'R',
'day' => '*',
'dayofweek' => '*',
'month' => '*'
),
array(
'classname' => 'tool_analytics\task\predict_models',
'blocking' => 0,
'minute' => '0',
'hour' => 'R',
'day' => '*',
'dayofweek' => '*',
'month' => '*'
),
);
+37
View File
@@ -0,0 +1,37 @@
<?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/>.
/**
* Prediction models tool frontend.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../../config.php');
require_once($CFG->libdir . '/adminlib.php');
admin_externalpage_setup('analyticmodels', '', null, '', array('pagelayout' => 'report'));
$models = \core_analytics\manager::get_all_models();
echo $OUTPUT->header();
$templatable = new \tool_analytics\output\models_list($models);
echo $PAGE->get_renderer('tool_analytics')->render($templatable);
echo $OUTPUT->footer();
@@ -0,0 +1,95 @@
<?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/>.
/**
* Strings for tool_analytics.
*
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['accuracy'] = 'Accuracy';
$string['allpredictions'] = 'All predictions';
$string['analysingsitedata'] = 'Analysing the site';
$string['analyticmodels'] = 'Analytics models';
$string['bettercli'] = 'Evaluating models and generating predictions may involve heavy processing. It is recommended to run these actions from the command line.';
$string['cantguessstartdate'] = 'Can\'t guess the start date';
$string['cantguessenddate'] = 'Can\'t guess the end date';
$string['clearpredictions'] = 'Clear predictions';
$string['clearmodelpredictions'] = 'Are you sure you want to clear all "{$a}" predictions?';
$string['clienablemodel'] = 'You can enable the model by selecting a time-splitting method by its ID. Note that you can also enable it later using the web interface (\'none\' to exit).';
$string['clievaluationandpredictions'] = 'A scheduled task iterates through enabled models and gets predictions. Models evaluation via the web interface is disabled. You can allow these processes to be executed manually via the web interface by disabling the <a href="{$a}">\'onlycli\'</a> analytics setting.';
$string['clievaluationandpredictionsnoadmin'] = 'A scheduled task iterates through enabled models and gets predictions. Models evaluation via the web interface is disabled. It may be enabled by a site administrator.';
$string['editmodel'] = 'Edit "{$a}" model';
$string['edittrainedwarning'] = 'This model has already been trained. Note that changing its indicators or its time-splitting method will delete its previous predictions and start generating new predictions.';
$string['enabled'] = 'Enabled';
$string['errorcantenablenotimesplitting'] = 'You need to select a time-splitting method before enabling the model';
$string['errornoenabledandtrainedmodels'] = 'There are no enabled and trained models to predict.';
$string['errornoenabledmodels'] = 'There are no enabled models to train.';
$string['errornoexport'] = 'Only trained models can be exported';
$string['errornostaticedit'] = 'Models based on assumptions cannot be edited.';
$string['errornostaticevaluated'] = 'Models based on assumptions cannot be evaluated. They are always 100% correct according to how they were defined.';
$string['errornostaticlog'] = 'Models based on assumptions cannot be evaluated because there is no performance log.';
$string['erroronlycli'] = 'Execution only allowed via command line';
$string['errortrainingdataexport'] = 'The model training data could not be exported';
$string['evaluate'] = 'Evaluate';
$string['evaluatemodel'] = 'Evaluate model';
$string['evaluationinbatches'] = 'The site contents are calculated and stored in batches. The evaluation process may be stopped at any time. The next time it is run, it will continue from the point when it was stopped.';
$string['export'] = 'Export';
$string['exporttrainingdata'] = 'Export training data';
$string['getpredictionsresultscli'] = 'Results using {$a->name} (id: {$a->id}) course duration splitting';
$string['getpredictionsresults'] = 'Results using {$a->name} course duration splitting';
$string['extrainfo'] = 'Info';
$string['generalerror'] = 'Evaluation error. Status code {$a}';
$string['getpredictions'] = 'Get predictions';
$string['goodmodel'] = 'This is a good model for using to obtain predictions. Enable it to start obtaining predictions.';
$string['indicators'] = 'Indicators';
$string['info'] = 'Info';
$string['insights'] = 'Insights';
$string['invalidanalysables'] = 'Invalid site elements';
$string['invalidanalysablesinfo'] = 'This pages lists this site analysable elements that can not be used by this prediction model. The listed elements can not be used neither to train the prediction model nor the prediction model can get predictions for them.';
$string['invalidanalysablestable'] = 'Invalid site analysable elements table';
$string['invalidprediction'] = 'Invalid to get predictions';
$string['invalidtraining'] = 'Invalid to train the model';
$string['loginfo'] = 'Log extra info';
$string['modelinvalidanalysables'] = 'Invalid analysable elements for "{$a}" model';
$string['modelresults'] = '{$a} results';
$string['modeltimesplitting'] = 'Time splitting';
$string['nextpage'] = 'Next page';
$string['nodatatoevaluate'] = 'There is no data to evaluate the model';
$string['nodatatopredict'] = 'No new elements to get predictions for';
$string['nodatatotrain'] = 'There is no new data that can be used for training';
$string['notdefined'] = 'Not yet defined';
$string['pluginname'] = 'Analytic models';
$string['predictionresults'] = 'Prediction results';
$string['predictmodels'] = 'Predict models';
$string['predictorresultsin'] = 'Predictor logged information in {$a} directory';
$string['predictionprocessfinished'] = 'Prediction process finished';
$string['previouspage'] = 'Previous page';
$string['samestartdate'] = 'Current start date is good';
$string['sameenddate'] = 'Current end date is good';
$string['target'] = 'Target';
$string['timesplittingnotdefined'] = 'Time splitting is not defined.';
$string['timesplittingnotdefined_help'] = 'You need to select a time-splitting method before enabling the model.';
$string['trainandpredictmodel'] = 'Training model and calculating predictions';
$string['trainingprocessfinished'] = 'Training process finished';
$string['trainingresults'] = 'Training results';
$string['trainmodels'] = 'Train models';
$string['viewlog'] = 'Log';
$string['weeksenddateautomaticallyset'] = 'End date automatically set based on start date and the number of sections';
$string['weeksenddatedefault'] = 'End date automatically calculated from the course start date.';
$string['privacy:metadata'] = 'The Analytic models plugin does not store any personal data.';
+241
View File
@@ -0,0 +1,241 @@
<?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/>.
/**
* Model-related actions.
*
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../../config.php');
$id = required_param('id', PARAM_INT);
$action = required_param('action', PARAM_ALPHANUMEXT);
$context = context_system::instance();
require_login();
$model = new \core_analytics\model($id);
\core_analytics\manager::check_can_manage_models();
$params = array('id' => $id, 'action' => $action);
$url = new \moodle_url('/admin/tool/analytics/model.php', $params);
switch ($action) {
case 'edit':
$title = get_string('editmodel', 'tool_analytics', $model->get_target()->get_name());
break;
case 'evaluate':
$title = get_string('evaluatemodel', 'tool_analytics');
break;
case 'getpredictions':
$title = get_string('getpredictions', 'tool_analytics');
break;
case 'log':
$title = get_string('viewlog', 'tool_analytics');
break;
case 'enable':
$title = get_string('enable');
break;
case 'disable':
$title = get_string('disable');
break;
case 'export':
$title = get_string('export', 'tool_analytics');
break;
case 'clear':
$title = get_string('clearpredictions', 'tool_analytics');
break;
case 'invalidanalysables':
$title = get_string('invalidanalysables', 'tool_analytics');
break;
default:
throw new moodle_exception('errorunknownaction', 'analytics');
}
$PAGE->set_context($context);
$PAGE->set_url($url);
$PAGE->set_pagelayout('report');
$PAGE->set_title($title);
$PAGE->set_heading($title);
$onlycli = get_config('analytics', 'onlycli');
if ($onlycli === false) {
// Default applied if no config found.
$onlycli = 1;
}
switch ($action) {
case 'enable':
confirm_sesskey();
$model->enable();
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
break;
case 'disable':
confirm_sesskey();
$model->update(0, false, false);
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
break;
case 'edit':
confirm_sesskey();
if ($model->is_static()) {
echo $OUTPUT->header();
throw new moodle_exception('errornostaticedit', 'tool_analytics');
}
$customdata = array(
'id' => $model->get_id(),
'model' => $model,
'indicators' => $model->get_potential_indicators(),
'timesplittings' => \core_analytics\manager::get_enabled_time_splitting_methods()
);
$mform = new \tool_analytics\output\form\edit_model(null, $customdata);
if ($mform->is_cancelled()) {
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
} else if ($data = $mform->get_data()) {
// Converting option names to class names.
$indicators = array();
foreach ($data->indicators as $indicator) {
$indicatorclass = \tool_analytics\output\helper::option_to_class($indicator);
$indicators[] = \core_analytics\manager::get_indicator($indicatorclass);
}
$timesplitting = \tool_analytics\output\helper::option_to_class($data->timesplitting);
$model->update($data->enabled, $indicators, $timesplitting);
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
}
echo $OUTPUT->header();
$modelobj = $model->get_model_obj();
$callable = array('\tool_analytics\output\helper', 'class_to_option');
$modelobj->indicators = array_map($callable, json_decode($modelobj->indicators));
$modelobj->timesplitting = \tool_analytics\output\helper::class_to_option($modelobj->timesplitting);
$mform->set_data($modelobj);
$mform->display();
break;
case 'evaluate':
confirm_sesskey();
echo $OUTPUT->header();
if ($model->is_static()) {
throw new moodle_exception('errornostaticevaluate', 'tool_analytics');
}
if ($onlycli) {
throw new moodle_exception('erroronlycli', 'tool_analytics');
}
// Web interface is used by people who can not use CLI nor code stuff, always use
// cached stuff as they will change the model through the web interface as well
// which invalidates the previously analysed stuff.
$results = $model->evaluate(array('reuseprevanalysed' => true));
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_evaluate_results($results, $model->get_analyser()->get_logs());
break;
case 'getpredictions':
confirm_sesskey();
echo $OUTPUT->header();
if ($onlycli) {
throw new moodle_exception('erroronlycli', 'tool_analytics');
}
$trainresults = $model->train();
$trainlogs = $model->get_analyser()->get_logs();
// Looks dumb to get a new instance but better be conservative.
$model = new \core_analytics\model($model->get_model_obj());
if ($model->is_trained()) {
$predictresults = $model->predict();
$predictlogs = $model->get_analyser()->get_logs();
} else {
$predictresults = false;
$predictlogs = array();
}
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render_get_predictions_results($trainresults, $trainlogs, $predictresults, $predictlogs);
break;
case 'log':
echo $OUTPUT->header();
if ($model->is_static()) {
throw new moodle_exception('errornostaticlog', 'tool_analytics');
}
$renderer = $PAGE->get_renderer('tool_analytics');
$modellogstable = new \tool_analytics\output\model_logs('model-' . $model->get_id(), $model);
echo $renderer->render_table($modellogstable);
break;
case 'export':
if ($model->is_static() || !$model->is_trained()) {
throw new moodle_exception('errornoexport', 'tool_analytics');
}
$file = $model->get_training_data();
if (!$file) {
redirect(new \moodle_url('/admin/tool/analytics/index.php'), get_string('errortrainingdataexport', 'tool_analytics'),
null, \core\output\notification::NOTIFY_ERROR);
}
$filename = 'training-data.' . $model->get_id() . '.' . time() . '.csv';
send_file($file, $filename, null, 0, false, true);
break;
case 'clear':
confirm_sesskey();
$model->clear();
redirect(new \moodle_url('/admin/tool/analytics/index.php'));
break;
case 'invalidanalysables':
echo $OUTPUT->header();
$page = optional_param('page', 0, PARAM_INT);
// No option in the UI to change this, only for url hackers ;).
$perpage = optional_param('perpage', 10, PARAM_INT);
$renderable = new \tool_analytics\output\invalid_analysables($model, $page, $perpage);
$renderer = $PAGE->get_renderer('tool_analytics');
echo $renderer->render($renderable);
break;
}
echo $OUTPUT->footer();
@@ -15,22 +15,14 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* No repeat parent exception.
* Adds settings links to admin tree.
*
* @package core_calendar
* @copyright 2017 Ryan Wyllie <ryan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @package tool_analytics
* @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_calendar\local\event\exceptions;
defined('MOODLE_INTERNAL') || die();
/**
* No repeat parent exception.
*
* @copyright 2017 Ryan Wyllie <ryan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class no_repeat_parent_exception extends \moodle_exception {
}
$ADMIN->add('analytics', new admin_externalpage('analyticmodels', get_string('analyticmodels', 'tool_analytics'),
"$CFG->wwwroot/$CFG->admin/tool/analytics/index.php", 'moodle/analytics:managemodels'));
@@ -0,0 +1,78 @@
{{!
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/>.
}}
{{!
@template tool_analytics/invalid_analysables
Template for invalid analysables.
Classes required for JS:
* none
Data attributes required for JS:
* none
Context variables required for this template:
* none
Example context (json):
{
"modelname": "Not engaging courses",
"analysables": [
{
"url": "<a href=\"#\">Maths</a>",
"validtraining": "Ongoing course",
"validprediction": "Not enough students activity"
}, {
"url": "<a href=\"#\">Psichology</a>",
"validtraining": "No students",
"validprediction": "No students"
}
]
}
}}
<div class="box">
<h3>{{#str}}modelinvalidanalysables, tool_analytics, {{modelname}}{{/str}}</h3>
<div>{{#str}}invalidanalysablesinfo, tool_analytics{{/str}}</div>
<div class="m-t-2 m-b-1">
<span>{{#prev}}{{> core/single_button}}{{/prev}}</span>
<span>{{#next}}{{> core/single_button}}{{/next}}</span>
</div>
<table class="generaltable fullwidth">
<caption class="accesshide">{{#str}}invalidanalysablestable, tool_analytics{{/str}}</caption>
<thead>
<tr>
<th scope="col">{{#str}}name{{/str}}</th>
<th scope="col">{{#str}}invalidtraining, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}invalidprediction, tool_analytics{{/str}}</th>
</tr>
</thead>
<tbody>
{{#analysables}}
<tr>
<td>{{{url}}}</td>
<td>{{validtraining}}</td>
<td>{{validprediction}}</td>
</tr>
{{/analysables}}
</tbody>
</table>
<div class="m-t-1 m-b-2">
<span>{{#prev}}{{> core/single_button}}{{/prev}}</span>
<span>{{#next}}{{> core/single_button}}{{/next}}</span>
</div>
</div>
@@ -0,0 +1,186 @@
{{!
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/>.
}}
{{!
@template tool_analytics/models_list
Template for models list.
Classes required for JS:
* none
Data attributes required for JS:
* none
Context variables required for this template:
* none
Example context (json):
{
"models": [
{
"target": "Prevent devs at risk",
"targethelp": [
{
"title": "Help with something",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}
],
"enabled": 1,
"indicators": [{
"name": "Indicator 1",
"help": [{
"title": "Help with something",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}]
},
{
"name": "Indicator 2",
"help": [{
"title": "Help with something",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}]
}],
"timesplitting": "Quarters",
"timesplittinghelp": [
{
"title": "Help with something",
"url": "http://example.org/help",
"linktext": "",
"icon":{
"extraclasses": "iconhelp",
"attributes": [
{"name": "src", "value": "../../../pix/help.svg"},
{"name": "alt", "value": "Help icon"}
]
}
}
],
"noinsights": "No insights available yet"
}
],
"warnings": {
"message": "Hey, this is a warning"
}
}
}}
{{#warnings}}
{{> core/notification_warning}}
{{/warnings}}
{{#infos}}
{{> core/notification_info}}
{{/infos}}
<div class="box">
<table class="generaltable fullwidth">
<caption>{{#str}}analyticmodels, tool_analytics{{/str}}</caption>
<thead>
<tr>
<th scope="col">{{#str}}target, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}enabled, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}indicators, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}modeltimesplitting, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}insights, tool_analytics{{/str}}</th>
<th scope="col">{{#str}}actions{{/str}}</th>
</tr>
</thead>
<tbody>
{{#models}}
<tr>
<td>
<span class="target-name">{{target}}</span>
{{#targethelp}}
{{>core/help_icon}}
{{/targethelp}}
</td>
<td>
{{#enabled}}
{{#pix}}i/checked, core, {{#str}}yes{{/str}}{{/pix}}
{{/enabled}}
{{^enabled}}
{{#str}}no{{/str}}
{{/enabled}}
</td>
<td>
<ul>
{{#indicators}}
<li>
{{name}}
{{#help}}
{{>core/help_icon}}
{{/help}}
</li>
{{/indicators}}
</ul>
</td>
<td>
{{#timesplitting}}
{{timesplitting}}
{{#timesplittinghelp}}
{{>core/help_icon}}
{{/timesplittinghelp}}
{{/timesplitting}}
{{^timesplitting}}
{{#str}}notdefined, tool_analytics{{/str}}
{{#timesplittinghelp}}
{{>core/help_icon}}
{{/timesplittinghelp}}
{{/timesplitting}}
</td>
<td>
{{! models_list renderer is responsible of sending one or the other}}
{{#insights}}
{{> core/single_select }}
{{/insights}}
{{#noinsights}}
{{.}}
{{/noinsights}}
</td>
<td>
{{#actions}}
{{> core/action_menu}}
{{/actions}}
</td>
</tr>
{{/models}}
</tbody>
</table>
</div>
@@ -15,15 +15,15 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Version details
* Version details.
*
* @package auth_fc
* @copyright 1999 onwards Martin Dougiamas (http://dougiamas.com)
* @package tool_analytics
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com/}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017051500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2017050500; // Requires this Moodle version
$plugin->component = 'auth_fc'; // Full name of the plugin (used for diagnostics)
$plugin->version = 2017111300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2017110800; // Requires this Moodle version.
$plugin->component = 'tool_analytics'; // Full name of the plugin (used for diagnostics).
@@ -0,0 +1,73 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_assignmentupgrade.
*
* @package tool_assignmentupgrade
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_assignmentupgrade\privacy;
use core_privacy\local\metadata\collection;
use core_privacy\local\request\writer;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_assignmentupgrade implementing metadata, plugin, and user_preference providers.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements
\core_privacy\local\metadata\provider,
\core_privacy\local\request\user_preference_provider {
/**
* Returns meta data about this system.
*
* @param collection $collection The initialised collection to add items to.
* @return collection A listing of user data stored through this system.
*/
public static function get_metadata(collection $collection) : collection {
$collection->add_user_preference(
'tool_assignmentupgrade_perpage',
'privacy:metadata:preference:perpage'
);
return $collection;
}
/**
* Export all user preferences for the plugin.
*
* @param int $userid The userid of the user whose data is to be exported.
*/
public static function export_user_preferences(int $userid) {
$perpage = get_user_preferences('tool_assignmentupgrade_perpage', null, $userid);
if ($perpage !== null) {
writer::export_user_preference(
'tool_assignmentupgrade',
'perpage',
$perpage,
get_string('privacy:metadata:preference:perpage', 'tool_assignmentupgrade')
);
}
}
}
@@ -58,3 +58,4 @@ $string['upgradeallconfirm'] = 'Upgrade all assignments?';
$string['upgradeprogress'] = 'Upgrade assignment {$a->current} of {$a->total}';
$string['upgradesingle'] = 'Upgrade single assignment';
$string['viewcourse'] = 'View the course with the converted assignment';
$string['privacy:metadata:preference:perpage'] = 'The assignment upgrade records per page preference set for the user.';
@@ -0,0 +1,75 @@
<?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/>.
/**
* Privacy tests for tool_assignmentupgrade.
*
* @package tool_assignmentupgrade
* @category test
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
use \core_privacy\tests\provider_testcase;
use \core_privacy\local\request\writer;
use \tool_assignmentupgrade\privacy\provider;
/**
* Unit tests for tool_assignmentupgrade/classes/privacy/policy
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_assignmentupgrade_privacy_testcase extends provider_testcase {
/**
* Overriding setUp() function to always reset after tests.
*/
public function setUp() {
$this->resetAfterTest(true);
}
/**
* Test for provider::test_export_user_preferences().
*/
public function test_export_user_preferences() {
// Test setup.
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
// Add a user home page preference for the User.
set_user_preference('tool_assignmentupgrade_perpage', '100', $user);
// Test the user preference exists.
$params = [
'userid' => $user->id,
'name' => 'tool_assignmentupgrade_perpage'
];
// Test the user preferences export contains 1 user preference record for the User.
provider::export_user_preferences($user->id);
$contextuser = context_user::instance($user->id);
$writer = writer::with_context($contextuser);
$this->assertTrue($writer->has_any_data());
$exportedpreferences = $writer->get_user_preferences('tool_assignmentupgrade');
$this->assertCount(1, (array) $exportedpreferences);
$this->assertEquals('100', $exportedpreferences->perpage->value);
}
}
+3 -3
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017051500;
$plugin->requires = 2017050500;
$plugin->version = 2017111300;
$plugin->requires = 2017110800;
$plugin->component = 'tool_assignmentupgrade';
$plugin->dependencies = array('mod_assign' => 2017050500);
$plugin->dependencies = array('mod_assign' => 2017110800);
@@ -0,0 +1,46 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_availabilityconditions.
*
* @package tool_availabilityconditions
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_availabilityconditions\privacy;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_availabilityconditions implementing null_provider.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\null_provider {
/**
* Get the language string identifier with the component's language
* file to explain why this plugin stores no data.
*
* @return string
*/
public static function get_reason() : string {
return 'privacy:metadata';
}
}
@@ -24,3 +24,4 @@
$string['manageplugins'] = 'Manage restrictions';
$string['pluginname'] = 'Availability condition management';
$string['privacy:metadata'] = 'The Availability condition management plugin does not store any personal data.';
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017051500;
$plugin->requires = 2017050500;
$plugin->version = 2017111300;
$plugin->requires = 2017110800;
$plugin->component = 'tool_availabilityconditions';
@@ -0,0 +1,46 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_behat.
*
* @package tool_behat
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_behat\privacy;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_behat implementing null_provider.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\null_provider {
/**
* Get the language string identifier with the component's language
* file to explain why this plugin stores no data.
*
* @return string
*/
public static function get_reason() : string {
return 'privacy:metadata';
}
}
+1 -1
View File
@@ -398,7 +398,7 @@ function print_combined_install_output($processes) {
// Show process name in first row.
foreach ($processes as $name => $process) {
// If we don't have enough space to show full run name then show runX.
if ($lengthofprocessline < strlen($name + 2)) {
if ($lengthofprocessline < strlen($name) + 2) {
$name = substr($name, -5);
}
// One extra padding as we are adding | separator for rest of the data.
+1
View File
@@ -50,3 +50,4 @@ $string['wrongbehatsetup'] = 'Something is wrong with the behat setup and so ste
<li>$CFG->behat_dataroot, $CFG->behat_prefix and $CFG->behat_wwwroot are set in config.php with different values from $CFG->dataroot, $CFG->prefix and $CFG->wwwroot.</li>
<li>You ran "{$a->behatinit}" from your Moodle root directory.</li>
<li>Dependencies are installed in vendor/ and {$a->behatcommand} file has execution permissions.</li></ul>';
$string['privacy:metadata'] = 'The Acceptance testing plugin does not store any personal data.';
+2 -3
View File
@@ -24,9 +24,6 @@
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->libdir . '/behat/classes/behat_selectors.php');
/**
* Renderer for behat tool web features
*
@@ -44,6 +41,8 @@ class tool_behat_renderer extends plugin_renderer_base {
* @return string HTML code
*/
public function render_stepsdefinitions($stepsdefinitions, $form) {
global $CFG;
require_once($CFG->libdir . '/behat/classes/behat_selectors.php');
$html = $this->generic_info();
@@ -221,7 +221,7 @@ Feature: Set up contextual data for tests
And I should see "Test workshop name"
And I follow "Test assignment name"
And I should see "Test assignment description"
And I follow "C1"
And I am on "Course 1" course homepage
And I follow "Test assignment name with scale"
And I follow "Edit settings"
And the field "Type" matches value "Scale"
@@ -312,7 +312,6 @@ Feature: Set up contextual data for tests
| fullname | course | gradecategory |
| Grade sub category 2 | C1 | Grade category 1 |
When I log in as "admin"
And I am on course index
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"
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017051500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2017050500; // Requires this Moodle version
$plugin->version = 2017111300; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2017110800; // Requires this Moodle version
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
@@ -0,0 +1,46 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_capability.
*
* @package tool_capability
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_capability\privacy;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_capability implementing null_provider.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\null_provider {
/**
* Get the language string identifier with the component's language
* file to explain why this plugin stores no data.
*
* @return string
*/
public static function get_reason() : string {
return 'privacy:metadata';
}
}
@@ -34,3 +34,4 @@ $string['pluginname'] = 'Capability overview';
$string['reportforcapability'] = 'Report for capability \'{$a}\'';
$string['reportsettings'] = 'Report settings';
$string['roleslabel'] = 'Roles:';
$string['privacy:metadata'] = 'The Capability overview plugin does not store any personal data.';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017051500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2017050500; // Requires this Moodle version.
$plugin->version = 2017111300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2017110800; // Requires this Moodle version.
$plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics).
+1 -1
View File
@@ -167,7 +167,7 @@ class api {
$params['roleid'] = $roleid;
$params['userid'] = $userid;
$sql = 'SELECT u.id AS userid, ra.id, ctx.id AS contextid
$sql = 'SELECT DISTINCT u.id AS userid, ra.id, ctx.id AS contextid
FROM {user} u
JOIN {cohort_members} cm ON u.id = cm.userid
JOIN {context} ctx ON u.id = ctx.instanceid AND ctx.contextlevel = :usercontext
@@ -98,7 +98,7 @@ class cohort_role_assignments_table extends table_sql {
);
$context = context_helper::instance_by_id($data->cohortcontextid);
$exporter = new \tool_lp\external\cohort_summary_exporter($record, array('context' => $context));
$exporter = new \core_cohort\external\cohort_summary_exporter($record, array('context' => $context));
$cohort = $exporter->export($OUTPUT);
$html = $OUTPUT->render_from_template('tool_cohortroles/cohort-in-list', $cohort);
@@ -0,0 +1,200 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_cohortroles.
*
* @package tool_cohortroles
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_cohortroles\privacy;
use core_privacy\local\metadata\collection;
use core_privacy\local\request\approved_contextlist;
use core_privacy\local\request\context;
use core_privacy\local\request\contextlist;
use core_privacy\local\request\transform;
use core_privacy\local\request\writer;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_cohortroles implementing metadata and plugin providers.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\provider, \core_privacy\local\request\plugin\provider {
/**
* Returns meta data about this system.
*
* @param collection $collection The initialised collection to add items to.
* @return collection A listing of user data stored through this system.
*/
public static function get_metadata(collection $collection) : collection {
// The tool_cohortroles plugin utilises the mdl_tool_cohortroles table.
$collection->add_database_table(
'tool_cohortroles',
[
'id' => 'privacy:metadata:tool_cohortroles:id',
'cohortid' => 'privacy:metadata:tool_cohortroles:cohortid',
'roleid' => 'privacy:metadata:tool_cohortroles:roleid',
'userid' => 'privacy:metadata:tool_cohortroles:userid',
'timecreated' => 'privacy:metadata:tool_cohortroles:timecreated',
'timemodified' => 'privacy:metadata:tool_cohortroles:timemodified',
'usermodified' => 'privacy:metadata:tool_cohortroles:usermodified'
],
'privacy:metadata:tool_cohortroles'
);
return $collection;
}
/**
* Get the list of contexts that contain user information for the specified user.
*
* @param int $userid The user to search.
* @return contextlist $contextlist The contextlist containing the list of contexts used in this plugin.
*/
public static function get_contexts_for_userid(int $userid) : contextlist {
$contextlist = new contextlist();
// Retrieve the User context associated with tool_cohortroles records.
$sql = "SELECT DISTINCT c.id
FROM {context} c
JOIN {tool_cohortroles} cr ON cr.userid = c.instanceid AND c.contextlevel = :contextuser
WHERE cr.userid = :userid";
$params = [
'contextuser' => CONTEXT_USER,
'userid' => $userid
];
$contextlist->add_from_sql($sql, $params);
return $contextlist;
}
/**
* Export all user data for the specified user, in the specified contexts.
*
* @param approved_contextlist $contextlist The approved contexts to export information for.
*/
public static function export_user_data(approved_contextlist $contextlist) {
global $DB;
// If the user has tool_cohortroles data, then only the User context should be present so get the first context.
$contexts = $contextlist->get_contexts();
if (count($contexts) == 0) {
return;
}
$context = reset($contexts);
// Sanity check that context is at the User context level, then get the userid.
if ($context->contextlevel !== CONTEXT_USER) {
return;
}
$userid = $context->instanceid;
// Retrieve the tool_cohortroles records created for the user.
$sql = 'SELECT cr.id as cohortroleid,
c.name as cohortname,
c.idnumber as cohortidnumber,
c.description as cohortdescription,
r.shortname as roleshortname,
cr.userid as userid,
cr.timecreated as timecreated,
cr.timemodified as timemodified
FROM {tool_cohortroles} cr
JOIN {cohort} c ON c.id = cr.cohortid
JOIN {role} r ON r.id = cr.roleid
WHERE cr.userid = :userid';
$params = [
'userid' => $userid
];
$cohortroles = $DB->get_records_sql($sql, $params);
foreach ($cohortroles as $cohortrole) {
// The tool_cohortroles data export is organised in:
// {User Context}/Cohort roles management/{cohort name}/{role shortname}/data.json.
$subcontext = [
get_string('pluginname', 'tool_cohortroles'),
$cohortrole->cohortname,
$cohortrole->roleshortname
];
$data = (object) [
'cohortname' => $cohortrole->cohortname,
'cohortidnumber' => $cohortrole->cohortidnumber,
'cohortdescription' => $cohortrole->cohortdescription,
'roleshortname' => $cohortrole->roleshortname,
'userid' => transform::user($cohortrole->userid),
'timecreated' => transform::datetime($cohortrole->timecreated),
'timemodified' => transform::datetime($cohortrole->timemodified)
];
writer::with_context($context)->export_data($subcontext, $data);
}
}
/**
* Delete all data for all users in the specified context.
*
* @param context $context The specific context to delete data for.
*/
public static function delete_data_for_all_users_in_context(\context $context) {
global $DB;
// Sanity check that context is at the User context level, then get the userid.
if ($context->contextlevel !== CONTEXT_USER) {
return;
}
$userid = $context->instanceid;
// Delete the tool_cohortroles records created for the userid.
$DB->delete_records('tool_cohortroles', ['userid' => $userid]);
}
/**
* Delete all user data for the specified user, in the specified contexts.
*
* @param approved_contextlist $contextlist The approved contexts and user information to delete information for.
*/
public static function delete_data_for_user(approved_contextlist $contextlist) {
global $DB;
// If the user has tool_cohortroles data, then only the User context should be present so get the first context.
$contexts = $contextlist->get_contexts();
if (count($contexts) == 0) {
return;
}
$context = reset($contexts);
// Sanity check that context is at the User context level, then get the userid.
if ($context->contextlevel !== CONTEXT_USER) {
return;
}
$userid = $context->instanceid;
// Delete the tool_cohortroles records created for the userid.
$DB->delete_records('tool_cohortroles', ['userid' => $userid]);
}
}
@@ -42,3 +42,11 @@ $string['selectrole'] = 'Select role';
$string['selectusers'] = 'Select users to assign role';
$string['taskname'] = 'Sync cohort role assignments';
$string['thisuserroles'] = 'Roles assigned relative to this user';
$string['privacy:metadata:tool_cohortroles'] = 'The Cohort roles management plugin stores user cohort role mappings.';
$string['privacy:metadata:tool_cohortroles:id'] = 'The ID of the cohort role mapping record';
$string['privacy:metadata:tool_cohortroles:cohortid'] = 'The ID of the cohort';
$string['privacy:metadata:tool_cohortroles:roleid'] = 'The ID of the role';
$string['privacy:metadata:tool_cohortroles:userid'] = 'The ID of the user';
$string['privacy:metadata:tool_cohortroles:timecreated'] = 'The time when the cohort role mapping was created';
$string['privacy:metadata:tool_cohortroles:timemodified'] = 'The time when the cohort role mapping was modified';
$string['privacy:metadata:tool_cohortroles:usermodified'] = 'The ID of the user who last modified the cohort role mapping';
@@ -0,0 +1,206 @@
<?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/>.
/**
* Unit tests for the tool_cohortroles implementation of the privacy API.
*
* @package tool_cohortroles
* @category test
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
use \core_privacy\local\request\writer;
use \core_privacy\local\request\approved_contextlist;
use \tool_cohortroles\api;
use \tool_cohortroles\privacy\provider;
/**
* Unit tests for the tool_cohortroles implementation of the privacy API.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_testcase {
/**
* Overriding setUp() function to always reset after tests.
*/
public function setUp() {
$this->resetAfterTest(true);
}
/**
* Test for provider::get_contexts_for_userid().
*/
public function test_get_contexts_for_userid() {
global $DB;
// Test setup.
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$this->setAdminUser();
$nocohortroles = 3;
$this->setup_test_scenario_data($user->id, $nocohortroles);
// Test the User's assigned cohortroles matches 3.
$cohortroles = $DB->get_records('tool_cohortroles', ['userid' => $user->id]);
$this->assertCount($nocohortroles, $cohortroles);
// Test the User's retrieved contextlist contains only one context.
$contextlist = provider::get_contexts_for_userid($user->id);
$contexts = $contextlist->get_contexts();
$this->assertCount(1, $contexts);
// Test the User's contexts equal the User's own context.
$context = reset($contexts);
$this->assertEquals(CONTEXT_USER, $context->contextlevel);
$this->assertEquals($user->id, $context->instanceid);
}
/**
* Test for provider::export_user_data().
*/
public function test_export_user_data() {
// Test setup.
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$this->setAdminUser();
$nocohortroles = 3;
$this->setup_test_scenario_data($user->id, $nocohortroles);
// Test the User's retrieved contextlist contains only one context.
$contextlist = provider::get_contexts_for_userid($user->id);
$contexts = $contextlist->get_contexts();
$this->assertCount(1, $contexts);
// Test the User's contexts equal the User's own context.
$context = reset($contexts);
$this->assertEquals(CONTEXT_USER, $context->contextlevel);
$this->assertEquals($user->id, $context->instanceid);
// Retrieve the User's tool_cohortroles data.
$approvedcontextlist = new approved_contextlist($user, 'tool_cohortroles', $contextlist->get_contextids());
provider::export_user_data($approvedcontextlist);
// Test the tool_cohortroles data is exported at the User context level.
$writer = writer::with_context($context);
$this->assertTrue($writer->has_any_data());
}
/**
* Test for provider::delete_data_for_all_users_in_context().
*/
public function test_delete_data_for_all_users_in_context() {
global $DB;
// Test setup.
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$this->setAdminUser();
$nocohortroles = 4;
$this->setup_test_scenario_data($user->id, $nocohortroles);
// Test the User's assigned cohortroles matches 4.
$cohortroles = $DB->get_records('tool_cohortroles', ['userid' => $user->id]);
$this->assertCount($nocohortroles, $cohortroles);
// Test the User's retrieved contextlist contains only one context.
$contextlist = provider::get_contexts_for_userid($user->id);
$contexts = $contextlist->get_contexts();
$this->assertCount(1, $contexts);
// Test the User's contexts equal the User's own context.
$context = reset($contexts);
$this->assertEquals(CONTEXT_USER, $context->contextlevel);
$this->assertEquals($user->id, $context->instanceid);
// Delete all the User's records in mdl_tool_cohortroles table by the specified User context.
provider::delete_data_for_all_users_in_context($context);
// Test the cohort roles records in mdl_tool_cohortroles table is equals zero.
$cohortroles = $DB->get_records('tool_cohortroles', ['userid' => $user->id]);
$this->assertCount(0, $cohortroles);
}
/**
* Test for provider::delete_data_for_user().
*/
public function test_delete_data_for_user() {
global $DB;
// Test setup.
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$this->setAdminUser();
$nocohortroles = 4;
$this->setup_test_scenario_data($user->id, $nocohortroles);
// Test the User's assigned cohortroles matches 4.
$cohortroles = $DB->get_records('tool_cohortroles', ['userid' => $user->id]);
$this->assertCount($nocohortroles, $cohortroles);
// Test the User's retrieved contextlist contains only one context.
$contextlist = provider::get_contexts_for_userid($user->id);
$contexts = $contextlist->get_contexts();
$this->assertCount(1, $contexts);
// Test the User's contexts equal the User's own context.
$context = reset($contexts);
$this->assertEquals(CONTEXT_USER, $context->contextlevel);
$this->assertEquals($user->id, $context->instanceid);
// Delete all the User's records in mdl_tool_cohortroles table by the specified User approved context list.
$approvedcontextlist = new approved_contextlist($user, 'tool_cohortroles', $contextlist->get_contextids());
provider::delete_data_for_user($approvedcontextlist);
// Test the records in mdl_tool_cohortroles table is equals zero.
$cohortroles = $DB->get_records('tool_cohortroles', ['userid' => $user->id]);
$this->assertCount(0, $cohortroles);
}
/**
* Helper function to setup tool_cohortroles records for testing a specific user.
*
* @param int $userid The ID of the user used for testing.
* @param int $nocohortroles The number of tool_cohortroles to create for the user.
* @throws \core_competency\invalid_persistent_exception
* @throws coding_exception
*/
protected function setup_test_scenario_data($userid, $nocohortroles) {
$roleid = create_role('Sausage Roll', 'sausageroll', 'mmmm');
for ($c = 0; $c < $nocohortroles; $c++) {
$cohort = $this->getDataGenerator()->create_cohort();
$params = (object)array(
'userid' => $userid,
'roleid' => $roleid,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
}
}
}
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017051500; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2017050500; // Requires this Moodle version.
$plugin->version = 2017111300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2017110800; // Requires this Moodle version.
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
@@ -0,0 +1,46 @@
<?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/>.
/**
* Privacy Subsystem implementation for tool_customlang.
*
* @package tool_customlang
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_customlang\privacy;
defined('MOODLE_INTERNAL') || die();
/**
* Privacy Subsystem for tool_customlang implementing null_provider.
*
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider implements \core_privacy\local\metadata\null_provider {
/**
* Get the language string identifier with the component's language
* file to explain why this plugin stores no data.
*
* @return string
*/
public static function get_reason() : string {
return 'privacy:metadata';
}
}
+6 -9
View File
@@ -29,20 +29,17 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_tool_customlang_upgrade($oldversion) {
global $CFG;
// Moodle v2.8.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v2.9.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v3.0.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.3.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.4.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -30,7 +30,7 @@ $string['checkin'] = 'Save strings to language pack';
$string['checkout'] = 'Open language pack for editing';
$string['checkoutdone'] = 'Language pack loaded';
$string['checkoutinprogress'] = 'Loading language pack';
$string['confirmcheckin'] = 'You are about to save modifications to your local language pack. This will export the customised strings from the translator into you Moodle data directory and Moodle will start using the modified strings. Press \'Continue\' to proceed with saving.';
$string['confirmcheckin'] = 'You are about to save modifications to your local language pack. This will export the customised strings from the translator into your site data directory and your site will start using the modified strings. Press \'Continue\' to proceed with saving.';
$string['customlang:edit'] = 'Edit local translation';
$string['customlang:view'] = 'View local translation';
$string['filter'] = 'Filter strings';
@@ -59,3 +59,4 @@ $string['placeholderwarning'] = 'string contains a placeholder';
$string['pluginname'] = 'Language customisation';
$string['savecheckin'] = 'Save changes to the language pack';
$string['savecontinue'] = 'Apply changes and continue editing';
$string['privacy:metadata'] = 'The Language customisation plugin does not store any personal data.';

Some files were not shown because too many files have changed in this diff Show More