Elgg  Version 4.3
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Elgg\Database\Plugins Class Reference

Persistent, installation-wide key-value storage. More...

Public Member Functions

 __construct (\ElggCache $cache, Database $db,\ElggSession $session, EventsService $events, Translator $translator, ViewsService $views, PrivateSettingsCache $private_settings_cache, Config $config, SystemMessagesService $system_messages, Request $request)
 Constructor. More...
 
 getPath ()
 Get the plugin path for this installation, ending with slash. More...
 
 setBootPlugins ($plugins, $order_plugins=true)
 Set the list of active plugins according to the boot data cache. More...
 
 clear ()
 Clear plugin caches. More...
 
 invalidate ()
 Invalidate plugin cache. More...
 
 getDirsInDir ($dir=null)
 Returns a list of plugin directory names from a base directory. More...
 
 generateEntities ()
 Discovers plugins in the plugins_path setting and creates entities for them if they don't exist. More...
 
 cache (\ElggPlugin $plugin)
 Cache a reference to this plugin by its ID. More...
 
 invalidateCache ($plugin_id)
 Remove plugin from cache. More...
 
 get (string $plugin_id)
 Returns an object with the path $path. More...
 
 exists (string $id)
 Returns if a plugin exists in the system. More...
 
 getMaxPriority ()
 Returns the highest priority of the plugins. More...
 
 isActive (string $plugin_id)
 Returns if a plugin is active for a current site. More...
 
 build ()
 Registers lifecycle hooks for all active plugins sorted by their priority. More...
 
 register ()
 Autoload plugin classes and files Register views, translations and custom entity types. More...
 
 boot ()
 Boot the plugins. More...
 
 init ()
 Initialize plugins. More...
 
 ready ()
 Run plugin ready handlers. More...
 
 upgrade ()
 Run plugin upgrade handlers. More...
 
 shutdown ()
 Run plugin shutdown handlers. More...
 
 find (string $status= 'active')
 Returns an ordered list of plugins. More...
 
 setPriorities (array $order)
 Reorder plugins to an order specified by the array. More...
 
 reindexPriorities ()
 Reindexes all plugin priorities starting at 1. More...
 
 setPriority (\ElggPlugin $plugin, $priority)
 Set plugin priority and adjust the priorities of other plugins. More...
 

Public Attributes

const BUNDLED_PLUGINS
 

Protected Member Functions

 disable (\ElggPlugin $plugin,\Exception $previous)
 Disable a plugin upon exception. More...
 
 orderPluginsByPriority ($plugins=[], $volatile_data_name=null)
 Sorts plugins by priority. More...
 

Protected Attributes

 $boot_plugins
 
 $db
 
 $session
 
 $events
 
 $translator
 
 $views
 
 $private_settings_cache
 
 $config
 
 $system_messages
 
 $context
 

Detailed Description

Persistent, installation-wide key-value storage.

Definition at line 28 of file Plugins.php.

Constructor & Destructor Documentation

Elgg\Database\Plugins::__construct ( \ElggCache  $cache,
Database  $db,
\ElggSession  $session,
EventsService  $events,
Translator  $translator,
ViewsService  $views,
PrivateSettingsCache  $private_settings_cache,
Config  $config,
SystemMessagesService  $system_messages,
Request  $request 
)

Constructor.

Parameters
\ElggCache$cacheCache for referencing plugins by ID
Database$dbDatabase
\ElggSession$sessionSession
EventsService$eventsEvents
Translator$translatorTranslator
ViewsService$viewsViews service
PrivateSettingsCache$private_settings_cacheSettings cache
Config$configConfig
SystemMessagesService$system_messagesSystem messages
Request$requestContext

Definition at line 133 of file Plugins.php.

Member Function Documentation

Elgg\Database\Plugins::boot ( )

Boot the plugins.

plugins_boot:before system

Returns
void

Definition at line 572 of file Plugins.php.

Elgg\Database\Plugins::build ( )

Registers lifecycle hooks for all active plugins sorted by their priority.

Note
This is called on every page load. If a plugin is active and problematic, it will be disabled and a visible error emitted. This does not check the deps system because that was too slow.
Returns
bool

Definition at line 516 of file Plugins.php.

Elgg\Database\Plugins::cache ( \ElggPlugin  $plugin)

Cache a reference to this plugin by its ID.

Parameters
\ElggPlugin$pluginthe plugin to cache
Returns
void

Definition at line 390 of file Plugins.php.

Elgg\Database\Plugins::clear ( )

Clear plugin caches.

Returns
void

Definition at line 213 of file Plugins.php.

Elgg\Database\Plugins::disable ( \ElggPlugin  $plugin,
\Exception  $previous 
)
protected

Disable a plugin upon exception.

Parameters
\ElggPlugin$pluginPlugin entity to disable
\Exception$previousException thrown
Returns
void

Definition at line 699 of file Plugins.php.

Elgg\Database\Plugins::exists ( string  $id)

Returns if a plugin exists in the system.

Warning
This checks only plugins that are registered in the system! If the plugin cache is outdated, be sure to regenerate it with _elgg_generate_plugin_objects() first.
Parameters
string$idThe plugin ID.
Returns
bool

Definition at line 462 of file Plugins.php.

Elgg\Database\Plugins::find ( string  $status = 'active')

Returns an ordered list of plugins.

Parameters
string$statusThe status of the plugins. active, inactive, or all.
Returns
[]

Definition at line 736 of file Plugins.php.

Elgg\Database\Plugins::generateEntities ( )

Discovers plugins in the plugins_path setting and creates entities for them if they don't exist.

If there are plugins with entities but not actual files, will disable the entities and mark as inactive. The object holds config data, so don't delete.

Returns
bool

Definition at line 269 of file Plugins.php.

Elgg\Database\Plugins::get ( string  $plugin_id)

Returns an object with the path $path.

Parameters
string$plugin_idThe id (dir name) of the plugin. NOT the guid.
Returns
|null

Definition at line 421 of file Plugins.php.

Elgg\Database\Plugins::getDirsInDir (   $dir = null)

Returns a list of plugin directory names from a base directory.

Parameters
string$dirA dir to scan for plugins. Defaults to config's plugins_path. Must have a trailing slash.
Returns
array Array of directory names (not full paths)

Definition at line 234 of file Plugins.php.

Elgg\Database\Plugins::getMaxPriority ( )

Returns the highest priority of the plugins.

Returns
int

Definition at line 471 of file Plugins.php.

Elgg\Database\Plugins::getPath ( )

Get the plugin path for this installation, ending with slash.

Returns
string

Definition at line 163 of file Plugins.php.

Elgg\Database\Plugins::init ( )

Initialize plugins.

init system

Returns
void

Definition at line 597 of file Plugins.php.

Elgg\Database\Plugins::invalidate ( )

Invalidate plugin cache.

Returns
void

Definition at line 222 of file Plugins.php.

Elgg\Database\Plugins::invalidateCache (   $plugin_id)

Remove plugin from cache.

Parameters
string$plugin_idPlugin ID
Returns
void

Definition at line 404 of file Plugins.php.

Elgg\Database\Plugins::isActive ( string  $plugin_id)

Returns if a plugin is active for a current site.

Parameters
string$plugin_idThe plugin ID
Returns
bool

Definition at line 494 of file Plugins.php.

Elgg\Database\Plugins::orderPluginsByPriority (   $plugins = [],
  $volatile_data_name = null 
)
protected

Sorts plugins by priority.

Parameters

Definition at line 812 of file Plugins.php.

Elgg\Database\Plugins::ready ( )

Run plugin ready handlers.

ready system

Returns
void

Definition at line 622 of file Plugins.php.

Elgg\Database\Plugins::register ( )

Autoload plugin classes and files Register views, translations and custom entity types.

plugins_load system

Returns
void

Definition at line 546 of file Plugins.php.

Elgg\Database\Plugins::reindexPriorities ( )

Reindexes all plugin priorities starting at 1.

Returns
bool

Definition at line 907 of file Plugins.php.

Elgg\Database\Plugins::setBootPlugins (   $plugins,
  $order_plugins = true 
)

Set the list of active plugins according to the boot data cache.

Parameters

Definition at line 179 of file Plugins.php.

Elgg\Database\Plugins::setPriorities ( array  $order)

Reorder plugins to an order specified by the array.

Plugins not included in this array will be appended to the end.

Note
This doesn't use the ->setPriority() method because all plugins are being changed and we don't want it to automatically reorder plugins.
Parameters
array$orderAn array of plugin ids in the order to set them
Returns
bool

Definition at line 847 of file Plugins.php.

Elgg\Database\Plugins::setPriority ( \ElggPlugin  $plugin,
  $priority 
)

Set plugin priority and adjust the priorities of other plugins.

Parameters
\ElggPlugin$pluginPlugin
int$priorityNew priority
Returns
int|false

Definition at line 919 of file Plugins.php.

Elgg\Database\Plugins::shutdown ( )

Run plugin shutdown handlers.

shutdown system

Returns
void

Definition at line 672 of file Plugins.php.

Elgg\Database\Plugins::upgrade ( )

Run plugin upgrade handlers.

upgrade system

Returns
void

Definition at line 647 of file Plugins.php.

Member Data Documentation

Elgg\Database\Plugins::$boot_plugins
protected

Definition at line 71 of file Plugins.php.

Elgg\Database\Plugins::$config
protected

Definition at line 106 of file Plugins.php.

Elgg\Database\Plugins::$context
protected

Definition at line 116 of file Plugins.php.

Elgg\Database\Plugins::$db
protected

Definition at line 76 of file Plugins.php.

Elgg\Database\Plugins::$events
protected

Definition at line 86 of file Plugins.php.

Elgg\Database\Plugins::$private_settings_cache
protected

Definition at line 101 of file Plugins.php.

Elgg\Database\Plugins::$session
protected

Definition at line 81 of file Plugins.php.

Elgg\Database\Plugins::$system_messages
protected

Definition at line 111 of file Plugins.php.

Elgg\Database\Plugins::$translator
protected

Definition at line 91 of file Plugins.php.

Elgg\Database\Plugins::$views
protected

Definition at line 96 of file Plugins.php.

const Elgg\Database\Plugins::BUNDLED_PLUGINS

Definition at line 34 of file Plugins.php.


The documentation for this class was generated from the following file: