Base class providing access to the information about a plugin.
More...
Inherited by core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\availability, core\plugininfo\block, core\plugininfo\cachelock, core\plugininfo\cachestore, core\plugininfo\calendartype, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\coursereport, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\general, core\plugininfo\gradeexport, core\plugininfo\gradeimport, core\plugininfo\gradereport, core\plugininfo\gradingform, core\plugininfo\h5plib, core\plugininfo\local, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mlbackend, core\plugininfo\mnetservice, core\plugininfo\mod, core\plugininfo\orphaned, core\plugininfo\paygw, core\plugininfo\plagiarism, core\plugininfo\portfolio, core\plugininfo\profilefield, core\plugininfo\qbank, core\plugininfo\qbehaviour, core\plugininfo\qformat, core\plugininfo\qtype, core\plugininfo\report, core\plugininfo\repository, core\plugininfo\search, core\plugininfo\theme, core\plugininfo\tool, core\plugininfo\webservice, editor_atto\plugininfo\atto, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, mod_bigbluebuttonbn\plugininfo\bbbext, mod_book\plugininfo\booktool, mod_data\plugininfo\datafield, mod_data\plugininfo\datapreset, mod_forum\plugininfo\forumreport, mod_lti\plugininfo\ltiservice, mod_lti\plugininfo\ltisource, mod_quiz\plugininfo\quiz, mod_quiz\plugininfo\quizaccess, mod_scorm\plugininfo\scormreport, mod_workshop\plugininfo\workshopallocation, mod_workshop\plugininfo\workshopeval, mod_workshop\plugininfo\workshopform, tool_log\plugininfo\logstore, and tool_mfa\plugininfo\factor.
|
static | change_plugin_order (string $pluginname, int $direction) |
| Change the order of the plugin relative to other plugins in the plugintype.
|
|
static | enable_plugin (string $pluginname, int $enabled) |
| Enable or disable a plugin.
|
|
static | get_enabled_plugin (string $pluginname) |
| Returns current status for a pluginname.
|
|
static | get_enabled_plugins () |
| Finds all enabled plugins, the result may include missing plugins.
|
|
static | get_manage_url () |
| Return URL used for management of plugins of this type.
|
|
static | get_plugins ($type, $typerootdir, $typeclass, $pluginman) |
| Gathers and returns the information about all plugins of the given type, either on disk or previously installed.
|
|
static | get_sorted_plugins (bool $enabledonly=false) |
| Finds all enabled plugins, the result may include missing plugins.
|
|
static | plugintype_supports_disabling () |
| Whether this plugintype supports its plugins being disabled.
|
|
static | plugintype_supports_ordering () |
| Whether this plugintype supports ordering of plugins using native functionality.
|
|
|
string | $component = '' |
| Name of the plugin.
|
|
array | $dependencies |
| other plugins that this one depends on, lazy-loaded by get_other_required_plugins()
|
|
string | $displayname |
| the localized plugin name
|
|
int | $incompatible |
| hold $plugin->incompatible in version.php
|
|
int | $instances |
| number of instances of the plugin - not supported yet
|
|
string | $name |
| the plugin name, eg.
|
|
int | $pluginincompatible |
| first incompatible branch of Moodle core
|
|
core_plugin_manager | $pluginman |
| the plugin manager this plugin info is part of
|
|
array | $pluginsupported |
| explicitly supported branches of Moodle core
|
|
mixed | $release |
| human-readable release information
|
|
string | $rootdir |
| fullpath to the location of this plugin
|
|
int | $sortorder |
| order of the plugin among other plugins of the same type - not supported yet
|
|
string | $source |
| the plugin source, one of core_plugin_manager\PLUGIN_SOURCE_xxx constants
|
|
array | $supported |
| hold $plugin->supported in version.php
|
|
string | $type |
| the plugintype name, eg.
|
|
string | $typerootdir |
| full path to the location of all the plugins of this type
|
|
int string | $versiondb |
| the version of the installed plugin
|
|
int string | $versiondisk |
| the version of the plugin's source code
|
|
int float string | $versionrequires |
| required version of Moodle core
|
|
int const | MOVE_DOWN = 1 |
| Move a plugin down in the plugin order.
|
|
int const | MOVE_UP = -1 |
| Move a plugin up in the plugin order.
|
|
|
static | make_plugin_instance ($type, $typerootdir, $name, $namerootdir, $typeclass, $pluginman) |
| Makes a new instance of the plugininfo class.
|
|
Base class providing access to the information about a plugin.
◆ __get()
core\plugininfo\base::__get |
( |
| $name | ) |
|
◆ available_updates()
core\plugininfo\base::available_updates |
( |
| ) |
|
If there are updates for this plugin available, returns them.
Returns array of core::update::info objects, if some update is available. Returns null if there is no update available or if the update availability is unknown.
Populates the property $availableupdates on first call (lazy loading).
- Return values
-
◆ change_plugin_order()
static core\plugininfo\base::change_plugin_order |
( |
string | $pluginname, |
|
|
int | $direction ) |
|
static |
Change the order of the plugin relative to other plugins in the plugintype.
When possible, the change will be stored into the config_log table, to let admins check when/who has modified it.
- Parameters
-
string | $pluginname | The plugin name to enable/disable. |
int | $direction | The direction to move the plugin. Negative numbers mean up, Positive mean down. |
- Return values
-
bool | Whether $pluginname has been updated or not. |
Reimplemented in core\plugininfo\editor, and core\plugininfo\media.
◆ enable_plugin()
static core\plugininfo\base::enable_plugin |
( |
string | $pluginname, |
|
|
int | $enabled ) |
|
static |
Enable or disable a plugin.
When possible, the change will be stored into the config_log table, to let admins check when/who has modified it.
- Parameters
-
string | $pluginname | The plugin name to enable/disable. |
int | $enabled | Whether the pluginname should be enabled (1) or not (0). This is an integer because some plugins, such as filters or repositories, might support more statuses than just enabled/disabled. |
- Return values
-
bool | Whether $pluginname has been updated or not. |
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\availability, core\plugininfo\block, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mod, core\plugininfo\paygw, core\plugininfo\portfolio, core\plugininfo\qbank, core\plugininfo\qbehaviour, core\plugininfo\qtype, core\plugininfo\repository, core\plugininfo\webservice, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, mod_bigbluebuttonbn\plugininfo\bbbext, and tool_log\plugininfo\logstore.
◆ full_path()
core\plugininfo\base::full_path |
( |
| $relativepath | ) |
|
Return the full path name of a file within the plugin.
No check is made to see if the file exists.
- Parameters
-
string | $relativepath | e.g. 'version.php'. |
- Return values
-
string | e.g. $CFG->dirroot . '/mod/quiz/version.php'. |
◆ get_default_uninstall_url()
core\plugininfo\base::get_default_uninstall_url |
( |
| $return = 'overview' | ) |
|
|
final |
Returns URL to a script that handles common plugin uninstall procedure.
This URL is intended for all plugin uninstallations.
- Parameters
-
string | $return | either 'overview' or 'manage' |
- Return values
-
◆ get_dir()
core\plugininfo\base::get_dir |
( |
| ) |
|
Returns relative directory of the plugin with heading '/'.
- Return values
-
◆ get_enabled_plugin()
static core\plugininfo\base::get_enabled_plugin |
( |
string | $pluginname | ) |
|
|
static |
Returns current status for a pluginname.
- Parameters
-
string | $pluginname | The plugin name to check. |
- Return values
-
int | The current status (enabled, disabled...) of $pluginname. |
Reimplemented in core\plugininfo\filter, and core\plugininfo\repository.
◆ get_enabled_plugins()
static core\plugininfo\base::get_enabled_plugins |
( |
| ) |
|
|
static |
Finds all enabled plugins, the result may include missing plugins.
- Return values
-
array|null | of enabled plugins $pluginname=>$pluginname, null means unknown |
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\availability, core\plugininfo\block, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mod, core\plugininfo\orphaned, core\plugininfo\paygw, core\plugininfo\portfolio, core\plugininfo\qbank, core\plugininfo\qbehaviour, core\plugininfo\qtype, core\plugininfo\repository, core\plugininfo\webservice, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, and mod_bigbluebuttonbn\plugininfo\bbbext.
◆ get_manage_url()
static core\plugininfo\base::get_manage_url |
( |
| ) |
|
|
static |
Return URL used for management of plugins of this type.
- Return values
-
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\block, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\h5plib, core\plugininfo\local, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mod, core\plugininfo\paygw, core\plugininfo\plagiarism, core\plugininfo\portfolio, core\plugininfo\profilefield, core\plugininfo\qbank, core\plugininfo\qbehaviour, core\plugininfo\qtype, core\plugininfo\report, core\plugininfo\repository, core\plugininfo\theme, core\plugininfo\tool, editor_atto\plugininfo\atto, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, tool_log\plugininfo\logstore, and tool_mfa\plugininfo\factor.
◆ get_other_required_plugins()
core\plugininfo\base::get_other_required_plugins |
( |
| ) |
|
Get the list of other plugins that this plugin requires to be installed.
- Return values
-
array | with keys the frankenstyle plugin name, and values either a version string (like '2011101700') or the constant ANY_VERSION. |
◆ get_parent_plugin()
core\plugininfo\base::get_parent_plugin |
( |
| ) |
|
If I am a subplugin, return the name of my parent plugin.
- Return values
-
string|bool | false if not a subplugin, name of the parent otherwise |
◆ get_plugins()
static core\plugininfo\base::get_plugins |
( |
| $type, |
|
|
| $typerootdir, |
|
|
| $typeclass, |
|
|
| $pluginman ) |
|
static |
Gathers and returns the information about all plugins of the given type, either on disk or previously installed.
This is supposed to be used exclusively by the plugin manager when it is populating its tree of plugins.
- Parameters
-
string | $type | the name of the plugintype, eg. mod, auth or workshopform |
string | $typerootdir | full path to the location of the plugin dir |
string | $typeclass | the name of the actually called class |
core_plugin_manager | $pluginman | the plugin manager calling this method |
- Return values
-
array | of plugintype classes, indexed by the plugin name |
Reimplemented in core\plugininfo\contenttype, core\plugininfo\dataformat, core\plugininfo\format, core\plugininfo\orphaned, and core\plugininfo\qbank.
◆ get_return_url_after_uninstall()
core\plugininfo\base::get_return_url_after_uninstall |
( |
| $return | ) |
|
Where should we return after plugin of this type is uninstalled?
- Parameters
-
- Return values
-
◆ get_settings_section_name()
core\plugininfo\base::get_settings_section_name |
( |
| ) |
|
Returns the node name used in admin settings menu for this plugin settings (if applicable)
- Return values
-
null|string | node name or null if plugin does not create settings node (default) |
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\availability, core\plugininfo\block, core\plugininfo\calendartype, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mlbackend, core\plugininfo\mod, core\plugininfo\paygw, core\plugininfo\plagiarism, core\plugininfo\qbank, core\plugininfo\qtype, core\plugininfo\repository, core\plugininfo\search, core\plugininfo\webservice, editor_atto\plugininfo\atto, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, mod_bigbluebuttonbn\plugininfo\bbbext, mod_lti\plugininfo\ltisource, tool_log\plugininfo\logstore, and tool_mfa\plugininfo\factor.
◆ get_settings_url()
core\plugininfo\base::get_settings_url |
( |
| ) |
|
Returns the URL of the plugin settings screen.
Null value means that the plugin either does not have the settings screen or its location is not available via this library.
- Return values
-
◆ get_sorted_plugins()
static core\plugininfo\base::get_sorted_plugins |
( |
bool | $enabledonly = false | ) |
|
|
static |
Finds all enabled plugins, the result may include missing plugins.
- Parameters
-
bool | $enabledonly | Show all plugins, or only those which are enabled |
- Return values
-
array|null | of sorted plugins $pluginname => $pluginname, null means unknown |
Reimplemented in core\plugininfo\editor, and core\plugininfo\media.
◆ get_status()
core\plugininfo\base::get_status |
( |
| ) |
|
Returns the status of the plugin.
- Return values
-
string | one of core_plugin_manager\PLUGIN_STATUS_xxx constants |
◆ get_uninstall_extra_warning()
core\plugininfo\base::get_uninstall_extra_warning |
( |
| ) |
|
◆ init_display_name()
core\plugininfo\base::init_display_name |
( |
| ) |
|
◆ init_is_standard()
core\plugininfo\base::init_is_standard |
( |
| ) |
|
Sets $source property to one of core_plugin_manager\PLUGIN_SOURCE_xxx constants.
If the property's value is null after calling this method, then the type of the plugin has not been recognized and you should throw an exception.
◆ is_core_compatible_satisfied()
core\plugininfo\base::is_core_compatible_satisfied |
( |
int | $branch | ) |
|
Returns true if the the given moodle branch is not stated incompatible with the plugin.
- Parameters
-
int | $branch | the moodle branch number |
- Return values
-
bool | true if not incompatible with moodle branch |
◆ is_core_dependency_satisfied()
core\plugininfo\base::is_core_dependency_satisfied |
( |
| $moodleversion | ) |
|
Returns true if the the given Moodle version is enough to run this plugin.
- Parameters
-
string | int | double | $moodleversion | |
- Return values
-
◆ is_enabled()
core\plugininfo\base::is_enabled |
( |
| ) |
|
◆ is_installed_and_upgraded()
core\plugininfo\base::is_installed_and_upgraded |
( |
| ) |
|
Is this plugin already installed and updated?
- Return values
-
bool | true if plugin installed and upgraded. |
◆ is_standard()
core\plugininfo\base::is_standard |
( |
| ) |
|
Returns true if the plugin is shipped with the official distribution of the current Moodle version, false otherwise.
- Return values
-
◆ is_subplugin()
core\plugininfo\base::is_subplugin |
( |
| ) |
|
Is this is a subplugin?
- Return values
-
◆ is_uninstall_allowed()
core\plugininfo\base::is_uninstall_allowed |
( |
| ) |
|
Should there be a way to uninstall the plugin via the administration UI.
By default uninstallation is not allowed, plugin developers must enable it explicitly!
- Return values
-
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\availability, core\plugininfo\block, core\plugininfo\cachelock, core\plugininfo\cachestore, core\plugininfo\calendartype, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\coursereport, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\general, core\plugininfo\gradeexport, core\plugininfo\gradeimport, core\plugininfo\gradereport, core\plugininfo\gradingform, core\plugininfo\h5plib, core\plugininfo\local, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mlbackend, core\plugininfo\mod, core\plugininfo\orphaned, core\plugininfo\paygw, core\plugininfo\plagiarism, core\plugininfo\portfolio, core\plugininfo\profilefield, core\plugininfo\qbank, core\plugininfo\qbehaviour, core\plugininfo\qformat, core\plugininfo\qtype, core\plugininfo\report, core\plugininfo\repository, core\plugininfo\search, core\plugininfo\theme, core\plugininfo\tool, core\plugininfo\webservice, editor_atto\plugininfo\atto, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, mod_bigbluebuttonbn\plugininfo\bbbext, mod_book\plugininfo\booktool, mod_data\plugininfo\datafield, mod_data\plugininfo\datapreset, mod_forum\plugininfo\forumreport, mod_lti\plugininfo\ltiservice, mod_lti\plugininfo\ltisource, mod_quiz\plugininfo\quiz, mod_quiz\plugininfo\quizaccess, mod_scorm\plugininfo\scormreport, mod_workshop\plugininfo\workshopallocation, mod_workshop\plugininfo\workshopeval, mod_workshop\plugininfo\workshopform, tool_log\plugininfo\logstore, and tool_mfa\plugininfo\factor.
◆ load_db_version()
core\plugininfo\base::load_db_version |
( |
| ) |
|
Sets $versiondb property to a numerical value representing the currently installed version of the plugin.
If the value is null after calling this method, either the plugin does not use versioning (typically does not have any database data) or has not been installed yet.
◆ load_disk_version()
core\plugininfo\base::load_disk_version |
( |
| ) |
|
Sets $versiondisk property to a numerical value representing the version of the plugin's source code.
If the value is null after calling this method, either the plugin does not use versioning (typically does not have any database data) or is missing from disk.
◆ load_settings()
core\plugininfo\base::load_settings |
( |
\part_of_admin_tree | $adminroot, |
|
|
| $parentnodename, |
|
|
| $hassiteconfig ) |
Loads plugin settings to the settings tree.
This function usually includes settings.php file in plugins folder. Alternatively it can create a link to some settings page (instance of admin_externalpage)
- Parameters
-
part_of_admin_tree | $adminroot | |
string | $parentnodename | |
bool | $hassiteconfig | whether the current user has moodle/site:config capability |
Reimplemented in core\plugininfo\availability, core\plugininfo\communication, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\fileconverter, core\plugininfo\h5plib, core\plugininfo\local, core\plugininfo\media, core\plugininfo\mlbackend, core\plugininfo\paygw, core\plugininfo\qbank, core\plugininfo\tool, editor_atto\plugininfo\atto, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, mod_bigbluebuttonbn\plugininfo\bbbext, mod_lti\plugininfo\ltisource, and tool_mfa\plugininfo\factor.
◆ make_plugin_instance()
static core\plugininfo\base::make_plugin_instance |
( |
| $type, |
|
|
| $typerootdir, |
|
|
| $name, |
|
|
| $namerootdir, |
|
|
| $typeclass, |
|
|
| $pluginman ) |
|
staticprotected |
Makes a new instance of the plugininfo class.
- Parameters
-
string | $type | the plugin type, eg. 'mod' |
string | $typerootdir | full path to the location of all the plugins of this type |
string | $name | the plugin name, eg. 'workshop' |
string | $namerootdir | full path to the location of the plugin |
string | $typeclass | the name of class that holds the info about the plugin |
core_plugin_manager | $pluginman | the plugin manager of the new instance |
- Return values
-
base | the instance of $typeclass |
◆ plugintype_supports_disabling()
static core\plugininfo\base::plugintype_supports_disabling |
( |
| ) |
|
|
static |
Whether this plugintype supports its plugins being disabled.
- Return values
-
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\availability, core\plugininfo\block, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\dataformat, core\plugininfo\editor, core\plugininfo\enrol, core\plugininfo\fileconverter, core\plugininfo\filter, core\plugininfo\media, core\plugininfo\message, core\plugininfo\mod, core\plugininfo\paygw, core\plugininfo\portfolio, core\plugininfo\qbank, core\plugininfo\qbehaviour, core\plugininfo\qtype, core\plugininfo\repository, core\plugininfo\webservice, editor_tiny\plugininfo\tiny, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, and tool_log\plugininfo\logstore.
◆ plugintype_supports_ordering()
static core\plugininfo\base::plugintype_supports_ordering |
( |
| ) |
|
|
static |
Whether this plugintype supports ordering of plugins using native functionality.
Please note that plugintypes which pre-date this native functionality may still support ordering but will not use the built-in functionality.
- Return values
-
Reimplemented in core\plugininfo\editor, and core\plugininfo\media.
◆ uninstall()
◆ uninstall_cleanup()
core\plugininfo\base::uninstall_cleanup |
( |
| ) |
|
Pre-uninstall hook.
This is intended for disabling of plugin, some DB table purging, etc.
NOTE: to be called from uninstall_plugin() only.
Reimplemented in core\plugininfo\antivirus, core\plugininfo\auth, core\plugininfo\block, core\plugininfo\contenttype, core\plugininfo\customfield, core\plugininfo\enrol, core\plugininfo\filter, core\plugininfo\format, core\plugininfo\gradingform, core\plugininfo\message, core\plugininfo\mod, core\plugininfo\portfolio, core\plugininfo\qbehaviour, core\plugininfo\qtype, core\plugininfo\repository, core\plugininfo\theme, mod_assign\plugininfo\assignfeedback, mod_assign\plugininfo\assignsubmission, mod_quiz\plugininfo\quiz, tool_log\plugininfo\logstore, and tool_mfa\plugininfo\factor.
◆ $name
string core\plugininfo\base::$name |
the plugin name, eg.
assignment, ldap
◆ $type
string core\plugininfo\base::$type |
the plugintype name, eg.
mod, auth or workshopform
The documentation for this class was generated from the following file: