setOptions($options); } } public function __set($name, $value) { $method = 'set' . $name; if (('mapper' == $name) || !method_exists($this, $method)) { throw new Exception('Invalid person property'); } $this->$method($value); } public function __get($name) { $method = 'get' . $name; if (('mapper' == $name) || !method_exists($this, $method)) { throw new Exception('Invalid person property'); } return $this->$method(); } public function setOptions(array $options) { $methods = get_class_methods($this); $options['passwordSalt'] = $options['password_salt']; unset($options['password_salt']); foreach ($options as $key => $value) { $method = 'set' . ucfirst($key); if (in_array($method, $methods)) { $this->$method($value); } } return $this; } public function getID() { return $this->_personID; } public function setID($_personID) { $this->_personID = $_personID; return $this; } public function getTitle() { return $this->_title; } public function setTitle($_title) { $this->_title = $_title; return $this; } public function getName() { return $this->_name; } public function setName($_name) { $this->_name = $_name; return $this; } public function getFirstname() { return $this->_firstname; } public function setFirstname($_firstname) { $this->_firstname = $_firstname; return $this; } public function getStreet() { return $this->_street; } public function setStreet($_street) { $this->_street = $_street; return $this; } public function getHousenumber() { return $this->_housenumber; } public function setHousenumber($_housenumber) { $this->_housenumber = $_housenumber; return $this; } public function getCity() { return $this->_city; } public function setCity($_city) { $this->_city = $_city; return $this; } public function getPostalcode() { return $this->_postalcode; } public function setPostalcode($_postalcode) { $this->_postalcode = $_postalcode; return $this; } public function getLogindate() { return $this->_logindate; } public function setLogindate($_logindate) { $this->_logindate = $_logindate; return $this; } public function getRegisterdate() { return $this->_registerdate; } public function setRegisterdate($_registerdate) { $this->_registerdate = $_registerdate; return $this; } public function getEmail() { return $this->_email; } public function setEmail($_email) { $this->_email = $_email; return $this; } public function getLogin() { return $this->_login; } public function setLogin($_login) { $this->_login = $_login; return $this; } public function getPassword() { return $this->_password; } public function setPassword($_password) { $this->_password = $_password; return $this; } public function getLoginpassword() { return $this->_loginpassword; } public function setLoginpassword($_loginpassword) { $this->_loginpassword = $_loginpassword; return $this; } public function setPasswordSalt($_password_salt) { $this->_password_salt = $_password_salt; return $this; } public function getPasswordSalt() { return $this->_password_salt; } public function getSuspend() { return $this->_suspend; } public function setSuspend($_suspend) { $this->_suspend = $_suspend; return $this; } /** * Returns current data as associative array using ReflectionClass * * @return array Returns associative array containing model data * If "get"-method not available (our primary keys) the function getID() is called */ public function toArray() { $reflectionClass = new ReflectionClass($this); $properties = $reflectionClass->getProperties(); $result = array(); foreach ($properties as $property) { $key = $property->name; if (substr($key, 0, 1) != '_' && $this->$key !== null) { $method = 'get' . ucfirst($key); if ($reflectionClass->hasMethod($method)) { $result[$key] = $this->$method(); } else { $result[$key] = $this->$key; } } elseif(substr($key, 0, 1) == '_' && $this->$key !== null) { $key = substr($key, 1); $method = 'get' . ucfirst($key); if ($reflectionClass->hasMethod($method)) { $result[$key] = $this->$method(); } else { $result[$key] = $this->getID(); } } } return $result; } }