コード例 #1
0
ファイル: Sqlite.php プロジェクト: pansot2/PadCMS-backend
 /**
  * Get revision's pages and export them to the manifest and package
  *
  * @param AM_Model_Db_Revision $oRevision
  * @return AM_Handler_Export_Sqlite
  */
 protected function _exportPages(AM_Model_Db_Revision $oRevision)
 {
     $oPages = $oRevision->getPages();
     foreach ($oPages as $oPage) {
         /* @var $oPage AM_Model_Db_Page */
         $oMapper = $this->_getMapper($oPage);
         /* @var $oMapper AM_Mapper_Sqlite_Page */
         $oMapper->unmap();
         //Exporting page imposition
         //TODO: refactoring. get all impositions by single query
         $oPageImposition = AM_Model_Db_Table_Abstract::factory('page_imposition')->findOneBy('is_linked_to', $oPage->id);
         if (!is_null($oPageImposition)) {
             $oMapper = $this->_getMapper($oPageImposition);
             /* @var $oMapper AM_Mapper_Sqlite_PageImposition */
             $oMapper->unmap();
         }
         //Export elements
         $oElements = $oPage->getElements();
         foreach ($oElements as $oElement) {
             $oMapper = $this->_getMapper($oElement);
             /* @var $oMapper AM_Mapper_Sqlite_Element */
             $oMapper->unmap();
         }
     }
     return $this;
 }
コード例 #2
0
ファイル: Revision.php プロジェクト: pansot2/PadCMS-backend
 /**
  * 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;
 }