Example #1
0
 /**
  * Insert Notes
  *
  * @param  Zend_Pdf_Page             $page   Current Page Object of Zend_PDF
  * @param  Mage_Sales_Model_Order    &$order order to get note from
  * @param  Mage_Sales_Model_Abstract &$model invoice/shipment/creditmemo
  *
  * @return \Zend_Pdf_Page
  */
 protected function _insertNote($page, &$order, &$model)
 {
     $fontSize = 10;
     $font = $this->_setFontRegular($page, $fontSize);
     $this->y = $this->y - 60;
     $notes = array();
     $result = new Varien_Object();
     $result->setNotes($notes);
     Mage::dispatchEvent('firegento_pdf_' . $this->getMode() . '_insert_note', array('order' => $order, $this->getMode() => $model, 'result' => $result));
     $notes = array_merge($notes, $result->getNotes());
     // Get free text notes.
     $note = Mage::getStoreConfig('sales_pdf/' . $this->getMode() . '/note');
     if (!empty($note)) {
         $tmpNotes = explode("\n", $note);
         $notes = array_merge($notes, $tmpNotes);
     }
     // Draw notes on PDF.
     foreach ($notes as $note) {
         // prepare the text so that it fits to the paper
         foreach ($this->_prepareText($note, $page, $font, 10) as $tmpNote) {
             // create a new page if necessary
             if ($this->y < 50 || Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1 && $this->y < 100) {
                 $page = $this->newPage(array());
                 $this->y = $this->y - 60;
                 $font = $this->_setFontRegular($page, $fontSize);
             }
             $page->drawText($tmpNote, $this->margin['left'], $this->y + 30, $this->encoding);
             $this->Ln(15);
         }
     }
     return $page;
 }