Commit Graph

60 Commits

Author SHA1 Message Date
Shamim Rezaie 6b3d163a56 MDL-69166 core_payment: Renamed plugintype name from pg to paygw 2020-10-27 15:45:23 +11:00
Shamim Rezaie 4865d2a0ae MDL-69166 core_payment: basic gateway skeleton 2020-10-27 15:05:23 +11:00
Brendan Heywood 3f04dbee09 MDL-68292 core: Remove sesskey leakage on module pages 2020-10-12 17:11:59 +11:00
Sara Arjona 58f85a6c6e MDL-67795 contentbank: clean all the content when uninstalling plugin 2020-04-23 13:09:40 +02:00
Amaia Anabitarte 33b8ca26f9 MDL-67786 core_contentbank: New content bank contenttype plugin type
Co-authored by: Ferran Recio <ferran@moodle.com>
2020-04-15 23:45:08 +02:00
Sara Arjona 08fda3e0f8 MDL-67063 h5p: new h5plib plugintype for supporting multi coreAPI
A new plugintype has been created for having more than one installed
third-party H5P libraries. Existing libraries have been moved from
lib/h5p to the new h5plib_v124 plugin.
2020-03-11 08:46:16 +01:00
Peter Burnett 72aac06304 MDL-59562 core: updated type hint of new function 2020-01-16 13:05:30 +10:00
[Peter Burnett] 147a895ad0 MDL-59562 upgrade: Plugins can declare supported moodle versions
* Plugins can now explicitly declare supported and incompatible Moodle
  versions in version.php
  - $plugin->supported[37,39];
    supported takes an array of ascending numbers, that correspond to a
    range of branch numbers of supported versions, inclusive. Moodle
    versions that are outside of this range will produce a message
    notifying at install time, but will allow for installation.

  - $plugin->incompatible = 36;
    incompatible takes a single int corresponding to the first incompatible
    branch. Any Moodle versions including and below this will be prevented
    from installing the plugin, and a message will be given when
    attempting installation.
2020-01-15 14:38:27 +10:00
David Monllaó aa5b705607 MDL-66004 mlbackend_python: Package installed on a separate server 2019-10-02 08:41:14 +08:00
Mathew May e00f1c663c MDL-64506 phpunit: Update unit tests to use classic 2019-04-03 19:34:20 +08:00
Marina Glancy bbf60b1412 MDL-57898 core_customfield: coding style fixes 2019-01-18 14:28:24 +01:00
Toni Barberà Melià 1eeb465a0c MDL-57898 core_customfield: Custom fields API
This commit is part of work on Custom fields API,
to minimize commit history in moodle core the work of a team of developers was split
into several commits with different authors but the authorship of individual
lines of code may be different from the commit author.
2019-01-18 09:02:30 +01:00
David Monllao ed12ba6ba8 MDL-60520 analytics: Per-model ml backend 2018-10-22 13:58:33 +02:00
Damyon Wiese fe955c5645 Merge branch 'wip-MDL-45500-master' of git://github.com/marinaglancy/moodle 2017-12-11 12:56:18 +08:00
Marina Glancy 777720c833 MDL-45500 gradingform: allow plugin uninstall 2017-11-28 12:27:52 +08:00
sam marshall a938e4096c MDL-60174 core_dml: fix miscellaneous incorrect recordset usage
The new recordset support for Postgres requires transactions and
will cause errors if recordsets are not closed correctly. This
commit fixes problems that were identified during unit tests, and
via some basic code analysis, across all core code. Most of these
are incorrect usage of recordset (forgetting to close them).
2017-11-27 11:10:33 +00:00
David Monllao 40fcb365c3 MDL-58859 analytics: Subsystem and API db/ requirements added
Part of MDL-57791 epic.
2017-07-24 07:53:17 +02:00
David Mudrák 30e891e08f MDL-46418 repositories: Fix how enabled repositories are populated
Repository instances are stored in the 'repository' table. Repositories
in the table are either 'Enabled and visible' or 'Enabled but hidden'.
Hidden repositories still serve their files, but are not visible in the
filepicker UI. Disabling a repository instance removes its record from
the table.

In the original implementation of the plugin manager (see b9934a17), the
method plugintype_repository::get_enabled_repositories() correctly
returned all records from the repository table. Then as a part of the
bigger refactoring in MDL-41437, the commit bde002b8 replaced the
original method with the new get_enabled_plugins() one which started to
return visible repositories only.

As a consequence, the admin tree stopped populating setting page nodes
for hidden repository instances. So attempting to visit their setting
page threw a section error. Credit goes to Ike Quigley for debugging and
tracing this down.

This patch fixes the way how the list of enabled repositories is
populated by the plugin manager so that both visible and hidden
repositories are returned again. This does not affect the filepicker
itself as it is using its own methods for obtaining the list.
2017-06-15 21:22:43 +02:00
Stephen Bourget 037273d87e MDL-12689: convert auth plugins to use settings.php 2017-04-03 10:50:09 -04:00
Andrew Nicols 34df779a95 MDL-55528 core_files: Create new fileconverter plugintype 2017-03-10 09:31:14 +08:00
David Monllao ef9a1a2aff Merge branch 'MDL-56320-m' of https://github.com/micaherne/moodle 2016-12-19 15:05:14 +01:00
Michael Aherne 23b9e2a16d MDL-56320 webservice: Allow uninstall of unused plugins 2016-12-05 12:56:55 +00:00
Andrew Nicols 7afc76fbd6 Merge branch 'MDL-56952-master' of git://github.com/damyon/moodle 2016-11-15 09:07:37 +00:00
Damyon Wiese 204413187e MDL-56952 plugininfo: You can uninstall theme_base 2016-11-15 08:55:41 +08:00
Michael Aherne 51c6d25b3b MDL-56880 webservices: Fix documentation of get_enabled_plugins() 2016-11-10 16:18:06 +00:00
Marina Glancy fab11235d8 MDL-38158 core_media: Convert media players to new plugin type
AMOS BEGIN
  MOV [siteyoutube,core_media],[pluginname,media_youtube]
  MOV [siteyoutube_desc,core_media],[pluginname_help,media_youtube]
  MOV [sitevimeo,core_media],[pluginname,media_vimeo]
  MOV [sitevimeo_desc,core_media],[pluginname_help,media_vimeo]
  MOV [html5audio,core_media],[pluginname,media_html5audio]
  MOV [html5audio_desc,core_media],[pluginname_help,media_html5audio]
  MOV [html5video,core_media],[pluginname,media_html5video]
  MOV [html5video_desc,core_media],[pluginname_help,media_html5video]
  MOV [flashanimation,core_media],[pluginname,media_swf]
  MOV [flashanimation_desc,core_media],[pluginname_help,media_swf]
AMOS END
2016-11-04 17:30:40 +08:00
Juan Leyva 8a0a7414b2 MDL-53777 tool_mobile: Move mobile settings to the admin tool 2016-10-03 10:02:32 +01:00
Frederic Massart e5e2f39ed5 MDL-55663 filter: Filters could be incorrectly reported as inactive 2016-08-30 11:22:53 +08:00
Brendan Heywood bff1edbe44 MDL-51603 dataformat: Implement streaming dataformat plugin 2016-04-20 12:39:25 +10:00
Ruslan Kabalin 1a980fdadb MDL-50887 antivirus: Fix style issues. 2016-02-25 09:55:45 +00:00
Ruslan Kabalin 146eeb7651 MDL-50887 antivirus: Add antivirus plugin infrastructure. 2016-02-25 09:54:05 +00:00
David Monllao db48207e1a MDL-31989 search: Search API and search engine API
Introducing both APIs in moodle along with:
- search_box widget to add a tiny search box
- admin settings with setup steps helper
- cache for search results
- template for a search result
- php unit stuff

Many thanks to Tomasz Muras, Prateek Sachan and Daniel Neis for their contributions, for starting this development
and for pushing for it to be completed. Also thanks to other contributors: Jonathan Harker and eugeneventer.
2016-02-23 10:47:58 +00:00
Davo Smith 6badbf0135 MDL-49620 availability: plugins can have global settings 2016-02-04 15:21:02 +00:00
Michael Aherne d9ffd8518a MDL-52589 cache: Allow unused stores to be uninstalled 2016-01-11 09:04:37 +00:00
Marina Glancy 49f3c89324 MDL-52332 calendar: load settings using API 2015-11-30 11:36:50 +08:00
David Mudrák c44bbe35bf MDL-49329 admin: Improve loading of available updates info
The actual loading of available updates info objects is moved back to
the plugin manager class. As we can now mockup the manager in unit
tests, this allows us to bypass the real \core\update\checker and have
unit tests for \core\plugininfo\base::available_updates().
2015-10-08 23:32:02 +02:00
David Mudrák 2d488c8f01 MDL-49329 admin: Keep reference to plugin manager in plugininfo objects
Plugin info objects are owned by the plugin manager (composition
pattern). Even if the plugin manager is a singleton, we need to keep
explicit reference to the plugin manager that owns the plugin info so
that we can mock up things in unit tests.

Therefore this patch introduces a new property of plugin info objects
that holds the reference to the instance of the plugin manager that made
(and hence owns) the given info instance.

The only trouble here is with static methods of plugin info classes such
as \core\plugininfo\base::get_enabled_plugins(). In these cases, the
code keeps using the core_plugin_manager singleton. The solution would
be to pass the plugin manager instance as a parameter but that is not
worth of change for now, IMHO.
2015-10-08 23:32:02 +02:00
David Mudrák 30d8bc5f66 MDL-49329 admin: Do not always load info about available updates
Before this patch, whenever core_plugin_manager::get_plugins() was
called, it always attached info about available updates. But this is
needed only in quite rare cases, such as when the admin is looking at
the Plugins overview and Plugins check screens. There is no need to load
this on other places and for non-admin users.

The patch removes the loading from the method
core_plugin_manager::get_plugins_of_type() and implements lazy loading
directly in the plugininfo classes so that it is loaded only when
\core\plugininfo\base::available_updates() is actually called.
2015-10-08 23:32:02 +02:00
David Mudrák 4ad70aede0 MDL-49661 pluginfo: Do not consider missing version.php as correct
All plugins are required to contain valid version.php since Moodle 2.5.
It's time to get rid of this TODO.
2015-03-26 12:16:20 +01:00
David Monllao 67b853ff6b MDL-45619 repository: Don't allow repository_recent to be uninstalled
We have tests that depends on it and it
is a simple repo that can just be disabled.
2015-03-25 09:39:12 +08:00
David Monllao 1c78065ad6 Merge branch 'MDL_45619_m29v5' of git://github.com/sbourget/moodle 2015-03-25 09:38:24 +08:00
Marina Glancy a1ec48c9e8 MDL-45619 repository: corrections to uninstall, display link 2015-03-04 18:42:16 -05:00
Stephen Bourget f31f5f6659 MDL-45619 Repository: Allow repositories to be uninstalled 2015-03-03 14:44:53 -05:00
Stephen Bourget fad20e3c82 MDL-45621 Portfolio: Allow portfolios to be uninstalled 2015-03-02 20:20:10 -05:00
David Monllao ba872d3c3c MDL-46472 theme: Removing standard as an uninstallable theme 2014-12-12 13:32:55 +08:00
Andrew Nicols 9c7274e25f MDL-47206 core: Allow tool plugins to run tasks
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-09-12 11:47:56 +08:00
Mark Nielsen f149e58990 MDL-46013 theme: Uninstall theme unconditionally unsets configs 2014-06-16 15:10:30 -07:00
Ankit Agarwal 9d59d9e39e MDL-45501 availability: Add uninstall support for conditional plugins 2014-05-15 14:04:52 +08:00
Sam Hemelryk e0eca9b3e5 Merge branch 'MDL-45312' of git://github.com/timhunt/moodle 2014-04-29 10:24:20 +12:00
Tim Hunt 856c2f1404 MDL-45312 qtype_missingtype or qbehaviour_missing cannot be uninstalled.
They are required by the system.
2014-04-28 21:45:46 +01:00