public static function hasInheritableParentObject(Object_Concrete $object) { if ($object->getO_class()->getAllowInherit()) { if ($object->getO_parent() instanceof Object_Abstract) { $parent = $object->getO_parent(); while ($parent && $parent->getO_type() == "folder") { $parent = $parent->getO_parent(); } if ($parent && ($parent->getO_type() == "object" || $parent->getO_type() == "variant")) { if ($parent->getO_classId() == $object->getO_classId()) { return $parent; } } } } }