30326 Commits

Author SHA1 Message Date
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
Sara Arjona
3b7d1a2f23 NOBUG: Fixed SVG browser compatibility 2022-11-11 15:05:55 +01:00
Mathew May
b867309051 MDL-71920 libraries: Migrate LTI lib away from pure curl 2022-11-11 12:53:24 +08:00
Mathew May
fbe1ac8e13 MDL-71920 core: update filelib opt name definition 2022-11-11 12:53:24 +08:00
Adrian Greeve
f865b326ca Merge branch 'MDL-76099-master' of https://github.com/stevandoMoodle/moodle 2022-11-11 12:26:12 +08:00
Jake Dallimore
db5b2d6ab0 Merge branch 'MDL-75423-master' of https://github.com/mihailges/moodle 2022-11-11 11:55:06 +08:00
Shamim Rezaie
49595ffa2f MDL-75423 output: select_menu label bug fix
- click on the label were not always focusing on the element
2022-11-10 22:43:13 +08:00
Jun Pataleta
4f65a72ae7 MDL-75966 editor_tiny: Bump version to current date 2022-11-10 20:48:26 +08:00
Jun Pataleta
c404193823 Merge branch 'MDL-75966-master' of https://github.com/andrewnicols/moodle 2022-11-10 20:28:14 +08:00
Sara Arjona
2ada61c243 Merge branch 'MDL-75448-master' of https://github.com/golenkovm/moodle 2022-11-10 13:19:38 +01:00
Paul Holden
76c68e2146 Merge branch 'MDL-68550-master' of https://github.com/rezaies/moodle 2022-11-10 11:59:35 +00:00
Andrew Nicols
126db9165c MDL-76025 editor_tiny: Adjust initial toolbar layout
Part of MDL-75966
2022-11-10 19:55:15 +08:00
Huong Nguyen
01d710bd88 MDL-76012 tiny_h5p: Improve URL validation
Part of MDL-75966
2022-11-10 19:54:33 +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
Andrew Nicols
71046558b1 MDL-75260 tiny_media: Move uploader to editor_tiny
Part of MDL-75966
2022-11-10 19:53:54 +08:00
Andrew Nicols
92765e996b MDL-75260 tiny_media: Adjust Menu configuration
Part of MDL-75966
2022-11-10 19:53:52 +08:00
Andrew Nicols
75ebfb703b MDL-75259 tiny_media: Tidy up strings
Part of MDL-75966
2022-11-10 19:53:48 +08:00
Stevani Andolo
519e10e939 MDL-75260 tiny_media: Implement Media Manager plugin for TinyMCE
Part of MDL-75966
2022-11-10 19:53:46 +08:00
Andrew Nicols
3728eb2cb9 MDL-75260 tiny_media: Refactor media commands
Part of MDL-75966
2022-11-10 19:53:44 +08:00
Huong Nguyen
e07acba336 MDL-75328 tiny_media: Implement Media Video/Audio for TinyMCE
Part of MDL-75966
2022-11-10 19:53:42 +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
c4a0896134 MDL-75966 editor_tiny: Tidy up toolbar management 2022-11-10 19:53:31 +08:00
Andrew Nicols
9dd2921d7c MDL-75331 editor_tiny: Limit formatting options
This commit removes several contentious formatting options for now,
pending further consideration, in particular it removes:
- forecolor
- backcolor
- fontfamily
- styles

The two color plugins are written in such a way that the chosen colour
is embedded into a style tag in the generated content. This is not
ideal as it removes these decisions away from theme developers and upon
theme changes to a site, is likely to lead to inaccessible and/or broken
content.

We feel that a new colour plugin will be required which links to known
colour style classes within the theme to allow a subset of colours which
are guaranteed to work with the theme.

The fontfamily plugin is removed pending further administrator
configuration in a future release.

In the case of the 'styles' plugin, this duplicates large parts of the
Format menu into which it is placed but does so in a way that does
respect the configuration of other areas - for example the block_formats
tag is ignored in this menu.

Part of MDL-75966
2022-11-10 19:53:27 +08:00
Andrew Nicols
769cc95f92 MDL-75078 editor_tiny: Tidy up TinyMCE configuration
This change does not include any functional change, but
compartmentalises the existing configuration to make it easier to read.

Part of MDL-75966
2022-11-10 19:53:23 +08:00
Huong Nguyen
68b882e196 MDL-75269 editor_tiny: Create Administration setting page for Tiny MCE editor
Part of MDL-75966
2022-11-10 19:53:18 +08:00
Andrew Nicols
07b9f384a2 MDL-75940 editor_tiny: Allow administrators to disable Tiny branding
Part of MDL-75966
2022-11-10 19:53:13 +08:00
Andrew Nicols
a809f82862 MDL-75078 editor_tiny: Disable Tiny template plugin
The template plugin is a part of Tiny, and requires us to create an
administrator UI to configure the templates.

This requires much more thought on workflows, intent, and so on so we'll
park it for later.

Part of MDL-75966.
2022-11-10 19:53:11 +08:00
Simey Lameze
1bd0ad6fa3 MDL-75282 editor_tiny: Add ability to set value regardless of the editor
This is a follow-on part to MDL-75887.

Part of MDL-75966.
2022-11-10 19:53:08 +08:00
Andrew Nicols
ebc7d31232 MDL-75282 editor_tiny: Always use Tiny for @tiny tests
This is a subsequent part of MDL-75886 relating to the introduction of
TinyMCE.

Part of MDL-75966
2022-11-10 19:53:05 +08:00
Andrew Nicols
b7ffcdb6ce MDL-75078 editor_tiny: Remove styles from standard modal
Part of MDL-75966
2022-11-10 19:53:03 +08:00
Andrew Nicols
d9c1be6aa3 MDL-75078 editor_tiny: Add list plugins
Part of MDL-75966
2022-11-10 19:53:01 +08:00
Andrew Nicols
41952a03b6 MDL-75078 editor_tiny: Fix undestroyed editors
Part of MDL-75966
2022-11-10 19:52:58 +08:00
Andrew Nicols
417dee3a65 MDL-75078 editor_tiny: Add help link helper
Part of MDL-75966
2022-11-10 19:52:57 +08:00
Andrew Nicols
c2428e2018 MDL-75078 editor_tiny: Disable quickbars entirely
Part of MDL-75966
2022-11-10 19:52:55 +08:00
Andrew Nicols
603c50e1be MDL-75078 editor_tiny: Improve configuration specification
Part of MDL-75966
2022-11-10 19:52:52 +08:00
Andrew Nicols
05000e3e8b MDL-75078 editor_tiny: Reduce z-index of fullscreen tiny to not cover Moodle dialogues
Part of MDL-75966
2022-11-10 19:52:33 +08:00
Andrew Nicols
90c40fba5d MDL-75271 editor_tiny: Add a cache-busting loader for TinyMCE
Part of MDL-75966

This commit adds a cache-busting loader API for use in the TinyMCE
plugin.

This is not for use in any TinyMCE subplugins at this time as we have no
use-case outside of AMD modules.

This loader ensures that only files within the js/tiny directory are
loaded, and it only supports either .js or .css files at this time.

The client-side of the loader makes use of the jsrevision as a
cache-buster, including for CSS files included with TinyMCE.

If the revision is negative, then files are not cached.
If the revision is positive, then the requested file is cached in a
candidate file and served using aggressive cache headers.
2022-11-10 19:52:15 +08:00
Andrew Nicols
d8cf77a127 MDL-75246 editor_tiny: Add initial translation support
Part of MDL-75966

Add support for translation of the TinyMCE interface.

TinyMCE translates English language strings rather than keys, and a tool
to perform this translation is included.
2022-11-10 19:52:13 +08:00
Andrew Nicols
7e5c81e5a5 MDL-75078 editor_tinymce: Rename legacy tinymce pluginname
This commit renames the legacy editor to make it easier for users to
differentiate the two in the UI.

Part of MDL-75966
2022-11-10 19:52:10 +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
42c48c1103 Merge branch 'MDL-76167-master' of https://github.com/davewoloszyn/moodle 2022-11-10 12:42:14 +01:00
Shamim Rezaie
178c51786c MDL-68550 tablelib: Use aria-role=button
Use the aria-role=button for:
 - show/hide links
 - sort links
 - reset table preferences link
2022-11-10 06:14:01 +11:00
Shamim Rezaie
8e31a72c05 MDL-68550 output: Improve accessibility of the initials bar
- The current item should be focusable otherwise the focus will be lost
  as soon as a user clicks on an item in the initials bar
- Modified behat tests to not mistakenly click on the 'All' link
- Use the nav tag because each item in the initials bar is a
  navigation link within the current document
- The currently selected item is specified by aria-current
- Useed aria-current=true rather than =page because the links of each
  item in the initials bar is missing the pagination information
2022-11-10 06:06:02 +11:00
Shamim Rezaie
e29007d679 MDL-68550 output: Improve accessibility of the paging bar
The use of aria-current is based on the example at
https://design-system.w3.org/components/pagination.html
2022-11-10 06:06:02 +11:00
Sara Arjona
1ba4e0100e Merge branch 'MDL-50935-master-2' of https://github.com/junpataleta/moodle 2022-11-09 16:01:12 +01:00
Jun Pataleta
9555637d64 Merge branch 'MDL-76053' of https://github.com/stronk7/moodle 2022-11-09 21:28:30 +08:00