Example #1
0
 /**
  * Upload vertical pdf
  * @return AM_Model_Db_IssueSimplePdf
  */
 public function uploadSimplePdf()
 {
     $oVerticalPdf = AM_Model_Db_Table_Abstract::factory('issue_simple_pdf')->findOneBy('id_issue', $this->id);
     if (is_null($oVerticalPdf)) {
         $oVerticalPdf = new AM_Model_Db_IssueSimplePdf();
     }
     AM_Tools::clearContent(AM_Model_Db_IssueSimplePdf_Data_Abstract::TYPE, $this->id);
     AM_Tools::clearResizerCache(AM_Model_Db_IssueSimplePdf_Data_Abstract::TYPE, AM_Model_Db_IssueSimplePdf_Data_Abstract::TYPE, $this->id);
     $oVerticalPdf->setIssue($this);
     $oVerticalPdf->save();
     $oVerticalPdf->uploadResource();
     return $oVerticalPdf;
 }
Example #2
0
 /**
  * Create revision from simple pdf
  * @param AM_Model_Db_IssueSimplePdf $oSimplePdf
  * @return AM_Model_Db_Revision
  * @throws AM_Handler_Issue_Exception
  */
 public function createRevisionFromSimplePdf(AM_Model_Db_IssueSimplePdf $oSimplePdf)
 {
     $aImages = $oSimplePdf->getAllPagesThumbnails();
     //Create revision
     $oRevision = new AM_Model_Db_Revision();
     $oRevision->state = AM_Model_Db_Issue::STATUS_WIP;
     $oRevision->user = $this->getIssue()->user;
     $oRevision->issue = $this->getIssue()->id;
     $oRevision->save();
     $oRevision->title = 'Revision #' . $oRevision->id;
     $oRevision->save();
     //Create cover page
     $oPage = new AM_Model_Db_Page();
     $oPage->title = 'Root page';
     $oPage->template = AM_Model_Db_Template::TPL_COVER_PAGE;
     $oPage->revision = $oRevision->id;
     $oPage->user = $this->getIssue()->user;
     $oPage->root_page = true;
     $oPage->save();
     //Find field record for type 'Body'
     $oFieldBody = AM_Model_Db_Table_Abstract::factory('field')->findOneBy(array('field_type' => 1, 'template' => AM_Model_Db_Template::TPL_COVER_PAGE));
     if (is_null($oFieldBody)) {
         throw new AM_Handler_Issue_Exception('Field "Body" not found');
     }
     //Create element for cover page
     $oElement = new AM_Model_Db_Element();
     $oElement->field = $oFieldBody->id;
     $oElement->page = $oPage->id;
     $oElement->save();
     AM_Tools::clearContent(AM_Model_Db_Element::RESOURCE_TYPE, $oElement->id);
     AM_Tools::clearResizerCache(AM_Model_Db_Element::RESOURCE_TYPE, $oElement->getResources()->getThumbnailPresetName(), $oElement->id);
     //Prepare resources for the element
     $sImage = array_shift($aImages);
     $oElement->getResources()->setData(array(AM_Model_Db_Element_Data_Resource::DATA_KEY_RESOURCE => $sImage))->save();
     //Set page background
     $oElement->getResources()->setPageBackground();
     //Create childs
     $oFieldBody = AM_Model_Db_Table_Abstract::factory('field')->findOneBy(array('field_type' => 1, 'template' => AM_Model_Db_Template::TPL_SIMPLE_PAGE));
     if (is_null($oFieldBody)) {
         throw new AM_Handler_Issue_Exception('Field "Body" not found');
     }
     $oPageRoot = clone $oPage;
     foreach ($aImages as $sImage) {
         $oPage = new AM_Model_Db_Page();
         $oPage->title = 'Right connected to page ' . $oPageRoot->id;
         $oPage->template = AM_Model_Db_Template::TPL_SIMPLE_PAGE;
         $oPage->revision = $oRevision->id;
         $oPage->user = $this->getIssue()->user;
         $oPage->setConnectionBit(AM_Model_Db_page::LINK_LEFT);
         $oPage->save();
         $oPageRoot->setConnectionBit(AM_Model_Db_page::LINK_RIGHT);
         $oPageRoot->save();
         $oPage->setParent($oPageRoot);
         $oPage->setLinkType(AM_Model_Db_page::LINK_RIGHT)->savePageImposition();
         //Create element for cover page
         $oElement = new AM_Model_Db_Element();
         $oElement->field = $oFieldBody->id;
         $oElement->page = $oPage->id;
         $oElement->save();
         AM_Tools::clearContent(AM_Model_Db_Element::RESOURCE_TYPE, $oElement->id);
         AM_Tools::clearResizerCache(AM_Model_Db_Element::RESOURCE_TYPE, $oElement->getResources()->getThumbnailPresetName(), $oElement->id);
         //Prepare resources for the element
         $oElement->getResources()->setData(array(AM_Model_Db_Element_Data_Resource::DATA_KEY_RESOURCE => $sImage))->save();
         //Set page background
         $oElement->getResources()->setPageBackground();
         $oPageRoot = clone $oPage;
     }
     $oRevision->exportRevision();
     return $oRevision;
 }