212 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7)
03bc275093 MDL-76362 enrol_lti: Prevent calling to DataConnector with null keys
While it could have been fixed in DataConnector (3rd part lib), better
prevent in our code to call to it with null keys.

Covered by unit tests.
2023-01-23 09:17:48 +08:00
Marina Glancy
2dd7290ccb 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:16:06 +08:00
Paul Holden
f5844e80fd Merge branch 'MDL-76803-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2023-01-10 16:24:16 +00:00
Jun Pataleta
8280476728 MDL-76803 lang: Update usages of reworded email display options 2023-01-10 16:01:44 +08:00
Jake Dallimore
18302e1244 MDL-75532 enrol_lti: fix optional lineitemsurl in grade sync task
As in MDL-74691, we need either or both of these fields, meaning either
one could be omitted. This just supports that as per the fix made in
MDL-74691.
2023-01-09 11:39:17 +08:00
Jake Dallimore
2080ba7c83 MDL-75532 enrol_lti: add tests for coupled and decoupled line items
This covers the following cases:
1. Where only the 'lineitem' service endpoint is provided
2. Where only the 'lineitems' service endpoint is provided.
Existing tests already cover the case where both are provided.
2023-01-09 11:39:09 +08:00
Jun Pataleta
d9cd25c2fb MDL-76497 upgrade: add the 4.1.0 separation line to all upgrade scripts 2022-12-01 08:59:07 +03:00
Jun Pataleta
00bae8b8a4 MDL-76403 versions: bump all versions and requires near release 2022-11-23 09:45:23 +08:00
Paul Holden
bec6f3d8a5 MDL-76310 enrol_lti: fix consumer key upgrade steps for Oracle.
Avoids CLOB comparison exceptions, related to ORA-00932.
2022-11-15 11:48:16 +00:00
Jake Dallimore
3e17cf68a4 MDL-76170 enrol_lti: fix missing secret in enrol_lti_users
If member sync runs before the user launches the tool, a partial record
is created, without consumer secret. Subsequent launches of the tool by
that member don't resolve this and this results in grade sync failing
for any affected users. This patch:
- data fixes the existing affected rows
- fixes the launch code, ensuring secret is recorded on launch,
irrespective of whether the user info record has been created already
or not.
2022-11-09 10:02:22 +08:00
Jake Dallimore
1b9ebba57b MDL-76113 enrol_lti: Fix secret on lti user for LTI 2.0 consumers
Fixes the enrol_lti_users.consumersecret field for LTI 2.0 users.
This field erroneously contained the tool secret and not the consumer
secret needed for service requests when used with LTI 2.0 consumers,
which resulted in complete grade sync failure for LTI 2.0 consumers.
This patch:
- adds an upgrade step to address existing incorrect secrets for LTI
2.0 launched users. It sets these to the correct consumer secret.
- fixes the way the secret is first set during a launch, ensuring
this->consumer->secret is used, which properly captures either the
tool secret (for 1.1 launches) or the consumer secret (for 2.0
launches).
2022-11-02 16:48:33 +08:00
Jake Dallimore
552f31dc37 MDL-76002 enrol_lti: let http_client handle form_params option
The lib/lti1p3 library now passes $options['form_params'] instead of
$options['body'] when making access token requests. To maintain the
'application/x-www-form-urlencoded' content-type required by OAuth 2.0
(https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3), the client has
been changed to convert these array params into a body query string,
which matches the behaviour prior to the library upgrade and makes
the tool can continue to call tool platform services. Support for
$options['body'] remains, as this is still used during service calls.
2022-10-14 16:35:29 +08:00
Jun Pataleta
da9aec83a6 Merge branch 'MDL-69251-master' of https://github.com/snake/moodle 2022-08-04 11:16:22 +08:00
Andrew Nicols
547cae0a02 MDL-74697 libraries: Update all third-party libraries with more metadata 2022-07-22 07:28:47 +02:00
Ilya Tregubov
3250e59ba5 NOBUG: Fixed SVG browser compatibility 2022-07-21 21:29:45 +04:00
Jun Pataleta
301db762d6 Merge branch 'MDL-75182-master' of https://github.com/snake/moodle 2022-07-19 22:47:25 +08:00
Jake Dallimore
273d9d561d MDL-68843 enrol_lti: add tests covering disabled instances in tasks
Verify the expected behaviour of the sync_members and sync_grades tasks
when enrolment instances are disabled, whether as a byproduct of module
deletion, or as status change made by the user.
2022-07-18 16:13:48 +08:00
Jake Dallimore
3387e63736 MDL-68843 enrol_lti: auto disable orphaned enrolment instances
- pre_course_module_deletion hook to disable on mod delete
- upgrade step dealing with legacy orphaned records
2022-07-18 16:08:18 +08:00
Jake Dallimore
44508bfe93 MDL-68843 enrol_lti: add deleted activity warning to published tools
Adds a warning to the 'name' column of the tables, letting teachers know
that the activity exposed by the method has been deleted and what their
options are.
2022-07-18 16:08:18 +08:00
Denis Brat
9f7eafbf7b MDL-69251 enrol_lti: fix sync_members task inconsistent internal state 2022-07-15 12:17:08 +08:00
Jun Pataleta
3c6fdb1993 Merge branch 'MDL-71062-master' of https://github.com/sharidas/moodle 2022-07-13 11:39:08 +08:00
Sujith Haridasan
73d604369d MDL-71062 core: Step 1 deprecation of print_error function 2022-07-13 08:20:54 +05:30
Jake Dallimore
dc20ae685f MDL-75182 enrol_lti: remove installed lang assumptions from unit tests
Don't assume 'fr' isn't installed, or that 'en' is. Use known
non-existent languages and known installed languages for the relevant
test cases.
2022-07-08 10:05:41 +08:00
Eloy Lafuente (stronk7)
58b56e2395 MDL-71747 upgrade: remove all the < 3.9.0 upgrade steps
This just deletes all the upgrade steps previous to 3.9.0. Some
small adjustments, like tweaking globals can also be applied
when needed.

Also includes an upgrade step to prevent upgrading from any
version < 2020061500 (v3.9.0) as anti-cheating measure.

The next commits will proceed to deprecate / remove functions
that were exclusively (usually belonging to upgradelib) being
used by those, now removed, upgrade steps. This is the list
of code to remove and document in upgrade.txt files:

  - upgrade_analytics_fix_contextids_defaults()
  - upgrade_convert_hub_config_site_param_names()
  - upgrade_rename_prediction_actions_useful_incorrectly_flagged()
  - \mod_forum\task\refresh_forum_post_counts adhoc task.

And these is the code that has NOT been removed
because it may be needed later (no matter there aren't uses now):

  - \core_search\manager::clean_up_non_existing_area(), used by
  - \core\task\clean_up_deleted_search_area_task adhoc task
2022-07-07 19:16:37 +02:00
Jun Pataleta
d323559965 MDL-74815 pix: Convert PNG version of darkened SVG icons
* Conversion was done using rsvg-convert from librsvg
2022-07-04 14:03:39 +08:00
Jun Pataleta
12ee00bdf6 MDL-74815 pix: Darken colour of grey icons
* Change the fill colour of grey icons from #999 to #888.
2022-07-04 11:29:47 +08:00
Jake Dallimore
0d6759dad0 MDL-74691 enrol_lti: add coverage of lti-ags claim variations to service
This test verifies how the service handles changes in the lti-ags claim
sent over several launches - ensuring the claim data is updated each
time.
2022-06-16 14:55:09 +08:00
Jake Dallimore
f714c61b82 MDL-74691 enrol_lti: allow omission of lineitems property in ags claim
The claim is valid with either or both of the URLs, so long as there's
at least one.
2022-06-16 12:50:42 +08:00
Shamim Rezaie
a239d8e182 Merge branch 'MDL-74699-master' of https://github.com/snake/moodle 2022-06-03 14:45:30 +10:00
Jake Dallimore
4b93776f4b MDL-74699 enrol_lti: fix clientid retrieval from aud during launches 2022-05-12 09:20:02 +08:00
Eloy Lafuente (stronk7)
9f53b0e965 MDL-73971 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- Some fixtures, initially defined in the test files have been
  moved to new files in fixtures subdirectory, leaving the unit
  test files clearer:
  - moodle2_course_format_test.php
- Rename wrong named test:
  - baseoptiogroup_test = baseoptigroup_test
2022-05-06 18:29:11 +02:00
Jun Pataleta
53ad985457 Merge branch 'MDL-74576-master' of https://github.com/snake/moodle 2022-05-05 09:55:37 +08:00
Jun Pataleta
96ffb21ca6 Merge branch 'MDL-74546-master' of https://github.com/snake/moodle 2022-05-05 09:41:28 +08:00
Jake Dallimore
8f59d0b937 MDL-74576 enrol_lti: allow unsupported scopes in ags_info
Instead of hard blocking launches with extension scopes, just ignore
the unsupported scopes and continue.
2022-05-02 15:37:52 +08:00
Jun Pataleta
c0466920b3 Merge branch 'MDL-74537-master-enfix' of https://github.com/vmdef/moodle 2022-04-27 15:56:00 +06:00
Helen Foster
a1699a58f4 MDL-74537 lang: Import fixed English strings (en_fix) 2022-04-26 11:21:12 +01:00
Eloy Lafuente (stronk7)
76f5445451 MDL-74510 upgrade: add the 4.0.0 separation line to all upgrade scripts 2022-04-22 18:45:10 +02:00
Jake Dallimore
3b4ef7b71d MDL-74546 enrol_lti: add missing d-flex to table to fix safari layout 2022-04-22 10:17:13 +08:00
Jake Dallimore
9343f94131 MDL-74312 enrol_lti: fix copytoclipboard trigger element
This should be a button given it's an action, and making it a button
means it can be activated using either the space or enter keys, instead
of just enter.
2022-04-20 09:31:48 +08:00
Jun Pataleta
70f6b1605b MDL-74471 versions: bump all versions and requires near release 2022-04-13 10:37:36 +08:00
Shamim Rezaie
a9a9d8e5c2 Merge branch 'MDL-74463-master' of https://github.com/snake/moodle 2022-04-11 11:55:18 +10:00
Jake Dallimore
75328ec1a8 MDL-74463 enrol_lti: fix location of scopes in registration json 2022-04-08 14:45:30 +08:00
Eloy Lafuente (stronk7)
70e29b77f0 Merge branch 'MDL-74330-master-enfix' of https://github.com/vmdef/moodle 2022-04-05 18:39:23 +02:00
Sara Arjona
2a50ee4464 NOBUG: Fixed SVG browser compatibility 2022-04-01 16:41:04 +02:00
Víctor Déniz
a51d24c8a8 MDL-74330 lang: Replace modified strings in tests 2022-04-01 13:17:18 +01:00
Helen Foster
3719878cbf MDL-74330 lang: Import fixed English strings (en_fix) 2022-04-01 13:17:08 +01:00
Jake Dallimore
706d7885b4 MDL-74221 enrol_lti: revert order change for action buttons 2022-04-01 17:33:54 +08:00
Jun Pataleta
fc1f7014c1 Merge branch 'MDL-74221-master' of https://github.com/andrewnicols/moodle 2022-04-01 10:13:46 +08:00
Jun Pataleta
a3958a297e Merge branch 'MDL-74221-master' of https://github.com/andrewnicols/moodle 2022-04-01 10:12:58 +08:00
Jake Dallimore
f739a10700 MDL-74221 enrol_lti: fix upgrade code to set correct status default 2022-04-01 10:12:57 +08:00