aboutsummaryrefslogtreecommitdiff
path: root/engine/classes/ElggPlugin.php
diff options
context:
space:
mode:
authorBrett Profitt <brett.profitt@gmail.com>2012-12-17 07:12:01 -0800
committerBrett Profitt <brett.profitt@gmail.com>2012-12-17 07:12:01 -0800
commitb538cc3339ff886e309feb318cdea374423d1683 (patch)
tree14904c1de72d83398faa12dd19c4a87bf9a4e866 /engine/classes/ElggPlugin.php
parent4aae9078525de7c6e56091d6864e7397b58280cb (diff)
parent33c786c1b7838d38e9797b8731d4e45c9ceb1aac (diff)
downloadelgg-b538cc3339ff886e309feb318cdea374423d1683.tar.gz
elgg-b538cc3339ff886e309feb318cdea374423d1683.tar.bz2
Merge pull request #446 from mrclay/4929-18-entitiesopt
Fixes #4929: Optimize elgg_get_entities and add attribute loader
Diffstat (limited to 'engine/classes/ElggPlugin.php')
-rw-r--r--engine/classes/ElggPlugin.php58
1 files changed, 0 insertions, 58 deletions
diff --git a/engine/classes/ElggPlugin.php b/engine/classes/ElggPlugin.php
index c6ce2905f..32b5f952a 100644
--- a/engine/classes/ElggPlugin.php
+++ b/engine/classes/ElggPlugin.php
@@ -82,64 +82,6 @@ class ElggPlugin extends ElggObject {
}
/**
- * Overridden from ElggEntity and ElggObject::load(). Core always inits plugins with
- * a query joined to the objects_entity table, so all the info is there.
- *
- * @param mixed $guid GUID of an ElggObject or the stdClass object from entities table
- *
- * @return bool
- * @throws InvalidClassException
- */
- protected function load($guid) {
-
- $expected_attributes = $this->attributes;
- unset($expected_attributes['tables_split']);
- unset($expected_attributes['tables_loaded']);
-
- // this was loaded with a full join
- $needs_loaded = false;
-
- if ($guid instanceof stdClass) {
- $row = (array) $guid;
- $missing_attributes = array_diff_key($expected_attributes, $row);
- if ($missing_attributes) {
- $needs_loaded = true;
- $guid = $row['guid'];
- } else {
- $this->attributes = $row;
- }
- } else {
- $needs_loaded = true;
- }
-
- if ($needs_loaded) {
- $entity = (array) get_entity_as_row($guid);
- $object = (array) get_object_entity_as_row($guid);
-
- if (!$entity || !$object) {
- return false;
- }
-
- $this->attributes = array_merge($this->attributes, $entity, $object);
- }
-
- $this->attributes['tables_loaded'] = 2;
-
- // Check the type
- if ($this->attributes['type'] != 'object') {
- $msg = elgg_echo('InvalidClassException:NotValidElggStar', array($guid, get_class()));
- throw new InvalidClassException($msg);
- }
-
- // guid needs to be an int http://trac.elgg.org/ticket/4111
- $this->attributes['guid'] = (int)$this->attributes['guid'];
-
- cache_entity($this);
-
- return true;
- }
-
- /**
* Save the plugin object. Make sure required values exist.
*
* @see ElggObject::save()