/**
* @param Asset $target
* @param Asset $source
* @return Asset copied asset
*/
public function copyAsChild($target, $source)
{
$source->getProperties();
$new = clone $source;
$new->id = null;
if ($new instanceof Asset\Folder) {
$new->setChilds(null);
}
$new->setFilename(Element\Service::getSaveCopyName("asset", $new->getFilename(), $target));
$new->setParentId($target->getId());
$new->setUserOwner($this->_user->getId());
$new->setUserModification($this->_user->getId());
$new->setDao(null);
$new->setLocked(false);
$new->setCreationDate(time());
$new->setStream($source->getStream());
$new->save();
if ($target instanceof Asset\Folder) {
$this->updateChilds($target, $new);
}
return $new;
}