2464 Commits

Author SHA1 Message Date
Jun Pataleta
5ab615c610 Merge branch 'MDL-77161-master' of https://github.com/andrewnicols/moodle 2023-02-09 11:18:24 +08:00
Jun Pataleta
c909797ec1 Merge branch 'MDL-77007-master' of https://github.com/andrewnicols/moodle 2023-02-09 10:52:55 +08:00
Andrew Nicols
01da499897 Merge branch 'MDL-76418-master' of https://github.com/srobotta/moodle 2023-02-08 08:52:59 +08:00
Stephan Robotta
a8de5c5002 MDL-76418 course: section action menu item to show permlink to section 2023-02-07 17:56:46 +01:00
Andrew Nicols
7bf57d9850 MDL-77161 cachestore_memcached: Remove from core 2023-02-07 21:42:50 +08:00
Ferran Recio
cb85359b14 MDL-76783 theme_boost: sticky footer js control 2023-02-03 12:24:53 +01:00
Safat
e2d4a543b0 MDL-76135 core: Implement Guzzle cache middleware 2023-01-30 13:05:27 +11:00
Safat
59a9987719 MDL-76135 core: Add guzzle cache middleware 2023-01-30 13:05:27 +11:00
Safat
7c5363eed3 MDL-76135 core: Implement the Guzzle library in core
This commit will implement the Guzzle library in core
to make it usable in different locations.

Co-Authored-By: Andrew Nicols <andrew@nicols.co.uk>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-01-30 13:05:27 +11:00
Andrew Nicols
6a5512c999 MDL-77007 admin: Remove deprecated auth_config.php usage
This was deprecated in Moodle 3.3 and should now be removed.
2023-01-25 14:13:59 +08:00
Andrew Nicols
93ab932211 MDL-76362 core: plugin names must be strings to be valid 2023-01-23 09:15:55 +08:00
Marina Glancy
b0a83aa7bd MDL-76362 various: Avoid passing nulls to functions that don't allow nulls
PHP 8.1 is more strict on the parameter type. Functions such as trim(), strlen(), str_replace(), etc
show notice when null is passed as an argument
2023-01-23 09:15:54 +08:00
Marina Glancy
491ed7b200 MDL-76362 mustache: Override parent method to avoid PHP notices
Parent method checks baseDir that is null in this case. This shows notices under PHP 8.1
2023-01-23 09:15:54 +08:00
Jun Pataleta
fad05d7929 Merge branch 'MDL-76583-master-withoutrename' of https://github.com/andrewnicols/moodle 2023-01-19 09:44:48 +08:00
Andrew Nicols
a3cc26f8bb MDL-76583 core: Update uses of external_* classes 2023-01-19 07:34:09 +08:00
Sara Arjona
d62f6ae036 Merge branch 'MDL-61789-master' of https://github.com/meirzamoodle/moodle 2023-01-16 17:08:38 +01:00
Sara Arjona
574f68f014 Merge branch 'MDL-76219-master' of https://github.com/meirzamoodle/moodle 2023-01-16 16:45:00 +01:00
Paul Holden
2dfc273752 MDL-76862 user: ensure user can only update own preferred start page. 2023-01-12 11:35:10 +08:00
Andrew Nicols
9e21e8a807 Merge branch 'MDL-76356' of https://github.com/stronk7/moodle 2023-01-11 10:26:20 +08:00
Marina Glancy
b1c97381b4 MDL-76356 various: avoid implicit conversion to int
PHP before version 8.1 automatically converted to int if the function
parameter (or array key) is expected to be int. PHP 8.1 shows notice in
this case
2023-01-10 15:27:11 +01:00
Jun Pataleta
db2ee34986 Merge branch 'MDL-76506' of https://github.com/jrchamp/moodle 2023-01-09 19:34:07 +08:00
Meirza
b79231361b MDL-61789 auth_oauth2: Update profile fields based on data mapping.
After the user creation, the system must call an update function to update profile_fields_*.
We also provided two functions into user/profile/lib.php to get available from other areas.
We added PHP unit testing for new public functions and
the Behat tests for custom profile fields with locked and unlocked statuses.

Co-authored-by: Matt Porritt <matt.porritt@moodle.com>
2023-01-07 20:59:26 +07:00
Matt Porritt
6793891887 MDL-61789 auth_oauth2: Allow admin to choose profile fields for mapping
Update oauth2 to allow mapping of provider attributes against
user profile fields. Fields can also be locked to prevent
user changes.

Co-Authored-By: Michael Milette <michael.milette@tngconsulting.ca>
2023-01-06 13:27:11 +07:00
Meirza
3b4bc74692 MDL-76219 lib: Remove Box\Spout library 2023-01-05 16:04:37 +07:00
Meirza
93220a66f5 MDL-76219 lib: Change Box\Spout to OpenSpout library 2023-01-05 15:58:18 +07:00
Meirza
b2b17b9d9b MDL-76219 lib: Add the OpenSpout 3.7.3 library 2023-01-04 09:47:06 +07:00
Paul Holden
121f5b6300 MDL-76221 core: method to filter by defined properties of persistent. 2022-12-29 14:02:58 +00:00
Qihui Chan
791e56d3bc MDL-72775 tool_task: check long running tasks 2022-12-23 09:41:05 +10:00
Eloy Lafuente (stronk7)
28937d4243 MDL-71096 core: Add meta information about APIs to core
Right now we have the information only in docs:
  - https://docs.moodle.org/dev/Core_APIs
  - https://moodledev.io/docs/apis

And, in fact, we are crawling those pages to get the information
from various tools (moodlecheck, CiBoT...). Obviously, that's far
from ideal, the source only has the current list of APIs, and
there isn't much information there but the names.

So we are moving the source of information to be in core, so it
can be modified between branches, and contains richer information:
 - The component the API belongs to, usually a subsystem or core.
 - If the API can be used as level 2 namespace.
 - If the API can be used as level 2 namespace out from its component.

Note that all that information has NO USES right now in core (and maybe
never will), but tools/checkers will benefit enormously by having that
information at hand, so we can check for namespaces, categories and
other bits way better.

Also, once we have this, the APIs dev documents linked above, surely
can be improved by being automatically generated and include all the
meta-information available.

It also includes a very basic json schema validating the basis. It can
be tried online @ https://www.jsonschemavalidator.net , or any other
tool. PHP requires extra libraries to be able to perform the validation.

Covered with unit tests, both api-related functions and structure validation.
2022-12-09 10:49:12 +01:00
Ilya Tregubov
ac60253859 Merge branch 'MDL-75516' of https://github.com/larsbonczek/moodle 2022-12-06 10:37:46 +03:00
Sara Arjona
d5b3abde3c Merge branch 'MDL-76166-username-logging' of https://github.com/brendanheywood/moodle 2022-12-05 12:44:17 +01:00
Sara Arjona
474f92910a Merge branch 'MDL-76482-master' of https://github.com/andrewnicols/moodle 2022-12-05 12:03:57 +01:00
Lars Bonczek
e875c6118c MDL-75516 core: Perform proper JSON encoding in mustache quote helper 2022-12-02 13:39:58 +01:00
Ilya Tregubov
9ba9589f09 Merge branch 'MDL-74853-master' of https://github.com/marinaglancy/moodle 2022-12-01 08:55:34 +03:00
Andrew Nicols
6ab3740eb4 MDL-76482 output: The javascript mustache helper should return a string 2022-11-30 12:18:32 +08:00
Brendan Heywood
825d11ec50 MDL-76166 auth: Ensure user is in server access logs 2022-11-30 13:25:20 +11:00
Jonathan Champ
33e3af1899 MDL-76506 core\lock: Fix MDL_PERF and perfdebug checks 2022-11-28 18:53:44 -05:00
Paul Holden
e0d7ab9989 MDL-76380 tool_oauth2: remove double persistent load on update.
The method already loaded the validated persistent model data on the
previous line, there's no need to do it again (while also trying to
load unvalidated properties).
2022-11-28 19:38:47 +00:00
Marina Glancy
a800e7e62f MDL-74853 various: add second parameter to htmlentities functions
Default value of the $flag argument changed in PHP 8.1 from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE
To ensure consistent behavior across different PHP version the second parameter is now required for the functions:
htmlspecialchars(), htmlentities(), htmlspecialchars_decode(), html_entity_decode() and get_html_translation_table()
2022-11-28 16:12:20 +01:00
Marina Glancy
6fb9209405 MDL-76470 core: normalise locale for strftime substitution
Huge thanks to Eloy Lafuente for investigation
2022-11-24 16:21:43 +01:00
Marina Glancy
7bbb5434bf MDL-75100 core: replace function strftime deprecated in PHP 8.1 2022-11-21 11:41:12 +01:00
Jun Pataleta
a482fb4488 Merge branch 'MDL-75903' of https://github.com/paulholden/moodle 2022-11-18 11:28:31 +08:00
Huong Nguyen
ea4a582b3d MDL-76326 oauth2: Update Nextcloud logo to the new one 2022-11-17 11:31:16 +07:00
Paul Holden
94818dd23f MDL-75903 output: increase precision of primary active node matching.
Co-authored-by: Mikel Martín <mikel@moodle.com>
2022-11-14 17:31:26 +00:00
Adrian Greeve
f865b326ca Merge branch 'MDL-76099-master' of https://github.com/stevandoMoodle/moodle 2022-11-11 12:26:12 +08:00
Jun Pataleta
c404193823 Merge branch 'MDL-75966-master' of https://github.com/andrewnicols/moodle 2022-11-10 20:28:14 +08:00
Huong Nguyen
bf54db8bac MDL-75269 tiny_equation: Create TinyMCE Equation editor plugin
AMOS BEGIN
 CPY [librarygroup1,atto_equation],[librarygroup1,tiny_equation]
 CPY [librarygroup1_desc,atto_equation],[librarygroup1_desc,tiny_equation]
 CPY [librarygroup2,atto_equation],[librarygroup2,tiny_equation]
 CPY [librarygroup2_desc,atto_equation],[librarygroup2_desc,tiny_equation]
 CPY [librarygroup3,atto_equation],[librarygroup3,tiny_equation]
 CPY [librarygroup3_desc,atto_equation],[librarygroup3_desc,tiny_equation]
 CPY [librarygroup4,atto_equation],[librarygroup4,tiny_equation]
 CPY [librarygroup4_desc,atto_equation],[librarygroup4_desc,tiny_equation]
AMOS END

Part of MDL-75966
2022-11-10 19:54:01 +08:00
Stevani Andolo
b7f2bbb080 MDL-75262 tiny_accessibility: Implement Accessibility Checker
Co-authored by Andrew Lyons <andrew@nicols.co.uk>

Part of MDL-75966
2022-11-10 19:53:58 +08:00
Stevani Andolo
0cd3b75164 MDL-75259 tiny_recordrtc: Implement Record RTC plugin for TinyMCE
Part of MDL-75966

Co-authored by Andrew Lyons <andrew@nicols.co.uk>

AMOS BEGIN
  CPY [audioandvideo,atto_recordrtc],[audioandvideo,tiny_recordrtc]
  CPY [audiobitrate,atto_recordrtc],[audiobitrate,tiny_recordrtc]
  CPY [attachrecording,atto_recordrtc],[attachrecording,tiny_recordrtc]
  CPY [allowedtypes,atto_recordrtc],[allowedtypes,tiny_recordrtc]
  CPY [allowedtypes_desc,atto_recordrtc],[allowedtypes_desc,tiny_recordrtc]
  CPY [audiobitrate,atto_recordrtc],[audiobitrate,tiny_recordrtc]
  CPY [audiobitrate_desc,atto_recordrtc],[audiobitrate_desc,tiny_recordrtc]
  CPY [audiotimelimit,atto_recordrtc],[audiotimelimit,tiny_recordrtc]
  CPY [audiotimelimit_desc,atto_recordrtc],[audiotimelimit_desc,tiny_recordrtc]
  CPY [confirm_yes,atto_recordrtc],[yes,core]
  CPY [gumabort,atto_recordrtc],[gumabort,tiny_recordrtc]
  CPY [gumabort_title,atto_recordrtc],[gumabort_title,tiny_recordrtc]
  CPY [gumnotallowed,atto_recordrtc],[gumnotallowed,tiny_recordrtc]
  CPY [gumnotallowed_title,atto_recordrtc],[gumnotallowed_title,tiny_recordrtc]
  CPY [gumnotfound,atto_recordrtc],[gumnotfound,tiny_recordrtc]
  CPY [gumnotfound_title,atto_recordrtc],[gumnotfound_title,tiny_recordrtc]
  CPY [gumnotreadable,atto_recordrtc],[gumnotreadable,tiny_recordrtc]
  CPY [gumnotreadable_title,atto_recordrtc],[gumnotreadable_title,tiny_recordrtc]
  CPY [gumnotsupported,atto_recordrtc],[gumnotsupported,tiny_recordrtc]
  CPY [gumnotsupported_title,atto_recordrtc],[gumnotsupported_title,tiny_recordrtc]
  CPY [gumoverconstrained,atto_recordrtc],[gumoverconstrained,tiny_recordrtc]
  CPY [gumoverconstrained_title,atto_recordrtc],[gumoverconstrained_title,tiny_recordrtc]
  CPY [gumsecurity,atto_recordrtc],[gumsecurity,tiny_recordrtc]
  CPY [gumsecurity_title,atto_recordrtc],[gumsecurity_title,tiny_recordrtc]
  CPY [gumtype,atto_recordrtc],[gumtype,tiny_recordrtc]
  CPY [gumtype_title,atto_recordrtc],[gumtype_title,tiny_recordrtc]
  CPY [insecurealert,atto_recordrtc],[insecurealert,tiny_recordrtc]
  CPY [insecurealert_title,atto_recordrtc],[insecurealert_title,tiny_recordrtc]
  CPY [insecurealerttitle,atto_recordrtc],[insecurealerttitle,tiny_recordrtc]
  CPY [insecurealert,atto_recordrtc],[insecurealert,tiny_recordrtc]
  CPY [nearingmaxsize,atto_recordrtc],[maxfilesizehit,tiny_recordrtc]
  CPY [nearingmaxsize_title,atto_recordrtc],[maxfilesizehit_title,tiny_recordrtc]
  CPY [norecordingfound,atto_recordrtc],[norecordingfound,tiny_recordrtc]
  CPY [norecordingfound_title,atto_recordrtc],[norecordingfound_title,tiny_recordrtc]
  CPY [nowebrtc,atto_recordrtc],[nowebrtc,tiny_recordrtc]
  CPY [nowebrtc_title,atto_recordrtc],[nowebrtc_title,tiny_recordrtc]
  CPY [onlyaudio,atto_recordrtc],[onlyaudio,tiny_recordrtc]
  CPY [onlyvideo,atto_recordrtc],[onlyvideo,tiny_recordrtc]
  CPY [recordagain,atto_recordrtc],[recordagain,tiny_recordrtc]
  CPY [recordinguploaded,atto_recordrtc],[recordinguploaded,tiny_recordrtc]
  CPY [recordingfailed,atto_recordrtc],[recordingfailed,tiny_recordrtc]
  CPY [recordrtc:recordaudio,atto_recordrtc],[recordrtc:recordaudio,tiny_recordrtc]
  CPY [recordrtc:recordvideo,atto_recordrtc],[recordrtc:recordvideo,tiny_recordrtc]
  CPY [startrecording,atto_recordrtc],[startrecording,tiny_recordrtc]
  CPY [stoprecording,atto_recordrtc],[stoprecording,tiny_recordrtc]
  CPY [timelimitwarning,atto_recordrtc],[timelimitwarning,tiny_recordrtc]
  CPY [uploadaborted,atto_recordrtc],[uploadaborted,tiny_recordrtc]
  CPY [uploadprogress,atto_recordrtc],[uploadprogress,tiny_recordrtc]
  CPY [videobitrate,atto_recordrtc],[videobitrate,tiny_recordrtc]
  CPY [videobitrate_desc,atto_recordrtc],[videobitrate_desc,tiny_recordrtc]
  CPY [videobuttontitle,atto_recordrtc],[videobuttontitle,tiny_recordrtc]
  CPY [videotimelimit,atto_recordrtc],[videotimelimit,tiny_recordrtc]
  CPY [videotimelimit_desc,atto_recordrtc],[videotimelimit_desc,tiny_recordrtc]
AMOS END
2022-11-10 19:53:56 +08:00
Huong Nguyen
723b2f4129 MDL-75258 tiny_media: Implement Media Image for TinyMCE
Part of MDL-75966

AMOS BEGIN
 CPY [alignment,atto_image],[alignment,tiny_media]
 CPY [alignment_bottom,atto_image],[alignment_bottom,tiny_media]
 CPY [alignment_left,atto_image],[alignment_left,tiny_media]
 CPY [alignment_middle,atto_image],[alignment_middle,tiny_media]
 CPY [alignment_right,atto_image],[alignment_right,tiny_media]
 CPY [alignment_top,atto_image],[alignment_top,tiny_media]
 CPY [browserepositories,atto_image],[browserepositories,tiny_media]
 CPY [constrain,atto_image],[constrain,tiny_media]
 CPY [enteralt,atto_image],[enteralt,tiny_media]
 CPY [enterurl,atto_image],[enterurl,tiny_media]
 CPY [height,atto_image],[height,tiny_media]
 CPY [imageproperties,atto_image],[imageproperties,tiny_media]
 CPY [presentation,atto_image],[presentation,tiny_media]
 CPY [presentationoraltrequired,atto_image],[presentationoraltrequired,tiny_media]
 CPY [saveimage,atto_image],[saveimage,tiny_media]
 CPY [size,atto_image],[size,tiny_media]
 CPY [width,atto_image],[width,tiny_media]
AMOS END
2022-11-10 19:53:40 +08:00