/** * * Checks if an object is an allowed relation * @param Object_Abstract $object * @return boolean */ protected function allowObjectRelation($object) { $allowedClasses = $this->getClasses(); $allowed = true; if (!$this->getObjectsAllowed()) { $allowed = false; } else { if ($this->getObjectsAllowed() and is_array($allowedClasses) and count($allowedClasses) > 0) { //check for allowed classes if ($object instanceof Object_Concrete) { $classname = $object->getO_className(); foreach ($allowedClasses as $c) { $allowedClassnames[] = $c['classes']; } if (!in_array($classname, $allowedClassnames)) { $allowed = false; } } else { $allowed = false; } } else { //don't check if no allowed classes set } } if ($object instanceof Object_Abstract) { Logger::debug("checked object relation to target object [" . $object->getId() . "] in field [" . $this->getName() . "], allowed:" . $allowed); } else { Logger::debug("checked object relation to target in field [" . $this->getName() . "], not allowed, target ist not an object"); Logger::debug($object); } return $allowed; }