Beispiel #1
0
 /**
  * @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;
 }