/** * @see Object\ClassDefinition\Data::getDataForEditmode * @param array $data * @param null|Model\Object\AbstractObject $object * @return array */ public function getDataForEditmode($data, $object = null) { $return = array(); if (is_array($data) && count($data) > 0) { foreach ($data as $object) { if ($object instanceof Object\Concrete) { $return[] = array($object->getId(), $object->getFullPath(), $object->getClassName()); } } if (empty($return)) { $return = false; } return $return; } return false; }
/** * * Checks if an object is an allowed relation * @param Model\Object\AbstractObject $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->getClassName(); 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\AbstractObject) { \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; }