1990 Commits

Author SHA1 Message Date
Safat Shahin
38ec802858 MDL-71615 qbank_deletequestion: Add Delete question plugin to core
This implementation will introduce a qbank plugin
"deletequestion" which will implement the delete question
action in the question bank view by replacing the core
class. Having this plugin will give users the
flexibility of enabling or disabling this action.
2021-08-19 09:10:17 +02:00
Ilya Tregubov
c0fc0747a8 Merge branch 'master_MDL-71516-qbank' of https://github.com/catalyst/moodle-MDL-70329 2021-08-19 09:10:16 +02:00
safatshahin
dfed4fd040 MDL-71516 core_question: Qbank api implementation
This commit implements the qbank api so that any plugin
can implement its own question bank. This api currently
works parallely with the moodle core classes and the
added qbank in the core, means the moment a plugin
is installed, that object is replaced with the object
from the plugin instead of core, which means the api
has flexibility till the plugins are integrated and the
plugins can be integrated in any order.

All the old classes are still there and not deprecated
as there is a different tracker for the changes to the
quiz and another tracker for class deprecation and
class renaming. Core question units tests are pointing
to the new api structure but the classes are pointing
to the location related to the plugin availability.

Co-Authored-By: Luca Bösch <luca.boesch@bfh.ch>
Co-Authored-By: Guillermo Gomez Arias <guillermogomez@catalyst-au.net>

one more array fix
2021-08-17 18:57:31 +10:00
safatshahin
351176bb71 MDL-71516 core_question: Create new plugin type - qbank
This commit implements the qbank plugin type which
includes the boilerplate for the qbank plugin, the
qbank plugin management admin page and required core
code addition.
2021-08-16 09:59:11 +10:00
Ilya Tregubov
6973d2c88a Merge branch 'MDL-72035-excel_csv_bom' of git://github.com/leonstr/moodle 2021-08-13 11:09:27 +02:00
Andrew Nicols
3ea604baf4 Merge branch 'MDL-72138' of https://github.com/paulholden/moodle 2021-08-13 10:28:26 +08:00
David Mudrák
7a8eae027f MDL-72325 user: Introduce new core_user::awaiting_action() method
The method allows to check if the user is fully ready to use the site or
whether there is an action (such as filling the missing profile field,
changing password or agreeing to the site policy) needed.
2021-08-12 13:05:38 +02:00
Paul Holden
58c6afb94d MDL-72138 task: allow running core tasks from schedules UI.
Fixes regression from 9c4510a3 that didn't consider tasks belonging
to core, rather than just those belonging to plugins.
2021-08-12 09:49:10 +01:00
David Mudrák
6e5454780d MDL-72203 curl: Warn if someone actually started to use $maxredirects
The new parameter of curl_security_helper::url_is_blocked() introduced
in MDL-71916 became part of the API. Even if we reverted it quickly,
someone can use a released Moodle version that has that parameter in
place. For that reason and also to avoid potential troubles in the
future (e.g. when yet another argument would be added to this method),
we need to make it clear that the second parameter of this method should
never be used again.

Poor $maxredirects, you did not live long with us. Oh well.
2021-07-27 21:30:16 +08:00
David Mudrák
c619cd1425 MDL-72203 curl: Revert original fix of redirects to blocked URLs
This reverts the original fix introduced in MDL-71916. It introduced an
extra native cURL call inside curl_security_helper to check if the given
URL triggers a redirect to a blocked URL or not.

Shortly after the release, a couple of regressions were reported as a
result of the integrated solution. It was agreed to revert the fix and
progress with implementing an alternative approach.
2021-07-27 21:30:16 +08:00
Andrew Nicols
4c9f590f18 Merge branch 'MDL-70427' of git://github.com/paulholden/moodle 2021-07-22 11:22:13 +08:00
Ilya Tregubov
4819625349 MDL-32103 completion: Allow instant completion updates.
For activity based course completion criteria allow instant
course completion updates if the activity completion state was changed
for a single user.
2021-07-13 12:07:53 +02:00
Paul Holden
42281e48f5 MDL-70427 task: correct missing component when queuing adhoc task.
If the task belongs to a component, and doesn't have it's own
component property set then we can lazy-load it based on class
namespace.
2021-07-12 20:47:04 +01:00
cescobedo
9aa5f7fe9b MDL-71919 core_message: Fix unclosed html tags in email notification 2021-07-08 23:30:35 +02:00
Adrian Greeve
a5336912d9 Merge branch 'MDL-61460-master-4' of git://github.com/bmbrands/moodle 2021-07-08 23:30:34 +02:00
Bas Brands
3de68ad434 MDL-61460 tool_componentlibrary: Documentation for Moodle UI components
- This tool is only available for admins
- Before using this tool the hosting admin will need to have NPM installed and be able to run grunt
- To create the docs pages for the library run "grunt componentlibrary"
- After the pages are created the Library is available in Site adminstration > Development > UI Component Library
2021-07-08 09:51:02 +08:00
Michael Hawkins
0afab1d0f9 MDL-71916 lib: Check cURL redirects for blocked URLs before following 2021-07-06 23:45:59 +02:00
Paul Holden
f3b3684e5b MDL-71981 dataformat: indicate HTML support in writer callback. 2021-07-06 09:27:15 +08:00
Leon Stringer
22825647d4 MDL-72035 csvlib: Write BOM for Excel
Add option to class csv_export_writer to prefix CSV file with UTF-8 byte
order mark (BOM).  This helps Microsoft Excel detect the file's character
encoding.
2021-06-30 15:04:16 +01:00
Fred Woolard
1e34610c4e MDL-71777 antivirus: Use hash_from_path (sha1_file) 2021-06-25 09:48:54 -04:00
Ilya Tregubov
e8898b3bd9 MDL-71593 oauth2: Remove methods that were readded by mistake. 2021-06-21 10:11:16 +02:00
Tim Hunt
b4bbbf15a3 MDL-71927 reports: show time to the second in logs report
And in the question history in quiz reviews.

Without this, it can be difficult to investigate some problems.
2021-06-14 21:41:16 +01:00
Andrew Nicols
fb39111722 Merge branch 'MDL-71806-improve-check-ux' of https://github.com/brendanheywood/moodle 2021-06-10 11:57:45 +08:00
Andrew Nicols
8c8eac9df5 Merge branch 'MDL-67822-schema-check' of https://github.com/brendanheywood/moodle 2021-06-10 11:03:52 +08:00
Andrew Nicols
e146f919fc Merge branch 'MDL-70230-master' of https://github.com/jpahullo/moodle 2021-06-10 08:45:26 +08:00
Jordi Pujol Ahulló
9c4510a358 MDL-70230 admin: add setting sched. task status
When defining settings that are used by scheduled tasks,
it is also useful, or even needed, to know the status
of that scheduled task to have the whole big picture of
that part of the system.

Based on the admin_setting_description, this new setting
reports its name, its status, a link to the configuration.

When adding a new setting of this type, the user can add
an extra description field to complete the whole meaning.
2021-06-04 08:12:16 +02:00
Brendan Heywood
fbb36f8977 MDL-67822 report_performance: Add DB schema check 2021-06-02 18:45:12 +10:00
Peter Dias
8e71f6b1f1 MDL-65637 core_oauth2: Introduce a new custom linkedin oauth2 client 2021-06-02 08:11:38 +08:00
Peter Dias
169e1812ed MDL-65637 core_oauth2: Create new oauth2 mapping function
Separated userinfo mapping into a function and new unit test
2021-06-02 08:11:38 +08:00
Brendan Heywood
7d96f74f6f MDL-71806 report_security: Improve public paths check 2021-06-01 18:24:53 +10:00
Peter Dias
d1c978c33c MDL-53544 core: Performance update is_charset_supported 2021-05-27 10:25:08 +08:00
Peter Dias
36c64105a7 MDL-53544 lib: Remove typo3 from text.php 2021-05-26 16:46:30 +08:00
David Mudrák
03402e3c5d MDL-71580 lang: Fix reworded strings in tests 2021-05-12 17:10:16 +02:00
Sara Arjona
5e2a754e16 Merge branch 'MDL-71420' of https://github.com/stronk7/moodle 2021-05-06 17:58:02 +02:00
Eloy Lafuente (stronk7)
d676a8114e MDL-71420 environment: Add some strategic comments and todos.
This isn't really a deprecations where something is replaced
by another and all uses must adapt to. Instead it's just a
fallback functionality that will stop working in Moodle 4.2.

Because of that, I've tried to add TODO/@todo comments to
the places that will need to modified, always pointing to
MDL-71421 that is where the removal will happen.

Also, haven't added any debugging() output, after thinking
a lot about it, because this isn't anything that developers
can be using but a internal implementation detail (a fallback)
that we want to remove in some versions.
2021-05-06 14:29:33 +02:00
Víctor Déniz
f798446f4c Merge branch 'MDL-71460-master' of git://github.com/peterRd/moodle 2021-05-05 10:16:44 +01:00
Peter Dias
e5f7ecdacd MDL-71460 hub: Use checkboxes instead of dropdowns
Change the yes/no dropdowns to a checkbox. Defaults to unchecked.
2021-05-05 10:03:18 +08:00
Mike Churchward
c6c7c28dea MDL-69863 tool_brickfield: Moving plugins to core files. 2021-05-04 19:49:54 +02:00
Eloy Lafuente (stronk7)
e26b639281 Merge branch 'MDL-66431-master' of git://github.com/ilyatregubov/moodle 2021-05-02 19:12:47 +02:00
Víctor Déniz
bd8600e923 Merge branch 'MDL-70753-master' of https://github.com/sharidas/moodle 2021-05-02 19:11:10 +02:00
Ilya Tregubov
430746d3a2 MDL-66431 core: Remove activity chooser user preference.
This commit removes activity chooser user preference and
course preference page. Separate dropdowns to activity and
resource is also removed.
2021-05-01 16:21:59 +02:00
Sujith Haridasan
686bd2681e MDL-70753 report: Provide a separate page for course report
Provide page for the reports in the course administration.
The page has a drop down to navigate to different reports.
The navigation is remembered just like the grade reports in
the course.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-04-30 08:37:38 +05:30
Dongsheng Cai
36bc7b07db MDL-71235 webservices: add activity completion data to web services 2021-04-29 13:52:32 +10:00
Bas Brands
5941083d1d MDL-71441 core_user: add profilefield social to standard plugins list 2021-04-26 14:43:24 +02:00
Sara Arjona
841df2a216 Merge branch 'MDL-71136_master' of https://github.com/TomoTsuyuki/moodle 2021-04-22 13:56:37 +02:00
Jun Pataleta
e853e6b7db Merge branch 'MDL-71156-master' of git://github.com/lameze/moodle 2021-04-22 11:51:59 +08:00
Simey Lameze
5b0282847e MDL-71156 core: machinery to recover orphaned calendar events
The machinery to fix orphaned calendar events that were broken by MDL-67494.

The solution consists of:

1) Upgrade step that checks if this site has executed the problematic upgrade steps and
   if positive, it will schedule a new run for calendar_fix_orphaned_events adhoc task.

2) Adhoc task that will self-spawn calling the recovery machinery, running until
   all the orphaned calendar events are fixed. It also sets the maximum runtime of
   60 seconds. It is also possible to override that number by specifing the desired
   number setting the ->calendareventsmaxseconds in your config.php

3) CLI script that will look for all the calendar events which userids
   where broken by a wrong upgrade step, affecting to Moodle 3.9.5
   and up.

   It performs checks to both:
     a) Detect if the site was affected (ran the wrong upgrade step).
     b) Look for orphaned calendar events, categorising them as:
       - standard: site / category / course / group / user events
       - subscription: events created via subscriptions.
       - action: normal action events, created to show common important dates.
       - override: user and group override events, particular, that some activities support.
       - custom: other events, not being any of the above, common or particular.

   By specifying it (--fix) try to recover as many broken events (missing userid) as
   possible. Standard, subscription, action, override events in core are fully supported but
   override or custom events should be fixed by each plugin as far as there isn't any standard
   API (plugin-wise) to launch a rebuild of the calendar events.

4) Unit tests and helper functions to generate calendar events. We have decided to
   keep the tests simple, testing only true and false and not using data generators because
   the code is purely to recover the calendar events and won't turn into an API or something
   and also due to the urgency of this issue.
   The helpers have been created in calendar/tests/helpers.php since there are no data generators
   for calendar.
2021-04-22 10:28:52 +08:00
abgreeve
8a53fe7f6b Merge branch 'MDL-28452-master' of git://github.com/bmbrands/moodle 2021-04-22 09:38:50 +08:00
Bas Brands
f9e1c2587a MDL-28452 core_user: migrate social profile fields
Create a new profile field type, move all existing content of the fields
'icq', 'skype', 'aim', 'yahoo', 'msn' and 'url' in the mdl_user table to
theses new profile fields if needed.

AMOS BEGIN
MOV [aimid,core],[aimid,courseimage,profilefield_social]
MOV [yahooid,core],[yahooid,profilefield_social]
MOV [skypeid,core],[skypeid,profilefield_social]
MOV [icqnumber,core],[icqnumber,profilefield_social]
MOV [msnid,core],[msnid,profilefield_social]
MOV [webpage,core],[webpage,profilefield_social]
AMOS END
2021-04-21 11:22:25 +02:00
Jun Pataleta
610b339c6e Merge branch 'MDL-71017-master-2' of git://github.com/marinaglancy/moodle 2021-04-21 14:58:06 +08:00