This change:
- Moves the API to use the `before_file_created` hook
- Remove the newly created `$notify` param for `after_file_created` hook
- Stop persisting redactable content
- Update manager to not deal with `stored_file` instances
- Correct namespace from `\core\filereact` to `\core_files\redactor`
- Add `redactor` as a valid L2 namespace within the `core_files` API
- Correct config setting names
- Adds missing unit tests
- Disables the service for PHPUnit tests
AMOS BEGIN
MOV [fileredact,core_files],[redactor,core_files]
MOV [fileredact,core_files],[redactor:exifremover,core_files]
MOV [fileredact,core_files],[redactor:exifremover:emptyremovetags,core_files]
MOV [fileredact,core_files],[redactor:exifremover:enabled,core_files]
MOV [fileredact,core_files],[redactor:exifremover:enabled_desc,core_files]
MOV [fileredact,core_files],[redactor:exifremover:failedprocessexiftool,core_files]
MOV [fileredact,core_files],[redactor:exifremover:failedprocessgd,core_files]
MOV [fileredact,core_files],[redactor:exifremover:heading,core_files]
MOV [fileredact,core_files],[redactor:exifremover:mimetype,core_files]
MOV [fileredact,core_files],[redactor:exifremover:mimetype_desc,core_files]
MOV [fileredact,core_files],[redactor:exifremover:removetags,core_files]
MOV [fileredact,core_files],[redactor:exifremover:removetags_desc,core_files]
MOV [fileredact,core_files],[redactor:exifremover:tag:all,core_files]
MOV [fileredact,core_files],[redactor:exifremover:tag:gps,core_files]
MOV [fileredact,core_files],[redactor:exifremover:tooldoesnotexist,core_files]
MOV [fileredact,core_files],[redactor:exifremover:toolpath,core_files]
MOV [fileredact,core_files],[redactor:exifremover:toolpath_desc,core_files]
AMOS END
When all providers for a certain action are disabled, or if providers
are enabled but all individual actions of a type are disabled, then
a warning is shown on the placement admin settings page for actions
that have no providers available.
Also the text editor placement will not show the option to generate
images or text if there are no actions available.
When a terminating SSL proxy is in use, the scheme and port received by
the web server may be different to the wwwroot.
When a reverse proxy is in use, the scheme, port, and host name received
by the web server may be different to the wwwroot.
In both of these cases the incoming request URI must be updated to use
the correct host scheme, and port. In the case of the reverse proxy,
the host name must also be updated.
In both cases the actual path is expected to be correct, and neither the
path nor query parameters should be modified.
Storage of session metadata has moved into the session handler class.
This allows for other classes to fully control session handling and
removes the dependancy on the core sessions database table.
Previously, the standard method of interaction with the
session metadata was direct DB calls; this may break other plugins as there
are now proper APIs available through the session manager.
Co-authored-by: Darren Cocco <moodle@darren.cocco.id.au>
Co-authored-by: Trisha Milan <trishamilan@catalyst-au.net>
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>