[+BUGFIX] Extbase (Persistence): Fixed typo in Identity Map (thanks to Martin Kutschker).
authorJochen Rau <j.rau@web.de>
Sat, 6 Feb 2010 20:25:48 +0000 (20:25 +0000)
committerJochen Rau <j.rau@web.de>
Sat, 6 Feb 2010 20:25:48 +0000 (20:25 +0000)
[+BUGFIX] Extbase (Persistence): Added check for existing object before get_object_vars() is invoked.

typo3/sysext/extbase/Classes/Persistence/IdentityMap.php
typo3/sysext/extbase/Classes/Reflection/ObjectAccess.php

index 2cb6c25..0e4e85f 100644 (file)
@@ -100,7 +100,7 @@ class Tx_Extbase_Persistence_IdentityMap {
        public function getIdentifierByObject($object) {
                if (!is_object($object)) throw new InvalidArgumentException('Object expected, ' . gettype($object) . ' given.', 1246892972);
                if (!isset($this->objectMap[$object])) {
-                       throw new Tx_Extbase_Persisitence_Exception_UnknownObjectException('The given object (class: ' . get_class($object) . ') is not registered in this Identity Map.', 1246892970);
+                       throw new Tx_Extbase_Persistence_Exception_UnknownObjectException('The given object (class: ' . get_class($object) . ') is not registered in this Identity Map.', 1246892970);
                }
                return $this->objectMap[$object];
        }
index 6659b93..9fb2678 100644 (file)
@@ -63,7 +63,7 @@ class Tx_Extbase_Reflection_ObjectAccess {
                        return call_user_func(array($object, $getterMethodName));
                } elseif ($object instanceof ArrayAccess && isset($object[$propertyName])) {
                        return $object[$propertyName];
-               } elseif (array_key_exists($propertyName, get_object_vars($object))) {
+               } elseif (is_object($object) && array_key_exists($propertyName, get_object_vars($object))) {
                        return $object->$propertyName;
                }
                return NULL;