示例#1
0
 /**
  * @param  Object_Abstract $target
  * @param  Object_Abstract $source
  * @return Object_Abstract copied object
  */
 public function copyAsChild($target, $source)
 {
     //load properties
     $source->getProperties();
     //load all in case of lazy loading fields
     self::loadAllObjectFields($source);
     $new = clone $source;
     $new->o_id = null;
     $new->setChilds(null);
     $new->setKey(Element_Service::getSaveCopyName("object", $new->getKey(), $target));
     $new->setParentId($target->getId());
     $new->setUserOwner($this->_user->getId());
     $new->setUserModification($this->_user->getId());
     $new->setResource(null);
     $new->setLocked(false);
     $new->save();
     $this->updateChilds($target, $new);
     return $new;
 }