/** * Clones the translation data. * * @param DataObject $original DataObject to add clone for * @param boolean &$doWrite Write clone to database? * * @return void * * @author Sebastian Diel <*****@*****.**> * @since 28.01.2015 */ public function onAfterDuplicate($original, &$doWrite) { $languageClassName = $this->getLanguageClassName(); $emptyLanguage = $this->owner->getLanguageRelation()->first(); if ($emptyLanguage instanceof DataObject && $emptyLanguage->exists()) { $emptyLanguage->delete(); } foreach ($original->getLanguageRelation() as $language) { $clonedLanguage = new $languageClassName(); $clonedLanguage->castedUpdate($language->toMap()); $clonedLanguage->ID = 0; $clonedLanguage->write(); $this->owner->getLanguageRelation()->add($language); } }