setOptions($options); } } public function __set($name, $value) { $method = 'set' . $name; if (('mapper' == $name) || !method_exists($this, $method)) { throw new Exception('Invalid session property'); } $this->$method($value); } public function __get($name) { $method = 'get' . $name; if (('mapper' == $name) || !method_exists($this, $method)) { throw new Exception('Invalid session property'); } return $this->$method(); } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ($options as $key => $value) { $method = 'set' . ucfirst($key); if (in_array($method, $methods)) { $this->$method($value); } } return $this; } public function getID() { return $this->_sessionID; } public function setID($_sessionID) { $this->_sessionID = $_sessionID; return $this; } public function getAlphasessionID() { return $this->_alphasessionID; } public function setAlphasessionID($_alphasessionID) { $this->_alphasessionID = $_alphasessionID; return $this; } public function getClientID() { return $this->_clientID; } public function setClientID($_clientID) { $this->_clientID = $_clientID; return $this; } public function getBootmenuentryID() { return $this->_bootmenuentryID; } public function setBootmenuentryID($_bootmenuentryID) { $this->_bootmenuentryID = $_bootmenuentryID; return $this; } public function getBootosID() { return $this->_bootosID; } public function setBootosID($_bootosID) { $this->_bootosID = $_bootosID; return $this; } public function getBootisoID() { return $this->_bootisoID; } public function setBootisoID($_bootisoID) { $this->_bootisoID = $_bootisoID; return $this; } public function getMembershipID() { return $this->_membershipID; } public function setMembershipID($_membershipID) { $this->_membershipID = $_membershipID; return $this; } public function getPersonID() { return $this->_personID; } public function setPersonID($_personID) { $this->_personID = $_personID; return $this; } public function getTime() { return $this->_time; } public function setTime($_time) { $this->_time = $_time; return $this; } public function getIp() { return $this->_ip; } public function setIp($_ip) { $this->_ip = $_ip; return $this; } public function getIp6() { return $this->_ip6; } public function setIp6($_ip6) { $this->_ip6 = $_ip6; 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; } }