aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/classes/ElggData.php146
-rw-r--r--engine/classes/ElggEntity.php145
-rw-r--r--engine/classes/ElggExtender.php146
-rw-r--r--engine/classes/ElggRelationship.php139
4 files changed, 150 insertions, 426 deletions
diff --git a/engine/classes/ElggData.php b/engine/classes/ElggData.php
index 5f152024c..f200a7c21 100644
--- a/engine/classes/ElggData.php
+++ b/engine/classes/ElggData.php
@@ -1,5 +1,149 @@
<?php
-abstract class ElggData
+abstract class ElggData implements
+ Iterator, // Override foreach behaviour
+ ArrayAccess // Override for array access
{
+ /**
+ * The main attributes of an entity.
+ * Holds attributes to save to database
+ * This contains the site's main properties (id, etc)
+ * Blank entries for all database fields should be created by the constructor.
+ * Subclasses should add to this in their constructors.
+ * Any field not appearing in this will be viewed as a
+ */
+ protected $attributes;
+ /*
+ * ITERATOR INTERFACE
+ */
+
+ /*
+ * This lets an entity's attributes be displayed using foreach as a normal array.
+ * Example: http://www.sitepoint.com/print/php5-standard-library
+ */
+ protected $valid = FALSE;
+
+ /**
+ * Iterator interface
+ *
+ * @see Iterator::rewind()
+ *
+ * @return void
+ */
+ public function rewind() {
+ $this->valid = (FALSE !== reset($this->attributes));
+ }
+
+ /**
+ * Iterator interface
+ *
+ * @see Iterator::current()
+ *
+ * @return void
+ */
+ public function current() {
+ return current($this->attributes);
+ }
+
+ /**
+ * Iterator interface
+ *
+ * @see Iterator::key()
+ *
+ * @return void
+ */
+ public function key() {
+ return key($this->attributes);
+ }
+
+ /**
+ * Iterator interface
+ *
+ * @see Iterator::next()
+ *
+ * @return void
+ */
+ public function next() {
+ $this->valid = (FALSE !== next($this->attributes));
+ }
+
+ /**
+ * Iterator interface
+ *
+ * @see Iterator::valid()
+ *
+ * @return void
+ */
+ public function valid() {
+ return $this->valid;
+ }
+
+ /*
+ * ARRAY ACCESS INTERFACE
+ */
+
+ /*
+ * This lets an entity's attributes be accessed like an associative array.
+ * Example: http://www.sitepoint.com/print/php5-standard-library
+ */
+
+ /**
+ * Array access interface
+ *
+ * @see ArrayAccess::offsetSet()
+ *
+ * @param mixed $key Name
+ * @param mixed $value Value
+ *
+ * @return void
+ */
+ public function offsetSet($key, $value) {
+ if (array_key_exists($key, $this->attributes)) {
+ $this->attributes[$key] = $value;
+ }
+ }
+
+ /**
+ * Array access interface
+ *
+ * @see ArrayAccess::offsetGet()
+ *
+ * @param mixed $key Name
+ *
+ * @return void
+ */
+ public function offsetGet($key) {
+ if (array_key_exists($key, $this->attributes)) {
+ return $this->attributes[$key];
+ }
+ }
+
+ /**
+ * Array access interface
+ *
+ * @see ArrayAccess::offsetUnset()
+ *
+ * @param mixed $key Name
+ *
+ * @return void
+ */
+ public function offsetUnset($key) {
+ if (array_key_exists($key, $this->attributes)) {
+ // Full unsetting is dangerous for our objects
+ $this->attributes[$key] = "";
+ }
+ }
+
+ /**
+ * Array access interface
+ *
+ * @see ArrayAccess::offsetExists()
+ *
+ * @param int $offset Offset
+ *
+ * @return int
+ */
+ public function offsetExists($offset) {
+ return array_key_exists($offset, $this->attributes);
+ }
} \ No newline at end of file
diff --git a/engine/classes/ElggEntity.php b/engine/classes/ElggEntity.php
index 3d0e112f3..56ac96f8f 100644
--- a/engine/classes/ElggEntity.php
+++ b/engine/classes/ElggEntity.php
@@ -31,17 +31,8 @@ abstract class ElggEntity extends ElggData implements
Locatable, // Geocoding interface
Exportable, // Allow export of data
Importable, // Allow import of data
- Loggable, // Can events related to this object class be logged
- Iterator, // Override foreach behaviour
- ArrayAccess // Override for array access
+ Loggable // Can events related to this object class be logged
{
- /**
- * The main attributes of an entity.
- * Blank entries for all database fields should be created by the constructor.
- * Subclasses should add to this in their constructors.
- * Any field not appearing in this will be viewed as a
- */
- protected $attributes;
/**
* If set, overrides the value of getURL()
@@ -1383,138 +1374,4 @@ abstract class ElggEntity extends ElggData implements
return $entity_tags;
}
-
- /*
- * ITERATOR INTERFACE
- */
-
- /*
- * This lets an entity's attributes be displayed using foreach as a normal array.
- * Example: http://www.sitepoint.com/print/php5-standard-library
- */
- private $valid = FALSE;
-
- /**
- * Iterator interface
- *
- * @see Iterator::rewind()
- *
- * @return void
- */
- function rewind() {
- $this->valid = (FALSE !== reset($this->attributes));
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::current()
- *
- * @return void
- */
- function current() {
- return current($this->attributes);
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::key()
- *
- * @return void
- */
- function key() {
- return key($this->attributes);
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::next()
- *
- * @return void
- */
- function next() {
- $this->valid = (FALSE !== next($this->attributes));
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::valid()
- *
- * @return void
- */
- function valid() {
- return $this->valid;
- }
-
- /*
- * ARRAY ACCESS INTERFACE
- */
-
- /*
- * This lets an entity's attributes be accessed like an associative array.
- * Example: http://www.sitepoint.com/print/php5-standard-library
- */
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetSet()
- *
- * @param mixed $key Name
- * @param mixed $value Value
- *
- * @return void
- */
- function offsetSet($key, $value) {
- if (array_key_exists($key, $this->attributes)) {
- $this->attributes[$key] = $value;
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetGet()
- *
- * @param mixed $key Name
- *
- * @return void
- */
- function offsetGet($key) {
- if (array_key_exists($key, $this->attributes)) {
- return $this->attributes[$key];
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetUnset()
- *
- * @param mixed $key Name
- *
- * @return void
- */
- function offsetUnset($key) {
- if (array_key_exists($key, $this->attributes)) {
- // Full unsetting is dangerous for our objects
- $this->attributes[$key] = "";
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetExists()
- *
- * @param int $offset Offset
- *
- * @return int
- */
- function offsetExists($offset) {
- return array_key_exists($offset, $this->attributes);
- }
} \ No newline at end of file
diff --git a/engine/classes/ElggExtender.php b/engine/classes/ElggExtender.php
index 707906bac..d6ea14ba8 100644
--- a/engine/classes/ElggExtender.php
+++ b/engine/classes/ElggExtender.php
@@ -19,17 +19,9 @@
*/
abstract class ElggExtender extends ElggData implements
Exportable,
- Loggable, // Can events related to this object class be logged
- Iterator, // Override foreach behaviour
- ArrayAccess // Override for array access
+ Loggable // Can events related to this object class be logged
{
- /**
- * Holds attributes to save to database
- *
- * @var array
- */
- protected $attributes;
-
+
/**
* Returns an attribute
*
@@ -231,138 +223,4 @@ abstract class ElggExtender extends ElggData implements
return $this->name;
}
-
- /*
- * ITERATOR INTERFACE
- */
-
- /*
- * This lets an entity's attributes be displayed using foreach as a normal array.
- * Example: http://www.sitepoint.com/print/php5-standard-library
- */
- private $valid = FALSE;
-
- /**
- * Iterator interface
- *
- * @see Iterator::rewind()
- *
- * @return void
- */
- function rewind() {
- $this->valid = (FALSE !== reset($this->attributes));
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::current()
- *
- * @return void
- */
- function current() {
- return current($this->attributes);
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::key()
- *
- * @return void
- */
- function key() {
- return key($this->attributes);
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::next()
- *
- * @return void
- */
- function next() {
- $this->valid = (FALSE !== next($this->attributes));
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::valid()
- *
- * @return void
- */
- function valid() {
- return $this->valid;
- }
-
- /*
- * ARRAY ACCESS INTERFACE
- */
-
- /*
- * This lets an entity's attributes be accessed like an associative array.
- * Example: http://www.sitepoint.com/print/php5-standard-library
- */
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetSet()
- *
- * @param mixed $key Name
- * @param mixed $value Value
- *
- * @return void
- */
- function offsetSet($key, $value) {
- if (array_key_exists($key, $this->attributes)) {
- $this->attributes[$key] = $value;
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetGet()
- *
- * @param mixed $key Name
- *
- * @return void
- */
- function offsetGet($key) {
- if (array_key_exists($key, $this->attributes)) {
- return $this->attributes[$key];
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetUnset()
- *
- * @param mixed $key Name
- *
- * @return void
- */
- function offsetUnset($key) {
- if (array_key_exists($key, $this->attributes)) {
- // Full unsetting is dangerious for our objects
- $this->attributes[$key] = "";
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetExists()
- *
- * @param int $offset Offset
- *
- * @return int
- */
- function offsetExists($offset) {
- return array_key_exists($offset, $this->attributes);
- }
}
diff --git a/engine/classes/ElggRelationship.php b/engine/classes/ElggRelationship.php
index c072e1cc6..e2b0e4e13 100644
--- a/engine/classes/ElggRelationship.php
+++ b/engine/classes/ElggRelationship.php
@@ -8,15 +8,8 @@
class ElggRelationship extends ElggData implements
Importable,
Exportable,
- Loggable, // Can events related to this object class be logged
- Iterator, // Override foreach behaviour
- ArrayAccess // Override for array access
- {
- /**
- * This contains the site's main properties (id, etc)
- * @var array
- */
- protected $attributes;
+ Loggable // Can events related to this object class be logged
+{
/**
* Construct a new site object, optionally from a given id value or row.
@@ -247,132 +240,4 @@ class ElggRelationship extends ElggData implements
return $this->relationship;
}
- // ITERATOR INTERFACE //////////////////////////////////////////////////////////////
- /*
- * This lets an entity's attributes be displayed using foreach as a normal array.
- * Example: http://www.sitepoint.com/print/php5-standard-library
- */
-
- private $valid = FALSE;
-
- /**
- * Iterator interface
- *
- * @see Iterator::rewind()
- *
- * @return void
- */
- function rewind() {
- $this->valid = (FALSE !== reset($this->attributes));
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::current()
- *
- * @return void
- */
- function current() {
- return current($this->attributes);
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::key()
- *
- * @return void
- */
- function key() {
- return key($this->attributes);
- }
-
- /**
- * Iterator interface
- *
- * @see Iterator::next()
- *
- * @return void
- */
- function next() {
- $this->valid = (FALSE !== next($this->attributes));
- }
-
-
- /**
- * Iterator interface
- *
- * @see Iterator::valid()
- *
- * @return void
- */
- function valid() {
- return $this->valid;
- }
-
- // ARRAY ACCESS INTERFACE //////////////////////////////////////////////////////////
- /*
- * This lets an entity's attributes be accessed like an associative array.
- * Example: http://www.sitepoint.com/print/php5-standard-library
- */
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetSet()
- *
- * @param mixed $key Name
- * @param mixed $value Value
- *
- * @return void
- */
- function offsetSet($key, $value) {
- if (array_key_exists($key, $this->attributes)) {
- $this->attributes[$key] = $value;
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetGet()
- *
- * @param mixed $key Name
- *
- * @return void
- */
- function offsetGet($key) {
- if (array_key_exists($key, $this->attributes)) {
- return $this->attributes[$key];
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetUnset()
- *
- * @param mixed $key Name
- *
- * @return void
- */
- function offsetUnset($key) {
- if (array_key_exists($key, $this->attributes)) {
- $this->attributes[$key] = ""; // Full unsetting is dangerious for our objects
- }
- }
-
- /**
- * Array access interface
- *
- * @see ArrayAccess::offsetExists()
- *
- * @param int $offset Offset
- *
- * @return int
- */
- function offsetExists($offset) {
- return array_key_exists($offset, $this->attributes);
- }
} \ No newline at end of file