Commit Graph

147 Commits

Author SHA1 Message Date
David Woloszyn 05f009fc14 MDL-84807 AI: Remove records on provider uninstall 2025-04-22 16:43:59 +02:00
Daniil Fajnberg b41bf2f579 MDL-81454 core: Remove incorrect @property-read annotation 2025-04-09 08:59:59 +02:00
Andrew Nicols a7aedd91ff MDL-80984 core: Coding style updates 2025-03-19 23:01:00 +08:00
Nathan Nguyen 224b6eb39a MDL-80984 gradepenalty: add penalty feature 2025-03-19 23:00:51 +08:00
Jun Pataleta e8c07e0599 Merge branch 'MDL-83216-main' of https://github.com/meirzamoodle/moodle 2025-03-07 12:15:29 +08:00
meirzamoodle 2f10fde01e MDL-83216 AI: Provider instances ordering 2025-03-07 11:10:11 +07:00
Andrew Nicols 1aeaf278c1 MDL-83282 core: Remove most reference to Atto
Some references can remain, and others should remain until we drop
support for YUI, or Atto is no longer supported in the plugins database.

Note: Some reference to Atto will remain until such a time as it is no
longer possible to support the editor via the plugins database.
2025-03-05 11:35:25 +08:00
Andrew Nicols 09b3b76f39 MDL-83282 core: Disable text editors on uninstall 2025-03-05 10:07:39 +08:00
Jake Dallimore 6031b7cb60 MDL-79843 core: support deprecated plugin types in plugin_manager APIs
This change:
- Adds param to plugin_manager::get_plugins() to permit return of
plugininfo for deprecated/deleted plugins, defaulting to false for
b/c.
- ensures plugininfo represents the deprecation state, via:
-- base::is_deprecated() and
-- base::is_deleted()
- ensures plugin_manager supports deprecated/deleted plugins in the
following APIs:
-- plugin_manager::get_present_plugins()
-- plugin_manager::get_installed_plugins()
-- plugin_manager::get_plugin_info()
-- plugin_manager::get_plugintype_root()
-- plugin_manager::can_uninstall_plugin()
-- plugin_manager::get_uninstall_url()

The above changes facilitate listing/reporting on deprecated or deleted
plugins in install, upgrade or site admin views.
2025-01-28 14:42:19 +08:00
Matt Porritt 368114c7cd MDL-82977 AI: Provider instances
Create provider instances for AI povider plugins.
Each provider plugin can now have multiple instances,
allowing for different configurations and models using
the same base provider.
2025-01-22 08:43:13 +11:00
Simon Adams 78d73cc9b7 MDL-71378 mod_qbank: Add initial plugin structure 2024-11-15 15:18:46 +00:00
Huong Nguyen 838a9abb73 Merge branch 'MDL-82900-main' of https://github.com/mickhawkins/moodle 2024-10-01 11:40:37 +07:00
Michael Hawkins e50249fbea MDL-82900 AI: Update language strings 2024-10-01 12:33:38 +08:00
Paul Holden 246429e89a MDL-83259 sms: define plugin type strings and fix management URL. 2024-09-24 17:03:57 +01:00
Andrew Nicols 10c3e4b770 MDL-81924 core_sms: Add new subsystem and plugintype
Originally implemented as MDL-80960.
2024-09-23 10:43:39 +07:00
Matt Porritt 2ae9b25ad4 MDL-82609 AI: Provider - Action settings
Allow each each Provider plugin to be able
to specify settings for the actions that they
support. Adds admin setting support for these
settings.
2024-09-16 18:19:22 +10:00
Huong Nguyen 253253eede MDL-82627 AI: Code cleanup
Co-authored-by: Meirza <meirza.arson@moodle.com>
2024-09-11 11:25:16 +07:00
Matt Porritt 086ac975f0 MDL-82627 AI: LMS Subsystem
Initial implementation of the LMS AI subsystem.
Originally implemented in MDL-80889

Co-authored-by: Meirza <meirza.arson@moodle.com>
2024-09-11 11:02:51 +07:00
Trisha Milan e52fbd2f84 MDL-66151 Performance: Session Manager modularisation
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>
2024-09-03 13:04:04 +10:00
Paul Holden 687f735387 MDL-82392 blocks: consistent cleaning of block instance names. 2024-08-07 04:12:45 +00:00
Hieu Nguyen Dang adea726a9d MDL-81533 Admin: Availability restriction info default change 2024-07-15 14:09:15 +07:00
Eloy Lafuente (stronk7) 29a541724f MDL-65292 style: Fix all the function declaration ordering
This has been generated running the following Sniff,
part of the Moodle's CodeSniffer standard:
- PSR2.Methods.MethodDeclaration

It just ensures all the function declarations have
the correct order for:
- abstract and final.
- visibility (public, protected, private).
- static.

So, all the lines modified by this commit are function declarations
and the only changes are in the positions of those keywords.
2024-02-28 23:47:47 +01:00
Eloy Lafuente (stronk7) ba1f804ffa MDL-65292 style: Fix all function declarations white space
This has been generated running the following Sniffs, all
them part of the Moodle's CodeSniffer standard:
- PSR12.Functions.ReturnTypeDeclaration
- PSR12.Functions.NullableTypeDeclaration
- moodle.Methods.MethodDeclarationSpacing
- Squiz.Whitespace.ScopeKeywordSpacing

All them are, exclusively, about correct spacing, so the changes
are, all them, only white space changes.

Only exceptions to the above are 3 changes what were setting the
return type in a new line, and, when that happens, the closing
parenthesis (bracket) has to go to the same line than the colon.
2024-02-28 23:33:26 +01:00
Paul Holden 70323bc04f MDL-74466 repository: avoid passing around sesskey when not required. 2023-12-04 09:22:27 +00:00
David Woloszyn 103c2bb512 MDL-78425 core_theme: Theme selection now uses cards and modal 2023-11-08 11:10:41 +11:00
Paul Holden 3893c99825 MDL-79352 admin: fix links to tool plugin management page. 2023-10-09 15:11:11 +01:00
Safat 73f342233a MDL-79586 core: Resolve regression of disabled matrix plugin 2023-10-05 16:22:02 +11:00
Stevani Andolo 369fee885f MDL-78750 communication_matrix: Fixed available providers 2023-09-28 09:13:22 +02:00
Meirza d561e151e5 MDL-78937 lib: Set default value to $component property
We encountered errors on the plugin check page while upgrading from version 3.11 to 4.3.
The plugins marked with the status "To be deleted" have a null value for the $component property,
which results in the following error message:
"Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is
deprecated in lib/classes/component.php on line 1056."
To avoid this error, we need to set an empty string as the default value for the $component property.
2023-09-27 09:53:47 +07:00
Paul Holden 65c0de3618 MDL-78619 communication: add customlink to list of standard plugins.
Make management URL nullable to avoid section link error when the
whole subsystem is not enabled.
2023-09-08 22:14:31 +08:00
Andrew Nicols 6b3d97e615 Merge branch 'MDL-78461' of https://github.com/paulholden/moodle 2023-06-15 11:23:05 +08:00
Andrew Nicols 81ddbd5963 Merge branch 'MDL-78165-master' of https://github.com/meirzamoodle/moodle 2023-06-15 09:59:32 +08:00
Meirza 8b63d21a50 MDL-78165 lib: Added class properties that are not declared in classes
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-06-14 20:17:55 +07:00
Paul Holden c5d655973e MDL-78461 core: fix base plugininfo class reference to root directory. 2023-06-13 14:03:41 +01:00
Meirza b7008d33ea MDL-78167 lib: Added missing class properties in tests
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Adding @runTestsInSeparateProcesses and removing setUp() and tearDown() at the
component_test.php, so the test will run in a separate process making sure that
whatever changes happen to the in-memory version of the component class in its thread,
therefore does not impact other tests and makes it more safe.
2023-05-27 09:24:59 +07:00
Safat 9a060a6d8d MDL-77576 communication_matrix: Create Matrix plugin
This commit will implement a matrix communication plugin
to integrate matrix services with core communication.

Originally implemented as MDL-76701, MDL-76702, MDL-77357,
MDL-76705, MDL-77473 and  MDL-76708.

Co-Authored-By: Stevani Andolo <stevani.andolo@moodle.com>
Co-Authored-By: David Woloszyn <david.woloszyn@moodle.com>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-11 13:35:16 +10:00
Huong Nguyen ec5663f1a4 MDL-77576 core: Register a new communication plugin-type
A new communication plugin type added to core to implement
the communication provider features.

Original implemented as MDL-76699

Co-Authored-By: Huong Nguyen <huongnv13@gmail.com>
2023-05-05 14:41:30 +10:00
Marina Glancy 8fc1486d36 MDL-77164 various: fix incorrect phpdocs 2023-04-13 11:35:06 +01:00
Andrew Nicols 6aba049a64 MDL-76867 core_admin: Migrate media plugin management to dynamic table 2023-03-14 08:44:15 +08:00
Andrew Nicols 6d978dd35a MDL-76867 core_admin: Add support for editor sorting via ajax 2023-03-14 08:44:15 +08:00
Andrew Nicols fdb1df2bfd MDL-76867 core: Add plugintype_supports_disabling to plugininfo 2023-03-14 08:34:42 +08:00
Andrew Nicols 6809289cf4 MDL-76867 core: Plugintype coding style fixes 2023-03-14 08:34:42 +08:00
Jun Pataleta 675dadaf55 Merge branch 'MDL-77430' of https://github.com/stronk7/moodle 2023-03-01 23:59:40 +08:00
Eloy Lafuente (stronk7) d2c721b9e0 MDL-77430 plugininfo: php81 deprecation warnings on missing plugins
Whenever some plugin is missing from disk but installed, the plugins
page (and the upgrade) shows them as "missing from disk". Still, the
code tries to do things with their directory that, now, is null.

That was silently defaulting to '' in previous php versions, but
php81 emits a deprecated warning. So we have to check for them.
2023-02-28 11:34:21 +01:00
Andrew Nicols ce7c207203 MDL-77248 mod_bigbluebuttonbn: Set dpa accepted when creating activities
This only applies when creating activities using the test data
generator.
2023-02-28 12:04:51 +08:00
Andrew Nicols e6fe30187f MDL-77248 core: Move pre_enable_plugin_actions callback to enable_plugin
Note: The original callback was incorrectly using the $PAGE output,
which cannot be relied upon in this callback. The best we can do here is
to add a notification to explain the situation.
2023-02-28 12:04:50 +08:00
Andrew Nicols 6a5512c999 MDL-77007 admin: Remove deprecated auth_config.php usage
This was deprecated in Moodle 3.3 and should now be removed.
2023-01-25 14:13:59 +08:00
Marina Glancy b1c97381b4 MDL-76356 various: avoid implicit conversion to int
PHP before version 8.1 automatically converted to int if the function
parameter (or array key) is expected to be int. PHP 8.1 shows notice in
this case
2023-01-10 15:27:11 +01: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
Paul Holden 473ac1285e MDL-73726 dataformat: obey sort order when returning enabled plugins. 2022-06-06 09:32:36 +01:00