From 5db2402d1eb38e012081509be292bcd1fcef164d Mon Sep 17 00:00:00 2001 From: marcus Date: Thu, 7 Aug 2008 17:10:00 +0000 Subject: Centralised set and get magic functions to the tlc. Added isset and unset magic methods. Report any problems! git-svn-id: https://code.elgg.org/elgg/trunk@1776 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/entities.php | 38 ++++++++++++++++++++++++++++++++++++++ engine/lib/group.php | 17 ----------------- engine/lib/objects.php | 17 ----------------- engine/lib/sites.php | 17 ----------------- engine/lib/users.php | 17 ----------------- 5 files changed, 38 insertions(+), 68 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 0985298f7..bf66a0132 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -184,6 +184,44 @@ return null; } + /** + * Class member get overloading + * + * @param string $name + * @return mixed + */ + function __get($name) { return $this->get($name); } + + /** + * Class member set overloading + * + * @param string $name + * @param mixed $value + * @return mixed + */ + function __set($name, $value) { return $this->set($name, $value); } + + /** + * Supporting isset. + * + * @param string $name The name of the attribute or metadata. + * @return bool + */ + function __isset($name) { if ($this->$name!="") return true; else return false; } + + /** + * Supporting unsetting of magic attributes. + * + * @param string $name The name of the attribute or metadata. + */ + function __unset($name) + { + if (array_key_exists($name, $this->attributes)) + $this->attributes[$name] = ""; + else + $this->clearMetaData($name); + } + /** * Set a piece of metadata. * diff --git a/engine/lib/group.php b/engine/lib/group.php index 5c09a93d9..20d98fdbf 100644 --- a/engine/lib/group.php +++ b/engine/lib/group.php @@ -70,23 +70,6 @@ } } - /** - * Class member get overloading - * - * @param string $name - * @return mixed - */ - function __get($name) { return $this->get($name); } - - /** - * Class member set overloading - * - * @param string $name - * @param mixed $value - * @return mixed - */ - function __set($name, $value) { return $this->set($name, $value); } - /** * Add an ElggObject to this group. * diff --git a/engine/lib/objects.php b/engine/lib/objects.php index 530c211bd..69f4f709a 100644 --- a/engine/lib/objects.php +++ b/engine/lib/objects.php @@ -77,23 +77,6 @@ throw new InvalidParameterException(elgg_echo('InvalidParameterException:UnrecognisedValue')); } } - - /** - * Class member get overloading - * - * @param string $name - * @return mixed - */ - function __get($name) { return $this->get($name); } - - /** - * Class member set overloading - * - * @param string $name - * @param mixed $value - * @return mixed - */ - function __set($name, $value) { return $this->set($name, $value); } /** * Override the load function. diff --git a/engine/lib/sites.php b/engine/lib/sites.php index 8fca0f334..9ad1a7621 100644 --- a/engine/lib/sites.php +++ b/engine/lib/sites.php @@ -88,23 +88,6 @@ } } - /** - * Class member get overloading - * - * @param string $name - * @return mixed - */ - function __get($name) { return $this->get($name); } - - /** - * Class member set overloading - * - * @param string $name - * @param mixed $value - * @return mixed - */ - function __set($name, $value) { return $this->set($name, $value); } - /** * Override the load function. * This function will ensure that all data is loaded (were possible), so diff --git a/engine/lib/users.php b/engine/lib/users.php index ec247337a..9a4ce2995 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -99,23 +99,6 @@ throw new InvalidParameterException(elgg_echo('InvalidParameterException:UnrecognisedValue')); } } - - /** - * Class member get overloading - * - * @param string $name - * @return mixed - */ - function __get($name) { return $this->get($name); } - - /** - * Class member set overloading - * - * @param string $name - * @param mixed $value - * @return mixed - */ - function __set($name, $value) { return $this->set($name, $value); } /** * Override the load function. -- cgit v1.2.3