/app/code/core/Mage/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
https://bitbucket.org/kdms/sh-magento · PHP · 170 lines · 107 code · 14 blank · 49 comment · 5 complexity · 55d630928d3b789ff5cd8d951d034431 MD5 · raw file
- <?php
- /**
- * Magento Enterprise Edition
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Magento Enterprise Edition License
- * that is bundled with this package in the file LICENSE_EE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://www.magentocommerce.com/license/enterprise-edition
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category Mage
- * @package Mage_Downloadable
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
- * @license http://www.magentocommerce.com/license/enterprise-edition
- */
- /**
- * Order Invoice Downloadable Pdf Items renderer
- *
- * @category Mage
- * @package Mage_Downloadable
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Mage_Downloadable_Model_Sales_Order_Pdf_Items_Invoice
- extends Mage_Downloadable_Model_Sales_Order_Pdf_Items_Abstract
- {
- /**
- * Draw item line
- *
- */
- public function draw()
- {
- $order = $this->getOrder();
- $item = $this->getItem();
- $pdf = $this->getPdf();
- $page = $this->getPage();
- $lines = array();
- // draw Product name
- $lines[0] = array(array(
- 'text' => Mage::helper('core/string')->str_split($item->getName(), 35, true, true),
- 'feed' => 35,
- ));
- // draw SKU
- $lines[0][] = array(
- 'text' => Mage::helper('core/string')->str_split($this->getSku($item), 17),
- 'feed' => 290,
- 'align' => 'right'
- );
- // draw QTY
- $lines[0][] = array(
- 'text' => $item->getQty() * 1,
- 'feed' => 435,
- 'align' => 'right'
- );
- // draw item Prices
- $i = 0;
- $prices = $this->getItemPricesForDisplay();
- $feedPrice = 395;
- $feedSubtotal = $feedPrice + 170;
- foreach ($prices as $priceData){
- if (isset($priceData['label'])) {
- // draw Price label
- $lines[$i][] = array(
- 'text' => $priceData['label'],
- 'feed' => $feedPrice,
- 'align' => 'right'
- );
- // draw Subtotal label
- $lines[$i][] = array(
- 'text' => $priceData['label'],
- 'feed' => $feedSubtotal,
- 'align' => 'right'
- );
- $i++;
- }
- // draw Price
- $lines[$i][] = array(
- 'text' => $priceData['price'],
- 'feed' => $feedPrice,
- 'font' => 'bold',
- 'align' => 'right'
- );
- // draw Subtotal
- $lines[$i][] = array(
- 'text' => $priceData['subtotal'],
- 'feed' => $feedSubtotal,
- 'font' => 'bold',
- 'align' => 'right'
- );
- $i++;
- }
- // draw Tax
- $lines[0][] = array(
- 'text' => $order->formatPriceTxt($item->getTaxAmount()),
- 'feed' => 495,
- 'font' => 'bold',
- 'align' => 'right'
- );
- // custom options
- $options = $this->getItemOptions();
- if ($options) {
- foreach ($options as $option) {
- // draw options label
- $lines[][] = array(
- 'text' => Mage::helper('core/string')->str_split(strip_tags($option['label']), 40, true, true),
- 'font' => 'italic',
- 'feed' => 35
- );
- if ($option['value']) {
- if (isset($option['print_value'])) {
- $_printValue = $option['print_value'];
- } else {
- $_printValue = strip_tags($option['value']);
- }
- $values = explode(', ', $_printValue);
- foreach ($values as $value) {
- $lines[][] = array(
- 'text' => Mage::helper('core/string')->str_split($value, 30, true, true),
- 'feed' => 40
- );
- }
- }
- }
- }
- // downloadable Items
- $_purchasedItems = $this->getLinks()->getPurchasedItems();
- // draw Links title
- $lines[][] = array(
- 'text' => Mage::helper('core/string')->str_split($this->getLinksTitle(), 70, true, true),
- 'font' => 'italic',
- 'feed' => 35
- );
- // draw Links
- foreach ($_purchasedItems as $_link) {
- $lines[][] = array(
- 'text' => Mage::helper('core/string')->str_split($_link->getLinkTitle(), 50, true, true),
- 'feed' => 40
- );
- }
- $lineBlock = array(
- 'lines' => $lines,
- 'height' => 20
- );
- $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
- $this->setPage($page);
- }
- }