Omeka_Plugin_Loader
Package: Plugin\Loader
- class Omeka_Plugin_Loader
Loads plugins for any given request.
This will iterate through the plugins root directory and load all plugin.php files by require()’ing them.
- property _broker
protected Omeka_Plugin_Broker
Plugin broker object.
- property _iniReader
protected Omeka_Plugin_Ini
Plugin INI reader object.
- property _mvc
protected Omeka_Plugin_Mvc
Plugin MVC object.
- property _basePath
protected string
Plugins directory.
- property _plugins
protected array
An array of all plugins (installed or not) that are currently located in the plugins/ directory.
- __construct(Omeka_Plugin_Broker $broker, Omeka_Plugin_Ini $iniReader, Omeka_Plugin_Mvc $mvc, $pluginsBaseDir)
- Parameters:
$broker (
Omeka_Plugin_Broker
) – Plugin broker.$iniReader (
Omeka_Plugin_Ini
) – plugin.ini reader.$mvc (
Omeka_Plugin_Mvc
) – Plugin MVC object.$pluginsBaseDir (
string
) – Plugins directory.
- loadPlugins($plugins, $force = false)
Load a list of plugins.
- Parameters:
$plugins (
array
) – List of Plugin records to load.$force (
bool
) – If true, throws exceptions for plugins that cannot be loaded for some reason.
- registerPlugin(Plugin $plugin)
Register a plugin so that it can be accessed by other plugins (if necessary) during the load process.
There should only be a single instance of a plugin per directory name. Registering a plugin more than once, i.e. loading a plugin again after the first time failed, will not cause a problem as long as the same instance was registered.
- Parameters:
$plugin (
Plugin
) – Record of plugin to register.
- isRegistered(Plugin $plugin)
Return whether a plugin is registered or not.
- Parameters:
$plugin (
Plugin
)
- Returns:
bool Whether the plugin is registered or not.
- load(Plugin $plugin, $force = false, $pluginsWaitingToLoad = array())
Load a plugin (and make sure the plugin API is available).
To be loaded, the plugin must be installed, active, and not have a newer version. If loaded, the plugin will attempt to first load all plugins, both required and optional, that the plugin uses. However, it will not load a plugin that it uses if that plugin is not installed and activated.
- Parameters:
$plugin (
Plugin
)$force (
bool
) – If true, throws exceptions if a plugin can’t be loaded.$pluginsWaitingToLoad (
array
) – Plugins waiting to be loaded
- _canLoad($plugin, $force)
Determine whether or not a plugin can be loaded. To be loaded, it must meet the following criteria: - Has a plugin.php file. - Is installed. - Is active. - Meets the minimum required version of Omeka (in plugin.ini). - Is not already loaded. - Does not have a new version available.
- Parameters:
$plugin (
Plugin
) – Plugin to test.$force (
bool
) – If true, throw an exception if the plugin can’t be loaded.
- Returns:
bool
- hasPluginBootstrap($pluginDirName)
Check whether a plugin has a bootstrap file.
- Parameters:
$pluginDirName (
string|Plugin
)
- Returns:
bool
- getPluginClassName($pluginDirName)
Return the valid plugin class name.
- Parameters:
$pluginDirName (
string
)
- Returns:
string
- getPluginFilePath($pluginDirName)
Return the path to the plugin.php file.
- Parameters:
$pluginDirName (
string
)
- Returns:
string
- getPluginClassFilePath($pluginDirName)
Return the path to the plugin class file.
- Parameters:
$pluginDirName (
string
)
- Returns:
string
- getPlugins()
Return a list of all the plugins that have been loaded (or attempted to be loaded) thus far.
- Returns:
array List of Plugin objects.
- getPlugin($directoryName)
Get a plugin object by name (plugin subdirectory name).
- Parameters:
$directoryName (
string
) – Plugin name.
- Returns:
Plugin|null