2434 Commits

Author SHA1 Message Date
Ilya Tregubov
bc5c812db3 Merge branch 'MDL-75516_401' of https://github.com/larsbonczek/moodle into MOODLE_401_STABLE 2022-12-06 10:38:12 +03:00
Sara Arjona
1b9bcbf19d Merge branch 'MDL-76166-username-logging-MOODLE_401_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_401_STABLE 2022-12-05 12:44:23 +01:00
Sara Arjona
f2dd9867ab Merge branch 'MDL-76482-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2022-12-05 12:04:02 +01:00
Lars Bonczek
add1d29339 MDL-75516 core: Perform proper JSON encoding in mustache quote helper 2022-12-02 11:22:23 +01:00
Ilya Tregubov
5c96f74a06 Merge branch 'MDL-74853-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2022-12-01 08:59:06 +03:00
Andrew Nicols
805559cb48 MDL-76482 output: The javascript mustache helper should return a string 2022-11-30 12:18:47 +08:00
Brendan Heywood
c45c98f6f2 MDL-76166 auth: Ensure user is in server access logs 2022-11-30 13:26:27 +11:00
Paul Holden
e3840909f5 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:52 +00:00
Marina Glancy
a5f92c041e 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:32 +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
Andrew Nicols
cdbabe8ef8 MDL-75263 tiny_autosave: Implement Autosave for TinyMCE
Part of MDL-75966
2022-11-10 19:53:39 +08:00
Andrew Nicols
a6032854bf MDL-75261 tiny_h5p: Add the Tiny H5P plugin
Part of MDL-75966

AMOS BEGIN
 CPY [browserepositories,atto_h5p],[browserepositories,tiny_h5p]
 CPY [copyrightbutton,atto_h5p],[bcopyrightbutton,tiny_h5p]
 CPY [downloadbutton,atto_h5p],[downloadbutton,tiny_h5p]
 CPY [embedbutton,atto_h5p],[embedbutton,tiny_h5p]
 CPY [h5p:addembed,atto_h5p],[h5p:addembed,tiny_h5p]
 CPY [h5pfile,atto_h5p],[h5pfile,tiny_h5p]
 CPY [h5pfileorurl,atto_h5p],[h5pfileorurl,tiny_h5p]
 CPY [h5poptions,atto_h5p],[h5poptions,tiny_h5p]
 CPY [h5purl,atto_h5p],[h5purl,tiny_h5p]
 CPY [invalidh5purl,atto_h5p],[invalidh5purl,tiny_h5p]
 CPY [instructions,atto_h5p],[instructions,tiny_h5p]
 CPY [noh5pcontent,atto_h5p],[noh5pcontent,tiny_h5p]
AMOS END
2022-11-10 19:53:36 +08:00
Andrew Nicols
71d30542ae MDL-75078 editor_tiny: Hola TinyMCE 6
Part of MDL-75966

This commit adds TinyMCE version 6.1 into Moodle core.

A basic editor implementation is included, along with Moodle loader, and
basic Plugin API for Moodle. The Plugin API will be extended and
improved in future changes.

A new subplugin is defined for this plugin.
2022-11-10 19:51:45 +08:00
Sara Arjona
a74782dcc3 Merge branch 'MDL-75889' of https://github.com/paulholden/moodle 2022-11-09 12:36:39 +01:00
Stevani Andolo
b554773b0a MDL-76099 core_navigation: allow setting selected course overflow node
Allow pages to choose which course reuse overflow node is selected, to
handle cases where the default selection (based on matching PAGE->url
to the node action URL) isn't possible (such as when several pages need
to exist under the same selected node).
2022-11-09 15:15:50 +08:00
Paul Holden
c4c823c20e MDL-75889 core: compare domain names in a case-insensitive manner.
As per https://www.rfc-editor.org/rfc/rfc1035#section-3.1
2022-11-07 22:37:15 +00:00
Eloy Lafuente (stronk7)
df227f3819 MDL-76052 webservice_xmlrpc: Remove it completely from core
Normal removal procedure:
  - Remove the plugin completely from core.
  - Document it in the webservices upgrade.txt file.
  - Add a core upgrade step to proceed to remove any configuration
    if the plugin has not been re-installed manually.

Plus:
  - Remove a few remaining uses in the hub/sites registration scripts,
    that were moved from xmlrpc to hand.made rest calls by MDL-31436
    (Moodle 3.4.1 and up) and never removed then.
  - Remove the php-xmlrpc extension as a recommendation in composer.
  - Remove "xmlrpc" from various comments, trivial cleanup.

Note:
  - While working on this MDL-76078 has been created about to
    fix a serious design problem detected (it does not affect
    functionality). That's out from this issue scope.
2022-11-04 16:49:52 +01:00
Jake Dallimore
446a9e64f0 Merge branch 'MDL-76055' of https://github.com/stronk7/moodle 2022-11-04 12:06:38 +03:00
Víctor Déniz
d3e26c1a2a Merge branch 'MDL-76172-master' of https://github.com/sarjona/moodle 2022-11-04 12:06:37 +03:00
Eloy Lafuente (stronk7)
a0d916bc86 MDL-76055 libraries: Autoload phpxmlrpc and verify it works
Also, we can now safely remove Autoloader.php, because
Moodle PSR-4 autoloader has taken control, so document
and test it too.
2022-11-02 15:56:38 +01:00
Sara Arjona
ae63a2d16b MDL-76172 core: Fix error when userinfo is false
This patch should fix a regression introduced in MDL-75171, raised
while running the OBv2.1 certification.
The new method get_raw_userinfo() can return stdClass or false but
the second one was not taken into account from get_userid() (so an
error was thrown: "Argument 1 passed to
core\oauth2\client::map_userinfo_to_fields() must be an instance
of stdClass, bool given").
2022-11-02 12:28:19 +01:00
Jake Dallimore
b76ac53c9d MDL-61880 core: don't clear issuer fields not present in form data
In cases where we have an id, load the persistent and then set new data
before saving. This ensures we don't delete fields which are missing in
the form data.
2022-11-02 11:11:00 +08:00
Yannick Forget
52d523fa9c MDL-61880 core: Retain OAuth 2.0 user field mappings after issuer update 2022-11-02 11:10:36 +08:00
Sara Arjona
b0110cbed3 Merge branch 'MDL-75897' of https://github.com/paulholden/moodle 2022-10-24 15:35:12 +02:00
Jun Pataleta
5ca124e7a2 Merge branch 'MDL-76018-master' of https://github.com/sammarshallou/moodle 2022-10-24 13:16:24 +08:00
Víctor Déniz
c209719811 Merge branch 'MDL-67020_master' of https://github.com/marxjohnson/moodle 2022-10-21 09:07:58 +03:00
Mark Johnson
045ee091da MDL-67020 Cache: Make locking work for local file caches
* Add new requirelockingbeforewrite flag for cache definitions
* Implement native locking in cachestore_file (leveraging
file_lock_factory).
2022-10-20 11:31:33 +01:00
Paul Holden
d53b5879ca MDL-75897 output: safer checking of course reuse action nodes.
Also ensure that if course reuse contains only a single node (e.g.
reset), then it is still accessible from secondary navigation.

Co-authored-by: Meirza Arson <meirza.arson@moodle.com>
2022-10-20 11:08:22 +01:00
Ferran Recio
3d483ac2ef MDL-75401 core: sticky footer component 2022-10-19 13:06:54 +02:00
sam marshall
c38eeae34e MDL-76018 core_navigation: Activity header warning if no module intro 2022-10-17 17:27:39 +01:00
Jake Dallimore
4576a34bec Merge branch 'MDL-73424-master' of https://github.com/marinaglancy/moodle 2022-10-12 11:51:40 +08:00
Marina Glancy
44aac31980 MDL-73424 general: specify return type where possible 2022-10-10 16:46:26 +02:00
Marina Glancy
41b93bd7e5 MDL-73424 general: Internal methods must have same type as parent
Otherwise the error is thrown in PHP8.1
2022-10-10 16:46:13 +02:00
Shamim Rezaie
ba4fb93377 Merge branch 'MDL-75156-master' of https://github.com/ilyatregubov/moodle 2022-10-10 11:15:44 +11:00
Ilya Tregubov
b3e05d0e4e MDL-75156 gradebook: Grade summary plugin (grade averages).
Also included updates for existing unit tests and navigation.
2022-10-07 11:31:41 +04:00
Jun Pataleta
28a4c55aea Merge branch 'MDL-73433-master' of https://github.com/marinaglancy/moodle 2022-10-04 17:53:27 +08:00
Marina Glancy
8ba4e5a3d2 MDL-73433 core: all methods in core_text can accept null argument 2022-09-29 21:06:22 +02:00
Jun Pataleta
4483b085db Merge branch 'MDL-75800' of https://github.com/paulholden/moodle 2022-09-27 20:20:07 +08:00
Andrew Nicols
182649d7d5 Merge branch 'MDL-73421-master' of https://github.com/marinaglancy/moodle 2022-09-27 17:06:51 +08:00
Jun Pataleta
efde82e3f8 Merge branch 'MDL-72509-master' of https://github.com/junpataleta/moodle 2022-09-27 14:27:03 +08:00