16     private $errorMsg = 
'';
 
   24         parent::initializeAttributes();
 
   26         $this->attributes[
'subtype'] = 
"plugin";
 
   46             throw new \PluginException(
"ElggPlugin cannot be null instantiated. You must pass a full path.");
 
   49         if (is_object($path)) {
 
   51             parent::__construct($path);
 
   53         } 
else if (is_numeric($path)) {
 
   57             parent::__construct($path);
 
   65             if (strpos($path, $mod_dir) !== 0) {
 
   67                 $path = $mod_dir . $path;
 
   73             $path_parts = explode(
'/', rtrim($path, 
'/'));
 
   80             if ($existing_plugin) {
 
   81                 $this->
load($existing_plugin->guid);
 
   97         $this->attributes[
'site_guid'] = 
$site->guid;
 
   98         $this->attributes[
'owner_guid'] = 
$site->guid;
 
   99         $this->attributes[
'container_guid'] = 
$site->guid;
 
  133             return $manifest->getName();
 
  136         return $this->
getID();
 
  155         return $this->attributes[
'title'] = 
$id;
 
  164         $filenames = $this->
getPackage()->getTextFilenames();
 
  206         $old_priority = (!$old_priority) ? 1 : $old_priority;
 
  239                 $where = 
"CAST(value as unsigned) BETWEEN $old_priority AND $priority";
 
  242                 $where = 
"CAST(value as unsigned) BETWEEN $priority AND $old_priority";
 
  246             $q = 
"UPDATE {$db_prefix}private_settings 
  247                 SET value = CAST(value as unsigned) $op 1 
  248                 WHERE entity_guid != $this->guid 
  279         return $val !== 
null ? $val : 
$default;
 
  300         $q = 
"SELECT * FROM {$db_prefix}private_settings 
  301             WHERE entity_guid = $this->guid 
  302             AND name NOT LIKE '$us_prefix%' 
  303             AND name NOT LIKE '$is_prefix%'";
 
  305         $private_settings = $this->
getDatabase()->getData($q);
 
  309         if ($private_settings) {
 
  310             foreach ($private_settings as $setting) {
 
  311                 $return[$setting->name] = $setting->value;
 
  335             'plugin_id' => $this->
getID(),
 
  368         $q = 
"DELETE FROM {$db_prefix}private_settings 
  369             WHERE entity_guid = $this->guid 
  370             AND name NOT LIKE '$us_prefix%' 
  371             AND name NOT LIKE '$is_prefix%'";
 
  404         return $val !== 
null ? $val : 
$default;
 
  431         $ps_prefix_len = strlen($ps_prefix);
 
  434         $q = 
"SELECT * FROM {$db_prefix}private_settings 
  435             WHERE entity_guid = {$user->guid} 
  436             AND name LIKE '$ps_prefix%'";
 
  438         $private_settings = $this->
getDatabase()->getData($q);
 
  442         if ($private_settings) {
 
  443             foreach ($private_settings as $setting) {
 
  444                 $name = substr($setting->name, $ps_prefix_len);
 
  481             'plugin_id' => $this->
getID(),
 
  534         $q = 
"DELETE FROM {$db_prefix}private_settings 
  535             WHERE entity_guid = $user_guid 
  536             AND name LIKE '$ps_prefix%'";
 
  553         $q = 
"DELETE FROM {$db_prefix}private_settings 
  554             WHERE name LIKE '$ps_prefix%'";
 
  571         if (!$this->
getID()) {
 
  572             $this->errorMsg = 
_elgg_services()->translator->translate(
'ElggPlugin:MissingID', array($this->guid));
 
  577             $this->errorMsg = 
_elgg_services()->translator->translate(
'ElggPlugin:NoPluginPackagePackage', array($this->
getID(), $this->guid));
 
  582             $this->errorMsg = $this->
getPackage()->getError();
 
  626                 $this->errorMsg = $this->
getPackage()->getError();
 
  654         if ($this->setStatus(
true, $site_guid)) {
 
  659                 'plugin_id' => $this->
getID(),
 
  660                 'plugin_entity' => $this,
 
  672                     $this->
start($flags);
 
  701             'plugin_id' => $this->
getID(),
 
  702             'plugin_entity' => $this,
 
  717             return $this->setStatus(
false, $site_guid);
 
  766         if (
null === $wrapper) {
 
  768             $warning = 
'Do not rely on local $CONFIG being available in start.php';
 
  769             $wrapper = new \Elgg\DeprecationWrapper(
$CONFIG, $warning, 
"1.10");
 
  789         $filepath = 
"$this->path/$filename";
 
  792             $msg = 
_elgg_services()->translator->translate(
'ElggPlugin:Exception:CannotIncludeFile',
 
  794             throw new \PluginException($msg);
 
  797         return include $filepath;
 
  818             $msg = 
_elgg_services()->translator->translate(
'ElggPlugin:Exception:CannotRegisterViews',
 
  819                 array($this->
getID(), $this->guid, $failed_dir));
 
  820             throw new \PluginException($msg);
 
  831         $languages_path = 
"$this->path/languages";
 
  834         if (!is_dir($languages_path)) {
 
  839         if (!
_elgg_services()->translator->registerTranslations($languages_path)) {
 
  840             $msg = 
_elgg_services()->translator->translate(
'ElggPlugin:Exception:CannotRegisterLanguages',
 
  841                             array($this->
getID(), $this->guid, $languages_path));
 
  842             throw new \PluginException($msg);
 
  855         $classes_path = 
"$this->path/classes";
 
  857         if (is_dir($classes_path)) {
 
  872         if (strstr(
$name, 
'plugin:setting:')) {
 
  873             $msg = 
'Direct access of user settings is deprecated. Use ElggPlugin->getUserSetting()';
 
  875             $name = str_replace(
'plugin:setting:', 
'', 
$name);
 
  880         if (array_key_exists(
$name, $this->attributes)) {
 
  881             return $this->attributes[
$name];
 
  889         if ($meta === 
false) {
 
  919         if (array_key_exists(
$name, $this->attributes)) {
 
  921             if ((array_key_exists(
'guid', $this->attributes)) && (
$name == 
'guid')) {
 
  956     private function setStatus(
$active, $site_guid = 
null) {
 
  988         return $this->errorMsg;
 
  998             return $this->manifest;
 
 1002             $this->manifest = $this->
getPackage()->getManifest();
 
 1003         } 
catch (Exception 
$e) {
 
 1004             _elgg_services()->logger->warn(
"Failed to load manifest for plugin $this->guid. " . 
$e->getMessage());
 
 1005             $this->errorMsg = 
$e->getmessage();
 
 1008         return $this->manifest;
 
 1018             return $this->package;
 
 1022             $this->
package = new \ElggPluginPackage($this->path, false);
 
 1023         } 
catch (Exception 
$e) {
 
 1024             _elgg_services()->logger->warn(
"Failed to load package for $this->guid. " . 
$e->getMessage());
 
 1025             $this->errorMsg = 
$e->getmessage();
 
 1028         return $this->package;
 
if(! $collection_name) $id
 
if($guid==elgg_get_logged_in_user_guid()) $name
 
$user_guid
Avatar remove action.
 
getDatabase()
Provides a pointer to the database object.
 
setPrivateSetting($name, $value)
Adds a private setting to this entity.
 
getPrivateSetting($name)
Returns a private setting value.
 
load($guid)
Loads the full \ElggObject when given a guid.
 
includeFile($filename)
Includes one of the plugins files.
 
getUserSetting($name, $user_guid=0, $default=null)
Returns a user's setting for this plugin.
 
start($flags)
Start the plugin.
 
getPath()
Returns the plugin's full path with trailing slash.
 
__set($name, $value)
Set a value as private setting or attribute.
 
__get($name)
Get an attribute or private setting value.
 
getAllUserSettings($user_guid=0)
Returns an array of all user settings saved for this plugin for the user.
 
getSetting($name, $default=null)
Returns a plugin setting.
 
unsetAllSettings()
Removes all settings for this plugin.
 
setSetting($name, $value)
Set a plugin setting for the plugin.
 
setID($id)
Sets the location of this plugin.
 
registerLanguages()
Registers the plugin's languages.
 
registerViews()
Registers the plugin's views.
 
canReadFile($filename)
Checks whether a plugin file with the given name exists.
 
getPackage()
Returns this plugin's \ElggPluginPackage object.
 
initializeAttributes()
Set subtype to 'plugin'.
 
getManifest()
Returns this plugin's \ElggPluginManifest object.
 
__construct($path)
Creates a new plugin from path.
 
registerClasses()
Registers the plugin's classes.
 
activate($site_guid=null)
Actives the plugin for the current site.
 
getID()
Returns the ID (dir name) of this plugin.
 
unsetSetting($name)
Removes a plugin setting name and value.
 
getError()
Returns the last error message registered.
 
isValid()
Returns if the plugin is complete, meaning has all required files and Elgg can read them and they mak...
 
getAvailableTextFiles()
Returns an array of available markdown files for this plugin.
 
static getConfigWrapper()
Get the config object in a deprecation wrapper.
 
isActive($site_guid=null)
Is this plugin active?
 
setUserSetting($name, $value, $user_guid=0)
Sets a user setting for a plugin.
 
deactivate($site_guid=null)
Deactivates the plugin.
 
getPriority()
Gets the plugin's load priority.
 
unsetAllUserSettings($user_guid)
Removes all User Settings for this plugin for a particular user.
 
getAllSettings()
Returns an array of all settings saved for this plugin.
 
canActivate($site_guid=null)
Checks if this plugin can be activated on the current Elgg installation.
 
save()
Save the plugin object.
 
setPriority($priority, $site_guid=null)
Sets the priority of the plugin.
 
unsetAllUsersSettings()
Removes this plugin's user settings for all users.
 
unsetUserSetting($name, $user_guid=0)
Removes a user setting name and value.
 
getFriendlyName()
Returns the manifest's name if available, otherwise the ID.
 
elgg river item elgg form comment save
 
$CONFIG path
The full path where Elgg is installed.
 
$CONFIG views
Holds information about views.
 
sanitise_filepath($path, $append_slash=true)
Sanitise file paths ensuring that they begin and end with slashes etc.
 
elgg_trigger_plugin_hook($hook, $type, $params=null, $returnvalue=null)
 
elgg_deprecated_notice($msg, $dep_version, $backtrace_level=1)
Log a notice about deprecated use of a function, view, etc.
 
elgg_get_plugin_from_id($plugin_id)
Returns an \ElggPlugin object with the path $path.
 
const ELGG_PLUGIN_REGISTER_LANGUAGES
Tells \ElggPlugin::start() to automatically register the plugin's languages.
 
_elgg_cache_plugin_by_id(\ElggPlugin $plugin)
Cache a reference to this plugin by its ID.
 
const ELGG_PLUGIN_REGISTER_VIEWS
Tells \ElggPlugin::start() to automatically register the plugin's views.
 
const ELGG_PLUGIN_REGISTER_CLASSES
Tells \ElggPlugin::start() to automatically register the plugin's classes.
 
const ELGG_PLUGIN_INCLUDE_START
Tells \ElggPlugin::start() to include the start.php file.
 
_elgg_namespace_plugin_private_setting($type, $name, $id=null)
Namespaces a string to be used as a private setting name for a plugin.
 
_elgg_invalidate_plugins_provides_cache()
Deletes all cached data on plugins being provided.
 
_elgg_get_max_plugin_priority()
Returns the highest priority of the plugins.
 
get_entity($guid)
Loads and returns an entity object from a guid.
 
remove_private_setting($entity_guid, $name)
Deletes a private setting for an entity.
 
get_private_setting($entity_guid, $name)
Gets a private setting for an entity.
 
set_private_setting($entity_guid, $name, $value)
Sets a private setting for an entity.
 
add_entity_relationship($guid_one, $relationship, $guid_two)
Create a relationship between two entities.
 
remove_entity_relationship($guid_one, $relationship, $guid_two)
Delete a relationship between two entities.
 
check_entity_relationship($guid_one, $relationship, $guid_two)
Check if a relationship exists between two entities.
 
if(! $num_display) $db_prefix