Commit graph

30674 commits

Author SHA1 Message Date
Ferran Recio
a3f116367e MDL-76432 core_courseformat: add file_handlers webservice
In 4.0- version each time the course page is loaded the file handlers
are calculate din the backend and injected directly into JS using a json
encapsulation. With this new webservice the handlers can be obtained
directly from the frontend when needed.
2023-02-06 12:59:25 +01:00
Ferran Recio
e359b9889a MDL-76432 core: reactive drapdrop file support
This commit adds all the necessary CSS and logic to handle file dropping
into a reactive compoment. From now on, a reactive application can
handle both element drag&drop and file drop easily.
2023-02-06 12:58:44 +01:00
Ferran Recio
2846751f2b MDL-76432 core: add process monitor UI component
Create a new UI compoment to queue, execute and display errors on batch
processing. The first use of this component is when the teacher drops a
file into the course page.
2023-02-06 12:58:43 +01:00
Ferran Recio
ff5f669cf8 MDL-76432 aria: add getFirst to nomalise
Half of the times the normalise module is used is to get a single
element. However, because jQuery elements can contain multiple elements
the getList is always an array. Due to this in many ocasions we repeat
the getList(VAR)[0] line instead of having a more readable getFirst
method which only implies a couple of lines in the original code.
2023-02-06 12:58:43 +01:00
Jun Pataleta
3f0b0dccb1 Merge branch 'MDL-72609-master' of https://github.com/andrewnicols/moodle 2023-02-02 12:41:16 +08:00
Andrew Nicols
8aa7812ff8 MDL-75085 external: Whitespace fix 2023-02-02 12:38:46 +08:00
Andrew Nicols
7ceb00f887 Merge branch 'MDL-75085-master-4' of https://github.com/junpataleta/moodle 2023-02-02 12:02:26 +08:00
Andrew Nicols
11d09ef410 Merge branch 'MDL-76675' of https://github.com/stronk7/moodle 2023-02-02 11:02:21 +08:00
Andrew Nicols
ba4adc5321 Merge branch 'MDL-76591' of https://github.com/paulholden/moodle 2023-02-02 11:00:29 +08:00
Jun Pataleta
de4a2a1b9e Merge branch 'MDL-77092-master' of https://github.com/sammarshallou/moodle 2023-02-02 09:57:13 +08:00
Jun Pataleta
60fe64d786 MDL-75085 core_external: Validate $required param
Make sure that the $required param for external_description and its
subclasses are either VALUE_DEFAULT, VALUE_REQUIRED, or VALUE_OPTIONAL.
2023-02-02 09:13:43 +08:00
Jun Pataleta
7a85d041d7 MDL-75085 core_external: Pass proper $required param value in tests 2023-02-02 09:08:29 +08:00
Andrew Nicols
b3469566ae Merge branch 'MDL-77001' of https://github.com/paulholden/moodle 2023-02-02 08:26:54 +08:00
Andrew Nicols
44fd686a2f Merge branch 'MDL-77003' of https://github.com/paulholden/moodle 2023-02-02 08:19:45 +08:00
Ilya Tregubov
f3168a1bc7 MDL-76135 core: Remove old http-message lib 2023-02-01 16:41:18 +08:00
Ilya Tregubov
939ef5197a Merge branch 'MDL-76135-master' of https://github.com/safatshahin/moodle 2023-02-01 15:47:12 +08:00
Andrew Nicols
2b6224a345 Merge branch 'MDL-75945-master' of https://github.com/meirzamoodle/moodle 2023-01-31 22:12:16 +08:00
sam marshall
b639c1455a MDL-77092 Behat: Expand all fieldsets fails with single fieldset
The Behat step to expand all fieldsets did not work if the page
contains only one fieldset.
2023-01-31 13:56:04 +00:00
Andrew Nicols
58afba6d82 Merge branch 'MDL-77081' of https://github.com/paulholden/moodle 2023-01-31 21:43:01 +08:00
Paul Holden
16747048f3 MDL-77081 forms: PHP8.1 compatibility for group/textarea elements.
See related changes in b0a83aa7, we can no longer pass null values
to some string related methods.
2023-01-31 10:51:24 +00:00
Paul Holden
35f3847064 MDL-76591 comment: implement new management interface elements.
Convert existing JS modules, call existing external service for
comment deletion.
2023-01-30 15:54:00 +00: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
7b150add44 MDL-76135 core: Import the Guzzle library
This commit will import the Guzzle library in
core. The imported libraries will be used in
the next commits to create an api for the http
client to be used in relevant 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
f570647d67 Merge branch 'MDL-76562-master' of https://github.com/meirzamoodle/moodle 2023-01-27 13:13:23 +08:00
Eloy Lafuente (stronk7)
0cbf52d3f4 MDL-76675 date: Only test all TZ names with PHPUNIT_LONGTEST enabled
It happens often that some timezone is renamed, split, added to the
IANAs list of timezones (that, for PHP is kept updated by the
php-timezonedb PECL extension).

When the information coming from the extension changes, all the
PHPUnit jobs in the world start failing (that's when CIs update
their PHP images, when devs update their packages, ...).

So, what we are doing here is to move that test that check for
every single string existing to be run only when PHPUNIT_LONGTEST
is enabled. That way only places running all tests will run that
one. And every other run just will skip it.

This corresponds to point 1 & 2 of the issue, lower impact in general
and, still be able to enable the tests to run.
2023-01-26 14:18:29 +01:00
Jun Pataleta
f15855ecd6 Merge branch 'MDL-76977' of https://github.com/paulholden/moodle 2023-01-25 16:10:28 +08:00
Paul Holden
ea0515758a MDL-77003 javascript: improve string helper JSON detection.
Changes in fbc2732d made the JS template string helper method
too strict in regards to what it considers a valid JSON object.

Co-authored-by: Mike Churchward <mike@brickfieldlabs.ie>
2023-01-24 22:14:12 +00:00
Sara Arjona
ae53d04144 Merge branch 'MDL-75337-master' of https://github.com/laurentdavid/moodle 2023-01-24 16:07:35 +01:00
Meirza
bf3a9c3b3f MDL-75945 core: Convert a floating value to an integer.
In PHP 8.1, any implicit conversion of float to int, which leads to a loss in precision, is now deprecated.
To avoid the error warning, the code must explicitly convert a floating value to an integer.
2023-01-24 16:49:10 +07:00
Laurent David
fc72a1d7b1 MDL-75337 core: Single button - core changes
* Change all core calls toward single_button to use single_button::BUTTON_PRIMARY
    when needed
2023-01-24 06:01:35 +01:00
Andrew Nicols
ecc2a8775a Merge branch 'MDL-69164-master' of https://github.com/JBThong/moodle 2023-01-24 11:45:27 +08:00
Paul Holden
89be8b7c78 MDL-77001 tiny_autosave: use valid lang string during privacy export. 2023-01-23 22:05:45 +00:00
Laurent David
377c962f11 MDL-75337 core: Single button - API changes
* Update component library for new features of single_button and modal
    * Update core_notification javascript
2023-01-23 13:45:21 +01:00
Andrew Nicols
fcad49b03b MDL-72609 core: Remove YUI from M.util.pendingJS 2023-01-23 15:02:55 +08:00
Andrew Nicols
b8f6b7602b MDL-72609 core: Fix complete_js to be a list of strings 2023-01-23 15:02:55 +08:00
Andrew Nicols
116ddb8933 MDL-72609 behat: Rewrite core/pending to observe ES6 style
This commit makes the following changes:
* convert to use ES6 module format
* migrate from a jQuery Deferred to a native ES6 promise
* add a native-Promise-like instantiation

New uses are documented in appropriate jsdoc with examples.
2023-01-23 15:02:55 +08:00
Eloy Lafuente (stronk7)
4a76c772d7 MDL-76362 output: Preserve original behaviour for PHP 8.1
Whenever the page_requirements_manager::js_fix_url()
is called with null url, it must throw an exception and emit 0 warnings.

It's covered by an explicit test:

test_js_fix_url_coding_exception with data set "Provide a null argument"
2023-01-23 09:17:48 +08:00
Andrew Nicols
7000a99de3 MDL-76362 core: Coding style fixes 2023-01-23 09:15:55 +08:00
Andrew Nicols
5d3cb79f30 MDL-76362 core: Short circuit s() on empty values 2023-01-23 09:15:55 +08:00
Andrew Nicols
19bedb8eba MDL-76362 core: Short-circuit strip_querystring on empty values 2023-01-23 09:15:55 +08:00
Andrew Nicols
b0aa0b63e0 MDL-76362 core_file: Check prefix exists before checking length 2023-01-23 09:15:55 +08:00
Andrew Nicols
93ab932211 MDL-76362 core: plugin names must be strings to be valid 2023-01-23 09:15:55 +08:00
Andrew Nicols
e068f2284f MDL-76362 core: Update core_component plugin name tests 2023-01-23 09:15:55 +08:00
Andrew Nicols
eceb3c49fd MDL-76362 core: Test coursealias before using 2023-01-23 09:15:55 +08:00
Andrew Nicols
ef09257dc1 MDL-76362 core: Use empty default string when getting prefs
The json_decode function does not accept a null, which is the
traditional default for get_user_preferences. By passing a default of
am empty string we avoid issues in PHP 8.1.
2023-01-23 09:15:54 +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
Paul Holden
5414b82e6e MDL-76977 phpunit: ensure unique data provider keys in mustache test. 2023-01-20 17:19:16 +00:00