/** * Copy all revision data (page map, elemtnts) from one to other * @param AM_Model_Db_Revision $oRevisionFrom * @return AM_Model_Db_Revision */ public function copyFromRevision(AM_Model_Db_Revision $oRevisionFrom) { $oVocabularyToc = $oRevisionFrom->getVocabularyToc(); $oVocabularyTag = $oRevisionFrom->getVocabularyTag(); $aPages = $oRevisionFrom->getPages(); if (!empty($oVocabularyToc)) { $oVocabularyToc->copyToRevision($this, $oRevisionFrom); } if (!empty($oVocabularyTag)) { $oVocabularyTag->copyToRevision($this, $oRevisionFrom); } foreach ($aPages as $oPage) { /* @var $oPage AM_Model_Db_Page */ $oPage->copyToRevision($this); } foreach ($aPages as $oPage) { /* @var $oPage AM_Model_Db_Page */ $oPage->savePageImposition(); } return $this; }