Exemplo n.º 1
0
 /**
  * load customer addresses in defined format
  *
  * @param Fooman_PdfCustomiser_Helper_Pdf $helper
  * @param                                 $order
  * @param                                 $which
  *
  * @return mixed|string
  */
 public function PrepareCustomerAddress(Fooman_PdfCustomiser_Helper_Pdf $helper, $order, $which)
 {
     if (version_compare(Mage::getVersion(), '1.4.2.0') < 0) {
         $format = Mage::getStoreConfig('sales_pdf/all/alladdressformat', $helper->getStoreId());
     } else {
         $format = 'pdf';
     }
     if ($which == 'billing') {
         $billingAddress = $this->_fixAddress($order->getBillingAddress()->format($format));
         if ($order->getCustomerTaxvat()) {
             $billingAddress .= "<br/>" . Mage::helper('sales')->__('TAX/VAT Number') . ": " . $order->getCustomerTaxvat();
         } elseif (!$order->getCustomerIsGuest()) {
             $customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
             if ($customer->getTaxvat()) {
                 $billingAddress .= "<br/>" . Mage::helper('sales')->__('TAX/VAT Number') . ": " . $customer->getTaxvat();
             }
         }
         // show the email address underneath the billing address
         if (Mage::getStoreConfig('sales_pdf/all/alldisplayemail', $helper->getStoreId())) {
             $billingAddress .= "<br/>" . $order->getCustomerEmail();
         }
         $billingAddress = str_replace("|", "<br/>", $billingAddress);
         $billingAddress = preg_replace("/(<br\\s*\\/?>\\s*)+/", "<br/>", $billingAddress);
         return $this->_fixAddressEncoding($billingAddress);
     } else {
         if (!$order->getIsVirtual()) {
             $shippingAddress = $this->_fixAddress($order->getShippingAddress()->format($format));
         } else {
             $shippingAddress = '';
         }
         $shippingAddress = str_replace("|", "<br/>", $shippingAddress);
         $shippingAddress = preg_replace("/(<br\\s*\\/?>\\s*)+/", "<br/>", $shippingAddress);
         return $this->_fixAddressEncoding($shippingAddress);
     }
 }
Exemplo n.º 2
0
 /**
  * adjust sort order of global pdf config nodes
  * based on settings in database
  *
  * @param $helper
  *
  */
 protected function adjustPdfTotalsConfig(Fooman_PdfCustomiser_Helper_Pdf $helper)
 {
     if (!$helper->hasAdjustedTotalsSort) {
         $existingConfig = Mage::getConfig()->getNode('global/pdf/totals');
         foreach ($existingConfig as $totals) {
             foreach ($totals as $total => $settings) {
                 $newSortOrder = Mage::getStoreConfig('sales_pdf/totals/' . (string) $total, $helper->getStoreId());
                 if ($newSortOrder) {
                     Mage::getConfig()->setNode('global/pdf/totals/' . $total . '/sort_order', $newSortOrder, true);
                 }
             }
         }
     }
     $helper->hasAdjustedTotalsSort = true;
 }
Exemplo n.º 3
0
 /**
  * Prepare the payment info as html
  *
  * @param Fooman_PdfCustomiser_Helper_Pdf $helper
  * @param                                 $order
  * @param                                 $printItem
  *
  * @return mixed
  * @throws Exception
  */
 public function PreparePayment(Fooman_PdfCustomiser_Helper_Pdf $helper, $order, $printItem)
 {
     try {
         $order->getPayment()->getMethodInstance()->setStore($helper->getStoreId());
     } catch (Exception $e) {
         //in case the payment method has been deleted.
         return $order->getPayment()->getMethod();
     }
     //try if template exists in admin for pdf
     try {
         $theme = (string) Mage::getConfig()->getNode('stores/admin/design/theme/default');
         if (empty($theme)) {
             $theme = 'default';
         }
         Mage::getDesign()->setPackageName('default');
         Mage::getDesign()->setTheme($theme);
         $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment())->setIsSecureMode(true)->setArea(Mage_Core_Model_App_Area::AREA_ADMINHTML)->setTheme($theme)->setPackageName('default');
         $paymentBlock->getMethod()->setStore($helper->getStoreId());
         $paymentInfo = $paymentBlock->toPdf();
         if (!$paymentInfo) {
             throw new Exception('empty payment method - try toHtml method');
         }
         //unfortunately not all payment methods supply a file/method, fall back on standard html output
     } catch (Exception $e) {
         Mage::getDesign()->setPackageName('');
         Mage::getDesign()->setTheme('');
         $paymentInfo = Mage::helper('payment')->getInfoBlock($order->getPayment())->setIsSecureMode(true)->toHtml();
     }
     Mage::getDesign()->setPackageName('');
     Mage::getDesign()->setTheme('');
     $paymentInfo = str_replace("{{pdf_row_separator}}", "<br/>", $paymentInfo);
     return $paymentInfo;
 }