Elgg  Version 1.10
Public Member Functions | List of all members
Elgg\Database\Plugins Class Reference

Public Member Functions

 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...
 
 get ($plugin_id)
 Returns an object with the path $path. More...
 
 exists ($id)
 Returns if a plugin exists in the system. More...
 
 getMaxPriority ()
 Returns the highest priority of the plugins. More...
 
 isActive ($plugin_id, $site_guid=null)
 Returns if a plugin is active for a current site. More...
 
 load ()
 Loads all active plugins in the order specified in the tool admin panel. More...
 
 find ($status= 'active', $site_guid=null)
 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...
 
 namespacePrivateSetting ($type, $name, $id=null)
 Namespaces a string to be used as a private setting name for a plugin. More...
 
 getProvides ($type=null, $name=null)
 Returns an array of all provides from all active plugins. More...
 
 invalidateProvidesCache ()
 Deletes all cached data on plugins being provided. More...
 
 checkProvides ($type, $name, $version=null, $comparison= 'ge')
 Checks if a plugin is currently providing $type and $name, and optionally checking a version. More...
 
 getDependencyStrings ($dep)
 Returns an array of parsed strings for a dependency in the format: array( 'type' => requires, conflicts, or provides. More...
 
 getAllUserSettings ($user_guid=0, $plugin_id=null, $return_obj=false)
 Returns an array of all plugin user settings for a user. More...
 
 setUserSetting ($name, $value, $user_guid=0, $plugin_id=null)
 Set a user specific setting for a plugin. More...
 
 unsetUserSetting ($name, $user_guid=0, $plugin_id=null)
 Unsets a user-specific plugin setting. More...
 
 getUserSetting ($name, $user_guid=0, $plugin_id=null, $default=null)
 Get a user specific setting for a plugin. More...
 
 setSetting ($name, $value, $plugin_id=null)
 Set a setting for a plugin. More...
 
 getSetting ($name, $plugin_id=null, $default=null)
 Get setting for a plugin. More...
 
 unsetSetting ($name, $plugin_id=null)
 Unsets a plugin setting. More...
 
 unsetAllSettings ($plugin_id=null)
 Unsets all plugin settings for a plugin. More...
 
 getEntitiesFromUserSettings (array $options=array())
 Returns entities based upon plugin user settings. More...
 

Detailed Description

Definition at line 24 of file Plugins.php.

Member Function Documentation

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

Cache a reference to this plugin by its ID.

Parameters
\ElggPlugin$pluginprivate

Definition at line 163 of file Plugins.php.

Elgg\Database\Plugins::checkProvides (   $type,
  $name,
  $version = null,
  $comparison = 'ge' 
)

Checks if a plugin is currently providing $type and $name, and optionally checking a version.

Parameters
string$typeThe type of the provide
string$nameThe name of the provide
string$versionA version to check against
string$comparisonThe comparison operator to use in version_compare()
Returns
array An array in the form array( 'status' => bool Does the provide exist?, 'value' => string The version provided ) private

Definition at line 589 of file Plugins.php.

Elgg\Database\Plugins::exists (   $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 213 of file Plugins.php.

Elgg\Database\Plugins::find (   $status = 'active',
  $site_guid = null 
)

Returns an ordered list of plugins.

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

Definition at line 339 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 private

Definition at line 65 of file Plugins.php.

Elgg\Database\Plugins::get (   $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 175 of file Plugins.php.

Elgg\Database\Plugins::getAllUserSettings (   $user_guid = 0,
  $plugin_id = null,
  $return_obj = false 
)

Returns an array of all plugin user settings for a user.

Parameters
int$user_guidThe user GUID or 0 for the currently logged in user.
string$plugin_idThe plugin ID (Required)
bool$return_objReturn settings as an object? This can be used to in reusable views where the settings are passed as $vars['entity'].
Returns
array
See also
::getAllUserSettings()

Definition at line 748 of file Plugins.php.

Elgg\Database\Plugins::getDependencyStrings (   $dep)

Returns an array of parsed strings for a dependency in the format: array( 'type' => requires, conflicts, or provides.

'name' => The name of the requirement / conflict 'value' => A string representing the expected value: <1, >=3, !=enabled 'local_value' => The current value, ("Not installed") 'comment' => Free form text to help resovle the problem ("Enable / Search for plugin <link>") )

Parameters
array$depAn dependency array
Returns
array private

Definition at line 624 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) private

Definition at line 34 of file Plugins.php.

Elgg\Database\Plugins::getEntitiesFromUserSettings ( array  $options = array())

Returns entities based upon plugin user settings.

Takes all the options for elgg_get_entities_from_private_settings() in addition to the ones below.

Parameters
array$optionsArray in the format:
plugin_id => STR The plugin id. Required.

plugin_user_setting_names => null|ARR private setting names

plugin_user_setting_values => null|ARR metadata values

plugin_user_setting_name_value_pairs => null|ARR (
                                    name => 'name',
                                    value => 'value',
                                    'operand' => '=',
                                   )
                             Currently if multiple values are sent via
                          an array (value => array('value1', 'value2')
                          the pair's operand will be forced to "IN".

plugin_user_setting_name_value_pairs_operator => null|STR The operator to use for combining
                                   (name = value) OPERATOR (name = value); default AND
Returns
mixed int If count, int. If not count, array. false on errors.

Definition at line 976 of file Plugins.php.

Elgg\Database\Plugins::getMaxPriority ( )

Returns the highest priority of the plugins.

Returns
int private

Definition at line 225 of file Plugins.php.

Elgg\Database\Plugins::getProvides (   $type = null,
  $name = null 
)

Returns an array of all provides from all active plugins.

Array in the form array( 'provide_type' => array( 'provided_name' => array( 'version' => '1.8', 'provided_by' => 'provider_plugin_id' ) ) )

Parameters
string$typeThe type of provides to return
string$nameA specific provided name to return. Requires $provide_type.
Returns
array private

Definition at line 519 of file Plugins.php.

Elgg\Database\Plugins::getSetting (   $name,
  $plugin_id = null,
  $default = null 
)

Get setting for a plugin.

Parameters
string$nameThe name of the setting.
string$plugin_idThe plugin ID (Required)
mixed$defaultThe default value to return if none is set
Returns
mixed
See also
::getSetting()

Definition at line 887 of file Plugins.php.

Elgg\Database\Plugins::getUserSetting (   $name,
  $user_guid = 0,
  $plugin_id = null,
  $default = null 
)

Get a user specific setting for a plugin.

Parameters
string$nameThe name of the setting.
int$user_guidThe user GUID or 0 for the currently logged in user.
string$plugin_idThe plugin ID (Required)
mixed$defaultThe default value to return if none is set
Returns
mixed
See also
::getUserSetting()

Definition at line 837 of file Plugins.php.

Elgg\Database\Plugins::invalidateProvidesCache ( )

Deletes all cached data on plugins being provided.

Returns
boolean private

Definition at line 568 of file Plugins.php.

Elgg\Database\Plugins::isActive (   $plugin_id,
  $site_guid = null 
)

Returns if a plugin is active for a current site.

Parameters
string$plugin_idThe plugin ID
int$site_guidThe site guid
Returns
bool

Definition at line 254 of file Plugins.php.

Elgg\Database\Plugins::load ( )

Loads all active plugins in the order specified in the tool admin panel.

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 private

Definition at line 284 of file Plugins.php.

Elgg\Database\Plugins::namespacePrivateSetting (   $type,
  $name,
  $id = null 
)

Namespaces a string to be used as a private setting name for a plugin.

For user_settings, two namespaces are added: a user setting namespace and the plugin id.

For internal (plugin priority), there is a single internal namespace added.

Parameters
string$typeThe type of setting: user_setting or internal.
string$nameThe name to namespace.
string$idThe plugin's ID to namespace with. Required for user_setting.
Returns
string private

Definition at line 477 of file Plugins.php.

Elgg\Database\Plugins::reindexPriorities ( )

Reindexes all plugin priorities starting at 1.

Returns
bool private

Definition at line 459 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 private

Definition at line 402 of file Plugins.php.

Elgg\Database\Plugins::setSetting (   $name,
  $value,
  $plugin_id = null 
)

Set a setting for a plugin.

Parameters
string$nameThe name of the setting - note, can't be "title".
mixed$valueThe value.
string$plugin_idThe plugin ID (Required)
Returns
bool
See also
::setSetting()

Definition at line 862 of file Plugins.php.

Elgg\Database\Plugins::setUserSetting (   $name,
  $value,
  $user_guid = 0,
  $plugin_id = null 
)

Set a user specific setting for a plugin.

Parameters
string$nameThe name. Note: cannot be "title".
mixed$valueThe value.
int$user_guidThe user GUID or 0 for the currently logged in user.
string$plugin_idThe plugin ID (Required)
Returns
bool
See also
::setUserSetting()

Definition at line 786 of file Plugins.php.

Elgg\Database\Plugins::unsetAllSettings (   $plugin_id = null)

Unsets all plugin settings for a plugin.

Parameters
string$plugin_idThe plugin ID (Required)
Returns
bool
See also
::unsetAllSettings()

Definition at line 934 of file Plugins.php.

Elgg\Database\Plugins::unsetSetting (   $name,
  $plugin_id = null 
)

Unsets a plugin setting.

Parameters
string$nameThe name of the setting.
string$plugin_idThe plugin ID (Required)
Returns
bool
See also
::unsetSetting()

Definition at line 911 of file Plugins.php.

Elgg\Database\Plugins::unsetUserSetting (   $name,
  $user_guid = 0,
  $plugin_id = null 
)

Unsets a user-specific plugin setting.

Parameters
string$nameName of the setting
int$user_guidThe user GUID or 0 for the currently logged in user.
string$plugin_idThe plugin ID (Required)
Returns
bool
See also
::unsetUserSetting()

Definition at line 811 of file Plugins.php.


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