From e4c2e35d16d5fd770ccd167570b30e214d09a988 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Thu, 20 Nov 2014 09:31:04 +0100 Subject: [PATCH 001/121] [+BUGFIX] set font for edit_page event, fixes #184 --- src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php index 9f68a00..39f88cf 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php @@ -734,6 +734,9 @@ public function newPage(array $settings = array()) $this->_addFooter($page, Mage::app()->getStore()); + // set the font because it may not be set, see https://github.com/firegento/firegento-pdf/issues/184 + $this->_setFontRegular($page, 9); + // provide the possibility to add random stuff to the page Mage::dispatchEvent( 'firegento_pdf_' . $this->getMode() . '_edit_page', From 8e75af8bf4a8bb07d18bd4aa6332b5de29d342f1 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Sat, 6 Dec 2014 11:54:28 +0100 Subject: [PATCH 002/121] [~TASK] renamed Standard Germany to Standard FireGento --- .../Pdf/Model/System/Config/Source/Creditmemo/Engine.php | 2 +- .../FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php | 2 +- .../Pdf/Model/System/Config/Source/Shipment/Engine.php | 2 +- src/app/locale/de_AT/FireGento_Pdf.csv | 1 - src/app/locale/de_CH/FireGento_Pdf.csv | 2 +- src/app/locale/de_DE/FireGento_Pdf.csv | 2 +- src/app/locale/nl_NL/FireGento_Pdf.csv | 2 +- 7 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php index 84d3ba5..0ad59cc 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php @@ -49,7 +49,7 @@ public function toOptionArray() // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( '' => Mage::helper('firegento_pdf')->__('Standard Magento'), - 'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard Germany') + 'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard FireGento') ); // load additional engines provided by third party extensions diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php index 62f76b7..ce24fb3 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php @@ -49,7 +49,7 @@ public function toOptionArray() // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( '' => Mage::helper('firegento_pdf')->__('Standard Magento'), - 'firegento_pdf/engine_invoice_default' => Mage::helper('firegento_pdf')->__('Standard Germany') + 'firegento_pdf/engine_invoice_default' => Mage::helper('firegento_pdf')->__('Standard FireGento') ); // load additional engines provided by third party extensions diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php index 4f4356e..67fb812 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php @@ -49,7 +49,7 @@ public function toOptionArray() // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( '' => Mage::helper('firegento_pdf')->__('Standard Magento'), - 'firegento_pdf/engine_shipment_default' => Mage::helper('firegento_pdf')->__('Standard Germany') + 'firegento_pdf/engine_shipment_default' => Mage::helper('firegento_pdf')->__('Standard FireGento') ); // load additional engines provided by third party extensions diff --git a/src/app/locale/de_AT/FireGento_Pdf.csv b/src/app/locale/de_AT/FireGento_Pdf.csv index 9c650ea..674c135 100644 --- a/src/app/locale/de_AT/FireGento_Pdf.csv +++ b/src/app/locale/de_AT/FireGento_Pdf.csv @@ -1,2 +1 @@ "VAT-ID","UID" -"Standard Germany","Standard Deutsch" diff --git a/src/app/locale/de_CH/FireGento_Pdf.csv b/src/app/locale/de_CH/FireGento_Pdf.csv index 1bc9820..2e2f563 100644 --- a/src/app/locale/de_CH/FireGento_Pdf.csv +++ b/src/app/locale/de_CH/FireGento_Pdf.csv @@ -58,7 +58,7 @@ "Center","Mittig" "Right","Rechts" "Standard Magento","Standard Magento" -"Standard Germany","Standard Deutschland" +"Standard FireGento","Standard FireGento" "Show Payment Method","Zahlungsart andrucken" "Hide payment method","Nicht andrucken" "Header","Dokumenten-Kopf" diff --git a/src/app/locale/de_DE/FireGento_Pdf.csv b/src/app/locale/de_DE/FireGento_Pdf.csv index 2d83021..a1fbe6a 100644 --- a/src/app/locale/de_DE/FireGento_Pdf.csv +++ b/src/app/locale/de_DE/FireGento_Pdf.csv @@ -58,7 +58,7 @@ "Center","Mittig" "Right","Rechts" "Standard Magento","Standard Magento" -"Standard Germany","Standard Deutschland" +"Standard FireGento","Standard FireGento" "Show Payment Method","Zahlungsart anzeigen" "Hide payment method","Nicht anzeigen" "Header","Dokumenten-Kopf" diff --git a/src/app/locale/nl_NL/FireGento_Pdf.csv b/src/app/locale/nl_NL/FireGento_Pdf.csv index 68fa82f..2d53356 100644 --- a/src/app/locale/nl_NL/FireGento_Pdf.csv +++ b/src/app/locale/nl_NL/FireGento_Pdf.csv @@ -58,7 +58,7 @@ "Center","Midden" "Right","Reechts" "Standard Magento","Standaard Magento" -"Standard Germany","Standaard Duitsland" +"Standard FireGento","Standaard FireGento" "Show Payment Method","Toon betaalmethode" "Hide payment method","Verberg betaalmethode" "Header","Document-header" From 37a9aa63979ebdd797613658157d77dc49266ef1 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Sat, 6 Dec 2014 12:22:05 +0100 Subject: [PATCH 003/121] [~TASK] fixed header comments, fixes #181 --- .../Pdf/Block/Adminhtml/ColumnOrder.php | 6 ++-- .../community/FireGento/Pdf/Helper/Data.php | 12 ++------ .../FireGento/Pdf/Model/Creditmemo.php | 12 ++------ .../FireGento/Pdf/Model/Engine/Abstract.php | 13 ++------ .../Pdf/Model/Engine/Creditmemo/Default.php | 12 ++------ .../Pdf/Model/Engine/Invoice/Default.php | 12 ++------ .../Pdf/Model/Engine/Shipment/Default.php | 13 ++------ .../community/FireGento/Pdf/Model/Invoice.php | 12 ++------ .../FireGento/Pdf/Model/Items/Bundle.php | 12 ++------ .../FireGento/Pdf/Model/Items/Default.php | 12 ++------ .../Pdf/Model/Items/Downloadable.php | 3 +- .../FireGento/Pdf/Model/Items/Grouped.php | 8 ++--- .../Pdf/Model/Items/Shipment/Bundle.php | 10 ++----- .../Pdf/Model/Items/Shipment/Default.php | 12 ++------ .../FireGento/Pdf/Model/Observer.php | 12 ++------ .../FireGento/Pdf/Model/Shipment.php | 12 ++------ .../Pdf/Model/System/Config/Backend/Font.php | 3 +- .../Config/Source/Creditmemo/Engine.php | 12 ++------ .../System/Config/Source/Headerblocks.php | 12 ++------ .../System/Config/Source/Invoice/Engine.php | 12 ++------ .../Pdf/Model/System/Config/Source/Logo.php | 12 ++------ .../Model/System/Config/Source/Payment.php | 12 ++------ .../System/Config/Source/Shipment/Engine.php | 12 ++------ .../Model/System/Config/Source/Shipping.php | 12 ++------ .../Pdf/Model/Tax/Sales/Pdf/Grandtotal.php | 10 ++----- .../Pdf/Test/Model/CreditmemoTest.php | 30 +++++++++++++++++-- .../FireGento/Pdf/Test/Model/InvoiceTest.php | 30 +++++++++++++++++-- .../Test/Model/SalesObjectTestAbstract.php | 30 +++++++++++++++++-- .../FireGento/Pdf/Test/Model/ShipmentTest.php | 30 +++++++++++++++++-- .../Sales/Order/CreditmemoController.php | 3 +- .../Sales/Order/InvoiceController.php | 2 +- .../Sales/Order/ShipmentController.php | 2 +- .../Pdf/controllers/Sales/OrderController.php | 12 ++------ .../community/FireGento/Pdf/etc/config.xml | 19 ++++++++++++ .../community/FireGento/Pdf/etc/system.xml | 10 ++----- .../upgrade-1.0.0-1.1.0.php | 8 ++--- src/app/etc/modules/FireGento_Pdf.xml | 19 ++++++++++++ 37 files changed, 229 insertions(+), 236 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php b/src/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php index 04a0c7d..69e39e5 100644 --- a/src/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php +++ b/src/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php @@ -15,17 +15,15 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ /** - * Firegento + * Block which enables the user to change the column order in the admin via drag & drop. * * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ class Firegento_Pdf_Block_Adminhtml_ColumnOrder extends Mage_Adminhtml_Block_System_Config_Form_Field diff --git a/src/app/code/community/FireGento/Pdf/Helper/Data.php b/src/app/code/community/FireGento/Pdf/Helper/Data.php index e8621f0..babface 100644 --- a/src/app/code/community/FireGento/Pdf/Helper/Data.php +++ b/src/app/code/community/FireGento/Pdf/Helper/Data.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** @@ -27,10 +25,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Helper_Data extends Mage_Core_Helper_Abstract { diff --git a/src/app/code/community/FireGento/Pdf/Model/Creditmemo.php b/src/app/code/community/FireGento/Pdf/Model/Creditmemo.php index bd6dfc0..ec2cde4 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Creditmemo.php +++ b/src/app/code/community/FireGento/Pdf/Model/Creditmemo.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Creditmemo model rewrite. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Creditmemo { diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php index 39f88cf..89276dd 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ - /** * Abstract pdf model. * * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ abstract class FireGento_Pdf_Model_Engine_Abstract extends Mage_Sales_Model_Order_Pdf_Abstract diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php index f8e331c..266cfb4 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Creditmemo model rewrite. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Engine_Creditmemo_Default extends FireGento_Pdf_Model_Engine_Abstract { diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php index a953fa5..29a310a 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Default invoice rendering engine. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Engine_Invoice_Default extends FireGento_Pdf_Model_Engine_Abstract { diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php index fa030c8..63eacd3 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ - /** * Shipment model rewrite. * * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Engine_Shipment_Default extends FireGento_Pdf_Model_Engine_Abstract diff --git a/src/app/code/community/FireGento/Pdf/Model/Invoice.php b/src/app/code/community/FireGento/Pdf/Model/Invoice.php index 7aff126..ff7df16 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Invoice.php +++ b/src/app/code/community/FireGento/Pdf/Model/Invoice.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Invoice model rewrite. @@ -29,10 +27,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Invoice { diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php b/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php index eb2a25e..7d04615 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Bundle item model rewrite. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Items_Bundle extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice { diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Default.php b/src/app/code/community/FireGento/Pdf/Model/Items/Default.php index aa6ba26..fdaafda 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Default.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Default item model rewrite. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Items_Default extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Default { diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php b/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php index ebb73f2..0b8b008 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php @@ -15,10 +15,9 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ - /** * Class FireGento_Pdf_Model_Items_Downloadable * diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Grouped.php b/src/app/code/community/FireGento/Pdf/Model/Items/Grouped.php index edf8dcb..f637faf 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Grouped.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Grouped.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ /** @@ -24,8 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ class FireGento_Pdf_Model_Items_Grouped extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped { diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php index 8a33561..1cc5697 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ /** @@ -24,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Items_Shipment_Bundle extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Shipment { diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php index e8edfbd..81d3405 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Shipment default item model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Items_Shipment_Default extends Mage_Sales_Model_Order_Pdf_Items_Shipment_Default { diff --git a/src/app/code/community/FireGento/Pdf/Model/Observer.php b/src/app/code/community/FireGento/Pdf/Model/Observer.php index 9494668..4f46075 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Observer.php +++ b/src/app/code/community/FireGento/Pdf/Model/Observer.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * FireGento Pdf observer. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Observer { diff --git a/src/app/code/community/FireGento/Pdf/Model/Shipment.php b/src/app/code/community/FireGento/Pdf/Model/Shipment.php index 6b2f749..f129124 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Shipment.php +++ b/src/app/code/community/FireGento/Pdf/Model/Shipment.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Shipment model rewrite. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Shipment { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php index fba2ee6..8af4f3a 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php @@ -15,10 +15,9 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ - /** * Class FireGento_Pdf_Model_System_Config_Backend_Font * diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php index 0ad59cc..df16c56 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Pdf creation engine source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php index ff49ede..3d75b61 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Logo position source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Headerblocks { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php index ce24fb3..bbfde4f 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Pdf creation engine source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Invoice_Engine { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php index ce91a48..23548f2 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Logo position source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Logo { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php index 1069ee7..2f4a419 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Payment method position source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Payment { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php index 67fb812..1bce9fc 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Pdf creation engine source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Shipment_Engine { diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php index d8329b5..fcc7264 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /** * Shipping method position source model. @@ -26,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_System_Config_Source_Shipping { diff --git a/src/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php b/src/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php index 87f2ac3..b244785 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php +++ b/src/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ /** @@ -24,10 +24,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal extends Mage_Tax_Model_Sales_Pdf_Grandtotal { diff --git a/src/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php b/src/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php index 07c9d97..a888465 100644 --- a/src/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php +++ b/src/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php @@ -1,6 +1,30 @@ + * @copyright 2014 FireGento Team (http://www.firegento.com) + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + */ +/** + * Test class for creditmemos. + * + * @category FireGento + * @package FireGento_Pdf + * @author FireGento Team + */ class FireGento_Pdf_Test_Model_CreditmemoTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract { protected $class = 'FireGento_Pdf_Model_Creditmemo'; @@ -19,4 +43,4 @@ public function getOrderObjectClassName() { return 'Mage_Sales_Model_Order_Creditmemo'; } -} \ No newline at end of file +} diff --git a/src/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php b/src/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php index 1f0f474..4d6cdf4 100644 --- a/src/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php +++ b/src/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php @@ -1,6 +1,30 @@ + * @copyright 2014 FireGento Team (http://www.firegento.com) + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + */ +/** + * Test class for invoices. + * + * @category FireGento + * @package FireGento_Pdf + * @author FireGento Team + */ class FireGento_Pdf_Test_Model_InvoiceTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract { protected $class = 'FireGento_Pdf_Model_Invoice'; @@ -19,4 +43,4 @@ public function getOrderObjectClassName() { return 'Mage_Sales_Model_Order_Invoice'; } -} \ No newline at end of file +} diff --git a/src/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php b/src/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php index 929f132..c854d8d 100644 --- a/src/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php +++ b/src/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php @@ -1,6 +1,30 @@ + * @copyright 2014 FireGento Team (http://www.firegento.com) + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + */ +/** + * Abstract test class for the different engines. + * + * @category FireGento + * @package FireGento_Pdf + * @author FireGento Team + */ abstract class FireGento_Pdf_Test_Model_SalesObjectTestAbstract extends EcomDev_PHPUnit_Test_Case { @@ -109,4 +133,4 @@ protected function callMethod($object, $method, array $args = null) return $method->invoke($object); } } -} \ No newline at end of file +} diff --git a/src/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php b/src/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php index d8eb920..74e8f28 100644 --- a/src/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php +++ b/src/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php @@ -1,6 +1,30 @@ + * @copyright 2014 FireGento Team (http://www.firegento.com) + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + */ +/** + * Test class for shipments. + * + * @category FireGento + * @package FireGento_Pdf + * @author FireGento Team + */ class FireGento_Pdf_Test_Model_ShipmentTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract { protected $class = 'FireGento_Pdf_Model_Shipment'; @@ -19,4 +43,4 @@ public function getOrderObjectClassName() { return 'Mage_Sales_Model_Order_Shipment'; } -} \ No newline at end of file +} diff --git a/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php b/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php index 2e02a6e..2c72c8f 100644 --- a/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php +++ b/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php @@ -15,9 +15,10 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ + require('Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php'); /** diff --git a/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php b/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php index bd54705..0ede99f 100644 --- a/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php +++ b/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php @@ -15,7 +15,7 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ diff --git a/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php b/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php index d813749..eaf67cf 100644 --- a/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php +++ b/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php @@ -15,7 +15,7 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) */ diff --git a/src/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php b/src/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php index 57dc483..3e7e8c2 100644 --- a/src/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php +++ b/src/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ require_once 'Mage/Sales/controllers/OrderController.php'; @@ -29,10 +27,6 @@ * @category FireGento * @package FireGento_Pdf * @author FireGento Team - * @copyright 2013 FireGento Team (http://www.firegento.com) - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ class FireGento_Pdf_Sales_OrderController extends Mage_Sales_OrderController { diff --git a/src/app/code/community/FireGento/Pdf/etc/config.xml b/src/app/code/community/FireGento/Pdf/etc/config.xml index 23529af..093a721 100644 --- a/src/app/code/community/FireGento/Pdf/etc/config.xml +++ b/src/app/code/community/FireGento/Pdf/etc/config.xml @@ -1,4 +1,23 @@ + diff --git a/src/app/code/community/FireGento/Pdf/etc/system.xml b/src/app/code/community/FireGento/Pdf/etc/system.xml index 8abcd32..8e9a3db 100644 --- a/src/app/code/community/FireGento/Pdf/etc/system.xml +++ b/src/app/code/community/FireGento/Pdf/etc/system.xml @@ -1,9 +1,9 @@ diff --git a/src/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php b/src/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php index 324a0c7..80ef058 100644 --- a/src/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php +++ b/src/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php @@ -1,8 +1,8 @@ - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - * @since 0.1.0 */ /* @var $this Mage_Eav_Model_Entity_Setup */ diff --git a/src/app/etc/modules/FireGento_Pdf.xml b/src/app/etc/modules/FireGento_Pdf.xml index c872abd..cb66641 100644 --- a/src/app/etc/modules/FireGento_Pdf.xml +++ b/src/app/etc/modules/FireGento_Pdf.xml @@ -1,4 +1,23 @@ + From de126bcf41d5cb8048ae90276acfc2541b551b7a Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 8 Dec 2014 08:12:33 +0100 Subject: [PATCH 004/121] [~BUGFIX] also print options with 0 as a value, fixes #192 --- src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php | 2 +- src/app/code/community/FireGento/Pdf/Model/Items/Default.php | 2 +- .../code/community/FireGento/Pdf/Model/Items/Downloadable.php | 2 +- .../community/FireGento/Pdf/Model/Items/Shipment/Bundle.php | 2 +- .../community/FireGento/Pdf/Model/Items/Shipment/Default.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php b/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php index 7d04615..2e57b07 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php @@ -211,7 +211,7 @@ public function draw($position = 1) 'feed' => 35 ); - if ($option['value']) { + if (isset($option['value'])) { $text = array(); $_printValue = isset($option['print_value']) ? $option['print_value'] diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Default.php b/src/app/code/community/FireGento/Pdf/Model/Items/Default.php index fdaafda..1613d39 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Default.php @@ -73,7 +73,7 @@ public function draw($position = 1) foreach ($options as $option) { $optionTxt = $option['label'] . ': '; // append option value - if ($option['value']) { + if (isset($option['value'])) { $optionTxt .= isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']); } $optionArray = $pdf->_prepareText($optionTxt, $page, $pdf->getFontRegular(), $fontSize, 215); diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php b/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php index 0b8b008..e0a2e36 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php @@ -76,7 +76,7 @@ public function draw($position = 1) foreach ($options as $option) { $optionTxt = $option['label'] . ': '; // append option value - if ($option['value']) { + if (isset($option['value'])) { $optionTxt .= isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']); } diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php index 1cc5697..ae35dc6 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php @@ -148,7 +148,7 @@ public function draw() 'feed' => 60 ); - if ($option['value']) { + if (isset($option['value'])) { $text = array(); $_printValue = isset($option['print_value']) ? $option['print_value'] diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php index 81d3405..ea8612b 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php @@ -78,7 +78,7 @@ public function draw() ); // draw options value - if ($option['value']) { + if (isset($option['value'])) { $_printVal = isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']); $values = explode(', ', $_printVal); foreach ($values as $value) { From 553a608f271252b22cdfb530111ba4093a5588c1 Mon Sep 17 00:00:00 2001 From: Sascha Michalski Date: Sat, 24 Jan 2015 19:35:09 +0100 Subject: [PATCH 005/121] using firegento pdf creation engine as default --- .../Pdf/Model/System/Config/Source/Creditmemo/Engine.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php index 84d3ba5..3fe7409 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php @@ -48,8 +48,8 @@ public function toOptionArray() { // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( - '' => Mage::helper('firegento_pdf')->__('Standard Magento'), - 'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard Germany') + 'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard Germany'), + '' => Mage::helper('firegento_pdf')->__('Standard Magento'), ); // load additional engines provided by third party extensions From 57b999e23050cd3c874f268b91dfe66d358280f9 Mon Sep 17 00:00:00 2001 From: Sascha Michalski Date: Sat, 24 Jan 2015 19:51:02 +0100 Subject: [PATCH 006/121] using firegento pdf creation engine as default --- .../Pdf/Model/System/Config/Source/Creditmemo/Engine.php | 4 ++-- .../Pdf/Model/System/Config/Source/Invoice/Engine.php | 4 ++-- .../Pdf/Model/System/Config/Source/Shipment/Engine.php | 4 ++-- src/app/code/community/FireGento/Pdf/etc/config.xml | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php index 3fe7409..308f733 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php @@ -48,8 +48,8 @@ public function toOptionArray() { // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( - 'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard Germany'), - '' => Mage::helper('firegento_pdf')->__('Standard Magento'), + 'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard Germany'), + '' => Mage::helper('firegento_pdf')->__('Standard Magento'), ); // load additional engines provided by third party extensions diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php index 62f76b7..f2d0f11 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php @@ -48,8 +48,8 @@ public function toOptionArray() { // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( - '' => Mage::helper('firegento_pdf')->__('Standard Magento'), - 'firegento_pdf/engine_invoice_default' => Mage::helper('firegento_pdf')->__('Standard Germany') + 'firegento_pdf/engine_invoice_default' => Mage::helper('firegento_pdf')->__('Standard Germany'), + '' => Mage::helper('firegento_pdf')->__('Standard Magento'), ); // load additional engines provided by third party extensions diff --git a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php index 4f4356e..795d664 100644 --- a/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php +++ b/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php @@ -48,8 +48,8 @@ public function toOptionArray() { // load default engines shipped with Mage_Sales and FireGento_Pdf $engines = array( - '' => Mage::helper('firegento_pdf')->__('Standard Magento'), - 'firegento_pdf/engine_shipment_default' => Mage::helper('firegento_pdf')->__('Standard Germany') + 'firegento_pdf/engine_shipment_default' => Mage::helper('firegento_pdf')->__('Standard Germany'), + '' => Mage::helper('firegento_pdf')->__('Standard Magento'), ); // load additional engines provided by third party extensions diff --git a/src/app/code/community/FireGento/Pdf/etc/config.xml b/src/app/code/community/FireGento/Pdf/etc/config.xml index 67951e9..5585490 100644 --- a/src/app/code/community/FireGento/Pdf/etc/config.xml +++ b/src/app/code/community/FireGento/Pdf/etc/config.xml @@ -116,7 +116,7 @@ - + firegento_pdf/engine_shipment_default 1 0 @@ -128,14 +128,14 @@ 0 - + firegento_pdf/engine_shipment_default 1 0 - + firegento_pdf/engine_shipment_default 1 From 842126677d038f046667aaefef013f573b186be4 Mon Sep 17 00:00:00 2001 From: Sascha Michalski Date: Sat, 24 Jan 2015 20:07:48 +0100 Subject: [PATCH 007/121] bugfix engine names --- src/app/code/community/FireGento/Pdf/etc/config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/etc/config.xml b/src/app/code/community/FireGento/Pdf/etc/config.xml index 5585490..2ce917a 100644 --- a/src/app/code/community/FireGento/Pdf/etc/config.xml +++ b/src/app/code/community/FireGento/Pdf/etc/config.xml @@ -116,7 +116,7 @@ - firegento_pdf/engine_shipment_default + firegento_pdf/engine_invoice_default 1 0 @@ -135,7 +135,7 @@ 0 - firegento_pdf/engine_shipment_default + firegento_pdf/engine_creditmemo_default 1 From 6b93d3c06473aad38ff7563af9b739306a7c5718 Mon Sep 17 00:00:00 2001 From: Andre Herrn Date: Thu, 10 Jul 2014 13:07:53 +0200 Subject: [PATCH 008/121] CASAMAGE-60: Added french language file --- modman | 1 + src/app/locale/fr_FR/FireGento_Pdf.csv | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/app/locale/fr_FR/FireGento_Pdf.csv diff --git a/modman b/modman index 7c60b2a..ac7b98b 100644 --- a/modman +++ b/modman @@ -3,3 +3,4 @@ src/app/etc/modules/FireGento_Pdf.xml app/etc/modules/FireGento_Pdf.xml src/app/locale/de_DE/* app/locale/de_DE/ src/app/locale/de_AT/* app/locale/de_AT/ src/app/locale/nl_NL/* app/locale/nl_NL/ +src/app/locale/fr_FR/* app/locale/nl_NL/ \ No newline at end of file diff --git a/src/app/locale/fr_FR/FireGento_Pdf.csv b/src/app/locale/fr_FR/FireGento_Pdf.csv new file mode 100644 index 0000000..669d332 --- /dev/null +++ b/src/app/locale/fr_FR/FireGento_Pdf.csv @@ -0,0 +1,17 @@ +"Billing address","Adresse de facturation" +"Shipping address","Adresse de livraison" +"Invoice number:","Facture n° :" +"Order number:","Commande n° :" +"Customer number:","N° client :" +"Invoice date:","Date de commande :" +"Facturer","Facture" +"No.","N°" +"Price (incl. tax)","Prix TTC" +"Tax item","TVA" +"Total (incl. tax)","Total" +"Tax","Montant TVA total" +"Tax Section","Montant TVA total" +"Mage_Sales::Tax","Montant TVA total" +"Mage_Sales::Tax Section","Montant TVA total" +"Payment method: %s","Mode de paiement: %s" +"Shipping method: %s","Mode de livraison: %s" From 69d9fb1224cb734506e2b06151d81bf5e18d4e59 Mon Sep 17 00:00:00 2001 From: Johannes Klein Date: Mon, 26 Jan 2015 09:45:23 +0100 Subject: [PATCH 009/121] Copy/Paste Bug --- modman | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modman b/modman index ac7b98b..eae0a9f 100644 --- a/modman +++ b/modman @@ -3,4 +3,4 @@ src/app/etc/modules/FireGento_Pdf.xml app/etc/modules/FireGento_Pdf.xml src/app/locale/de_DE/* app/locale/de_DE/ src/app/locale/de_AT/* app/locale/de_AT/ src/app/locale/nl_NL/* app/locale/nl_NL/ -src/app/locale/fr_FR/* app/locale/nl_NL/ \ No newline at end of file +src/app/locale/fr_FR/* app/locale/fr_FR/ From 8a7419d786efcb31d698a29621a571b19775df6d Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Tue, 3 Feb 2015 14:02:02 +0100 Subject: [PATCH 010/121] [+FEATURE] possibility to show shipment and creditmemo comments, fixes #212 --- .../FireGento/Pdf/Model/Observer.php | 94 ++++++++++++++++++- .../community/FireGento/Pdf/etc/config.xml | 10 +- .../community/FireGento/Pdf/etc/system.xml | 18 ++++ src/app/locale/de_DE/FireGento_Pdf.csv | 2 + 4 files changed, 122 insertions(+), 2 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Observer.php b/src/app/code/community/FireGento/Pdf/Model/Observer.php index 4f46075..6fb9efe 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Observer.php +++ b/src/app/code/community/FireGento/Pdf/Model/Observer.php @@ -144,7 +144,6 @@ public function addShippingMethod(Varien_Event_Observer $observer) return $this; } - /** * Add the invoice comments * @@ -177,6 +176,99 @@ public function addInvoiceComments(Varien_Event_Observer $observer) return $this; } + /** + * Add notes to shipment document. + * + * @param Varien_Event_Observer $observer observer object + * + * @return FireGento_Pdf_Model_Observer + */ + public function addShipmentNotes(Varien_Event_Observer $observer) + { + $this->addShippingMethod($observer); + $this->addShipmentComments($observer); + + return $this; + } + + /** + * Add the shipment comments + * + * @param Varien_Event_Observer $observer observer object + * + * @return FireGento_Pdf_Model_Observer + */ + public function addShipmentComments(Varien_Event_Observer $observer) + { + if (!Mage::getStoreConfigFlag('sales_pdf/shipment/show_comments')) { + return $this; + } + + /** @var Mage_Sales_Model_Order_Shipment $shipment */ + $shipment = $observer->getShipment(); + + /** @var Mage_Sales_Model_Resource_Order_Shipment_Comment_Collection $commentsCollection */ + $commentsCollection = $shipment->getCommentsCollection(); + $commentsCollection->addVisibleOnFrontFilter(); + + $result = $observer->getResult(); + $notes = $result->getNotes(); + + foreach ($commentsCollection as $comment) { + /** @var $comment Mage_Sales_Model_Order_Shipment_Comment */ + $notes[] = $comment->getComment(); + } + + $result->setNotes($notes); + return $this; + } + + /** + * Add notes to credit memo document. + * + * @param Varien_Event_Observer $observer observer object + * + * @return FireGento_Pdf_Model_Observer + */ + public function addCreditmemoNotes(Varien_Event_Observer $observer) + { + $this->addCreditmemoComments($observer); + + return $this; + } + + /** + * Add the credit memo comments + * + * @param Varien_Event_Observer $observer observer object + * + * @return FireGento_Pdf_Model_Observer + */ + public function addCreditmemoComments(Varien_Event_Observer $observer) + { + if (!Mage::getStoreConfigFlag('sales_pdf/creditmemo/show_comments')) { + return $this; + } + + /** @var Mage_Sales_Model_Order_Creditmemo $creditmemo */ + $creditmemo = $observer->getCreditmemo(); + + /** @var Mage_Sales_Model_Resource_Order_Creditmemo_Comment_Collection $commentsCollection */ + $commentsCollection = $creditmemo->getCommentsCollection(); + $commentsCollection->addVisibleOnFrontFilter(); + + $result = $observer->getResult(); + $notes = $result->getNotes(); + + foreach ($commentsCollection as $comment) { + /** @var $comment Mage_Sales_Model_Order_Creditmemo_Comment */ + $notes[] = $comment->getComment(); + } + + $result->setNotes($notes); + return $this; + } + /** * Adds a barcode representing the order number to the shipment if activated. * diff --git a/src/app/code/community/FireGento/Pdf/etc/config.xml b/src/app/code/community/FireGento/Pdf/etc/config.xml index b973470..e3e5f79 100644 --- a/src/app/code/community/FireGento/Pdf/etc/config.xml +++ b/src/app/code/community/FireGento/Pdf/etc/config.xml @@ -72,10 +72,18 @@ firegento_pdf/observer - addShippingMethod + addShipmentNotes + + + + firegento_pdf/observer + addCreditmemoNotes + + + diff --git a/src/app/code/community/FireGento/Pdf/etc/system.xml b/src/app/code/community/FireGento/Pdf/etc/system.xml index 8e9a3db..a6cc782 100644 --- a/src/app/code/community/FireGento/Pdf/etc/system.xml +++ b/src/app/code/community/FireGento/Pdf/etc/system.xml @@ -185,6 +185,15 @@ 1 Position of shipping method on shipment. + + + select + adminhtml/system_config_source_yesno + 60 + 1 + 1 + 1 + textarea @@ -236,6 +245,15 @@ 1 1 + + + select + adminhtml/system_config_source_yesno + 60 + 1 + 1 + 1 + textarea diff --git a/src/app/locale/de_DE/FireGento_Pdf.csv b/src/app/locale/de_DE/FireGento_Pdf.csv index a1fbe6a..b2b3f7b 100644 --- a/src/app/locale/de_DE/FireGento_Pdf.csv +++ b/src/app/locale/de_DE/FireGento_Pdf.csv @@ -70,6 +70,8 @@ "Position of shipping method on shipment.","Position der Versandart auf dem Lieferschein." "not to be listed","nicht aufzulisten" "Show Invoice Comments","Rechnungskommentare anzeigen" +"Show Shipment Comments","Lieferscheinkommentare anzeigen" +"Show Credit Memo Comments","Gutschriftenkommentare anzeigen" "Show Item Discount","Rabatt auf Artikelebene anzeigen" "You get a discount of %s.","Sie erhalten einen Rabatt von %s." "Tax amount","Steuerbetrag" From 143393ac3227dd74a292e03839c1e9d3ed4349d3 Mon Sep 17 00:00:00 2001 From: Matthias Niess Date: Tue, 17 Feb 2015 18:07:51 +0100 Subject: [PATCH 011/121] reduce barcode size --- src/app/code/community/FireGento/Pdf/Model/Observer.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Observer.php b/src/app/code/community/FireGento/Pdf/Model/Observer.php index 6fb9efe..604d238 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Observer.php +++ b/src/app/code/community/FireGento/Pdf/Model/Observer.php @@ -287,11 +287,12 @@ public function addBarcode(Varien_Event_Observer $observer) $barcodeConfig = array( 'drawText' => false, 'orientation' => 90, + 'barHeight' => 25, 'text' => $order->getIncrementId() ); $rendererConfig = array( 'verticalPosition' => 'middle', - 'moduleSize' => 0.9 + 'moduleSize' => 1 ); // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in // Zend_Barcode_Renderer_Pdf->setResource() From 05509d436ec2239ba3fb36dd4af6f4c806da985c Mon Sep 17 00:00:00 2001 From: Matthias Niess Date: Wed, 18 Feb 2015 16:19:52 +0100 Subject: [PATCH 012/121] add option to display barcode on invoice --- .../FireGento/Pdf/Model/Observer.php | 35 +++++++++++++++++-- .../community/FireGento/Pdf/etc/config.xml | 11 +++++- .../community/FireGento/Pdf/etc/system.xml | 10 ++++++ 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Observer.php b/src/app/code/community/FireGento/Pdf/Model/Observer.php index 604d238..a5724d6 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Observer.php +++ b/src/app/code/community/FireGento/Pdf/Model/Observer.php @@ -270,17 +270,46 @@ public function addCreditmemoComments(Varien_Event_Observer $observer) } /** - * Adds a barcode representing the order number to the shipment if activated. + * Adds a barcode representing the order number to the invoice if activated * - * @param Varien_Event_Observer $observer observer which is passed by magento + * @param Varien_Event_Observer $observer observer which is passed by magento + * + * @return FireGento_Pdf_Model_Observer + */ + public function addInvoiceBarcode(Varien_Event_Observer $observer) + { + if (!Mage::getStoreConfigFlag('sales_pdf/invoice/order_id_as_barcode')) { + return $this; + } + + return $this->addBarcode($observer); + } + + /** + * Adds a barcode representing the order number to the shipment if activated + * + * @param Varien_Event_Observer $observer observer which is passed by magento * * @return FireGento_Pdf_Model_Observer */ - public function addBarcode(Varien_Event_Observer $observer) + public function addShipmentBarcode(Varien_Event_Observer $observer) { if (!Mage::getStoreConfigFlag('sales_pdf/shipment/order_id_as_barcode')) { return $this; } + + return $this->addBarcode($observer); + } + + /** + * Adds a barcode representing the order number to a PDF + * + * @param Varien_Event_Observer $observer observer which is passed by magento + * + * @return FireGento_Pdf_Model_Observer + */ + protected function addBarcode(Varien_Event_Observer $observer) + { $page = $observer->getPage(); $order = $observer->getOrder(); diff --git a/src/app/code/community/FireGento/Pdf/etc/config.xml b/src/app/code/community/FireGento/Pdf/etc/config.xml index e3e5f79..80d6dcf 100644 --- a/src/app/code/community/FireGento/Pdf/etc/config.xml +++ b/src/app/code/community/FireGento/Pdf/etc/config.xml @@ -84,11 +84,19 @@ + + + + firegento_pdf/observer + addInvoiceBarcode + + + firegento_pdf/observer - addBarcode + addShipmentBarcode @@ -167,6 +175,7 @@ price_incl_tax,qty,tax,subtotal_incl_tax 0 + 0 firegento_pdf/engine_shipment_default diff --git a/src/app/code/community/FireGento/Pdf/etc/system.xml b/src/app/code/community/FireGento/Pdf/etc/system.xml index a6cc782..cd321f2 100644 --- a/src/app/code/community/FireGento/Pdf/etc/system.xml +++ b/src/app/code/community/FireGento/Pdf/etc/system.xml @@ -143,6 +143,16 @@ 1 1 + + + select + adminhtml/system_config_source_yesno + 100 + 1 + 1 + 1 + Prints the order ID as a barcode on the right hand side. + text From 5e1c7119115b6906c9457e64d5178118ced18418 Mon Sep 17 00:00:00 2001 From: Matthias Niess Date: Wed, 18 Feb 2015 17:09:47 +0100 Subject: [PATCH 013/121] reposition barcode for better reach --- src/app/code/community/FireGento/Pdf/Model/Observer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Observer.php b/src/app/code/community/FireGento/Pdf/Model/Observer.php index a5724d6..ad83a44 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Observer.php +++ b/src/app/code/community/FireGento/Pdf/Model/Observer.php @@ -320,7 +320,7 @@ protected function addBarcode(Varien_Event_Observer $observer) 'text' => $order->getIncrementId() ); $rendererConfig = array( - 'verticalPosition' => 'middle', + 'verticalPosition' => 'top', 'moduleSize' => 1 ); // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in From cdeffaff471d51d0e79690895abb526d4523e6e1 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Wed, 18 Feb 2015 19:39:47 +0100 Subject: [PATCH 014/121] [~BUGFIX] fixed PDF filesize when using bundle products, fixes #210 --- src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php | 1 - .../community/FireGento/Pdf/Model/Items/Shipment/Bundle.php | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php b/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php index 2e57b07..f43b283 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php @@ -43,7 +43,6 @@ public function draw($position = 1) $fontSize = 9; - $this->_setFontRegular(); $items = $this->getChilds($item); $_prevOptionId = ''; diff --git a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php index ae35dc6..aa629d4 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php +++ b/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php @@ -38,8 +38,6 @@ public function draw() $pdf = $this->getPdf(); $page = $this->getPage(); - $this->_setFontRegular(); - $shipItems = $this->getChilds($item); $items = array_merge(array($item->getOrderItem()), $item->getOrderItem()->getChildrenItems()); From 53760b25478b4d7678e8ac2e02e08aea36cb8d9e Mon Sep 17 00:00:00 2001 From: Matthias Niess Date: Fri, 20 Feb 2015 13:16:15 +0100 Subject: [PATCH 015/121] [~BUGFIX] added top margin for barcode --- src/app/code/community/FireGento/Pdf/Model/Observer.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/code/community/FireGento/Pdf/Model/Observer.php b/src/app/code/community/FireGento/Pdf/Model/Observer.php index ad83a44..e4bdc30 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Observer.php +++ b/src/app/code/community/FireGento/Pdf/Model/Observer.php @@ -332,6 +332,7 @@ protected function addBarcode(Varien_Event_Observer $observer) // calculate left offset so that barcode is printed on the right with a little margin $leftOffset = $page->getWidth() - $renderer->getBarcode()->getWidth(true) * $renderer->getModuleSize() - 10; $renderer->setLeftOffset($leftOffset); + $renderer->setTopOffset(50); $renderer->draw(); return $this; } From 8bacac8c86a704f1e45fb14d3ce47ceccde92b7e Mon Sep 17 00:00:00 2001 From: Ole Schaefer Date: Mon, 23 Feb 2015 12:51:37 +0100 Subject: [PATCH 016/121] Removed otf option, fixes #201 --- src/app/code/community/FireGento/Pdf/etc/system.xml | 2 +- src/app/locale/de_DE/FireGento_Pdf.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/etc/system.xml b/src/app/code/community/FireGento/Pdf/etc/system.xml index cd321f2..947b06d 100644 --- a/src/app/code/community/FireGento/Pdf/etc/system.xml +++ b/src/app/code/community/FireGento/Pdf/etc/system.xml @@ -350,7 +350,7 @@ - + adminhtml/system_config_source_yesno select 400 diff --git a/src/app/locale/de_DE/FireGento_Pdf.csv b/src/app/locale/de_DE/FireGento_Pdf.csv index b2b3f7b..0c7ad51 100644 --- a/src/app/locale/de_DE/FireGento_Pdf.csv +++ b/src/app/locale/de_DE/FireGento_Pdf.csv @@ -91,6 +91,6 @@ "Left: Customer address left, Invoice details right. Right: Invoice details left, Customer address right.","Links: Kundenadresse links, Rechnungsdetails rechts. Rechts: Rechnungsdetails links, Kundenadresse rechts" "Show address above shipping/invoice address","Zeige Adresse über Empfängeradresse" "Fonts for PDF Creation","Schriftarten für PDF Erstellung" -"You can upload your own fonts (*.ttf, *.otf) instead of using Zends Helvetica","Sie können eigene Schriften (*.ttf, *.otf) hochladen, statt Zends Helvetica zu benutzen." +"You can upload your own fonts (*.ttf) instead of using Zends Helvetica","Sie können eigene Schriften (*.ttf) hochladen, statt Zends Helvetica zu benutzen." "Registered seat:","Sitz:" "Register court:","Amtsgericht:" From 61ec1e6376702ed86a0648d44bd218094e4dff9b Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Wed, 25 Feb 2015 15:01:59 +0100 Subject: [PATCH 017/121] added configuration screenshot --- firegento-pdf-configuration.png | Bin 0 -> 439100 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 firegento-pdf-configuration.png diff --git a/firegento-pdf-configuration.png b/firegento-pdf-configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0157a1d23c7d9f473e1bbbac51346e60790e51 GIT binary patch literal 439100 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%0DBAY@em)*9z|H^dFj#088lYdTkl2 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⁡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

    b#h>vwiMjjeUGfkL;1hBHQ(qF*w6X3t~62G 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

    8@9^EQz>7NC|S)=Z!CB>XRyR?;0M& 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�-o6|vT86P(qh`9;ZM(kAYLx_N->nXQ7 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

    -

    FireGento_Pdf_Model_Engine_Abstract::_insertSenderAddessBar

    +

    FireGento_Pdf_Model_Engine_Abstract::_insertSenderAddressBar

    Insert sender address bar

      Signature

      - protected function _insertSenderAddessBar(& + protected function _insertSenderAddressBar(& $page )
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml index c467f96..c15a755 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml @@ -91,7 +91,7 @@
    • public FireGento_Pdf_Model_Engine_Abstract setMode()
    • public string getMode()
    • protected void Ln() -
    • protected void _insertSenderAddessBar() +
    • protected void _insertSenderAddressBar()
    • protected void insertLogo()
    • protected bool _isLogoFullWidth()
    • protected void _insertLogoPositioned() @@ -214,7 +214,7 @@ — Insert Notes
    • _insertPageCounter() — Insert page counter
    • -
    • _insertSenderAddessBar() +
    • _insertSenderAddressBar() — Insert sender address bar
    • _isLogoFullWidth() — is the setting to show the logo full width?
    • diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml index 2b75e0e..68f7396 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml @@ -91,7 +91,7 @@
    • public FireGento_Pdf_Model_Engine_Abstract setMode()
    • public string getMode()
    • protected void Ln() -
    • protected void _insertSenderAddessBar() +
    • protected void _insertSenderAddressBar()
    • protected void insertLogo()
    • protected bool _isLogoFullWidth()
    • protected void _insertLogoPositioned() @@ -214,7 +214,7 @@ — Insert Notes
    • _insertPageCounter() — Insert page counter
    • -
    • _insertSenderAddessBar() +
    • _insertSenderAddressBar() — Insert sender address bar
    • _isLogoFullWidth() — is the setting to show the logo full width?
    • diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml index edac693..3dc2270 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml @@ -93,7 +93,7 @@
    • public FireGento_Pdf_Model_Engine_Abstract setMode()
    • public string getMode()
    • protected void Ln() -
    • protected void _insertSenderAddessBar() +
    • protected void _insertSenderAddressBar()
    • protected void insertLogo()
    • protected bool _isLogoFullWidth()
    • protected void _insertLogoPositioned() @@ -220,7 +220,7 @@ — Insert Notes
    • _insertPageCounter() — Insert page counter
    • -
    • _insertSenderAddessBar() +
    • _insertSenderAddressBar() — Insert sender address bar
    • _isLogoFullWidth() — is the setting to show the logo full width?
    • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml index fe0d837..74ee6f7 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Abstract.php

      Source of file Abstract.php

      - Size: 47,433 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

      /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php

      1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429
      <?php
      /**
       * This file is part of the FIREGENTO project.
       *
       * FireGento_Pdf is free software; you can redistribute it and/or
       * modify it under the terms of the GNU General Public License version 3 as
       * published by the Free Software Foundation.
       *
       * This script is distributed in the hope that it will be useful, but WITHOUT
       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
       *
       * PHP version 5
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2013 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       * @version   $Id:$
       * @since     0.1.0
       */

      /**
       * Abstract pdf model.
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2013 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       * @version   $Id:$
       * @since     0.1.0
       */
      abstract class FireGento_Pdf_Model_Engine_Abstract
          extends Mage_Sales_Model_Order_Pdf_Abstract
      {
          public $margin = array('left' => 45, 'right' => 540);
          public $colors = array();
          public $mode;
          public $encoding;
          public $pagecounter;

          protected $_imprint;

          /**
           * @var int correct all y values if the logo is full width and bigger than normal
           */
          protected $_marginTop = 0;

          /**
           * constructor to init settings
           */
          public function __construct()
          {
              parent::__construct();

              $this->encoding = 'UTF-8';

              $this->colors['black'] = new Zend_Pdf_Color_GrayScale(0);
              $this->colors['grey1'] = new Zend_Pdf_Color_GrayScale(0.9);

              // get the default imprint
              $this->_imprint = Mage::getStoreConfig('general/imprint');
          }

          /**
           * Draw one line
           *
           * @param  Zend_Pdf_Page $page         Current page object of Zend_Pdf
           * @param  array         $draw         items to draw
           * @param  array         $pageSettings page settings to use for new pages
           *
           * @return Zend_Pdf_Page
           */
          public function drawLineBlocks(
              Zend_Pdf_Page $page,
              array $draw,
              array $pageSettings = array()
          ) {
              foreach ($draw as $itemsProp) {
                  if (!isset($itemsProp['lines']) || !is_array($itemsProp['lines'])) {
                      Mage::throwException(Mage::helper('sales')
                          ->__('Invalid draw line data. Please define "lines" array'));
                  }
                  $lines = $itemsProp['lines'];
                  $height = isset($itemsProp['height']) ? $itemsProp['height'] : 10;

                  if (empty($itemsProp['shift'])) {
                      $shift = 0;
                      foreach ($lines as $line) {
                          $maxHeight = 0;
                          foreach ($line as $column) {
                              $lineSpacing = !empty($column['height'])
                                  ? $column['height'] : $height;
                              if (!is_array($column['text'])) {
                                  $column['text'] = array($column['text']);
                              }
                              $top = 0;
                              foreach ($column['text'] as $part) {
                                  $top += $lineSpacing;
                              }

                              $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                          }
                          $shift += $maxHeight;
                      }
                      $itemsProp['shift'] = $shift;
                  }

                  if ($this->y - $itemsProp['shift'] < 50
                      || (Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer')
                          == 1
                          && $this->y - $itemsProp['shift'] < 100)
                  ) {
                      $page = $this->newPage($pageSettings);
                  }

                  foreach ($lines as $line) {
                      $maxHeight = 0;
                      foreach ($line as $column) {
                          $fontSize = empty($column['font_size']) ? 7
                              : $column['font_size'];
                          if (!empty($column['font_file'])) {
                              $font
                                  = Zend_Pdf_Font::fontWithPath($column['font_file']);
                              $page->setFont($font, $fontSize);
                          } else {
                              $fontStyle = empty($column['font']) ? 'regular'
                                  : $column['font'];
                              switch ($fontStyle) {
                                  case 'bold':
                                      $font = $this->_setFontBold($page, $fontSize);
                                      break;
                                  case 'italic':
                                      $font = $this->_setFontItalic($page, $fontSize);
                                      break;
                                  default:
                                      $font = $this->_setFontRegular($page,
                                          $fontSize);
                                      break;
                              }
                          }

                          if (!is_array($column['text'])) {
                              $column['text'] = array($column['text']);
                          }

                          $lineSpacing = !empty($column['height']) ? $column['height']
                              : $height;
                          $top = 0;
                          foreach ($column['text'] as $part) {
                              $feed = $column['feed'];
                              $textAlign = empty($column['align']) ? 'left'
                                  : $column['align'];
                              $width = empty($column['width']) ? 0 : $column['width'];
                              switch ($textAlign) {
                                  case 'right':
                                      if ($width) {
                                          $feed = $this->getAlignRight($part, $feed,
                                              $width, $font, $fontSize);
                                      } else {
                                          $feed = $feed
                                              - $this->widthForStringUsingFontSize($part,
                                                  $font, $fontSize);
                                      }
                                      break;
                                  case 'center':
                                      if ($width) {
                                          $feed = $this->getAlignCenter($part, $feed,
                                              $width, $font, $fontSize);
                                      }
                                      break;
                              }
                              $page->drawText($part, $feed, $this->y - $top, 'UTF-8');
                              $top += $lineSpacing;
                          }

                          $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                      }
                      $this->y -= $maxHeight;
                  }
              }

              return $page;
          }

          /**
           * Set pdf mode.
           *
           * @param  string $mode set mode to differ between creditmemo, invoice, etc.
           *
           * @return FireGento_Pdf_Model_Engine_Abstract
           */
          public function setMode($mode)
          {
              $this->mode = $mode;
              return $this;
          }

          /**
           * Return pdf mode.
           *
           * @return string
           */
          public function getMode()
          {
              return $this->mode;
          }

          /**
           * Set next line position
           *
           * @param  int $height Line-Height
           *
           * @return void
           */
          protected function Ln($height = 15)
          {
              $this->y -= $height;
          }

          /**
           * Insert sender address bar
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           *
           * @return void
           */
          protected function _insertSenderAddessBar(&$page)
          {
              if (Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')
                  != ''
              ) {
                  $this->_setFontRegular($page, 6);
                  $page->drawText(
                      trim(Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')),
                      $this->margin['left'] + $this->getHeaderblockOffset(),
                      $this->y, $this->encoding
                  );
              }
          }

          /**
           * Insert logo
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           * @param  mixed         $store store to get data from
           *
           * @return void
           */
          protected function insertLogo(&$page, $store = null)
          {
              if ($this->_isLogoFullWidth($store)) {
                  $this->_insertLogoFullWidth($page, $store);
              } else {
                  $this->_insertLogoPositioned($page, $store);
              }
          }

          /**
           * is the setting to show the logo full width?
           *
           * @param  mixed $store store we want the config setting from
           *
           * @return bool
           */
          protected function _isLogoFullWidth($store)
          {
              return Mage::helper('firegento_pdf')->isLogoFullWidth($store);
          }

          /**
           * Inserts the logo if it is positioned left, center or right.
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           * @param  mixed         $store store to get data from
           *
           * @return void
           */
          protected function _insertLogoPositioned(&$page, $store = null)
          {
              $imageRatio
                  = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio',
                  $store);
              $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

              $maxwidth
                  = ($this->margin['right'] - $this->margin['left']) * $imageRatio
                  / 100;
              $maxheight = 100;

              $image = Mage::getStoreConfig('sales/identity/logo', $store);
              if ($image and file_exists(Mage::getBaseDir('media', $store)
                      . '/sales/store/logo/' . $image)
              ) {
                  $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/'
                      . $image;

                  list ($width, $height) = Mage::helper('firegento_pdf')
                      ->getScaledImageSize($image, $maxwidth, $maxheight);

                  if (is_file($image)) {
                      $image = Zend_Pdf_Image::imageWithPath($image);

                      $logoPosition
                          = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position',
                          $store);

                      switch ($logoPosition) {
                          case 'center':
                              $startLogoAt
                                  = $this->margin['left'] + (($this->margin['right']
                                          - $this->margin['left']) / 2) - $width / 2;
                              break;
                          case 'right':
                              $startLogoAt = $this->margin['right'] - $width;
                              break;
                          default:
                              $startLogoAt = $this->margin['left'];
                      }

                      $position['x1'] = $startLogoAt;
                      $position['y1'] = 720;
                      $position['x2'] = $position['x1'] + $width;
                      $position['y2'] = $position['y1'] + $height;

                      $page->drawImage($image, $position['x1'], $position['y1'],
                          $position['x2'], $position['y2']);
                  }
              }
          }

          /**
           * inserts the logo from complete left to right
           *
           * @param Zend_Pdf_Page &$page current Zend_Pdf_Page object
           * @param mixed         $store store we need the config setting from
           *
           * @todo merge _insertLogoPositioned and _insertLogoFullWidth
           */
          protected function _insertLogoFullWidth(&$page, $store = null)
          {
              $imageRatio
                  = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio',
                  $store);
              $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

              $maxwidth = 594 * $imageRatio / 100;
              $maxheight = 300;

              $image = Mage::getStoreConfig('sales/identity/logo', $store);
              if ($image and file_exists(Mage::getBaseDir('media', $store)
                      . '/sales/store/logo/' . $image)
              ) {
                  $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/'
                      . $image;

                  list ($width, $height) = Mage::helper('firegento_pdf')
                      ->getScaledImageSize($image, $maxwidth, $maxheight);

                  if (is_file($image)) {
                      $image = Zend_Pdf_Image::imageWithPath($image);

                      $logoPosition
                          = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position',
                          $store);

                      switch ($logoPosition) {
                          case 'center':
                              $startLogoAt = $this->margin['left'] +
                                  (($this->margin['right'] - $this->margin['left'])
                                      / 2) - $width / 2;
                              break;
                          case 'right':
                              $startLogoAt = $this->margin['right'] - $width;
                              break;
                          default:
                              $startLogoAt = 0;
                      }

                      $position['x1'] = $startLogoAt;
                      $position['y1'] = 663;
                      $position['x2'] = $position['x1'] + $width;
                      $position['y2'] = $position['y1'] + $height;

                      $page->drawImage($image, $position['x1'], $position['y1'],
                          $position['x2'], $position['y2']);
                      $this->_marginTop = $height - 130;
                  }
              }
          }

          /**
           * insert customer address and all header like customer number, etc.
           *
           * @param Zend_Pdf_Page             $page   current Zend_Pdf_Page
           * @param Mage_Sales_Model_Abstract $source source for the address information
           * @param Mage_Sales_Model_Order    $order  order to print the document for
           */
          protected function insertAddressesAndHeader(
              Zend_Pdf_Page $page,
              Mage_Sales_Model_Abstract $source,
              Mage_Sales_Model_Order $order
          ) {
              // Add logo
              $this->insertLogo($page, $source->getStore());

              // Add billing address
              $this->y = 692 - $this->_marginTop;
              $this->_insertCustomerAddress($page, $order);

              // Add sender address
              $this->y = 705 - $this->_marginTop;
              $this->_insertSenderAddessBar($page);

              // Add head
              $this->y = 592 - $this->_marginTop;
              $this->insertHeader($page, $order, $source);

              /* Add table head */
              // make sure that item table does not overlap heading
              if ($this->y > 575 - $this->_marginTop) {
                  $this->y = 575 - $this->_marginTop;
              }
          }

          /**
           * Inserts the customer address. The default address is the billing address.
           *
           * @param  Zend_Pdf_Page          &$page Current page object of Zend_Pdf
           * @param  Mage_Sales_Model_Order $order Order object
           *
           * @return void
           */
          protected function _insertCustomerAddress(&$page, $order)
          {
              $this->_setFontRegular($page, 9);
              $billing = $this->_formatAddress($order->getBillingAddress()
                  ->format('pdf'));
              foreach ($billing as $line) {
                  $page->drawText(trim(strip_tags($line)),
                      $this->margin['left'] + $this->getHeaderblockOffset(), $this->y,
                      $this->encoding);
                  $this->Ln(12);
              }
          }

          /**
           * get the offset to position the address block left or right
           *
           * @return int
           */
          protected function getHeaderblockOffset()
          {
              if (Mage::getStoreConfig('sales_pdf/firegento_pdf/headerblocks_position')
                  == FireGento_Pdf_Model_System_Config_Source_Headerblocks::LEFT
              ) {
                  $offsetAdjustment = 0;
              } else {
                  $offsetAdjustment = 315;
              }
              return $offsetAdjustment;
          }

          /**
           * Insert Header
           *
           * @param  Zend_Pdf_Page          &$page    Current page object of Zend_Pdf
           * @param  Mage_Sales_Model_Order $order    Order object
           * @param  object                 $document Document object
           *
           * @return void
           */
          protected function insertHeader(&$page, $order, $document)
          {
              $page->setFillColor($this->colors['black']);

              $mode = $this->getMode();

              $this->_setFontBold($page, 15);

              if ($mode == 'invoice') {
                  $title = 'Invoice';
              } elseif ($mode == 'shipment') {
                  $title = 'Shipment';
              } else {
                  $title = 'Creditmemo';
              }
              $page->drawText(Mage::helper('firegento_pdf')->__($title),
                  $this->margin['left'], $this->y, $this->encoding);

              $this->_setFontRegular($page);

              $this->y += 80;
              $labelRightOffset = 180 + $this->getHeaderblockOffset();

              $valueRightOffset = 10 + $this->getHeaderblockOffset();
              $font = $this->_setFontRegular($page, 10);
              $width = 80;
              $numberOfLines = 0;


              // Invoice/shipment/creditmemo Number
              if ($mode == 'invoice') {
                  $numberTitle = 'Invoice number:';
              } elseif ($mode == 'shipment') {
                  $numberTitle = 'Shipment number:';
              } else {
                  $numberTitle = 'Creditmemo number:';
              }
              $page->drawText(
                  Mage::helper('firegento_pdf')->__($numberTitle),
                  ($this->margin['right'] - $labelRightOffset), $this->y,
                  $this->encoding
              );

              $incrementId = $document->getIncrementId();
              $page->drawText(
                  $incrementId,
                  ($this->margin['right'] - $valueRightOffset
                      - $this->widthForStringUsingFontSize($incrementId, $font, 10)),
                  $this->y, $this->encoding
              );
              $this->Ln();
              $numberOfLines++;

              // Order Number
              $putOrderId = $this->_putOrderId($order);
              if ($putOrderId) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Order number:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $page->drawText(
                      $putOrderId, ($this->margin['right'] - $valueRightOffset
                          - $this->widthForStringUsingFontSize(
                              $putOrderId, $font, 10
                          )), $this->y, $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
              }

              // Customer Number
              if ($this->_showCustomerNumber($order->getStore())) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Customer number:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $numberOfLines++;

                  if ($order->getCustomerId() != '') {

                      $prefix
                          = Mage::getStoreConfig('sales_pdf/invoice/customeridprefix');

                      if (!empty($prefix)) {
                          $customerid = $prefix . $order->getCustomerId();
                      } else {
                          $customerid = $order->getCustomerId();
                      }

                      $page->drawText(
                          $customerid, ($this->margin['right'] - $valueRightOffset
                              - $this->widthForStringUsingFontSize(
                                  $customerid, $font, 10
                              )), $this->y, $this->encoding
                      );
                      $this->Ln();
                      $numberOfLines++;
                  } else {
                      $page->drawText(
                          '-',
                          ($this->margin['right'] - $valueRightOffset
                              - $this->widthForStringUsingFontSize('-', $font, 10)),
                          $this->y, $this->encoding
                      );
                      $this->Ln();
                      $numberOfLines++;
                  }
              }

              // Customer IP
              if (!Mage::getStoreConfigFlag('sales/general/hide_customer_ip',
                  $order->getStoreId())
              ) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Customer IP:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $customerIP = $order->getData('remote_ip');
                  $font = $this->_setFontRegular($page, 10);
                  $page->drawText(
                      $customerIP, ($this->margin['right'] - $valueRightOffset
                          - $this->widthForStringUsingFontSize(
                              $customerIP, $font, 10
                          )), $this->y, $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
              }

              $page->drawText(
                  Mage::helper('firegento_pdf')->__(($mode == 'invoice')
                      ? 'Invoice date:' : 'Date:'),
                  ($this->margin['right'] - $labelRightOffset), $this->y,
                  $this->encoding
              );
              $documentDate = Mage::helper('core')
                  ->formatDate($document->getCreatedAtDate(), 'medium', false);
              $page->drawText(
                  $documentDate,
                  ($this->margin['right'] - $valueRightOffset
                      - $this->widthForStringUsingFontSize($documentDate, $font, 10)),
                  $this->y, $this->encoding
              );
              $this->Ln();
              $numberOfLines++;


              // Payment method.
              $putPaymentMethod = ($mode == 'invoice'
                  && Mage::getStoreConfig('sales_pdf/invoice/payment_method_position')
                  == FireGento_Pdf_Model_System_Config_Source_Payment::POSITION_HEADER);
              if ($putPaymentMethod) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Payment method:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $paymentMethodArray = $this->_prepareText(
                      $order->getPayment()->getMethodInstance()->getTitle(), $page,
                      $font, 10, $width
                  );
                  $page->drawText(
                      array_shift($paymentMethodArray),
                      ($this->margin['right'] - $valueRightOffset - $width), $this->y,
                      $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
                  $paymentMethodArray = $this->_prepareText(implode(" ",
                      $paymentMethodArray), $page, $font, 10, 2 * $width);
                  foreach ($paymentMethodArray as $methodString) {
                      $page->drawText($methodString,
                          $this->margin['right'] - $labelRightOffset, $this->y,
                          $this->encoding);
                      $this->Ln();
                      $numberOfLines++;
                  }

              }

              // Shipping method.
              $putShippingMethod = ($mode == 'invoice'
                  &&
                  Mage::getStoreConfig('sales_pdf/invoice/shipping_method_position')
                  == FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER
                  || $mode == 'shipment'
                  &&
                  Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position')
                  == FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER);
              if ($putShippingMethod) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Shipping method:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $shippingMethodArray
                      = $this->_prepareText($order->getShippingDescription(), $page,
                      $font, 10, $width);
                  $page->drawText(
                      array_shift($shippingMethodArray),
                      ($this->margin['right'] - $valueRightOffset - $width), $this->y,
                      $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
                  $shippingMethodArray = $this->_prepareText(
                      implode(" ", $shippingMethodArray), $page, $font, 10, 2 * $width
                  );
                  foreach ($shippingMethodArray as $methodString) {
                      $page->drawText($methodString,
                          $this->margin['right'] - $labelRightOffset, $this->y,
                          $this->encoding);
                      $this->Ln();
                      $numberOfLines++;
                  }

              }
              $this->y -= ($numberOfLines * 2);
          }

          /**
           * Return the order id or false if order id should not be displayed on document.
           *
           * @param  Mage_Sales_Model_Order $order order to get id from
           *
           * @return int|false
           */
          protected function _putOrderId($order)
          {
              return Mage::helper('firegento_pdf')->putOrderId($order, $this->mode);
          }

          /**
           * do we show the customber number on this document
           *
           * @param  mixed $store store from whom we need the config setting
           *
           * @return bool
           */
          protected function _showCustomerNumber($store)
          {
              return Mage::helper('firegento_pdf')
                  ->showCustomerNumber($this->mode, $store);
          }

          /**
           * Generate new PDF page.
           *
           * @param  array $settings Page settings
           *
           * @return Zend_Pdf_Page
           */
          public function newPage(array $settings = array())
          {
              $pdf = $this->_getPdf();

              $page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
              $this->pagecounter++;
              $pdf->pages[] = $page;

              $this->_addFooter($page, Mage::app()->getStore());

              // provide the possibility to add random stuff to the page
              Mage::dispatchEvent(
                  'firegento_pdf_' . $this->getMode() . '_edit_page',
                  array('page' => $page, 'order' => $this->getOrder())
              );

              $this->y = 800;
              $this->_setFontRegular($page, 9);

              return $page;
          }

          /**
           * Draw
           *
           * @param  Varien_Object          $item     creditmemo/shipping/invoice to draw
           * @param  Zend_Pdf_Page          $page     Current page object of Zend_Pdf
           * @param  Mage_Sales_Model_Order $order    order to get infos from
           * @param  int                    $position position in table
           *
           * @return Zend_Pdf_Page
           */
          protected function _drawItem(
              Varien_Object $item,
              Zend_Pdf_Page $page,
              Mage_Sales_Model_Order $order,
              $position = 1
          ) {
              $type = $item->getOrderItem()->getProductType();

              $renderer = $this->_getRenderer($type);
              $renderer->setOrder($order);
              $renderer->setItem($item);
              $renderer->setPdf($this);
              $renderer->setPage($page);
              $renderer->setRenderedModel($this);

              $renderer->draw($position);
              return $renderer->getPage();
          }

          /**
           * Insert Totals Block
           *
           * @param  object $page   Current page object of Zend_Pdf
           * @param  object $source Fields of footer
           *
           * @return Zend_Pdf_Page
           */
          protected function insertTotals($page, $source)
          {
              $this->y -= 15;

              $order = $source->getOrder();

              $totalTax = 0;
              $shippingTaxRate = 0;
              $shippingTaxAmount = $order->getShippingTaxAmount();

              if ($shippingTaxAmount > 0) {
                  $shippingTaxRate
                      = $order->getShippingTaxAmount() * 100
                      / ($order->getShippingInclTax()
                          - $order->getShippingTaxAmount());
              }

              $groupedTax = array();

              $items['items'] = array();
              foreach ($source->getAllItems() as $item) {
                  if ($item->getOrderItem()->getParentItem()) {
                      continue;
                  }
                  $items['items'][] = $item->getOrderItem()->toArray();
              }

              array_push(
                  $items['items'], array(
                      'row_invoiced'     => $order->getShippingInvoiced(),
                      'tax_inc_subtotal' => false,
                      'tax_percent'      => $shippingTaxRate,
                      'tax_amount'       => $shippingTaxAmount
                  )
              );

              foreach ($items['items'] as $item) {
                  $_percent = null;
                  if (!isset($item['tax_amount'])) {
                      $item['tax_amount'] = 0;
                  }
                  if (!isset($item['row_invoiced'])) {
                      $item['row_invoiced'] = 0;
                  }
                  if (!isset($item['price'])) {
                      $item['price'] = 0;
                  }
                  if (!isset($item['tax_inc_subtotal'])) {
                      $item['tax_inc_subtotal'] = 0;
                  }
                  if (((float)$item['tax_amount'] > 0)
                      && ((float)$item['row_invoiced'] > 0)
                  ) {
                      $_percent = round($item["tax_percent"], 0);
                  }
                  if (!array_key_exists('tax_inc_subtotal', $item)
                      || $item['tax_inc_subtotal']
                  ) {
                      $totalTax += $item['tax_amount'];
                  }
                  if (($item['tax_amount']) && $_percent) {
                      if (!array_key_exists((int)$_percent, $groupedTax)) {
                          $groupedTax[$_percent] = $item['tax_amount'];
                      } else {
                          $groupedTax[$_percent] += $item['tax_amount'];
                      }
                  }
              }

              $totals = $this->_getTotalsList($source);

              $lineBlock = array(
                  'lines'  => array(),
                  'height' => 20
              );

              foreach ($totals as $total) {
                  $total->setOrder($order)->setSource($source);

                  if ($total->canDisplay()) {
                      $total->setFontSize(10);
                      // fix Magento 1.8 bug, so that taxes for shipping do not appear twice
                      // see https://github.com/firegento/firegento-pdf/issues/106
                      $uniqueTotalsForDisplay = array_map(
                          'unserialize', array_unique(array_map('serialize',
                              $total->getTotalsForDisplay()))
                      );
                      foreach ($uniqueTotalsForDisplay as $totalData) {
                          $label = $this->fixNumberFormat($totalData['label']);
                          $lineBlock['lines'][] = array(
                              array(
                                  'text'      => $label,
                                  'feed'      => 470,
                                  'align'     => 'right',
                                  'font_size' => $totalData['font_size']
                              ),
                              array(
                                  'text'      => $totalData['amount'],
                                  'feed'      => 540,
                                  'align'     => 'right',
                                  'font_size' => $totalData['font_size']
                              ),
                          );
                      }
                  }
              }
              $page = $this->drawLineBlocks($page, array($lineBlock));
              return $page;
          }

          /**
           * 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;
          }

          /**
           * draw footer on pdf
           *
           * @param Zend_Pdf_Page &$page page to draw on
           * @param mixed         $store store to get infos from
           */
          protected function _addFooter(&$page, $store = null)
          {
              // get the imprint of the store if a store is set
              if (!empty($store)) {
                  $imprintObject = new Varien_Object();
                  $imprintObject->setImprint(Mage::getStoreConfig('general/imprint',
                      $store));
                  Mage::dispatchEvent('firegento_pdf_imprint_load_after', array(
                          'transport_object' => $imprintObject
                      )
                  );
                  $this->_imprint = $imprintObject->getImprint();
              }

              // Add footer if GermanSetup is installed.
              if ($this->_imprint
                  && Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1
              ) {
                  $this->y = 110;
                  $this->_insertFooter($page);

                  // Add page counter.
                  $this->y = 110;
                  $this->_insertPageCounter($page);
              }
          }

          /**
           * Insert footer
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           *
           * @return void
           */
          protected function _insertFooter(&$page)
          {
              $page->setLineColor($this->colors['black']);
              $page->setLineWidth(0.5);
              $page->drawLine($this->margin['left'] - 20, $this->y - 5,
                  $this->margin['right'] + 30, $this->y - 5);

              $this->Ln(15);
              $this->_insertFooterAddress($page);

              $fields = array(
                  'telephone' => Mage::helper('firegento_pdf')->__('Telephone:'),
                  'fax'       => Mage::helper('firegento_pdf')->__('Fax:'),
                  'email'     => Mage::helper('firegento_pdf')->__('E-Mail:'),
                  'web'       => Mage::helper('firegento_pdf')->__('Web:')
              );
              $this->_insertFooterBlock($page, $fields, 70, 40, 140);

              $fields = array(
                  'bank_name'          => Mage::helper('firegento_pdf')
                      ->__('Bank name:'),
                  'bank_account'       => Mage::helper('firegento_pdf')
                      ->__('Account:'),
                  'bank_code_number'   => Mage::helper('firegento_pdf')
                      ->__('Bank number:'),
                  'bank_account_owner' => Mage::helper('firegento_pdf')
                      ->__('Account owner:'),
                  'swift'              => Mage::helper('firegento_pdf')->__('SWIFT:'),
                  'iban'               => Mage::helper('firegento_pdf')->__('IBAN:')
              );
              $this->_insertFooterBlock($page, $fields, 215, 50, 150);

              $fields = array(
                  'tax_number'      => Mage::helper('firegento_pdf')
                      ->__('Tax number:'),
                  'vat_id'          => Mage::helper('firegento_pdf')->__('VAT-ID:'),
                  'register_number' => Mage::helper('firegento_pdf')
                      ->__('Register number:'),
                  'ceo'             => Mage::helper('firegento_pdf')->__('CEO:'),
                  'city'            => Mage::helper('firegento_pdf')
                      ->__('Registered seat:'),
                  'court'           => Mage::helper('firegento_pdf')
                      ->__('Register court:'),
              );
              $this->_insertFooterBlock($page, $fields, 355, 60,
                  $this->margin['right'] - 365 - 10);
          }

          /**
           * Insert footer block
           *
           * @param  Zend_Pdf_Page &$page       Current page object of Zend_Pdf
           * @param  array         $fields      Fields of footer
           * @param  int           $colposition Starting colposition
           * @param  int           $valadjust   Margin between label and value
           * @param  int           $colwidth    the width of this footer block - text will be wrapped if it is broader
           *                                    than this width
           *
           * @return void
           */
          protected function _insertFooterBlock(
              &$page,
              $fields,
              $colposition = 0,
              $valadjust = 30,
              $colwidth = null
          ) {
              $fontSize = 7;
              $font = $this->_setFontRegular($page, $fontSize);
              $y = $this->y;

              $valposition = $colposition + $valadjust;

              if (is_array($fields)) {
                  foreach ($fields as $field => $label) {
                      if (empty($this->_imprint[$field])) {
                          continue;
                      }
                      // draw the label
                      $page->drawText($label, $this->margin['left'] + $colposition,
                          $y, $this->encoding);
                      // prepare the value: wrap it if necessary
                      $val = $this->_imprint[$field];
                      $width = $colwidth;
                      if (!empty($colwidth)) {
                          // calculate the maximum width for the value
                          $width = $this->margin['left'] + $colposition + $colwidth
                              - ($this->margin['left'] + $valposition);
                      }
                      foreach (
                          $this->_prepareText($val, $page, $font, $fontSize, $width)
                          as $tmpVal
                      ) {
                          $page->drawText($tmpVal,
                              $this->margin['left'] + $valposition, $y,
                              $this->encoding);
                          $y -= 12;
                      }
                  }
              }
          }

          /**
           * Insert address of store owner
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           * @param  mixed         $store store to get info from
           *
           * @return void
           */
          protected function _insertFooterAddress(&$page, $store = null)
          {
              $fontSize = 7;
              $font = $this->_setFontRegular($page, $fontSize);
              $y = $this->y;
              $address = '';

              foreach (
                  $this->_prepareText($this->_imprint['company_first'], $page, $font,
                      $fontSize, 90) as $companyFirst
              ) {
                  $address .= $companyFirst . "\n";
              }

              if (array_key_exists('company_second', $this->_imprint)) {
                  foreach (
                      $this->_prepareText($this->_imprint['company_second'], $page,
                          $font, $fontSize, 90) as $companySecond
                  ) {
                      $address .= $companySecond . "\n";
                  }
              }

              if (array_key_exists('street', $this->_imprint)) {
                  $address .= $this->_imprint['street'] . "\n";
              }
              if (array_key_exists('zip', $this->_imprint)) {
                  $address .= $this->_imprint['zip'] . " ";
              }
              if (array_key_exists('city', $this->_imprint)) {
                  $address .= $this->_imprint['city'] . "\n";
              }

              if (!empty($this->_imprint['country'])) {
                  $countryName = Mage::getModel('directory/country')
                      ->loadByCode($this->_imprint['country'])->getName();
                  $address .= Mage::helper('core')->__($countryName);
              }

              foreach (explode("\n", $address) as $value) {
                  if ($value !== '') {
                      $page->drawText(trim(strip_tags($value)),
                          $this->margin['left'] - 20, $y, $this->encoding);
                      $y -= 12;
                  }
              }
          }

          /**
           * Insert page counter
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           *
           * @return void
           */
          protected function _insertPageCounter(&$page)
          {
              $font = $this->_setFontRegular($page, 9);
              $page->drawText(
                  Mage::helper('firegento_pdf')->__('Page') . ' '
                  . $this->pagecounter,
                  $this->margin['right'] - 23
                  - $this->widthForStringUsingFontSize($this->pagecounter, $font, 9),
                  $this->y,
                  $this->encoding
              );
          }

          /**
           * get stanard font
           *
           * @return Zend_Pdf_Resource_Font the regular font
           */
          public function getFontRegular()
          {
              if ($this->getRegularFont() && $this->regularFontFileExists()) {
                  return Zend_Pdf_Font::fontWithPath($this->getRegularFontFile());
              }
              return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
          }

          /**
           * Set default font
           *
           * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
           * @param  string|int    $size   Font size
           *
           * @return Zend_Pdf_Resource_Font
           */
          protected function _setFontRegular($object, $size = 10)
          {
              $font = $this->getFontRegular();
              $object->setFont($font, $size);
              return $font;
          }

          /**
           * get default bold font
           *
           * @return Zend_Pdf_Resource_Font the bold font
           */
          public function getFontBold()
          {
              if ($this->getBoldFont() && $this->boldFontFileExists()) {
                  return Zend_Pdf_Font::fontWithPath($this->getBoldFontFile());
              }
              return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);
          }

          /**
           * Set bold font
           *
           * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
           * @param  string|int    $size   Font size
           *
           * @return Zend_Pdf_Resource_Font
           */
          protected function _setFontBold($object, $size = 10)
          {
              $font = $this->getFontBold();
              $object->setFont($font, $size);
              return $font;
          }

          /**
           * get italic font
           *
           * @return Zend_Pdf_Resource_Font
           */
          public function getFontItalic()
          {
              if ($this->getItalicFont() && $this->italicFontFileExists()) {
                  return Zend_Pdf_Font::fontWithPath($this->getItalicFontFile());
              }
              return Zend_Pdf_Font::fontWithName(
                  Zend_Pdf_Font::FONT_HELVETICA_ITALIC
              );
          }

          /**
           * Set italic font
           *
           * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
           * @param  string|int    $size   Font size
           *
           * @return Zend_Pdf_Resource_Font
           */
          protected function _setFontItalic($object, $size = 10)
          {
              $font = $this->getFontItalic();
              $object->setFont($font, $size);
              return $font;
          }

          /**
           * Prepares the text so that it fits to the given page's width.
           *
           * @param  string                 $text     the text which should be prepared
           * @param  Zend_Pdf_Page          $page     the page on which the text will be rendered
           * @param  Zend_Pdf_Resource_Font $font     the font with which the text will be rendered
           * @param  int                    $fontSize the font size with which the text will be rendered
           * @param  int                    $width    [optional] the width for the given text, defaults to the page width
           *
           * @return array the given text in an array where each item represents a new line
           */
          public function _prepareText($text, $page, $font, $fontSize, $width = null)
          {
              if (empty($text)) {
                  return array();
              }
              $lines = '';
              $currentLine = '';
              // calculate the page's width with respect to the margins
              if (empty($width)) {
                  $width
                      = $page->getWidth() - $this->margin['left'] - ($page->getWidth()
                          - $this->margin['right']);
              }
              $textChunks = explode(' ', $text);
              foreach ($textChunks as $textChunk) {
                  if ($this->widthForStringUsingFontSize($currentLine . ' '
                          . $textChunk, $font, $fontSize) < $width
                  ) {
                      // do not add whitespace on first line
                      if (!empty($currentLine)) {
                          $currentLine .= ' ';
                      }
                      $currentLine .= $textChunk;
                  } else {
                      // text is too broad, so add new line character
                      $lines .= $currentLine . "\n";
                      $currentLine = $textChunk;
                  }
              }
              // append the last line
              $lines .= $currentLine;
              return explode("\n", $lines);
          }

          /**
           * Fix the percentage for taxes which come with four decimal places
           * from magento core.
           *
           * @param  string $label tax label which contains the badly formatted tax percentage
           *
           * @return string
           */
          private function fixNumberFormat($label)
          {
              $pattern = "/(.*)\((\d{1,2}\.\d{4}%)\)/";
              if (preg_match($pattern, $label, $matches)) {
                  $percentage = Zend_Locale_Format::toNumber(
                      $matches[2],
                      array(
                          'locale'    => Mage::app()->getLocale()->getLocale(),
                          'precision' => 2,
                      )
                  );
                  return $matches[1] . '(' . $percentage . '%)';
              }
              return $label;
          }

          /**
           * get bold font file
           *
           * @return string
           */
          private function getBoldFontFile()
          {
              return Mage::helper('firegento_pdf')->getFontPath() . DS
              . $this->getBoldFont();
          }

          /**
           * get bold font path
           *
           * @return string
           */
          private function getBoldFont()
          {
              return Mage::getStoreConfig(
                  FireGento_Pdf_Helper_Data::XML_PATH_BOLD_FONT
              );
          }

          /**
           * check whether font file exists for bold font
           *
           * @return bool
           */
          private function regularFontFileExists()
          {
              return file_exists($this->getBoldFontFile());
          }

          /**
           * get italic font path
           *
           * @return string
           */
          private function getItalicFont()
          {
              return Mage::getStoreConfig(
                  FireGento_Pdf_Helper_Data::XML_PATH_ITALIC_FONT
              );
          }

          /**
           * check whether italic font file exists
           *
           * @return bool
           */
          private function ItalicFontFileExists()
          {
              return file_exists($this->getItalicFontFile());
          }

          /**
           * get italic font file
           *
           * @return string
           */
          private function getItalicFontFile()
          {
              return Mage::helper('firegento_pdf')->getFontPath() . DS
              . $this->getItalicFont();
          }


          /**
           * get the regular font path
           *
           * @return string
           */
          private function getRegularFont()
          {
              return Mage::getStoreConfig(
                  FireGento_Pdf_Helper_Data::XML_PATH_REGULAR_FONT
              );
          }

          /**
           * check whether font file exists for regular font
           *
           * @return bool
           */
          private function regularFontFileExists()
          {
              return file_exists($this->getRegularFontFile());
          }

          /**
           * get the path to the font file for regular font
           *
           * @return string
           */
          private function getRegularFontFile()
          {
              return Mage::helper('firegento_pdf')->getFontPath() . DS
              . $this->getRegularFont();
          }
      }

      + Size: 47,433 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

      /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php

      1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429
      <?php
      /**
       * This file is part of the FIREGENTO project.
       *
       * FireGento_Pdf is free software; you can redistribute it and/or
       * modify it under the terms of the GNU General Public License version 3 as
       * published by the Free Software Foundation.
       *
       * This script is distributed in the hope that it will be useful, but WITHOUT
       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
       *
       * PHP version 5
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2013 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       * @version   $Id:$
       * @since     0.1.0
       */

      /**
       * Abstract pdf model.
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2013 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       * @version   $Id:$
       * @since     0.1.0
       */
      abstract class FireGento_Pdf_Model_Engine_Abstract
          extends Mage_Sales_Model_Order_Pdf_Abstract
      {
          public $margin = array('left' => 45, 'right' => 540);
          public $colors = array();
          public $mode;
          public $encoding;
          public $pagecounter;

          protected $_imprint;

          /**
           * @var int correct all y values if the logo is full width and bigger than normal
           */
          protected $_marginTop = 0;

          /**
           * constructor to init settings
           */
          public function __construct()
          {
              parent::__construct();

              $this->encoding = 'UTF-8';

              $this->colors['black'] = new Zend_Pdf_Color_GrayScale(0);
              $this->colors['grey1'] = new Zend_Pdf_Color_GrayScale(0.9);

              // get the default imprint
              $this->_imprint = Mage::getStoreConfig('general/imprint');
          }

          /**
           * Draw one line
           *
           * @param  Zend_Pdf_Page $page         Current page object of Zend_Pdf
           * @param  array         $draw         items to draw
           * @param  array         $pageSettings page settings to use for new pages
           *
           * @return Zend_Pdf_Page
           */
          public function drawLineBlocks(
              Zend_Pdf_Page $page,
              array $draw,
              array $pageSettings = array()
          ) {
              foreach ($draw as $itemsProp) {
                  if (!isset($itemsProp['lines']) || !is_array($itemsProp['lines'])) {
                      Mage::throwException(Mage::helper('sales')
                          ->__('Invalid draw line data. Please define "lines" array'));
                  }
                  $lines = $itemsProp['lines'];
                  $height = isset($itemsProp['height']) ? $itemsProp['height'] : 10;

                  if (empty($itemsProp['shift'])) {
                      $shift = 0;
                      foreach ($lines as $line) {
                          $maxHeight = 0;
                          foreach ($line as $column) {
                              $lineSpacing = !empty($column['height'])
                                  ? $column['height'] : $height;
                              if (!is_array($column['text'])) {
                                  $column['text'] = array($column['text']);
                              }
                              $top = 0;
                              foreach ($column['text'] as $part) {
                                  $top += $lineSpacing;
                              }

                              $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                          }
                          $shift += $maxHeight;
                      }
                      $itemsProp['shift'] = $shift;
                  }

                  if ($this->y - $itemsProp['shift'] < 50
                      || (Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer')
                          == 1
                          && $this->y - $itemsProp['shift'] < 100)
                  ) {
                      $page = $this->newPage($pageSettings);
                  }

                  foreach ($lines as $line) {
                      $maxHeight = 0;
                      foreach ($line as $column) {
                          $fontSize = empty($column['font_size']) ? 7
                              : $column['font_size'];
                          if (!empty($column['font_file'])) {
                              $font
                                  = Zend_Pdf_Font::fontWithPath($column['font_file']);
                              $page->setFont($font, $fontSize);
                          } else {
                              $fontStyle = empty($column['font']) ? 'regular'
                                  : $column['font'];
                              switch ($fontStyle) {
                                  case 'bold':
                                      $font = $this->_setFontBold($page, $fontSize);
                                      break;
                                  case 'italic':
                                      $font = $this->_setFontItalic($page, $fontSize);
                                      break;
                                  default:
                                      $font = $this->_setFontRegular($page,
                                          $fontSize);
                                      break;
                              }
                          }

                          if (!is_array($column['text'])) {
                              $column['text'] = array($column['text']);
                          }

                          $lineSpacing = !empty($column['height']) ? $column['height']
                              : $height;
                          $top = 0;
                          foreach ($column['text'] as $part) {
                              $feed = $column['feed'];
                              $textAlign = empty($column['align']) ? 'left'
                                  : $column['align'];
                              $width = empty($column['width']) ? 0 : $column['width'];
                              switch ($textAlign) {
                                  case 'right':
                                      if ($width) {
                                          $feed = $this->getAlignRight($part, $feed,
                                              $width, $font, $fontSize);
                                      } else {
                                          $feed = $feed
                                              - $this->widthForStringUsingFontSize($part,
                                                  $font, $fontSize);
                                      }
                                      break;
                                  case 'center':
                                      if ($width) {
                                          $feed = $this->getAlignCenter($part, $feed,
                                              $width, $font, $fontSize);
                                      }
                                      break;
                              }
                              $page->drawText($part, $feed, $this->y - $top, 'UTF-8');
                              $top += $lineSpacing;
                          }

                          $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                      }
                      $this->y -= $maxHeight;
                  }
              }

              return $page;
          }

          /**
           * Set pdf mode.
           *
           * @param  string $mode set mode to differ between creditmemo, invoice, etc.
           *
           * @return FireGento_Pdf_Model_Engine_Abstract
           */
          public function setMode($mode)
          {
              $this->mode = $mode;
              return $this;
          }

          /**
           * Return pdf mode.
           *
           * @return string
           */
          public function getMode()
          {
              return $this->mode;
          }

          /**
           * Set next line position
           *
           * @param  int $height Line-Height
           *
           * @return void
           */
          protected function Ln($height = 15)
          {
              $this->y -= $height;
          }

          /**
           * Insert sender address bar
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           *
           * @return void
           */
          protected function _insertSenderAddressBar(&$page)
          {
              if (Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')
                  != ''
              ) {
                  $this->_setFontRegular($page, 6);
                  $page->drawText(
                      trim(Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')),
                      $this->margin['left'] + $this->getHeaderblockOffset(),
                      $this->y, $this->encoding
                  );
              }
          }

          /**
           * Insert logo
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           * @param  mixed         $store store to get data from
           *
           * @return void
           */
          protected function insertLogo(&$page, $store = null)
          {
              if ($this->_isLogoFullWidth($store)) {
                  $this->_insertLogoFullWidth($page, $store);
              } else {
                  $this->_insertLogoPositioned($page, $store);
              }
          }

          /**
           * is the setting to show the logo full width?
           *
           * @param  mixed $store store we want the config setting from
           *
           * @return bool
           */
          protected function _isLogoFullWidth($store)
          {
              return Mage::helper('firegento_pdf')->isLogoFullWidth($store);
          }

          /**
           * Inserts the logo if it is positioned left, center or right.
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           * @param  mixed         $store store to get data from
           *
           * @return void
           */
          protected function _insertLogoPositioned(&$page, $store = null)
          {
              $imageRatio
                  = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio',
                  $store);
              $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

              $maxwidth
                  = ($this->margin['right'] - $this->margin['left']) * $imageRatio
                  / 100;
              $maxheight = 100;

              $image = Mage::getStoreConfig('sales/identity/logo', $store);
              if ($image and file_exists(Mage::getBaseDir('media', $store)
                      . '/sales/store/logo/' . $image)
              ) {
                  $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/'
                      . $image;

                  list ($width, $height) = Mage::helper('firegento_pdf')
                      ->getScaledImageSize($image, $maxwidth, $maxheight);

                  if (is_file($image)) {
                      $image = Zend_Pdf_Image::imageWithPath($image);

                      $logoPosition
                          = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position',
                          $store);

                      switch ($logoPosition) {
                          case 'center':
                              $startLogoAt
                                  = $this->margin['left'] + (($this->margin['right']
                                          - $this->margin['left']) / 2) - $width / 2;
                              break;
                          case 'right':
                              $startLogoAt = $this->margin['right'] - $width;
                              break;
                          default:
                              $startLogoAt = $this->margin['left'];
                      }

                      $position['x1'] = $startLogoAt;
                      $position['y1'] = 720;
                      $position['x2'] = $position['x1'] + $width;
                      $position['y2'] = $position['y1'] + $height;

                      $page->drawImage($image, $position['x1'], $position['y1'],
                          $position['x2'], $position['y2']);
                  }
              }
          }

          /**
           * inserts the logo from complete left to right
           *
           * @param Zend_Pdf_Page &$page current Zend_Pdf_Page object
           * @param mixed         $store store we need the config setting from
           *
           * @todo merge _insertLogoPositioned and _insertLogoFullWidth
           */
          protected function _insertLogoFullWidth(&$page, $store = null)
          {
              $imageRatio
                  = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio',
                  $store);
              $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

              $maxwidth = 594 * $imageRatio / 100;
              $maxheight = 300;

              $image = Mage::getStoreConfig('sales/identity/logo', $store);
              if ($image and file_exists(Mage::getBaseDir('media', $store)
                      . '/sales/store/logo/' . $image)
              ) {
                  $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/'
                      . $image;

                  list ($width, $height) = Mage::helper('firegento_pdf')
                      ->getScaledImageSize($image, $maxwidth, $maxheight);

                  if (is_file($image)) {
                      $image = Zend_Pdf_Image::imageWithPath($image);

                      $logoPosition
                          = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position',
                          $store);

                      switch ($logoPosition) {
                          case 'center':
                              $startLogoAt = $this->margin['left'] +
                                  (($this->margin['right'] - $this->margin['left'])
                                      / 2) - $width / 2;
                              break;
                          case 'right':
                              $startLogoAt = $this->margin['right'] - $width;
                              break;
                          default:
                              $startLogoAt = 0;
                      }

                      $position['x1'] = $startLogoAt;
                      $position['y1'] = 663;
                      $position['x2'] = $position['x1'] + $width;
                      $position['y2'] = $position['y1'] + $height;

                      $page->drawImage($image, $position['x1'], $position['y1'],
                          $position['x2'], $position['y2']);
                      $this->_marginTop = $height - 130;
                  }
              }
          }

          /**
           * insert customer address and all header like customer number, etc.
           *
           * @param Zend_Pdf_Page             $page   current Zend_Pdf_Page
           * @param Mage_Sales_Model_Abstract $source source for the address information
           * @param Mage_Sales_Model_Order    $order  order to print the document for
           */
          protected function insertAddressesAndHeader(
              Zend_Pdf_Page $page,
              Mage_Sales_Model_Abstract $source,
              Mage_Sales_Model_Order $order
          ) {
              // Add logo
              $this->insertLogo($page, $source->getStore());

              // Add billing address
              $this->y = 692 - $this->_marginTop;
              $this->_insertCustomerAddress($page, $order);

              // Add sender address
              $this->y = 705 - $this->_marginTop;
              $this->_insertSenderAddressBar($page);

              // Add head
              $this->y = 592 - $this->_marginTop;
              $this->insertHeader($page, $order, $source);

              /* Add table head */
              // make sure that item table does not overlap heading
              if ($this->y > 575 - $this->_marginTop) {
                  $this->y = 575 - $this->_marginTop;
              }
          }

          /**
           * Inserts the customer address. The default address is the billing address.
           *
           * @param  Zend_Pdf_Page          &$page Current page object of Zend_Pdf
           * @param  Mage_Sales_Model_Order $order Order object
           *
           * @return void
           */
          protected function _insertCustomerAddress(&$page, $order)
          {
              $this->_setFontRegular($page, 9);
              $billing = $this->_formatAddress($order->getBillingAddress()
                  ->format('pdf'));
              foreach ($billing as $line) {
                  $page->drawText(trim(strip_tags($line)),
                      $this->margin['left'] + $this->getHeaderblockOffset(), $this->y,
                      $this->encoding);
                  $this->Ln(12);
              }
          }

          /**
           * get the offset to position the address block left or right
           *
           * @return int
           */
          protected function getHeaderblockOffset()
          {
              if (Mage::getStoreConfig('sales_pdf/firegento_pdf/headerblocks_position')
                  == FireGento_Pdf_Model_System_Config_Source_Headerblocks::LEFT
              ) {
                  $offsetAdjustment = 0;
              } else {
                  $offsetAdjustment = 315;
              }
              return $offsetAdjustment;
          }

          /**
           * Insert Header
           *
           * @param  Zend_Pdf_Page          &$page    Current page object of Zend_Pdf
           * @param  Mage_Sales_Model_Order $order    Order object
           * @param  object                 $document Document object
           *
           * @return void
           */
          protected function insertHeader(&$page, $order, $document)
          {
              $page->setFillColor($this->colors['black']);

              $mode = $this->getMode();

              $this->_setFontBold($page, 15);

              if ($mode == 'invoice') {
                  $title = 'Invoice';
              } elseif ($mode == 'shipment') {
                  $title = 'Shipment';
              } else {
                  $title = 'Creditmemo';
              }
              $page->drawText(Mage::helper('firegento_pdf')->__($title),
                  $this->margin['left'], $this->y, $this->encoding);

              $this->_setFontRegular($page);

              $this->y += 80;
              $labelRightOffset = 180 + $this->getHeaderblockOffset();

              $valueRightOffset = 10 + $this->getHeaderblockOffset();
              $font = $this->_setFontRegular($page, 10);
              $width = 80;
              $numberOfLines = 0;


              // Invoice/shipment/creditmemo Number
              if ($mode == 'invoice') {
                  $numberTitle = 'Invoice number:';
              } elseif ($mode == 'shipment') {
                  $numberTitle = 'Shipment number:';
              } else {
                  $numberTitle = 'Creditmemo number:';
              }
              $page->drawText(
                  Mage::helper('firegento_pdf')->__($numberTitle),
                  ($this->margin['right'] - $labelRightOffset), $this->y,
                  $this->encoding
              );

              $incrementId = $document->getIncrementId();
              $page->drawText(
                  $incrementId,
                  ($this->margin['right'] - $valueRightOffset
                      - $this->widthForStringUsingFontSize($incrementId, $font, 10)),
                  $this->y, $this->encoding
              );
              $this->Ln();
              $numberOfLines++;

              // Order Number
              $putOrderId = $this->_putOrderId($order);
              if ($putOrderId) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Order number:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $page->drawText(
                      $putOrderId, ($this->margin['right'] - $valueRightOffset
                          - $this->widthForStringUsingFontSize(
                              $putOrderId, $font, 10
                          )), $this->y, $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
              }

              // Customer Number
              if ($this->_showCustomerNumber($order->getStore())) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Customer number:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $numberOfLines++;

                  if ($order->getCustomerId() != '') {

                      $prefix
                          = Mage::getStoreConfig('sales_pdf/invoice/customeridprefix');

                      if (!empty($prefix)) {
                          $customerid = $prefix . $order->getCustomerId();
                      } else {
                          $customerid = $order->getCustomerId();
                      }

                      $page->drawText(
                          $customerid, ($this->margin['right'] - $valueRightOffset
                              - $this->widthForStringUsingFontSize(
                                  $customerid, $font, 10
                              )), $this->y, $this->encoding
                      );
                      $this->Ln();
                      $numberOfLines++;
                  } else {
                      $page->drawText(
                          '-',
                          ($this->margin['right'] - $valueRightOffset
                              - $this->widthForStringUsingFontSize('-', $font, 10)),
                          $this->y, $this->encoding
                      );
                      $this->Ln();
                      $numberOfLines++;
                  }
              }

              // Customer IP
              if (!Mage::getStoreConfigFlag('sales/general/hide_customer_ip',
                  $order->getStoreId())
              ) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Customer IP:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $customerIP = $order->getData('remote_ip');
                  $font = $this->_setFontRegular($page, 10);
                  $page->drawText(
                      $customerIP, ($this->margin['right'] - $valueRightOffset
                          - $this->widthForStringUsingFontSize(
                              $customerIP, $font, 10
                          )), $this->y, $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
              }

              $page->drawText(
                  Mage::helper('firegento_pdf')->__(($mode == 'invoice')
                      ? 'Invoice date:' : 'Date:'),
                  ($this->margin['right'] - $labelRightOffset), $this->y,
                  $this->encoding
              );
              $documentDate = Mage::helper('core')
                  ->formatDate($document->getCreatedAtDate(), 'medium', false);
              $page->drawText(
                  $documentDate,
                  ($this->margin['right'] - $valueRightOffset
                      - $this->widthForStringUsingFontSize($documentDate, $font, 10)),
                  $this->y, $this->encoding
              );
              $this->Ln();
              $numberOfLines++;


              // Payment method.
              $putPaymentMethod = ($mode == 'invoice'
                  && Mage::getStoreConfig('sales_pdf/invoice/payment_method_position')
                  == FireGento_Pdf_Model_System_Config_Source_Payment::POSITION_HEADER);
              if ($putPaymentMethod) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Payment method:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $paymentMethodArray = $this->_prepareText(
                      $order->getPayment()->getMethodInstance()->getTitle(), $page,
                      $font, 10, $width
                  );
                  $page->drawText(
                      array_shift($paymentMethodArray),
                      ($this->margin['right'] - $valueRightOffset - $width), $this->y,
                      $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
                  $paymentMethodArray = $this->_prepareText(implode(" ",
                      $paymentMethodArray), $page, $font, 10, 2 * $width);
                  foreach ($paymentMethodArray as $methodString) {
                      $page->drawText($methodString,
                          $this->margin['right'] - $labelRightOffset, $this->y,
                          $this->encoding);
                      $this->Ln();
                      $numberOfLines++;
                  }

              }

              // Shipping method.
              $putShippingMethod = ($mode == 'invoice'
                  &&
                  Mage::getStoreConfig('sales_pdf/invoice/shipping_method_position')
                  == FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER
                  || $mode == 'shipment'
                  &&
                  Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position')
                  == FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER);
              if ($putShippingMethod) {
                  $page->drawText(
                      Mage::helper('firegento_pdf')->__('Shipping method:'),
                      ($this->margin['right'] - $labelRightOffset),
                      $this->y, $this->encoding
                  );
                  $shippingMethodArray
                      = $this->_prepareText($order->getShippingDescription(), $page,
                      $font, 10, $width);
                  $page->drawText(
                      array_shift($shippingMethodArray),
                      ($this->margin['right'] - $valueRightOffset - $width), $this->y,
                      $this->encoding
                  );
                  $this->Ln();
                  $numberOfLines++;
                  $shippingMethodArray = $this->_prepareText(
                      implode(" ", $shippingMethodArray), $page, $font, 10, 2 * $width
                  );
                  foreach ($shippingMethodArray as $methodString) {
                      $page->drawText($methodString,
                          $this->margin['right'] - $labelRightOffset, $this->y,
                          $this->encoding);
                      $this->Ln();
                      $numberOfLines++;
                  }

              }
              $this->y -= ($numberOfLines * 2);
          }

          /**
           * Return the order id or false if order id should not be displayed on document.
           *
           * @param  Mage_Sales_Model_Order $order order to get id from
           *
           * @return int|false
           */
          protected function _putOrderId($order)
          {
              return Mage::helper('firegento_pdf')->putOrderId($order, $this->mode);
          }

          /**
           * do we show the customber number on this document
           *
           * @param  mixed $store store from whom we need the config setting
           *
           * @return bool
           */
          protected function _showCustomerNumber($store)
          {
              return Mage::helper('firegento_pdf')
                  ->showCustomerNumber($this->mode, $store);
          }

          /**
           * Generate new PDF page.
           *
           * @param  array $settings Page settings
           *
           * @return Zend_Pdf_Page
           */
          public function newPage(array $settings = array())
          {
              $pdf = $this->_getPdf();

              $page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
              $this->pagecounter++;
              $pdf->pages[] = $page;

              $this->_addFooter($page, Mage::app()->getStore());

              // provide the possibility to add random stuff to the page
              Mage::dispatchEvent(
                  'firegento_pdf_' . $this->getMode() . '_edit_page',
                  array('page' => $page, 'order' => $this->getOrder())
              );

              $this->y = 800;
              $this->_setFontRegular($page, 9);

              return $page;
          }

          /**
           * Draw
           *
           * @param  Varien_Object          $item     creditmemo/shipping/invoice to draw
           * @param  Zend_Pdf_Page          $page     Current page object of Zend_Pdf
           * @param  Mage_Sales_Model_Order $order    order to get infos from
           * @param  int                    $position position in table
           *
           * @return Zend_Pdf_Page
           */
          protected function _drawItem(
              Varien_Object $item,
              Zend_Pdf_Page $page,
              Mage_Sales_Model_Order $order,
              $position = 1
          ) {
              $type = $item->getOrderItem()->getProductType();

              $renderer = $this->_getRenderer($type);
              $renderer->setOrder($order);
              $renderer->setItem($item);
              $renderer->setPdf($this);
              $renderer->setPage($page);
              $renderer->setRenderedModel($this);

              $renderer->draw($position);
              return $renderer->getPage();
          }

          /**
           * Insert Totals Block
           *
           * @param  object $page   Current page object of Zend_Pdf
           * @param  object $source Fields of footer
           *
           * @return Zend_Pdf_Page
           */
          protected function insertTotals($page, $source)
          {
              $this->y -= 15;

              $order = $source->getOrder();

              $totalTax = 0;
              $shippingTaxRate = 0;
              $shippingTaxAmount = $order->getShippingTaxAmount();

              if ($shippingTaxAmount > 0) {
                  $shippingTaxRate
                      = $order->getShippingTaxAmount() * 100
                      / ($order->getShippingInclTax()
                          - $order->getShippingTaxAmount());
              }

              $groupedTax = array();

              $items['items'] = array();
              foreach ($source->getAllItems() as $item) {
                  if ($item->getOrderItem()->getParentItem()) {
                      continue;
                  }
                  $items['items'][] = $item->getOrderItem()->toArray();
              }

              array_push(
                  $items['items'], array(
                      'row_invoiced'     => $order->getShippingInvoiced(),
                      'tax_inc_subtotal' => false,
                      'tax_percent'      => $shippingTaxRate,
                      'tax_amount'       => $shippingTaxAmount
                  )
              );

              foreach ($items['items'] as $item) {
                  $_percent = null;
                  if (!isset($item['tax_amount'])) {
                      $item['tax_amount'] = 0;
                  }
                  if (!isset($item['row_invoiced'])) {
                      $item['row_invoiced'] = 0;
                  }
                  if (!isset($item['price'])) {
                      $item['price'] = 0;
                  }
                  if (!isset($item['tax_inc_subtotal'])) {
                      $item['tax_inc_subtotal'] = 0;
                  }
                  if (((float)$item['tax_amount'] > 0)
                      && ((float)$item['row_invoiced'] > 0)
                  ) {
                      $_percent = round($item["tax_percent"], 0);
                  }
                  if (!array_key_exists('tax_inc_subtotal', $item)
                      || $item['tax_inc_subtotal']
                  ) {
                      $totalTax += $item['tax_amount'];
                  }
                  if (($item['tax_amount']) && $_percent) {
                      if (!array_key_exists((int)$_percent, $groupedTax)) {
                          $groupedTax[$_percent] = $item['tax_amount'];
                      } else {
                          $groupedTax[$_percent] += $item['tax_amount'];
                      }
                  }
              }

              $totals = $this->_getTotalsList($source);

              $lineBlock = array(
                  'lines'  => array(),
                  'height' => 20
              );

              foreach ($totals as $total) {
                  $total->setOrder($order)->setSource($source);

                  if ($total->canDisplay()) {
                      $total->setFontSize(10);
                      // fix Magento 1.8 bug, so that taxes for shipping do not appear twice
                      // see https://github.com/firegento/firegento-pdf/issues/106
                      $uniqueTotalsForDisplay = array_map(
                          'unserialize', array_unique(array_map('serialize',
                              $total->getTotalsForDisplay()))
                      );
                      foreach ($uniqueTotalsForDisplay as $totalData) {
                          $label = $this->fixNumberFormat($totalData['label']);
                          $lineBlock['lines'][] = array(
                              array(
                                  'text'      => $label,
                                  'feed'      => 470,
                                  'align'     => 'right',
                                  'font_size' => $totalData['font_size']
                              ),
                              array(
                                  'text'      => $totalData['amount'],
                                  'feed'      => 540,
                                  'align'     => 'right',
                                  'font_size' => $totalData['font_size']
                              ),
                          );
                      }
                  }
              }
              $page = $this->drawLineBlocks($page, array($lineBlock));
              return $page;
          }

          /**
           * 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;
          }

          /**
           * draw footer on pdf
           *
           * @param Zend_Pdf_Page &$page page to draw on
           * @param mixed         $store store to get infos from
           */
          protected function _addFooter(&$page, $store = null)
          {
              // get the imprint of the store if a store is set
              if (!empty($store)) {
                  $imprintObject = new Varien_Object();
                  $imprintObject->setImprint(Mage::getStoreConfig('general/imprint',
                      $store));
                  Mage::dispatchEvent('firegento_pdf_imprint_load_after', array(
                          'transport_object' => $imprintObject
                      )
                  );
                  $this->_imprint = $imprintObject->getImprint();
              }

              // Add footer if GermanSetup is installed.
              if ($this->_imprint
                  && Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1
              ) {
                  $this->y = 110;
                  $this->_insertFooter($page);

                  // Add page counter.
                  $this->y = 110;
                  $this->_insertPageCounter($page);
              }
          }

          /**
           * Insert footer
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           *
           * @return void
           */
          protected function _insertFooter(&$page)
          {
              $page->setLineColor($this->colors['black']);
              $page->setLineWidth(0.5);
              $page->drawLine($this->margin['left'] - 20, $this->y - 5,
                  $this->margin['right'] + 30, $this->y - 5);

              $this->Ln(15);
              $this->_insertFooterAddress($page);

              $fields = array(
                  'telephone' => Mage::helper('firegento_pdf')->__('Telephone:'),
                  'fax'       => Mage::helper('firegento_pdf')->__('Fax:'),
                  'email'     => Mage::helper('firegento_pdf')->__('E-Mail:'),
                  'web'       => Mage::helper('firegento_pdf')->__('Web:')
              );
              $this->_insertFooterBlock($page, $fields, 70, 40, 140);

              $fields = array(
                  'bank_name'          => Mage::helper('firegento_pdf')
                      ->__('Bank name:'),
                  'bank_account'       => Mage::helper('firegento_pdf')
                      ->__('Account:'),
                  'bank_code_number'   => Mage::helper('firegento_pdf')
                      ->__('Bank number:'),
                  'bank_account_owner' => Mage::helper('firegento_pdf')
                      ->__('Account owner:'),
                  'swift'              => Mage::helper('firegento_pdf')->__('SWIFT:'),
                  'iban'               => Mage::helper('firegento_pdf')->__('IBAN:')
              );
              $this->_insertFooterBlock($page, $fields, 215, 50, 150);

              $fields = array(
                  'tax_number'      => Mage::helper('firegento_pdf')
                      ->__('Tax number:'),
                  'vat_id'          => Mage::helper('firegento_pdf')->__('VAT-ID:'),
                  'register_number' => Mage::helper('firegento_pdf')
                      ->__('Register number:'),
                  'ceo'             => Mage::helper('firegento_pdf')->__('CEO:'),
                  'city'            => Mage::helper('firegento_pdf')
                      ->__('Registered seat:'),
                  'court'           => Mage::helper('firegento_pdf')
                      ->__('Register court:'),
              );
              $this->_insertFooterBlock($page, $fields, 355, 60,
                  $this->margin['right'] - 365 - 10);
          }

          /**
           * Insert footer block
           *
           * @param  Zend_Pdf_Page &$page       Current page object of Zend_Pdf
           * @param  array         $fields      Fields of footer
           * @param  int           $colposition Starting colposition
           * @param  int           $valadjust   Margin between label and value
           * @param  int           $colwidth    the width of this footer block - text will be wrapped if it is broader
           *                                    than this width
           *
           * @return void
           */
          protected function _insertFooterBlock(
              &$page,
              $fields,
              $colposition = 0,
              $valadjust = 30,
              $colwidth = null
          ) {
              $fontSize = 7;
              $font = $this->_setFontRegular($page, $fontSize);
              $y = $this->y;

              $valposition = $colposition + $valadjust;

              if (is_array($fields)) {
                  foreach ($fields as $field => $label) {
                      if (empty($this->_imprint[$field])) {
                          continue;
                      }
                      // draw the label
                      $page->drawText($label, $this->margin['left'] + $colposition,
                          $y, $this->encoding);
                      // prepare the value: wrap it if necessary
                      $val = $this->_imprint[$field];
                      $width = $colwidth;
                      if (!empty($colwidth)) {
                          // calculate the maximum width for the value
                          $width = $this->margin['left'] + $colposition + $colwidth
                              - ($this->margin['left'] + $valposition);
                      }
                      foreach (
                          $this->_prepareText($val, $page, $font, $fontSize, $width)
                          as $tmpVal
                      ) {
                          $page->drawText($tmpVal,
                              $this->margin['left'] + $valposition, $y,
                              $this->encoding);
                          $y -= 12;
                      }
                  }
              }
          }

          /**
           * Insert address of store owner
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           * @param  mixed         $store store to get info from
           *
           * @return void
           */
          protected function _insertFooterAddress(&$page, $store = null)
          {
              $fontSize = 7;
              $font = $this->_setFontRegular($page, $fontSize);
              $y = $this->y;
              $address = '';

              foreach (
                  $this->_prepareText($this->_imprint['company_first'], $page, $font,
                      $fontSize, 90) as $companyFirst
              ) {
                  $address .= $companyFirst . "\n";
              }

              if (array_key_exists('company_second', $this->_imprint)) {
                  foreach (
                      $this->_prepareText($this->_imprint['company_second'], $page,
                          $font, $fontSize, 90) as $companySecond
                  ) {
                      $address .= $companySecond . "\n";
                  }
              }

              if (array_key_exists('street', $this->_imprint)) {
                  $address .= $this->_imprint['street'] . "\n";
              }
              if (array_key_exists('zip', $this->_imprint)) {
                  $address .= $this->_imprint['zip'] . " ";
              }
              if (array_key_exists('city', $this->_imprint)) {
                  $address .= $this->_imprint['city'] . "\n";
              }

              if (!empty($this->_imprint['country'])) {
                  $countryName = Mage::getModel('directory/country')
                      ->loadByCode($this->_imprint['country'])->getName();
                  $address .= Mage::helper('core')->__($countryName);
              }

              foreach (explode("\n", $address) as $value) {
                  if ($value !== '') {
                      $page->drawText(trim(strip_tags($value)),
                          $this->margin['left'] - 20, $y, $this->encoding);
                      $y -= 12;
                  }
              }
          }

          /**
           * Insert page counter
           *
           * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
           *
           * @return void
           */
          protected function _insertPageCounter(&$page)
          {
              $font = $this->_setFontRegular($page, 9);
              $page->drawText(
                  Mage::helper('firegento_pdf')->__('Page') . ' '
                  . $this->pagecounter,
                  $this->margin['right'] - 23
                  - $this->widthForStringUsingFontSize($this->pagecounter, $font, 9),
                  $this->y,
                  $this->encoding
              );
          }

          /**
           * get stanard font
           *
           * @return Zend_Pdf_Resource_Font the regular font
           */
          public function getFontRegular()
          {
              if ($this->getRegularFont() && $this->regularFontFileExists()) {
                  return Zend_Pdf_Font::fontWithPath($this->getRegularFontFile());
              }
              return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
          }

          /**
           * Set default font
           *
           * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
           * @param  string|int    $size   Font size
           *
           * @return Zend_Pdf_Resource_Font
           */
          protected function _setFontRegular($object, $size = 10)
          {
              $font = $this->getFontRegular();
              $object->setFont($font, $size);
              return $font;
          }

          /**
           * get default bold font
           *
           * @return Zend_Pdf_Resource_Font the bold font
           */
          public function getFontBold()
          {
              if ($this->getBoldFont() && $this->boldFontFileExists()) {
                  return Zend_Pdf_Font::fontWithPath($this->getBoldFontFile());
              }
              return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);
          }

          /**
           * Set bold font
           *
           * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
           * @param  string|int    $size   Font size
           *
           * @return Zend_Pdf_Resource_Font
           */
          protected function _setFontBold($object, $size = 10)
          {
              $font = $this->getFontBold();
              $object->setFont($font, $size);
              return $font;
          }

          /**
           * get italic font
           *
           * @return Zend_Pdf_Resource_Font
           */
          public function getFontItalic()
          {
              if ($this->getItalicFont() && $this->italicFontFileExists()) {
                  return Zend_Pdf_Font::fontWithPath($this->getItalicFontFile());
              }
              return Zend_Pdf_Font::fontWithName(
                  Zend_Pdf_Font::FONT_HELVETICA_ITALIC
              );
          }

          /**
           * Set italic font
           *
           * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
           * @param  string|int    $size   Font size
           *
           * @return Zend_Pdf_Resource_Font
           */
          protected function _setFontItalic($object, $size = 10)
          {
              $font = $this->getFontItalic();
              $object->setFont($font, $size);
              return $font;
          }

          /**
           * Prepares the text so that it fits to the given page's width.
           *
           * @param  string                 $text     the text which should be prepared
           * @param  Zend_Pdf_Page          $page     the page on which the text will be rendered
           * @param  Zend_Pdf_Resource_Font $font     the font with which the text will be rendered
           * @param  int                    $fontSize the font size with which the text will be rendered
           * @param  int                    $width    [optional] the width for the given text, defaults to the page width
           *
           * @return array the given text in an array where each item represents a new line
           */
          public function _prepareText($text, $page, $font, $fontSize, $width = null)
          {
              if (empty($text)) {
                  return array();
              }
              $lines = '';
              $currentLine = '';
              // calculate the page's width with respect to the margins
              if (empty($width)) {
                  $width
                      = $page->getWidth() - $this->margin['left'] - ($page->getWidth()
                          - $this->margin['right']);
              }
              $textChunks = explode(' ', $text);
              foreach ($textChunks as $textChunk) {
                  if ($this->widthForStringUsingFontSize($currentLine . ' '
                          . $textChunk, $font, $fontSize) < $width
                  ) {
                      // do not add whitespace on first line
                      if (!empty($currentLine)) {
                          $currentLine .= ' ';
                      }
                      $currentLine .= $textChunk;
                  } else {
                      // text is too broad, so add new line character
                      $lines .= $currentLine . "\n";
                      $currentLine = $textChunk;
                  }
              }
              // append the last line
              $lines .= $currentLine;
              return explode("\n", $lines);
          }

          /**
           * Fix the percentage for taxes which come with four decimal places
           * from magento core.
           *
           * @param  string $label tax label which contains the badly formatted tax percentage
           *
           * @return string
           */
          private function fixNumberFormat($label)
          {
              $pattern = "/(.*)\((\d{1,2}\.\d{4}%)\)/";
              if (preg_match($pattern, $label, $matches)) {
                  $percentage = Zend_Locale_Format::toNumber(
                      $matches[2],
                      array(
                          'locale'    => Mage::app()->getLocale()->getLocale(),
                          'precision' => 2,
                      )
                  );
                  return $matches[1] . '(' . $percentage . '%)';
              }
              return $label;
          }

          /**
           * get bold font file
           *
           * @return string
           */
          private function getBoldFontFile()
          {
              return Mage::helper('firegento_pdf')->getFontPath() . DS
              . $this->getBoldFont();
          }

          /**
           * get bold font path
           *
           * @return string
           */
          private function getBoldFont()
          {
              return Mage::getStoreConfig(
                  FireGento_Pdf_Helper_Data::XML_PATH_BOLD_FONT
              );
          }

          /**
           * check whether font file exists for bold font
           *
           * @return bool
           */
          private function regularFontFileExists()
          {
              return file_exists($this->getBoldFontFile());
          }

          /**
           * get italic font path
           *
           * @return string
           */
          private function getItalicFont()
          {
              return Mage::getStoreConfig(
                  FireGento_Pdf_Helper_Data::XML_PATH_ITALIC_FONT
              );
          }

          /**
           * check whether italic font file exists
           *
           * @return bool
           */
          private function ItalicFontFileExists()
          {
              return file_exists($this->getItalicFontFile());
          }

          /**
           * get italic font file
           *
           * @return string
           */
          private function getItalicFontFile()
          {
              return Mage::helper('firegento_pdf')->getFontPath() . DS
              . $this->getItalicFont();
          }


          /**
           * get the regular font path
           *
           * @return string
           */
          private function getRegularFont()
          {
              return Mage::getStoreConfig(
                  FireGento_Pdf_Helper_Data::XML_PATH_REGULAR_FONT
              );
          }

          /**
           * check whether font file exists for regular font
           *
           * @return bool
           */
          private function regularFontFileExists()
          {
              return file_exists($this->getRegularFontFile());
          }

          /**
           * get the path to the font file for regular font
           *
           * @return string
           */
          private function getRegularFontFile()
          {
              return Mage::helper('firegento_pdf')->getFontPath() . DS
              . $this->getRegularFont();
          }
      }

      diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml index 9eb67b9..e334cce 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml @@ -76,7 +76,7 @@ - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml index d857cbc..112d0aa 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml @@ -125,7 +125,7 @@ - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml index e31decc..872186e 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml @@ -126,7 +126,7 @@ - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml index cf91fc8..4556a6d 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml @@ -146,7 +146,7 @@ - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml index aeacfaf..92d3d36 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml @@ -1662,7 +1662,7 @@ function - _insertSenderAddessBar + _insertSenderAddressBar ( & $page @@ -3164,7 +3164,7 @@ $this -> - _insertSenderAddessBar + _insertSenderAddressBar ( $page ) diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php index 47be7ce..08e1bc7 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php @@ -240,7 +240,7 @@ protected function Ln($height = 15) * * @return void */ - protected function _insertSenderAddessBar($page) + protected function _insertSenderAddressBar($page) { if (Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar') != '') { $this->_setFontRegular($page, 6); @@ -404,22 +404,25 @@ protected function insertAddressesAndHeader( // Add sender address $this->y = 705 - $this->_marginTop; - $this->_insertSenderAddessBar($page); + $this->_insertSenderAddressBar($page); + // Add head + $this->y = 592 - $this->_marginTop; // make sure that header does not overlap address bar $headOffset = 0; if ($this->y > 592 - $this->_marginTop) { $headOffset = 40; } - - // Add head - $this->y = 592 - $this->_marginTop; + $this->y = 592 - $headOffset - $this->_marginTop; $this->insertHeader($page, $order, $source); /* Add table head */ // make sure that item table does not overlap heading if ($this->y > 575 - $this->_marginTop) { $this->y = 575 - $this->_marginTop; + if ($this->y > 575 - $headOffset - $this->_marginTop) { + $this->y = 575 - $headOffset - $this->_marginTop; + } } } From 780bfd8a6b5ab8b97a5a347884dbf2456b7aea00 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Sun, 15 Oct 2017 16:19:56 +0200 Subject: [PATCH 111/121] fixed merge issue --- .../community/FireGento/Pdf/Model/Engine/Abstract.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php index 08e1bc7..4e6966e 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php @@ -407,7 +407,6 @@ protected function insertAddressesAndHeader( $this->_insertSenderAddressBar($page); // Add head - $this->y = 592 - $this->_marginTop; // make sure that header does not overlap address bar $headOffset = 0; if ($this->y > 592 - $this->_marginTop) { @@ -418,11 +417,8 @@ protected function insertAddressesAndHeader( /* Add table head */ // make sure that item table does not overlap heading - if ($this->y > 575 - $this->_marginTop) { - $this->y = 575 - $this->_marginTop; - if ($this->y > 575 - $headOffset - $this->_marginTop) { - $this->y = 575 - $headOffset - $this->_marginTop; - } + if ($this->y > 575 - $headOffset - $this->_marginTop) { + $this->y = 575 - $headOffset - $this->_marginTop; } } From b2a42149e869b16ef3a555b0398dd8d8753feb30 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 13 Nov 2017 08:14:04 +0100 Subject: [PATCH 112/121] fixed undefined variable issue, fixes #363 --- src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php index 4e6966e..e2e46b3 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php @@ -650,6 +650,9 @@ protected function insertHeader($page, $order, $document) && Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position') === FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER; if (($invoiceAndShippingHeader || $shipmentAndShippingHeader) && $order->getIsNotVirtual()) { + $font = $bold ? + $this->_setFontRegular($page, $fontSize ? $fontSize : $this->defaultFontSize) + : $this->_setFontBold($page, $fontSize ? $fontSize : $this->defaultFontSize); $shippingMethodArray = $this->_prepareText($order->getShippingDescription(), $page, $font, $this->defaultFontSize, $width); $shippingMethod = array_shift($shippingMethodArray); From 9c6e08aa49eb05e3883e596e63413a6f0814e196 Mon Sep 17 00:00:00 2001 From: Fabian Blechschmidt Date: Wed, 22 Nov 2017 16:37:07 +0100 Subject: [PATCH 113/121] Update Abstract.php Thanks @michael-hxx! https://github.com/firegento/firegento-pdf/pull/364 --- src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php index e2e46b3..8aba0e6 100644 --- a/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php +++ b/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php @@ -467,6 +467,7 @@ protected function getHeaderblockOffset() */ protected function insertHeader($page, $order, $document) { + $this->_headerLines = array(); $page->setFillColor($this->colors['text']); $mode = $this->getMode(); From 7461cc2e314368aeb3a990c23a76e0b97bb39dbf Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:01:52 +0100 Subject: [PATCH 114/121] updated phpdox configuration file --- phpdox.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpdox.xml b/phpdox.xml index 80160b0..4db30ea 100644 --- a/phpdox.xml +++ b/phpdox.xml @@ -1,5 +1,5 @@ - + From 44cc08bb4c003b30b4903bbf032ed0bc9be50a53 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:06:13 +0100 Subject: [PATCH 115/121] reformatted composer.json --- composer.json | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/composer.json b/composer.json index 7fe37e0..b637187 100644 --- a/composer.json +++ b/composer.json @@ -1,14 +1,16 @@ { - "name": "firegento/pdf", - "license": ["GPL-3.0"], - "type": "magento-module", - "description": "FireGento Pdf overwrites standard PDF layouts for invoices and shipments.", - "homepage": "https://github.com/firegento/firegento-pdf", - "suggest": { - "magento-hackathon/localefallback": "Allows fallback for locales, especially german, swiss/austria", - "magento-hackathon/magento-composer-installer": "Magento composer installer (or a replacement) is needed to install this packages" - }, - "require-dev": { - "ivanchepurnyi/ecomdev_phpunit": "dev-dev" - } + "name": "firegento/pdf", + "license": [ + "GPL-3.0" + ], + "type": "magento-module", + "description": "FireGento Pdf overwrites standard PDF layouts for invoices and shipments.", + "homepage": "https://github.com/firegento/firegento-pdf", + "suggest": { + "magento-hackathon/localefallback": "Allows fallback for locales, especially german, swiss/austria", + "magento-hackathon/magento-composer-installer": "Magento composer installer (or a replacement) is needed to install this packages" + }, + "require-dev": { + "ivanchepurnyi/ecomdev_phpunit": "dev-dev" + } } From 6ba97d9dfe7e7ccd22c1a44bfab9569d3d69078d Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:07:02 +0100 Subject: [PATCH 116/121] updated license in composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index b637187..7ad6010 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "firegento/pdf", "license": [ - "GPL-3.0" + "GPL-3.0-only" ], "type": "magento-module", "description": "FireGento Pdf overwrites standard PDF layouts for invoices and shipments.", From 077e9719dffcd121220a3cf8dca8cb2076d93f10 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:08:37 +0100 Subject: [PATCH 117/121] removed Magento Connect link --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 139af0d..dd69bfd 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,6 @@ Facts ----- - version: 1.3.0 - extension key: FireGento_Pdf -- [extension on Magento Connect](http://www.magentocommerce.com/magento-connect/firegento-pdf.html) -- Magento Connect 2.0 extension key: http://connect20.magentocommerce.com/community/FireGento_Pdf - [extension on GitHub](https://github.com/firegento/firegento-pdf) - [direct download link](https://github.com/firegento/firegento-pdf/archive/master.zip) @@ -30,7 +28,7 @@ Compatibility Installation Instructions ------------------------- -1. Install the extension via Magento Connect with the key shown above or copy all the files into your document root. +1. Copy all the files into your document root. 2. Clear the cache, logout from the admin panel and then login again. 3. Configure the extension under System - Configuration - Sales - PDF Print-outs. From f9d91200bfff0693b88d50f329f97c4d97d23997 Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:09:01 +0100 Subject: [PATCH 118/121] updated copyright year --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd69bfd..cc59ff0 100644 --- a/README.md +++ b/README.md @@ -57,4 +57,4 @@ License Copyright --------- -(c) 2013-2014 FireGento Team +(c) 2013-2018 FireGento Team From 9ed225e106dc1c617761c7cae80e04e1ed2fadea Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:10:39 +0100 Subject: [PATCH 119/121] updated supported PHP version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc59ff0..79596bb 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ FireGento PDF overwrites standard PDF layouts for invoices, shipments and credit Requirements ------------ -- PHP >= 5.2.0 +- PHP >= 5.6.0 - Mage_Core - Mage_Pdf - Mage_Sales From b2758f3c88e1a821ded9b70b5464475dac60b43d Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:13:35 +0100 Subject: [PATCH 120/121] updated version to 1.4.0 --- FireGento_Pdf.xml | 2 +- README.md | 2 +- src/app/code/community/FireGento/Pdf/etc/config.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FireGento_Pdf.xml b/FireGento_Pdf.xml index 03d2422..104add9 100755 --- a/FireGento_Pdf.xml +++ b/FireGento_Pdf.xml @@ -9,7 +9,7 @@ FireGento PDF overwrites standard PDF layouts for invoices, shipments and creditmemos. Anyway, you can still use the standard Magento layout, because the extension is highly configurable. GPL-3.0 - 1.3.0 + 1.4.0 stable - [FEATURE] support for downloading invoice/creditmemo/shipping PDFs from the customer account page - [FEATURE] support for downloadable items diff --git a/README.md b/README.md index 79596bb..0cf9488 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ FireGento PDF overwrites standard PDF layouts for invoices, shipments and credit Facts ----- -- version: 1.3.0 +- version: 1.4.0 - extension key: FireGento_Pdf - [extension on GitHub](https://github.com/firegento/firegento-pdf) - [direct download link](https://github.com/firegento/firegento-pdf/archive/master.zip) diff --git a/src/app/code/community/FireGento/Pdf/etc/config.xml b/src/app/code/community/FireGento/Pdf/etc/config.xml index 36d0c8a..bd63525 100644 --- a/src/app/code/community/FireGento/Pdf/etc/config.xml +++ b/src/app/code/community/FireGento/Pdf/etc/config.xml @@ -21,7 +21,7 @@ - 1.3.0 + 1.4.0 From d9668e0385cc6248cb665f8658a7dda444691e6a Mon Sep 17 00:00:00 2001 From: Simon Sprankel Date: Mon, 12 Mar 2018 21:14:14 +0100 Subject: [PATCH 121/121] updated phpdocs --- docs/api/html/classes.xhtml | 217 +- ...Adminhtml_Sales_CreditmemoController.xhtml | 93 + .../pdfcreditmemosAction.xhtml | 75 + ...df_Adminhtml_Sales_InvoiceController.xhtml | 93 + .../pdfinvoicesAction.xhtml | 75 + ..._Pdf_Adminhtml_Sales_OrderController.xhtml | 101 + .../pdfcreditmemosAction.xhtml | 75 + .../pdfinvoicesAction.xhtml | 75 + .../pdfshipmentsAction.xhtml | 75 + ...tml_Sales_Order_CreditmemoController.xhtml | 10 +- .../printAction.xhtml | 8 +- ...inhtml_Sales_Order_InvoiceController.xhtml | 8 +- .../printAction.xhtml | 6 +- ...nhtml_Sales_Order_ShipmentController.xhtml | 8 +- .../printAction.xhtml | 6 +- ...f_Adminhtml_Sales_ShipmentController.xhtml | 93 + .../pdfshipmentsAction.xhtml | 75 + ...nhtml_System_Config_Form_Field_Notes.xhtml | 111 + .../_getCountryRenderer.xhtml | 85 + .../_prepareArrayRow.xhtml | 87 + .../_prepareToRender.xhtml | 76 + ...stem_Config_Form_Field_Notes_Country.xhtml | 97 + .../_toHtml.xhtml | 84 + .../setInputName.xhtml | 95 + .../classes/FireGento_Pdf_Helper_Data.xhtml | 104 +- .../FireGento_Pdf_Helper_Data/getColor.xhtml | 96 + .../getExportFilename.xhtml | 8 +- ...etExportFilenameForMultipleDocuments.xhtml | 95 + .../getExportPattern.xhtml | 8 +- ...getExportPatternForMultipleDocuments.xhtml | 95 + .../getFontPath.xhtml | 8 +- .../getFooterColor.xhtml | 85 + .../getGuestorderCustomerNo.xhtml | 101 + .../getHeaderColor.xhtml | 85 + .../getLabelColor.xhtml | 85 + .../getModelVars.xhtml | 8 +- .../getPageSizeConfigPath.xhtml | 75 + .../getScaledImageSize.xhtml | 8 +- .../getTextColor.xhtml | 85 + .../isLogoFullWidth.xhtml | 8 +- .../putOrderId.xhtml | 12 +- .../showCustomerNumber.xhtml | 12 +- .../showCustomerVATNumber.xhtml | 102 + .../FireGento_Pdf_Helper_Invoice.xhtml | 95 + .../getShippingCountryNotes.xhtml | 95 + .../FireGento_Pdf_Model_Creditmemo.xhtml | 23 +- .../getEngine.xhtml | 8 +- .../getPdf.xhtml | 12 +- .../FireGento_Pdf_Model_Engine_Abstract.xhtml | 175 +- .../ItalicFontFileExists.xhtml | 10 +- .../Ln.xhtml | 8 +- .../__construct.xhtml | 11 +- .../_addFooter.xhtml | 16 +- .../_drawItem.xhtml | 26 +- .../_getGuestorderCustomerNo.xhtml | 95 + .../_insertCustomerAddress.xhtml | 14 +- .../_insertFooter.xhtml | 14 +- .../_insertFooterAddress.xhtml | 16 +- .../_insertFooterBlock.xhtml | 24 +- .../_insertLogoFullWidth.xhtml | 18 +- .../_insertLogoPositioned.xhtml | 16 +- .../_insertNote.xhtml | 20 +- .../_insertPageCounter.xhtml | 14 +- .../_insertSenderAddressBar.xhtml | 14 +- .../_isLogoFullWidth.xhtml | 8 +- .../_prepareText.xhtml | 22 +- .../_putOrderId.xhtml | 8 +- .../_setFontBold.xhtml | 8 +- .../_setFontItalic.xhtml | 8 +- .../_setFontRegular.xhtml | 8 +- .../_showCustomerNumber.xhtml | 8 +- .../_showCustomerVATNumber.xhtml | 96 + .../boldFontFileExists.xhtml | 85 + .../drawLineBlocks.xhtml | 16 +- .../fixNumberFormat.xhtml | 10 +- .../getBoldFont.xhtml | 10 +- .../getBoldFontFile.xhtml | 10 +- .../getFontBold.xhtml | 8 +- .../getFontItalic.xhtml | 8 +- .../getFontRegular.xhtml | 8 +- .../getHeaderblockOffset.xhtml | 8 +- .../getItalicFont.xhtml | 10 +- .../getItalicFontFile.xhtml | 10 +- .../getMode.xhtml | 8 +- .../getPageSize.xhtml | 84 + .../getRegularFont.xhtml | 10 +- .../getRegularFontFile.xhtml | 10 +- .../insertAddressesAndHeader.xhtml | 20 +- .../insertHeader.xhtml | 14 +- .../insertLogo.xhtml | 16 +- .../insertTotals.xhtml | 8 +- .../newPage.xhtml | 12 +- .../regularFontFileExists.xhtml | 13 +- .../setFont.xhtml | 102 + .../setMode.xhtml | 8 +- ..._Pdf_Model_Engine_Creditmemo_Default.xhtml | 98 +- .../__construct.xhtml | 8 +- .../_drawHeader.xhtml | 12 +- .../_initRenderer.xhtml | 8 +- .../getPdf.xhtml | 12 +- ...nto_Pdf_Model_Engine_Invoice_Default.xhtml | 98 +- .../__construct.xhtml | 8 +- .../_initRenderer.xhtml | 8 +- .../getPdf.xhtml | 12 +- .../insertTableHeader.xhtml | 14 +- ...to_Pdf_Model_Engine_Shipment_Default.xhtml | 101 +- .../__construct.xhtml | 8 +- .../_initRenderer.xhtml | 8 +- .../_insertCustomerAddress.xhtml | 14 +- .../_printShipmentTracks.xhtml | 108 + .../getPdf.xhtml | 12 +- .../insertShippingAddress.xhtml | 8 +- .../insertTableHeader.xhtml | 8 +- .../classes/FireGento_Pdf_Model_Invoice.xhtml | 23 +- .../getEngine.xhtml | 8 +- .../FireGento_Pdf_Model_Invoice/getPdf.xhtml | 12 +- .../FireGento_Pdf_Model_Items_Bundle.xhtml | 12 +- .../draw.xhtml | 8 +- .../FireGento_Pdf_Model_Items_Default.xhtml | 12 +- .../draw.xhtml | 8 +- ...reGento_Pdf_Model_Items_Downloadable.xhtml | 10 +- .../draw.xhtml | 8 +- .../FireGento_Pdf_Model_Items_Grouped.xhtml | 12 +- .../draw.xhtml | 8 +- ...ento_Pdf_Model_Items_Shipment_Bundle.xhtml | 12 +- .../draw.xhtml | 8 +- ...nto_Pdf_Model_Items_Shipment_Default.xhtml | 12 +- .../draw.xhtml | 8 +- ...Gento_Pdf_Model_Items_Unirgy_Default.xhtml | 105 + .../getItemOptions.xhtml | 75 + ..._Model_Items_Unirgy_Shipment_Default.xhtml | 105 + .../getItemOptions.xhtml | 75 + .../FireGento_Pdf_Model_Observer.xhtml | 62 +- .../_addBarcode.xhtml | 96 + .../_addCreditmemoComments.xhtml | 96 + ...mments.xhtml => _addInvoiceComments.xhtml} | 16 +- ...tice.xhtml => _addInvoiceDateNotice.xhtml} | 16 +- ...turity.xhtml => _addInvoiceMaturity.xhtml} | 16 +- .../_addPaymentMethod.xhtml | 102 + .../_addShipmentComments.xhtml | 96 + .../_addShippingCountryNotes.xhtml | 96 + ...gMethod.xhtml => _addShippingMethod.xhtml} | 16 +- .../addCreditmemoNotes.xhtml | 96 + ...dBarcode.xhtml => addInvoiceBarcode.xhtml} | 18 +- .../addInvoiceNotes.xhtml | 12 +- .../addShipmentBarcode.xhtml | 96 + ...entMethod.xhtml => addShipmentNotes.xhtml} | 18 +- .../FireGento_Pdf_Model_Shipment.xhtml | 23 +- .../getEngine.xhtml | 8 +- .../FireGento_Pdf_Model_Shipment/getPdf.xhtml | 12 +- ...Pdf_Model_System_Config_Backend_Font.xhtml | 15 +- .../_getAllowedExtensions.xhtml | 8 +- ...stem_Config_Source_Creditmemo_Engine.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ...System_Config_Source_Customer_Number.xhtml | 104 + .../toOptionArray.xhtml | 84 + ...el_System_Config_Source_Headerblocks.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ..._System_Config_Source_Invoice_Engine.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ..._Pdf_Model_System_Config_Source_Logo.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ..._Model_System_Config_Source_PageSize.xhtml | 84 + .../toOptionArray.xhtml | 84 + ...f_Model_System_Config_Source_Payment.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ...System_Config_Source_Shipment_Engine.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ..._Model_System_Config_Source_Shipping.xhtml | 6 +- .../toOptionArray.xhtml | 8 +- ...o_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xhtml | 12 +- .../getTotalsForDisplay.xhtml | 8 +- .../FireGento_Pdf_Sales_OrderController.xhtml | 15 +- .../printCreditmemoAction.xhtml | 8 +- .../printDocument.xhtml | 8 +- .../printInvoiceAction.xhtml | 8 +- .../printShipmentAction.xhtml | 8 +- ...eGento_Pdf_Test_Model_CreditmemoTest.xhtml | 24 +- .../getEngineXmlConfigPath.xhtml | 8 +- .../getExpectedDefaultEngineClass.xhtml | 8 +- .../getOrderObjectClassName.xhtml | 8 +- ...FireGento_Pdf_Test_Model_InvoiceTest.xhtml | 24 +- .../getEngineXmlConfigPath.xhtml | 8 +- .../getExpectedDefaultEngineClass.xhtml | 8 +- .../getOrderObjectClassName.xhtml | 8 +- ...f_Test_Model_SalesObjectTestAbstract.xhtml | 34 +- .../callMethod.xhtml | 14 +- .../getEngineXmlConfigPath.xhtml | 8 +- .../getExpectedDefaultEngineClass.xhtml | 8 +- .../getOrderObjectClassName.xhtml | 8 +- .../itShouldExist.xhtml | 8 +- .../itShouldHaveAMethodGetEngine.xhtml | 8 +- .../itShouldReturnADefaultEngineModel.xhtml | 8 +- .../itShouldReturnAZendPdf.xhtml | 8 +- .../itShouldhaveAMethodGetPdf.xhtml | 8 +- ...ireGento_Pdf_Test_Model_ShipmentTest.xhtml | 24 +- .../getEngineXmlConfigPath.xhtml | 8 +- .../getExpectedDefaultEngineClass.xhtml | 8 +- .../getOrderObjectClassName.xhtml | 8 +- ...ento_Pdf_Block_Adminhtml_ColumnOrder.xhtml | 17 +- .../_addListItems.xhtml | 8 +- .../_getElementHtml.xhtml | 12 +- .../_getSortableListHtml.xhtml | 12 +- docs/api/html/css/source.css | 40 + docs/api/html/css/style.css | 27 + docs/api/html/index.xhtml | 8 +- docs/api/html/interfaces.xhtml | 2 +- docs/api/html/namespaces.xhtml | 4 +- .../Pdf/Block/Adminhtml/ColumnOrder.php.xhtml | 2 +- .../System/Config/Form/Field/Notes.php.xhtml | 3 + .../Config/Form/Field/Notes/Country.php.xhtml | 3 + .../Config/Form/Field/Notes/index.xhtml | 144 + .../System/Config/Form/Field/index.xhtml | 147 + .../Adminhtml/System/Config/Form/index.xhtml | 133 + .../Block/Adminhtml/System/Config/index.xhtml | 127 + .../Pdf/Block/Adminhtml/System/index.xhtml | 121 + .../FireGento/Pdf/Block/Adminhtml/index.xhtml | 21 +- .../community/FireGento/Pdf/Block/index.xhtml | 6 +- .../FireGento/Pdf/Helper/Data.php.xhtml | 2 +- .../FireGento/Pdf/Helper/Invoice.php.xhtml | 3 + .../FireGento/Pdf/Helper/index.xhtml | 20 +- .../FireGento/Pdf/Model/Creditmemo.php.xhtml | 2 +- .../Pdf/Model/Engine/Abstract.php.xhtml | 2 +- .../Model/Engine/Creditmemo/Default.php.xhtml | 2 +- .../Pdf/Model/Engine/Creditmemo/index.xhtml | 10 +- .../Model/Engine/Invoice/Default.php.xhtml | 2 +- .../Pdf/Model/Engine/Invoice/index.xhtml | 10 +- .../Model/Engine/Shipment/Default.php.xhtml | 2 +- .../Pdf/Model/Engine/Shipment/index.xhtml | 10 +- .../FireGento/Pdf/Model/Engine/index.xhtml | 10 +- .../FireGento/Pdf/Model/Invoice.php.xhtml | 2 +- .../Pdf/Model/Items/Bundle.php.xhtml | 2 +- .../Pdf/Model/Items/Default.php.xhtml | 2 +- .../Pdf/Model/Items/Downloadable.php.xhtml | 2 +- .../Pdf/Model/Items/Grouped.php.xhtml | 2 +- .../Pdf/Model/Items/Shipment/Bundle.php.xhtml | 2 +- .../Model/Items/Shipment/Default.php.xhtml | 2 +- .../Pdf/Model/Items/Shipment/index.xhtml | 14 +- .../Pdf/Model/Items/Unirgy/Default.php.xhtml | 3 + .../Items/Unirgy/Shipment/Default.php.xhtml | 3 + .../Model/Items/Unirgy/Shipment/index.xhtml | 126 + .../Pdf/Model/Items/Unirgy/index.xhtml | 129 + .../FireGento/Pdf/Model/Items/index.xhtml | 31 +- .../FireGento/Pdf/Model/Observer.php.xhtml | 2 +- .../FireGento/Pdf/Model/Shipment.php.xhtml | 2 +- .../System/Config/Backend/Font.php.xhtml | 2 +- .../Model/System/Config/Backend/index.xhtml | 8 +- .../Config/Source/Creditmemo/Engine.php.xhtml | 2 +- .../Config/Source/Creditmemo/index.xhtml | 10 +- .../Config/Source/Customer/Number.php.xhtml | 3 + .../System/Config/Source/Customer/index.xhtml | 132 + .../Config/Source/Headerblocks.php.xhtml | 2 +- .../Config/Source/Invoice/Engine.php.xhtml | 2 +- .../System/Config/Source/Invoice/index.xhtml | 10 +- .../Model/System/Config/Source/Logo.php.xhtml | 2 +- .../System/Config/Source/PageSize.php.xhtml | 3 + .../System/Config/Source/Payment.php.xhtml | 2 +- .../Config/Source/Shipment/Engine.php.xhtml | 2 +- .../System/Config/Source/Shipment/index.xhtml | 10 +- .../System/Config/Source/Shipping.php.xhtml | 2 +- .../Model/System/Config/Source/index.xhtml | 41 +- .../Pdf/Model/System/Config/index.xhtml | 6 +- .../FireGento/Pdf/Model/System/index.xhtml | 6 +- .../Model/Tax/Sales/Pdf/Grandtotal.php.xhtml | 2 +- .../Pdf/Model/Tax/Sales/Pdf/index.xhtml | 10 +- .../FireGento/Pdf/Model/Tax/Sales/index.xhtml | 6 +- .../FireGento/Pdf/Model/Tax/index.xhtml | 6 +- .../community/FireGento/Pdf/Model/index.xhtml | 22 +- .../Pdf/Test/Model/CreditmemoTest.php.xhtml | 2 +- .../Pdf/Test/Model/InvoiceTest.php.xhtml | 2 +- .../Model/SalesObjectTestAbstract.php.xhtml | 2 +- .../Pdf/Test/Model/ShipmentTest.php.xhtml | 2 +- .../FireGento/Pdf/Test/Model/index.xhtml | 22 +- .../community/FireGento/Pdf/Test/index.xhtml | 6 +- .../Sales/CreditmemoController.php.xhtml | 3 + .../Sales/InvoiceController.php.xhtml | 3 + .../Order/CreditmemoController.php.xhtml | 2 +- .../Sales/Order/InvoiceController.php.xhtml | 2 +- .../Sales/Order/ShipmentController.php.xhtml | 2 +- .../Adminhtml/Sales/Order/index.xhtml | 12 +- .../Adminhtml/Sales/OrderController.php.xhtml | 3 + .../Sales/ShipmentController.php.xhtml | 3 + .../controllers/Adminhtml/Sales/index.xhtml | 40 +- .../Pdf/controllers/Adminhtml/index.xhtml | 6 +- .../Sales/OrderController.php.xhtml | 2 +- .../Pdf/controllers/Sales/index.xhtml | 10 +- .../FireGento/Pdf/controllers/index.xhtml | 6 +- .../code/community/FireGento/Pdf/index.xhtml | 6 +- .../Pdf/sql/firegento_pdf_setup/index.xhtml | 10 +- .../upgrade-1.0.0-1.1.0.php.xhtml | 2 +- .../community/FireGento/Pdf/sql/index.xhtml | 6 +- .../app/code/community/FireGento/index.xhtml | 6 +- .../source/app/code/community/index.xhtml | 6 +- docs/api/html/source/app/code/index.xhtml | 6 +- docs/api/html/source/app/index.xhtml | 6 +- docs/api/html/source/index.xhtml | 8 +- docs/api/html/traits.xhtml | 2 +- ...f_Adminhtml_Sales_CreditmemoController.xml | 6 + ..._Pdf_Adminhtml_Sales_InvoiceController.xml | 6 + ...to_Pdf_Adminhtml_Sales_OrderController.xml | 8 + ...nhtml_Sales_Order_CreditmemoController.xml | 10 +- ...dminhtml_Sales_Order_InvoiceController.xml | 4 +- ...minhtml_Sales_Order_ShipmentController.xml | 5 +- ...Pdf_Adminhtml_Sales_ShipmentController.xml | 6 + ...minhtml_System_Config_Form_Field_Notes.xml | 37 + ...System_Config_Form_Field_Notes_Country.xml | 22 + .../xml/classes/FireGento_Pdf_Helper_Data.xml | 161 +- .../classes/FireGento_Pdf_Helper_Invoice.xml | 23 + .../FireGento_Pdf_Model_Creditmemo.xml | 20 +- .../FireGento_Pdf_Model_Engine_Abstract.xml | 337 +- ...to_Pdf_Model_Engine_Creditmemo_Default.xml | 384 +- ...Gento_Pdf_Model_Engine_Invoice_Default.xml | 385 +- ...ento_Pdf_Model_Engine_Shipment_Default.xml | 403 +- .../classes/FireGento_Pdf_Model_Invoice.xml | 20 +- .../FireGento_Pdf_Model_Items_Bundle.xml | 27 +- .../FireGento_Pdf_Model_Items_Default.xml | 41 +- ...FireGento_Pdf_Model_Items_Downloadable.xml | 18 +- .../FireGento_Pdf_Model_Items_Grouped.xml | 10 +- ...eGento_Pdf_Model_Items_Shipment_Bundle.xml | 16 +- ...Gento_Pdf_Model_Items_Shipment_Default.xml | 23 +- ...reGento_Pdf_Model_Items_Unirgy_Default.xml | 39 + ...df_Model_Items_Unirgy_Shipment_Default.xml | 28 + .../classes/FireGento_Pdf_Model_Observer.xml | 144 +- .../classes/FireGento_Pdf_Model_Shipment.xml | 20 +- ...o_Pdf_Model_System_Config_Backend_Font.xml | 10 +- ...System_Config_Source_Creditmemo_Engine.xml | 16 +- ...l_System_Config_Source_Customer_Number.xml | 23 + ...odel_System_Config_Source_Headerblocks.xml | 14 +- ...el_System_Config_Source_Invoice_Engine.xml | 16 +- ...to_Pdf_Model_System_Config_Source_Logo.xml | 18 +- ...df_Model_System_Config_Source_PageSize.xml | 16 + ...Pdf_Model_System_Config_Source_Payment.xml | 14 +- ...l_System_Config_Source_Shipment_Engine.xml | 16 +- ...df_Model_System_Config_Source_Shipping.xml | 14 +- ...nto_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xml | 24 +- .../FireGento_Pdf_Sales_OrderController.xml | 25 +- ...ireGento_Pdf_Test_Model_CreditmemoTest.xml | 42 +- .../FireGento_Pdf_Test_Model_InvoiceTest.xml | 42 +- ...Pdf_Test_Model_SalesObjectTestAbstract.xml | 42 +- .../FireGento_Pdf_Test_Model_ShipmentTest.xml | 42 +- ...egento_Pdf_Block_Adminhtml_ColumnOrder.xml | 22 +- docs/api/xml/index.xml | 71 +- docs/api/xml/source.xml | 153 +- .../Pdf/Block/Adminhtml/ColumnOrder.php.xml | 269 +- .../System/Config/Form/Field/Notes.php.xml | 383 + .../Config/Form/Field/Notes/Country.php.xml | 205 + .../FireGento/Pdf/Helper/Data.php.xml | 2503 +++++-- .../FireGento/Pdf/Helper/Invoice.php.xml | 296 + .../FireGento/Pdf/Model/Creditmemo.php.xml | 148 +- .../Pdf/Model/Engine/Abstract.php.xml | 6186 ++++++++++------- .../Model/Engine/Creditmemo/Default.php.xml | 962 ++- .../Pdf/Model/Engine/Invoice/Default.php.xml | 528 +- .../Pdf/Model/Engine/Shipment/Default.php.xml | 1145 ++- .../FireGento/Pdf/Model/Invoice.php.xml | 156 +- .../FireGento/Pdf/Model/Items/Bundle.php.xml | 501 +- .../FireGento/Pdf/Model/Items/Default.php.xml | 386 +- .../Pdf/Model/Items/Downloadable.php.xml | 246 +- .../FireGento/Pdf/Model/Items/Grouped.php.xml | 60 +- .../Pdf/Model/Items/Shipment/Bundle.php.xml | 340 +- .../Pdf/Model/Items/Shipment/Default.php.xml | 195 +- .../Pdf/Model/Items/Unirgy/Default.php.xml | 163 + .../Items/Unirgy/Shipment/Default.php.xml | 163 + .../FireGento/Pdf/Model/Observer.php.xml | 1508 +++- .../FireGento/Pdf/Model/Shipment.php.xml | 150 +- .../Model/System/Config/Backend/Font.php.xml | 61 +- .../Config/Source/Creditmemo/Engine.php.xml | 127 +- .../Config/Source/Customer/Number.php.xml | 288 + .../System/Config/Source/Headerblocks.php.xml | 95 +- .../Config/Source/Invoice/Engine.php.xml | 127 +- .../Model/System/Config/Source/Logo.php.xml | 103 +- .../System/Config/Source/PageSize.php.xml | 262 + .../System/Config/Source/Payment.php.xml | 97 +- .../Config/Source/Shipment/Engine.php.xml | 127 +- .../System/Config/Source/Shipping.php.xml | 97 +- .../Model/Tax/Sales/Pdf/Grandtotal.php.xml | 171 +- .../Pdf/Test/Model/CreditmemoTest.php.xml | 122 +- .../Pdf/Test/Model/InvoiceTest.php.xml | 122 +- .../Model/SalesObjectTestAbstract.php.xml | 402 +- .../Pdf/Test/Model/ShipmentTest.php.xml | 123 +- .../Sales/CreditmemoController.php.xml | 416 ++ .../Adminhtml/Sales/InvoiceController.php.xml | 416 ++ .../Sales/Order/CreditmemoController.php.xml | 83 +- .../Sales/Order/InvoiceController.php.xml | 4 +- .../Sales/Order/ShipmentController.php.xml | 4 +- .../Adminhtml/Sales/OrderController.php.xml | 1419 ++++ .../Sales/ShipmentController.php.xml | 416 ++ .../controllers/Sales/OrderController.php.xml | 368 +- .../upgrade-1.0.0-1.1.0.php.xml | 32 +- 388 files changed, 24600 insertions(+), 8860 deletions(-) create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController/pdfcreditmemosAction.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController/pdfinvoicesAction.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfcreditmemosAction.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfinvoicesAction.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfshipmentsAction.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController/pdfshipmentsAction.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_getCountryRenderer.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareArrayRow.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareToRender.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/_toHtml.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/setInputName.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getColor.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilenameForMultipleDocuments.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPatternForMultipleDocuments.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getFooterColor.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getGuestorderCustomerNo.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getHeaderColor.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getLabelColor.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getPageSizeConfigPath.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/getTextColor.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerVATNumber.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Invoice.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Helper_Invoice/getShippingCountryNotes.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_getGuestorderCustomerNo.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerVATNumber.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/boldFontFileExists.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getPageSize.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setFont.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_printShipmentTracks.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default/getItemOptions.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default/getItemOptions.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/_addBarcode.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/_addCreditmemoComments.xhtml rename docs/api/html/classes/FireGento_Pdf_Model_Observer/{addInvoiceComments.xhtml => _addInvoiceComments.xhtml} (78%) rename docs/api/html/classes/FireGento_Pdf_Model_Observer/{addInvoiceDateNotice.xhtml => _addInvoiceDateNotice.xhtml} (78%) rename docs/api/html/classes/FireGento_Pdf_Model_Observer/{addInvoiceMaturity.xhtml => _addInvoiceMaturity.xhtml} (78%) create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/_addPaymentMethod.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShipmentComments.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingCountryNotes.xhtml rename docs/api/html/classes/FireGento_Pdf_Model_Observer/{addShippingMethod.xhtml => _addShippingMethod.xhtml} (78%) create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/addCreditmemoNotes.xhtml rename docs/api/html/classes/FireGento_Pdf_Model_Observer/{addBarcode.xhtml => addInvoiceBarcode.xhtml} (77%) create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentBarcode.xhtml rename docs/api/html/classes/FireGento_Pdf_Model_Observer/{addPaymentMethod.xhtml => addShipmentNotes.xhtml} (76%) create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number/toOptionArray.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xhtml create mode 100644 docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize/toOptionArray.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Invoice.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/index.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xhtml create mode 100644 docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xhtml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Helper_Invoice.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xml create mode 100644 docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Invoice.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xml create mode 100644 docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xml diff --git a/docs/api/html/classes.xhtml b/docs/api/html/classes.xhtml index ebdb97b..f4ceb7b 100644 --- a/docs/api/html/classes.xhtml +++ b/docs/api/html/classes.xhtml @@ -38,251 +38,374 @@ + + + FireGento_Pdf_Adminhtml_Sales_CreditmemoController + + + No description available + + EMPTY + + + + + FireGento_Pdf_Adminhtml_Sales_InvoiceController + + + No description available + + EMPTY + + + + + FireGento_Pdf_Adminhtml_Sales_OrderController + + + No description available + + EMPTY + + FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController Class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController - UNTESTED + EMPTY + FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController Class FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController - UNTESTED + EMPTY + FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController Class FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController - UNTESTED + EMPTY + + + + + FireGento_Pdf_Adminhtml_Sales_ShipmentController + + + No description available + + EMPTY + + + + + FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes + + + No description available + + EMPTY + + + + + FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country + + HTML select element block with country options + EMPTY + FireGento_Pdf_Helper_Data Dummy data helper for translation issues. - UNTESTED + EMPTY + + + + + FireGento_Pdf_Helper_Invoice + + Helper for invoice creation. + EMPTY + FireGento_Pdf_Model_Creditmemo Creditmemo model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Engine_Abstract Abstract pdf model. - UNTESTED + EMPTY + FireGento_Pdf_Model_Engine_Creditmemo_Default Creditmemo model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Engine_Invoice_Default Default invoice rendering engine. - UNTESTED + EMPTY + FireGento_Pdf_Model_Engine_Shipment_Default Shipment model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Invoice Invoice model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Items_Bundle Bundle item model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Items_Default Default item model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Items_Downloadable Class FireGento_Pdf_Model_Items_Downloadable - UNTESTED + EMPTY + FireGento_Pdf_Model_Items_Grouped Default item model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_Items_Shipment_Bundle Shipment bundle item model. - UNTESTED + EMPTY + FireGento_Pdf_Model_Items_Shipment_Default Shipment default item model. - UNTESTED + EMPTY + + + + + FireGento_Pdf_Model_Items_Unirgy_Default + + Default item model rewrite. + EMPTY + + + + + FireGento_Pdf_Model_Items_Unirgy_Shipment_Default + + Default item model rewrite. + EMPTY + FireGento_Pdf_Model_Observer FireGento Pdf observer. - UNTESTED + EMPTY + FireGento_Pdf_Model_Shipment Shipment model rewrite. - UNTESTED + EMPTY + FireGento_Pdf_Model_System_Config_Backend_Font Class FireGento_Pdf_Model_System_Config_Backend_Font - UNTESTED + EMPTY + FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine Pdf creation engine source model. - UNTESTED + EMPTY + + + + + FireGento_Pdf_Model_System_Config_Source_Customer_Number + + Customer number source model. + EMPTY + FireGento_Pdf_Model_System_Config_Source_Headerblocks Logo position source model. - UNTESTED + EMPTY + FireGento_Pdf_Model_System_Config_Source_Invoice_Engine Pdf creation engine source model. - UNTESTED + EMPTY + FireGento_Pdf_Model_System_Config_Source_Logo Logo position source model. - UNTESTED + EMPTY + + + + + FireGento_Pdf_Model_System_Config_Source_PageSize + + Page size source model. + EMPTY + FireGento_Pdf_Model_System_Config_Source_Payment Payment method position source model. - UNTESTED + EMPTY + FireGento_Pdf_Model_System_Config_Source_Shipment_Engine Pdf creation engine source model. - UNTESTED + EMPTY + FireGento_Pdf_Model_System_Config_Source_Shipping Shipping method position source model. - UNTESTED + EMPTY + FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal Shipment bundle item model. - UNTESTED + EMPTY + FireGento_Pdf_Sales_OrderController Sales orders controller - UNTESTED + EMPTY + FireGento_Pdf_Test_Model_CreditmemoTest - - No description available - - UNTESTED + Test class for creditmemos. + EMPTY + FireGento_Pdf_Test_Model_InvoiceTest - - No description available - - UNTESTED + Test class for invoices. + EMPTY + FireGento_Pdf_Test_Model_SalesObjectTestAbstract - - No description available - - UNTESTED + Abstract test class for the different engines. + EMPTY + FireGento_Pdf_Test_Model_ShipmentTest - - No description available - - UNTESTED + Test class for shipments. + EMPTY + Firegento_Pdf_Block_Adminhtml_ColumnOrder - Firegento - UNTESTED + Block which enables the user to change the column order in the admin via drag & drop. + EMPTY +
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xhtml new file mode 100644 index 0000000..e47eab2 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xhtml @@ -0,0 +1,93 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_CreditmemoController + + + + + +
      +
      + +
      + +
      +

      \FireGento_Pdf_Adminhtml_Sales_CreditmemoController

      +

      +

      +

      Synopsis

      +
      class FireGento_Pdf_Adminhtml_Sales_CreditmemoController + extends Mage_Adminhtml_Sales_CreditmemoController + {
      + + }
      +

      Hierarchy

      +
      +

      Extends

      +
        +
      • Mage_Adminhtml_Sales_CreditmemoController
      • +
      +
      +

      Methods

      +
      +

      public

      + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController/pdfcreditmemosAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController/pdfcreditmemosAction.xhtml new file mode 100644 index 0000000..4959f98 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController/pdfcreditmemosAction.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_CreditmemoController::pdfcreditmemosAction + + + + + +
      + + +
      +

      FireGento_Pdf_Adminhtml_Sales_CreditmemoController::pdfcreditmemosAction

      +

      +

      +

      Signature

      +
      + public function pdfcreditmemosAction() + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xhtml new file mode 100644 index 0000000..ccd75d7 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xhtml @@ -0,0 +1,93 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_InvoiceController + + + + + +
      +
      + +
      + +
      +

      \FireGento_Pdf_Adminhtml_Sales_InvoiceController

      +

      +

      +

      Synopsis

      +
      class FireGento_Pdf_Adminhtml_Sales_InvoiceController + extends Mage_Adminhtml_Sales_InvoiceController + {
      + + }
      +

      Hierarchy

      +
      +

      Extends

      +
        +
      • Mage_Adminhtml_Sales_InvoiceController
      • +
      +
      +

      Methods

      +
      +

      public

      + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController/pdfinvoicesAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController/pdfinvoicesAction.xhtml new file mode 100644 index 0000000..59c2196 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController/pdfinvoicesAction.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_InvoiceController::pdfinvoicesAction + + + + + +
      + + +
      +

      FireGento_Pdf_Adminhtml_Sales_InvoiceController::pdfinvoicesAction

      +

      +

      +

      Signature

      +
      + public function pdfinvoicesAction() + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xhtml new file mode 100644 index 0000000..a353dea --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xhtml @@ -0,0 +1,101 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_OrderController + + + + + +
      +
      + +
      + +
      +

      \FireGento_Pdf_Adminhtml_Sales_OrderController

      +

      +

      +

      Synopsis

      +
      class FireGento_Pdf_Adminhtml_Sales_OrderController + extends Mage_Adminhtml_Sales_OrderController + {
      + + }
      +

      Hierarchy

      +
      +

      Extends

      +
        +
      • Mage_Adminhtml_Sales_OrderController
      • +
      +
      +

      Methods

      + +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfcreditmemosAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfcreditmemosAction.xhtml new file mode 100644 index 0000000..6a4dc5d --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfcreditmemosAction.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_OrderController::pdfcreditmemosAction + + + + + +
      +
      + +
      + +
      +

      FireGento_Pdf_Adminhtml_Sales_OrderController::pdfcreditmemosAction

      +

      +

      +

      Signature

      +
      + public function pdfcreditmemosAction() + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfinvoicesAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfinvoicesAction.xhtml new file mode 100644 index 0000000..56e2072 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfinvoicesAction.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_OrderController::pdfinvoicesAction + + + + + +
      + + +
      +

      FireGento_Pdf_Adminhtml_Sales_OrderController::pdfinvoicesAction

      +

      +

      +

      Signature

      +
      + public function pdfinvoicesAction() + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfshipmentsAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfshipmentsAction.xhtml new file mode 100644 index 0000000..735e7c3 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_OrderController/pdfshipmentsAction.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_OrderController::pdfshipmentsAction + + + + + +
      +
      + +
      + +
      +

      FireGento_Pdf_Adminhtml_Sales_OrderController::pdfshipmentsAction

      +

      +

      +

      Signature

      +
      + public function pdfshipmentsAction() + +
      +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xhtml index 328dd73..28b1d48 100644 --- a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xhtml @@ -53,7 +53,7 @@ Methods
    • - Source + Source
    @@ -66,7 +66,7 @@

    Synopsis

    class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController - extends Mage_Adminhtml_Sales_Order_CreditmemoController + extends Mage_Adminhtml_Sales_Order_CreditmemoController {
    @@ -75,9 +75,7 @@

    Extends

    Methods

    @@ -91,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController/printAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController/printAction.xhtml index 9c1f83f..6e665ed 100644 --- a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController/printAction.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController/printAction.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController::printAction @@ -53,7 +53,7 @@ Synopsis
  1. - Source + Source
  2. @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xhtml index 52cedcc..6558d33 100644 --- a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xhtml @@ -66,7 +66,7 @@

    Synopsis

    class FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController - extends Mage_Adminhtml_Sales_Order_InvoiceController + extends Mage_Adminhtml_Sales_Order_InvoiceController {
    @@ -75,9 +75,7 @@

    Extends

    Methods

    @@ -91,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController/printAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController/printAction.xhtml index e496d0c..7d6a3d7 100644 --- a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController/printAction.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController/printAction.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController::printAction @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xhtml index 4c49323..58f22d6 100644 --- a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xhtml @@ -66,7 +66,7 @@

    Synopsis

    class FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController - extends Mage_Adminhtml_Sales_Order_ShipmentController + extends Mage_Adminhtml_Sales_Order_ShipmentController {
    @@ -75,9 +75,7 @@

    Extends

    Methods

    @@ -91,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController/printAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController/printAction.xhtml index 7e60b8f..1d8127d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController/printAction.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController/printAction.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController::printAction @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xhtml new file mode 100644 index 0000000..133f89f --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xhtml @@ -0,0 +1,93 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_ShipmentController + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Adminhtml_Sales_ShipmentController

    +

    +

    +

    Synopsis

    +
    class FireGento_Pdf_Adminhtml_Sales_ShipmentController + extends Mage_Adminhtml_Sales_ShipmentController + {
    + + }
    +

    Hierarchy

    +
    +

    Extends

    +
      +
    • Mage_Adminhtml_Sales_ShipmentController
    • +
    +
    +

    Methods

    +
    +

    public

    + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController/pdfshipmentsAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController/pdfshipmentsAction.xhtml new file mode 100644 index 0000000..6caa062 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController/pdfshipmentsAction.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Adminhtml_Sales_ShipmentController::pdfshipmentsAction + + + + + +
    + + +
    +

    FireGento_Pdf_Adminhtml_Sales_ShipmentController::pdfshipmentsAction

    +

    +

    +

    Signature

    +
    + public function pdfshipmentsAction() + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xhtml new file mode 100644 index 0000000..fbe9ce8 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xhtml @@ -0,0 +1,111 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes

    +

    +

    +

    Synopsis

    +
    class FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes + extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract + {
    • // members
    • protected FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country $_countryRenderer; +
    + + }
    +

    Hierarchy

    +
    +

    Extends

    +
      +
    • Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
    • +
    +
    +

    Members

    +
    +

    protected

    + +
    +

    Methods

    +
    +

    protected

    + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_getCountryRenderer.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_getCountryRenderer.xhtml new file mode 100644 index 0000000..ea47e3a --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_getCountryRenderer.xhtml @@ -0,0 +1,85 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes::_getCountryRenderer + + + + + +
    + + +
    +

    FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes::_getCountryRenderer

    +

    Retrieve country column renderer

    +

    +

      +

      Signature

      +
      + protected function _getCountryRenderer() + +
      +

      Returns

      +
      +
      FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareArrayRow.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareArrayRow.xhtml new file mode 100644 index 0000000..1521fbf --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareArrayRow.xhtml @@ -0,0 +1,87 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes::_prepareArrayRow + + + + + +
    + + +
    +

    FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes::_prepareArrayRow

    +

    Prepare existing row data object

    +

    +

      +

      Signature

      +
      + protected function _prepareArrayRow(Varien_Object + $row ) + +
      +

      Parameters

      +
      +
      $row + — +
      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareToRender.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareToRender.xhtml new file mode 100644 index 0000000..718f1d4 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes/_prepareToRender.xhtml @@ -0,0 +1,76 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes::_prepareToRender + + + + +
    +
    + + +
    +

    FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes::_prepareToRender

    +

    Add columns, change button labels etc.

    +

    +

      +

      Signature

      +
      + protected function _prepareToRender() + +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xhtml new file mode 100644 index 0000000..ef15793 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xhtml @@ -0,0 +1,97 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country

    +

    HTML select element block with country options

    +

    +

      +

      Synopsis

      +
      class FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country + extends Mage_Core_Block_Html_Select + {
      + + }
      +

      Hierarchy

      +
      +

      Extends

      +
        +
      • Mage_Core_Block_Html_Select
      • +
      +
      +

      Methods

      +
      +

      public

      + +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/_toHtml.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/_toHtml.xhtml new file mode 100644 index 0000000..168007f --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/_toHtml.xhtml @@ -0,0 +1,84 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country::_toHtml + + + + + +
    + + +
    +

    FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country::_toHtml

    +

    Render block HTML

    +

    +

      +

      Signature

      +
      + public function _toHtml() + +
      +

      Returns

      +
      +
      string
      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/setInputName.xhtml b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/setInputName.xhtml new file mode 100644 index 0000000..90607b5 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country/setInputName.xhtml @@ -0,0 +1,95 @@ + + + + + phpDox - FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country::setInputName + + + + + +
    + + +
    +

    FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country::setInputName

    +

    +

    +

      +

      Signature

      +
      + public function setInputName( + $value ) + +
      +

      Parameters

      +
      +
      $value + — +
      +
      +
      +

      Returns

      +
      +
      mixed
      +
      +
      +

    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data.xhtml index dd65ea1..6b94304 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data.xhtml @@ -56,7 +56,7 @@ Methods
  3. - Source + Source
  4. @@ -66,20 +66,28 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Helper_Data - extends Mage_Core_Helper_Abstract - {
    • // constants
    • const XML_PATH_FIREGENTO_PDF_LOGO_POSITION = 'sales_pdf/firegento_pdf/logo_position';
    • const XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER = 'sales_pdf/invoice/show_customer_number';
    • const XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER = 'sales_pdf/shipment/show_customer_number';
    • const XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER = 'sales_pdf/creditmemo/show_customer_number';
    • const XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN = 'sales_pdf/invoice/filename_export_pattern';
    • const XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN = 'sales_pdf/shipment/filename_export_pattern';
    • const XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN = 'sales_pdf/creditmemo/filename_export_pattern';
    • const XML_PATH_REGULAR_FONT = 'sales_pdf/firegento_pdf_fonts/regular_font';
    • const XML_PATH_BOLD_FONT = 'sales_pdf/firegento_pdf_fonts/bold_font';
    • const XML_PATH_ITALIC_FONT = 'sales_pdf/firegento_pdf_fonts/italic_font';
    • const FONT_PATH_IN_MEDIA = '/firegento_pdf/fonts';
    • // methods
    • public mixed putOrderId() + extends Mage_Core_Helper_Abstract + {
      • // constants
      • const XML_PATH_FIREGENTO_PDF_LOGO_POSITION = 'sales_pdf/firegento_pdf/logo_position';
      • const XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER = 'sales_pdf/invoice/show_customer_number';
      • const XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER = 'sales_pdf/shipment/show_customer_number';
      • const XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER = 'sales_pdf/creditmemo/show_customer_number';
      • const XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_VATNUMBER = 'sales_pdf/invoice/show_customer_vatnumber';
      • const XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_VATNUMBER = 'sales_pdf/shipment/show_customer_vatnumber';
      • const XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_VATNUMBER = 'sales_pdf/creditmemo/show_customer_vatnumber';
      • const XML_PATH_SALES_PDF_INVOICE_GUEST_ORDER_CUSTOMER_NUMBER = 'sales_pdf/invoice/guestorder_customer_number';
      • const XML_PATH_SALES_PDF_SHIPMENT_GUEST_ORDER_CUSTOMER_NUMBER = 'sales_pdf/shipment/guestorder_customer_number';
      • const XML_PATH_SALES_PDF_CREDITMEMO_GUEST_ORDER_CUSTOMER_NUMBER = 'sales_pdf/creditmemo/guestorder_customer_number';
      • const XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN = 'sales_pdf/invoice/filename_export_pattern';
      • const XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN = 'sales_pdf/shipment/filename_export_pattern';
      • const XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN = 'sales_pdf/creditmemo/filename_export_pattern';
      • const XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS = 'sales_pdf/invoice/filename_export_pattern_for_multiple_documents';
      • const XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS = 'sales_pdf/shipment/filename_export_pattern_for_multiple_documents';
      • const XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS = 'sales_pdf/creditmemo/filename_export_pattern_for_multiple_documents';
      • const XML_PATH_SALES_PDF_FIREGENTO_PDF_PAGE_SIZE = 'sales_pdf/firegento_pdf/page_size';
      • const XML_PATH_COLOR_TEXT = 'sales_pdf/firegento_pdf_colors/text';
      • const XML_PATH_COLOR_LABELS = 'sales_pdf/firegento_pdf_colors/labels';
      • const XML_PATH_COLOR_TABLE_HEADER = 'sales_pdf/firegento_pdf_colors/table_header';
      • const XML_PATH_COLOR_FOOTER = 'sales_pdf/firegento_pdf_colors/footer';
      • const XML_PATH_REGULAR_FONT = 'sales_pdf/firegento_pdf_fonts/regular_font';
      • const XML_PATH_BOLD_FONT = 'sales_pdf/firegento_pdf_fonts/bold_font';
      • const XML_PATH_ITALIC_FONT = 'sales_pdf/firegento_pdf_fonts/italic_font';
      • const FONT_PATH_IN_MEDIA = '/firegento_pdf/fonts';
      }
    @@ -87,9 +95,7 @@

    Extends

    Constants

    @@ -117,6 +123,30 @@ XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER 'sales_pdf/creditmemo/show_customer_number' + + XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_VATNUMBER + 'sales_pdf/invoice/show_customer_vatnumber' + + + XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_VATNUMBER + 'sales_pdf/shipment/show_customer_vatnumber' + + + XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_VATNUMBER + 'sales_pdf/creditmemo/show_customer_vatnumber' + + + XML_PATH_SALES_PDF_INVOICE_GUEST_ORDER_CUSTOMER_NUMBER + 'sales_pdf/invoice/guestorder_customer_number' + + + XML_PATH_SALES_PDF_SHIPMENT_GUEST_ORDER_CUSTOMER_NUMBER + 'sales_pdf/shipment/guestorder_customer_number' + + + XML_PATH_SALES_PDF_CREDITMEMO_GUEST_ORDER_CUSTOMER_NUMBER + 'sales_pdf/creditmemo/guestorder_customer_number' + XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN 'sales_pdf/invoice/filename_export_pattern' @@ -129,6 +159,38 @@ XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN 'sales_pdf/creditmemo/filename_export_pattern' + + XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + 'sales_pdf/invoice/filename_export_pattern_for_multiple_documents' + + + XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + 'sales_pdf/shipment/filename_export_pattern_for_multiple_documents' + + + XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + 'sales_pdf/creditmemo/filename_export_pattern_for_multiple_documents' + + + XML_PATH_SALES_PDF_FIREGENTO_PDF_PAGE_SIZE + 'sales_pdf/firegento_pdf/page_size' + + + XML_PATH_COLOR_TEXT + 'sales_pdf/firegento_pdf_colors/text' + + + XML_PATH_COLOR_LABELS + 'sales_pdf/firegento_pdf_colors/labels' + + + XML_PATH_COLOR_TABLE_HEADER + 'sales_pdf/firegento_pdf_colors/table_header' + + + XML_PATH_COLOR_FOOTER + 'sales_pdf/firegento_pdf_colors/footer' + XML_PATH_REGULAR_FONT 'sales_pdf/firegento_pdf_fonts/regular_font' @@ -149,30 +211,54 @@

    Methods

    +

    protected

    +
      +
    • getColor() + — Get configured PDF color
    • +

    public

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getColor.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getColor.xhtml new file mode 100644 index 0000000..102bef3 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getColor.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getColor + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getColor

    +

    Get configured PDF color

    +

    +

      +

      Signature

      +
      + protected function getColor(string + $path ) + +
      +

      Parameters

      +
      +
      $path + — + string
      +
      System config path
      +
      +

      Returns

      +
      +
      Zend_Pdf_Color_Html
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilename.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilename.xhtml index 13df7e1..82a094b 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilename.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilename.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::getExportFilename @@ -59,7 +59,7 @@ Return
  5. - Source + Source
  6. @@ -95,7 +95,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilenameForMultipleDocuments.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilenameForMultipleDocuments.xhtml new file mode 100644 index 0000000..8f96ef9 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportFilenameForMultipleDocuments.xhtml @@ -0,0 +1,95 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getExportFilenameForMultipleDocuments + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getExportFilenameForMultipleDocuments

    +

    The filename of the exported file if multiple documents are printed at once.

    +

    +

      +

      Signature

      +
      + public function getExportFilenameForMultipleDocuments(string + $type ) + +
      +

      Parameters

      +
      +
      $type + — + string
      +
      the type of this document like invoice, shipment or creditmemo
      +
      +

      Returns

      +
      +
      string
      +
      the filename of the exported file
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPattern.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPattern.xhtml index b39515c..74804ec 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPattern.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPattern.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::getExportPattern @@ -59,7 +59,7 @@ Return
  7. - Source + Source
  8. @@ -89,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPatternForMultipleDocuments.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPatternForMultipleDocuments.xhtml new file mode 100644 index 0000000..ed6571b --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getExportPatternForMultipleDocuments.xhtml @@ -0,0 +1,95 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getExportPatternForMultipleDocuments + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getExportPatternForMultipleDocuments

    +

    Return export pattern for multiple documents config value

    +

    +

      +

      Signature

      +
      + public function getExportPatternForMultipleDocuments(string + $type ) + +
      +

      Parameters

      +
      +
      $type + — + string
      +
      the type of this document like invoice, shipment or creditmemo
      +
      +

      Returns

      +
      +
      string
      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFontPath.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFontPath.xhtml index f475836..909deed 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFontPath.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFontPath.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::getFontPath @@ -56,7 +56,7 @@ Return
  9. - Source + Source
  10. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFooterColor.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFooterColor.xhtml new file mode 100644 index 0000000..a5d9e87 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getFooterColor.xhtml @@ -0,0 +1,85 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getFooterColor + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getFooterColor

    +

    Get footer color

    +

    +

      +

      Signature

      +
      + public function getFooterColor() + +
      +

      Returns

      +
      +
      Zend_Pdf_Color_Html
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getGuestorderCustomerNo.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getGuestorderCustomerNo.xhtml new file mode 100644 index 0000000..3b7466c --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getGuestorderCustomerNo.xhtml @@ -0,0 +1,101 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getGuestorderCustomerNo + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getGuestorderCustomerNo

    +

    Get customer number for guest orders.

    +

    +

      +

      Signature

      +
      + public function getGuestorderCustomerNo([string + $mode = 'invoice', + [mixed + $store = NULL]] ) + +
      +

      Parameters

      +
      +
      $mode + — + string
      +
      the mode of this document like invoice, shipment or creditmemo
      +
      $store + — + mixed
      +
      store to get information from
      +
      +

      Returns

      +
      +
      string
      +
      customer number for guest orders
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getHeaderColor.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getHeaderColor.xhtml new file mode 100644 index 0000000..0dbbdc9 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getHeaderColor.xhtml @@ -0,0 +1,85 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getHeaderColor + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getHeaderColor

    +

    Get table header color

    +

    +

      +

      Signature

      +
      + public function getHeaderColor() + +
      +

      Returns

      +
      +
      Zend_Pdf_Color_Html
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getLabelColor.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getLabelColor.xhtml new file mode 100644 index 0000000..934d67c --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getLabelColor.xhtml @@ -0,0 +1,85 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getLabelColor + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getLabelColor

    +

    Get label color

    +

    +

      +

      Signature

      +
      + public function getLabelColor() + +
      +

      Returns

      +
      +
      Zend_Pdf_Color_Html
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getModelVars.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getModelVars.xhtml index 2b32063..1248aa4 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getModelVars.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getModelVars.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::getModelVars @@ -59,7 +59,7 @@ Return
  11. - Source + Source
  12. @@ -89,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getPageSizeConfigPath.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getPageSizeConfigPath.xhtml new file mode 100644 index 0000000..86f5143 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getPageSizeConfigPath.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getPageSizeConfigPath + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getPageSizeConfigPath

    +

    +

    +

    Signature

    +
    + public function getPageSizeConfigPath() + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getScaledImageSize.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getScaledImageSize.xhtml index 4fdc473..fb87ee2 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getScaledImageSize.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getScaledImageSize.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::getScaledImageSize @@ -59,7 +59,7 @@ Return
  13. - Source + Source
  14. @@ -101,7 +101,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/getTextColor.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getTextColor.xhtml new file mode 100644 index 0000000..b0cd980 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/getTextColor.xhtml @@ -0,0 +1,85 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::getTextColor + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::getTextColor

    +

    Get text color

    +

    +

      +

      Signature

      +
      + public function getTextColor() + +
      +

      Returns

      +
      +
      Zend_Pdf_Color_Html
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/isLogoFullWidth.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/isLogoFullWidth.xhtml index f7bb4bb..adf505b 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/isLogoFullWidth.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/isLogoFullWidth.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::isLogoFullWidth @@ -59,7 +59,7 @@ Return
  15. - Source + Source
  16. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/putOrderId.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/putOrderId.xhtml index 579cae8..05a6b72 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/putOrderId.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/putOrderId.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::putOrderId @@ -59,7 +59,7 @@ Return
  17. - Source + Source
  18. @@ -70,7 +70,7 @@

      Signature

      - public function putOrderId(Mage_Sales_Model_Order + public function putOrderId(Mage_Sales_Model_Order $order, [string $mode = 'invoice'] ) @@ -80,7 +80,7 @@
      $order — - Mage_Sales_Model_Order
      + Mage_Sales_Model_Order
      order to get id from


      $mode — @@ -95,7 +95,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerNumber.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerNumber.xhtml index a6eb79f..3d4d438 100644 --- a/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerNumber.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerNumber.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Helper_Data::showCustomerNumber @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -72,8 +72,8 @@
    public function showCustomerNumber([string $mode = 'invoice', - mixed - $store] ) + [mixed + $store = NULL]] )

    Parameters

    @@ -96,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerVATNumber.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerVATNumber.xhtml new file mode 100644 index 0000000..1fa14a9 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Data/showCustomerVATNumber.xhtml @@ -0,0 +1,102 @@ + + + + + phpDox - FireGento_Pdf_Helper_Data::showCustomerVATNumber + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Data::showCustomerVATNumber

    +

    Whether the customer VAT number should be shown.

    +

    +

      +

      Signature

      +
      + public function showCustomerVATNumber([string + $mode = 'invoice', + [mixed + $store = NULL]] ) + +
      +

      Parameters

      +
      +
      $mode + — + string
      +
      the mode of this document like invoice, shipment or creditmemo
      +
      $store + — + mixed
      +
      store to get information from
      +
      +

      Returns

      +
      +
      bool
      +
      whether the customer number should be shown
      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Invoice.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Invoice.xhtml new file mode 100644 index 0000000..75d1355 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Invoice.xhtml @@ -0,0 +1,95 @@ + + + + + phpDox - FireGento_Pdf_Helper_Invoice + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Helper_Invoice

    +

    Helper for invoice creation.

    +

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +
    +

    Synopsis

    +
    class FireGento_Pdf_Helper_Invoice + extends Mage_Core_Helper_Abstract + {
    + + }
    +

    Hierarchy

    +
    +

    Extends

    +
      +
    • Mage_Core_Helper_Abstract
    • +
    +
    +

    Methods

    +
    +

    public

    + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Helper_Invoice/getShippingCountryNotes.xhtml b/docs/api/html/classes/FireGento_Pdf_Helper_Invoice/getShippingCountryNotes.xhtml new file mode 100644 index 0000000..bc42081 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Helper_Invoice/getShippingCountryNotes.xhtml @@ -0,0 +1,95 @@ + + + + + phpDox - FireGento_Pdf_Helper_Invoice::getShippingCountryNotes + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Helper_Invoice::getShippingCountryNotes

    +

    Gets the notes for the shipping country of the given order.

    +

    +

      +

      Signature

      +
      + public function getShippingCountryNotes(Mage_Sales_Model_Order + $order ) + +
      +

      Parameters

      +
      +
      $order + — + Mage_Sales_Model_Order
      +



      +
      +

      Returns

      +
      +
      array
      +
      the notes for the shipping country of the given order - may be empty!
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo.xhtml index 265394f..7ae1964 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo.xhtml @@ -46,6 +46,9 @@
  19. Synopsis
  20. +
  21. + Hierarchy +
  22. Members
  23. @@ -53,7 +56,7 @@ Methods
  24. - Source + Source
  25. @@ -63,24 +66,30 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Creditmemo - {
    • // members
    • private Mage_Sales_Model_Order_Pdf_Abstract $_engine; + extends Mage_Sales_Model_Order_Pdf_Creditmemo + {
      • // members
      • protected Mage_Sales_Model_Order_Pdf_Abstract $_engine;
      • // methods
      • protected Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Creditmemo getEngine()
      • public Zend_Pdf getPdf()
      }
    +

    Hierarchy

    +
    +

    Extends

    +
      +
    • Mage_Sales_Model_Order_Pdf_Creditmemo
    • +
    +

    Members

    -

    private

    +

    protected

    Methods

    @@ -99,7 +108,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getEngine.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getEngine.xhtml index 12a2309..4365034 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getEngine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getEngine.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Creditmemo::getEngine @@ -56,7 +56,7 @@ Return
  26. - Source + Source
  27. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getPdf.xhtml index c90c3e6..de656b0 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Creditmemo/getPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Creditmemo::getPdf @@ -59,7 +59,7 @@ Return
  28. - Source + Source
  29. @@ -70,8 +70,8 @@

      Signature

      - public function getPdf(array - $creditmemos ) + public function getPdf([array + $creditmemos = ] )

      Parameters

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract.xhtml index 1b3180a..49590c9 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract.xhtml @@ -59,7 +59,7 @@ Methods
    • - Source + Source
    @@ -69,25 +69,30 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Engine_Abstract - extends Mage_Sales_Model_Order_Pdf_Abstract - {
    @@ -131,21 +140,7 @@

    Tasks

    @@ -157,73 +152,69 @@ - 342+ + 344+ merge _insertLogoPositioned and _insertLogoFullWidth

    Members

    +

    private

    +
      +
    • $_headerLines + — + array
    • +
    • $defaultFontSize + — + int
    • +

    protected

      -
    • - $_imprint -
    • +
    • $_imprint + — + array
    • $_marginTop — int

    public

      -
    • - $colors -
    • -
    • - $encoding -
    • -
    • - $margin -
    • -
    • - $mode -
    • -
    • - $pagecounter -
    • +
    • $colors + — + array
    • +
    • $encoding + — + string
    • +
    • $margin + — + array
    • +
    • $mode + — + string
    • +
    • $pagecounter + — + string

    Methods

    private

    protected

    public

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/ItalicFontFileExists.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/ItalicFontFileExists.xhtml index d9d0178..3c1a546 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/ItalicFontFileExists.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/ItalicFontFileExists.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::ItalicFontFileExists @@ -56,7 +56,7 @@ Return
  30. - Source + Source
  31. @@ -67,7 +67,7 @@

      Signature

      - private function ItalicFontFileExists() + protected function ItalicFontFileExists()

      Returns

      @@ -79,7 +79,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/Ln.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/Ln.xhtml index 621be70..d6e8e32 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/Ln.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/Ln.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::Ln @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/__construct.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/__construct.xhtml index 3631465..4df6d3c 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/__construct.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/__construct.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::__construct @@ -53,15 +53,14 @@ Synopsis
  32. - Source + Source
  33. FireGento_Pdf_Model_Engine_Abstract::__construct

    -

    constructor to init settings

    +

    -

      Signature

      public function __construct() @@ -70,7 +69,7 @@

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_addFooter.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_addFooter.xhtml index ab8169f..42e3c94 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_addFooter.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_addFooter.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_addFooter @@ -56,7 +56,7 @@ Parameter
  34. - Source + Source
  35. @@ -67,18 +67,18 @@

      Signature

      - protected function _addFooter(& + protected function _addFooter(Zend_Pdf_Page $page, [mixed - $store = null] ) + $store = NULL] )

      Parameters

      $page — -
      -
      + object +
      page to draw on


      $store — mixed
      @@ -87,7 +87,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_drawItem.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_drawItem.xhtml index 020a872..03d76b6 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_drawItem.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_drawItem.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_drawItem @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,29 +70,29 @@

      Signature

      - protected function _drawItem(Varien_Object + protected function _drawItem(Varien_Object $item, - [Zend_Pdf_Page - $page = 1, - [Mage_Sales_Model_Order - $order = 1, + Zend_Pdf_Page + $page, + Mage_Sales_Model_Order + $order, [integer - $position = 1]]] ) + $position = 1] )

      Parameters

      $item — - Varien_Object
      + Varien_Object
      creditmemo/shipping/invoice to draw


      $page — - Zend_Pdf_Page
      + Zend_Pdf_Page
      Current page object of Zend_Pdf


      $order — - Mage_Sales_Model_Order
      + Mage_Sales_Model_Order
      order to get infos from


      $position — @@ -108,7 +108,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_getGuestorderCustomerNo.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_getGuestorderCustomerNo.xhtml new file mode 100644 index 0000000..331a723 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_getGuestorderCustomerNo.xhtml @@ -0,0 +1,95 @@ + + + + + phpDox - FireGento_Pdf_Model_Engine_Abstract::_getGuestorderCustomerNo + + + + + +
      +
      + +
      + +
      +

      FireGento_Pdf_Model_Engine_Abstract::_getGuestorderCustomerNo

      +

      which customer number should be displayed for guest orders

      +

      +

        +

        Signature

        +
        + protected function _getGuestorderCustomerNo(mixed + $store ) + +
        +

        Parameters

        +
        +
        $store + — + mixed
        +
        store from whom we need the config setting
        +
        +

        Returns

        +
        +
        string
        +
        +
        +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertCustomerAddress.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertCustomerAddress.xhtml index 3a5eda9..5779d7d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertCustomerAddress.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertCustomerAddress.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertCustomerAddress @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,7 +70,7 @@

      Signature

      - protected function _insertCustomerAddress(& + protected function _insertCustomerAddress(Zend_Pdf_Page $page, Mage_Sales_Model_Order $order ) @@ -80,8 +80,8 @@
      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      $order — object
      @@ -96,7 +96,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooter.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooter.xhtml index 2b49d22..e110b5e 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooter.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooter.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertFooter @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,7 +70,7 @@

      Signature

      - protected function _insertFooter(& + protected function _insertFooter(Zend_Pdf_Page $page )
      @@ -78,8 +78,8 @@
      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      Returns

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterAddress.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterAddress.xhtml index a3a59b7..e88e6c3 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterAddress.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterAddress.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertFooterAddress @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,18 +70,18 @@

      Signature

      - protected function _insertFooterAddress(& + protected function _insertFooterAddress(Zend_Pdf_Page $page, [mixed - $store = null] ) + $store = NULL] )

      Parameters

      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      $store — mixed
      @@ -96,7 +96,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterBlock.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterBlock.xhtml index bd9179e..71cc663 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterBlock.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertFooterBlock.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertFooterBlock @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,24 +70,24 @@

      Signature

      - protected function _insertFooterBlock(& + protected function _insertFooterBlock(Zend_Pdf_Page $page, - [array - $fields = 0, - [int + array + $fields, + [integer $colposition = 0, - [int + [integer $valadjust = 30, [int - $colwidth = null]]]] ) + $colwidth = NULL]]] )

      Parameters

      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      $fields — array
      @@ -114,7 +114,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoFullWidth.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoFullWidth.xhtml index cbfcfd5..08e5b72 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoFullWidth.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoFullWidth.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertLogoFullWidth @@ -59,7 +59,7 @@ Tasks
    • - Source + Source
    @@ -70,18 +70,18 @@

      Signature

      - protected function _insertLogoFullWidth(& + protected function _insertLogoFullWidth(Zend_Pdf_Page $page, [mixed - $store = null] ) + $store = NULL] )

      Parameters

      $page — -
      -
      + object +
      current Zend_Pdf_Page object


      $store — mixed
      @@ -95,14 +95,14 @@ - 342+ + 344+ merge _insertLogoPositioned and _insertLogoFullWidth
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoPositioned.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoPositioned.xhtml index 3125c61..e7b1c7d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoPositioned.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertLogoPositioned.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertLogoPositioned @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,18 +70,18 @@

      Signature

      - protected function _insertLogoPositioned(& + protected function _insertLogoPositioned(Zend_Pdf_Page $page, [mixed - $store = null] ) + $store = NULL] )

      Parameters

      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      $store — mixed
      @@ -96,7 +96,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertNote.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertNote.xhtml index e686c46..d617e1a 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertNote.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertNote.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertNote @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -72,9 +72,9 @@
    protected function _insertNote(Zend_Pdf_Page $page, - & + Mage_Sales_Model_Order $order, - & + Mage_Sales_Model_Abstract $model )
    @@ -86,12 +86,12 @@
    Current Page Object of Zend_PDF


    $order — -
    -
    + object +
    order to get note from


    $model — -
    -
    + object +
    invoice/shipment/creditmemo


    Returns

    @@ -102,7 +102,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertPageCounter.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertPageCounter.xhtml index 94d5268..d020de7 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertPageCounter.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertPageCounter.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertPageCounter @@ -59,7 +59,7 @@ Return
  36. - Source + Source
  37. @@ -70,7 +70,7 @@

      Signature

      - protected function _insertPageCounter(& + protected function _insertPageCounter(Zend_Pdf_Page $page )
      @@ -78,8 +78,8 @@
      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      Returns

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertSenderAddressBar.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertSenderAddressBar.xhtml index 56893de..64ef944 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertSenderAddressBar.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_insertSenderAddressBar.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_insertSenderAddressBar @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,7 +70,7 @@

      Signature

      - protected function _insertSenderAddressBar(& + protected function _insertSenderAddressBar(Zend_Pdf_Page $page )
      @@ -78,8 +78,8 @@
      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      Returns

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_isLogoFullWidth.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_isLogoFullWidth.xhtml index 5f532c7..9aacb01 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_isLogoFullWidth.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_isLogoFullWidth.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_isLogoFullWidth @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_prepareText.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_prepareText.xhtml index 72ebfaa..b79c67b 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_prepareText.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_prepareText.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_prepareText @@ -59,7 +59,7 @@ Return
  38. - Source + Source
  39. @@ -72,14 +72,14 @@
    public function _prepareText(string $text, - [Zend_Pdf_Page - $page = null, - [Zend_Pdf_Resource_Font - $font = null, + Zend_Pdf_Page + $page, + Zend_Pdf_Resource_Font + $font, + int + $fontSize, [int - $fontSize = null, - [int - $width = null]]]] ) + $width = NULL] )

    Parameters

    @@ -113,7 +113,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_putOrderId.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_putOrderId.xhtml index 586393a..3f2f0e0 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_putOrderId.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_putOrderId.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_putOrderId @@ -59,7 +59,7 @@ Return
  40. - Source + Source
  41. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontBold.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontBold.xhtml index 155f765..50b994e 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontBold.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontBold.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_setFontBold @@ -59,7 +59,7 @@ Return
  42. - Source + Source
  43. @@ -96,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontItalic.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontItalic.xhtml index 7f6a74f..314dcd0 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontItalic.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontItalic.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_setFontItalic @@ -59,7 +59,7 @@ Return
  44. - Source + Source
  45. @@ -96,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontRegular.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontRegular.xhtml index 240c0e2..5a242f7 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontRegular.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_setFontRegular.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_setFontRegular @@ -59,7 +59,7 @@ Return
  46. - Source + Source
  47. @@ -96,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerNumber.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerNumber.xhtml index 1079477..90c48ff 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerNumber.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerNumber.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::_showCustomerNumber @@ -59,7 +59,7 @@ Return
  48. - Source + Source
  49. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerVATNumber.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerVATNumber.xhtml new file mode 100644 index 0000000..703fc3c --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/_showCustomerVATNumber.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Engine_Abstract::_showCustomerVATNumber + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Engine_Abstract::_showCustomerVATNumber

    +

    do we show the customber VAT number on this document

    +

    +

      +

      Signature

      +
      + protected function _showCustomerVATNumber(mixed + $store ) + +
      +

      Parameters

      +
      +
      $store + — + mixed
      +
      store from whom we need the config setting
      +
      +

      Returns

      +
      +
      bool
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/boldFontFileExists.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/boldFontFileExists.xhtml new file mode 100644 index 0000000..c00c741 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/boldFontFileExists.xhtml @@ -0,0 +1,85 @@ + + + + + phpDox - FireGento_Pdf_Model_Engine_Abstract::boldFontFileExists + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Engine_Abstract::boldFontFileExists

    +

    check whether font file exists for bold font

    +

    +

      +

      Signature

      +
      + protected function boldFontFileExists() + +
      +

      Returns

      +
      +
      bool
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/drawLineBlocks.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/drawLineBlocks.xhtml index 9455280..4a4c497 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/drawLineBlocks.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/drawLineBlocks.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::drawLineBlocks @@ -59,7 +59,7 @@ Return
  50. - Source + Source
  51. @@ -70,19 +70,19 @@

      Signature

      - public function drawLineBlocks(Zend_Pdf_Page + public function drawLineBlocks(Zend_Pdf_Page $page, array $draw, - array - $pageSettings ) + [array + $pageSettings = ] )

      Parameters

      $page — - Zend_Pdf_Page
      + Zend_Pdf_Page
      Current page object of Zend_Pdf


      $draw — @@ -102,7 +102,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/fixNumberFormat.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/fixNumberFormat.xhtml index fb1793a..d281752 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/fixNumberFormat.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/fixNumberFormat.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::fixNumberFormat @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,7 +70,7 @@

      Signature

      - private function fixNumberFormat(string + protected function fixNumberFormat(string $label )
      @@ -89,7 +89,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFont.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFont.xhtml index 7ca6a92..b156616 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFont.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFont.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getBoldFont @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -67,7 +67,7 @@

      Signature

      - private function getBoldFont() + protected function getBoldFont()

      Returns

      @@ -78,7 +78,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFontFile.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFontFile.xhtml index 36605eb..ea7a253 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFontFile.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getBoldFontFile.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getBoldFontFile @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -67,7 +67,7 @@

      Signature

      - private function getBoldFontFile() + protected function getBoldFontFile()

      Returns

      @@ -78,7 +78,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontBold.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontBold.xhtml index 132fad8..df69066 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontBold.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontBold.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getFontBold @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontItalic.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontItalic.xhtml index 24ed1de..d47bb01 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontItalic.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontItalic.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getFontItalic @@ -56,7 +56,7 @@ Return
  52. - Source + Source
  53. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontRegular.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontRegular.xhtml index 781de58..8ab6d12 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontRegular.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getFontRegular.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getFontRegular @@ -56,7 +56,7 @@ Return
  54. - Source + Source
  55. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getHeaderblockOffset.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getHeaderblockOffset.xhtml index 03b0628..94c6dc1 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getHeaderblockOffset.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getHeaderblockOffset.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getHeaderblockOffset @@ -56,7 +56,7 @@ Return
  56. - Source + Source
  57. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFont.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFont.xhtml index 78ad8fe..d2ec2ff 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFont.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFont.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getItalicFont @@ -56,7 +56,7 @@ Return
  58. - Source + Source
  59. @@ -67,7 +67,7 @@

      Signature

      - private function getItalicFont() + protected function getItalicFont()

      Returns

      @@ -78,7 +78,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFontFile.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFontFile.xhtml index 77bdfbf..fa3e338 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFontFile.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getItalicFontFile.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getItalicFontFile @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -67,7 +67,7 @@

      Signature

      - private function getItalicFontFile() + protected function getItalicFontFile()

      Returns

      @@ -78,7 +78,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getMode.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getMode.xhtml index 62f9140..40afabd 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getMode.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getMode.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getMode @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getPageSize.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getPageSize.xhtml new file mode 100644 index 0000000..4c840ce --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getPageSize.xhtml @@ -0,0 +1,84 @@ + + + + + phpDox - FireGento_Pdf_Model_Engine_Abstract::getPageSize + + + + + +
    + + +
    +

    FireGento_Pdf_Model_Engine_Abstract::getPageSize

    +

    +

    +

      +

      Signature

      +
      + private function getPageSize() + +
      +

      Returns

      +
      +
      string
      +
      +
      +

    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFont.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFont.xhtml index 22b6fc4..ab7372a 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFont.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFont.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getRegularFont @@ -56,7 +56,7 @@ Return
  60. - Source + Source
  61. @@ -67,7 +67,7 @@

      Signature

      - private function getRegularFont() + protected function getRegularFont()

      Returns

      @@ -78,7 +78,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFontFile.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFontFile.xhtml index 822f443..30379d3 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFontFile.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/getRegularFontFile.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::getRegularFontFile @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -67,7 +67,7 @@

      Signature

      - private function getRegularFontFile() + protected function getRegularFontFile()

      Returns

      @@ -78,7 +78,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertAddressesAndHeader.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertAddressesAndHeader.xhtml index 55a65e4..1856394 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertAddressesAndHeader.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertAddressesAndHeader.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::insertAddressesAndHeader @@ -56,7 +56,7 @@ Parameter
    • - Source + Source
    @@ -67,11 +67,11 @@ @@ -70,7 +70,7 @@

      Signature

      - protected function insertHeader(& + protected function insertHeader(Zend_Pdf_Page $page, Mage_Sales_Model_Order $order, @@ -82,8 +82,8 @@
      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      $order — object
      @@ -102,7 +102,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertLogo.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertLogo.xhtml index 7061fcb..aede966 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertLogo.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertLogo.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::insertLogo @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,18 +70,18 @@

      Signature

      - protected function insertLogo(& + protected function insertLogo(Zend_Pdf_Page& $page, [mixed - $store = null] ) + $store = NULL] )

      Parameters

      $page — -
      -
      + object +
      Current page object of Zend_Pdf


      $store — mixed
      @@ -96,7 +96,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertTotals.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertTotals.xhtml index 396a3f8..aa751e4 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertTotals.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/insertTotals.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::insertTotals @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -96,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/newPage.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/newPage.xhtml index 85293dd..c6bcafa 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/newPage.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/newPage.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::newPage @@ -59,7 +59,7 @@ Return
  62. - Source + Source
  63. @@ -70,8 +70,8 @@

      Signature

      - public function newPage(array - $settings ) + public function newPage([array + $settings = ] )

      Parameters

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/regularFontFileExists.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/regularFontFileExists.xhtml index d46adb8..8d80485 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/regularFontFileExists.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/regularFontFileExists.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::regularFontFileExists @@ -56,19 +56,18 @@ Return
    • - Source + Source

    FireGento_Pdf_Model_Engine_Abstract::regularFontFileExists

    -

    check whether font file exists for bold font

    +

    check whether font file exists for regular font

      -

        Signature

        - private function regularFontFileExists() + protected function regularFontFileExists()

        Returns

        @@ -80,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setFont.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setFont.xhtml new file mode 100644 index 0000000..4d0dae8 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setFont.xhtml @@ -0,0 +1,102 @@ + + + + + phpDox - FireGento_Pdf_Model_Engine_Abstract::setFont + + + + + +
    + + +
    +

    FireGento_Pdf_Model_Engine_Abstract::setFont

    +

    +

    +

    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setMode.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setMode.xhtml index 81201ec..20fd5a0 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setMode.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Abstract/setMode.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Abstract::setMode @@ -59,7 +59,7 @@
    Return
  64. - Source + Source
  65. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml index c15a755..4dc2726 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xhtml @@ -59,7 +59,7 @@ Methods
  66. - Source + Source
  67. @@ -69,18 +69,16 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Engine_Creditmemo_Default extends FireGento_Pdf_Model_Engine_Abstract {
    }
    @@ -126,7 +137,7 @@

    Extends

    @@ -139,7 +150,7 @@ - 342+ + 344+ merge _insertLogoPositioned and _insertLogoFullWidth @@ -147,30 +158,30 @@

    protected

      -
    • - $_imprint -
    • +
    • $_imprint + — + array
    • $_marginTop — int

    public

      -
    • - $colors -
    • -
    • - $encoding -
    • -
    • - $margin -
    • -
    • - $mode -
    • -
    • - $pagecounter -
    • +
    • $colors + — + array
    • +
    • $encoding + — + string
    • +
    • $margin + — + array
    • +
    • $mode + — + string
    • +
    • $pagecounter + — + string

    Methods

    @@ -192,12 +203,16 @@

    Inherited from FireGento_Pdf_Model_Engine_Abstract

    protected

    public

      @@ -262,7 +300,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/__construct.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/__construct.xhtml index 5a0409d..d2b5715 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/__construct.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/__construct.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Creditmemo_Default::__construct @@ -53,7 +53,7 @@ Synopsis
    • - Source + Source
    @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_drawHeader.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_drawHeader.xhtml index f8a41b3..8b17e22 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_drawHeader.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_drawHeader.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Creditmemo_Default::_drawHeader @@ -59,7 +59,7 @@ Return
  68. - Source + Source
  69. @@ -70,7 +70,7 @@

      Signature

      - protected function _drawHeader(Zend_Pdf_Page + protected function _drawHeader(Zend_Pdf_Page $page )
      @@ -78,7 +78,7 @@
      $page — - Zend_Pdf_Page
      + Zend_Pdf_Page
      page to draw on


      Returns

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_initRenderer.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_initRenderer.xhtml index 036c90b..05e8e07 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_initRenderer.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/_initRenderer.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Creditmemo_Default::_initRenderer @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/getPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/getPdf.xhtml index 23c9a45..b645bd7 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/getPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default/getPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Creditmemo_Default::getPdf @@ -59,7 +59,7 @@ Return
  70. - Source + Source
  71. @@ -70,8 +70,8 @@

      Signature

      - public function getPdf(array - $creditmemos ) + public function getPdf([array + $creditmemos = ] )

      Parameters

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml index 68f7396..92a156e 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xhtml @@ -59,7 +59,7 @@ Methods
    • - Source + Source
    @@ -69,18 +69,16 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Engine_Invoice_Default extends FireGento_Pdf_Model_Engine_Abstract {
    }
    @@ -126,7 +137,7 @@

    Extends

    @@ -139,7 +150,7 @@ - 342+ + 344+ merge _insertLogoPositioned and _insertLogoFullWidth @@ -147,30 +158,30 @@

    protected

      -
    • - $_imprint -
    • +
    • $_imprint + — + array
    • $_marginTop — int

    public

      -
    • - $colors -
    • -
    • - $encoding -
    • -
    • - $margin -
    • -
    • - $mode -
    • -
    • - $pagecounter -
    • +
    • $colors + — + array
    • +
    • $encoding + — + string
    • +
    • $margin + — + array
    • +
    • $mode + — + string
    • +
    • $pagecounter + — + string

    Methods

    @@ -192,12 +203,16 @@

    Inherited from FireGento_Pdf_Model_Engine_Abstract

    protected

    public

      @@ -262,7 +300,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/__construct.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/__construct.xhtml index 551d70e..2ce2c1b 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/__construct.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/__construct.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Invoice_Default::__construct @@ -53,7 +53,7 @@ Synopsis
    • - Source + Source
    @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/_initRenderer.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/_initRenderer.xhtml index 91adcb9..6dccfe4 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/_initRenderer.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/_initRenderer.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Invoice_Default::_initRenderer @@ -59,7 +59,7 @@ Return
  72. - Source + Source
  73. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/getPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/getPdf.xhtml index 8c7afc6..b863e50 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/getPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/getPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Invoice_Default::getPdf @@ -59,7 +59,7 @@ Return
  74. - Source + Source
  75. @@ -70,8 +70,8 @@

      Signature

      - public function getPdf(array - $invoices ) + public function getPdf([array + $invoices = ] )

      Parameters

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/insertTableHeader.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/insertTableHeader.xhtml index 7556ebc..7c1d3b9 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/insertTableHeader.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Invoice_Default/insertTableHeader.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Invoice_Default::insertTableHeader @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,7 +70,7 @@

      Signature

      - protected function insertTableHeader(& + protected function insertTableHeader(Zend_Pdf_Page $page )
      @@ -78,8 +78,8 @@
      $page — -
      -
      + object +
      current page object of Zend_PDF


      Returns

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml index 3dc2270..ab60767 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xhtml @@ -59,7 +59,7 @@ Methods
    • - Source + Source
    @@ -69,31 +69,30 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Engine_Shipment_Default extends FireGento_Pdf_Model_Engine_Abstract {
    }
    @@ -128,7 +140,7 @@

    Extends

    @@ -141,7 +153,7 @@ - 342+ + 344+ merge _insertLogoPositioned and _insertLogoFullWidth @@ -149,30 +161,30 @@

    protected

      -
    • - $_imprint -
    • +
    • $_imprint + — + array
    • $_marginTop — int

    public

      -
    • - $colors -
    • -
    • - $encoding -
    • -
    • - $margin -
    • -
    • - $mode -
    • -
    • - $pagecounter -
    • +
    • $colors + — + array
    • +
    • $encoding + — + string
    • +
    • $margin + — + array
    • +
    • $mode + — + string
    • +
    • $pagecounter + — + string

    Methods

    @@ -183,6 +195,8 @@ — Initialize renderer process.
  76. _insertCustomerAddress() — Inserts the customer's shipping address.
  77. +
  78. _printShipmentTracks() + — This will print all the shipment tracks.
  79. insertShippingAddress() — insert address into pdf
  80. insertTableHeader() @@ -198,12 +212,16 @@

    Inherited from FireGento_Pdf_Model_Engine_Abstract

    protected

    public

      @@ -268,7 +309,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/__construct.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/__construct.xhtml index bc15304..4f9cb86 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/__construct.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/__construct.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::__construct @@ -53,7 +53,7 @@ Synopsis
    • - Source + Source
    @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_initRenderer.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_initRenderer.xhtml index bc49435..59b876f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_initRenderer.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_initRenderer.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::_initRenderer @@ -59,7 +59,7 @@ Return
  81. - Source + Source
  82. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_insertCustomerAddress.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_insertCustomerAddress.xhtml index 0a4df38..509aa7c 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_insertCustomerAddress.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_insertCustomerAddress.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::_insertCustomerAddress @@ -62,7 +62,7 @@ Overrides
  83. - Source + Source
  84. @@ -73,7 +73,7 @@

      Signature

      - protected function _insertCustomerAddress(& + protected function _insertCustomerAddress(Zend_Pdf_Page $page, Mage_Sales_Model_Order $order ) @@ -83,8 +83,8 @@
      $page — -
      -
      + object +
      current page object of Zend_Pdf


      $order — object
      @@ -107,7 +107,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_printShipmentTracks.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_printShipmentTracks.xhtml new file mode 100644 index 0000000..867f7b2 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/_printShipmentTracks.xhtml @@ -0,0 +1,108 @@ + + + + + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::_printShipmentTracks + + + + + +
      +
      + +
      + +
      +

      FireGento_Pdf_Model_Engine_Shipment_Default::_printShipmentTracks

      +

      This will print all the shipment tracks.

      +

      +

      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/getPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/getPdf.xhtml index dc23675..ddc0e69 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/getPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/getPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::getPdf @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,8 +70,8 @@

      Signature

      - public function getPdf(array - $shipments ) + public function getPdf([array + $shipments = ] )

      Parameters

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertShippingAddress.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertShippingAddress.xhtml index 6016ec2..be4e72e 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertShippingAddress.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertShippingAddress.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::insertShippingAddress @@ -56,7 +56,7 @@ Parameter
    • - Source + Source
    @@ -87,7 +87,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertTableHeader.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertTableHeader.xhtml index 29a8745..bb49c82 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertTableHeader.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Engine_Shipment_Default/insertTableHeader.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Engine_Shipment_Default::insertTableHeader @@ -56,7 +56,7 @@ Parameter
  85. - Source + Source
  86. @@ -81,7 +81,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Invoice.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Invoice.xhtml index 8fb3401..d212974 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Invoice.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Invoice.xhtml @@ -46,6 +46,9 @@
  87. Synopsis
  88. +
  89. + Hierarchy +
  90. Members
  91. @@ -53,7 +56,7 @@ Methods
  92. - Source + Source
  93. @@ -63,24 +66,30 @@

    The invoice model serves as a proxy to the actual PDF engine as set via
    backend configuration.

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Invoice - {
    • // members
    • private Mage_Sales_Model_Order_Pdf_Abstract $_engine; + extends Mage_Sales_Model_Order_Pdf_Invoice + {
      • // members
      • protected Mage_Sales_Model_Order_Pdf_Abstract $_engine;
      • // methods
      • protected Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Invoice getEngine()
      • public mixed getPdf()
      }
    +

    Hierarchy

    +
    +

    Extends

    +
      +
    • Mage_Sales_Model_Order_Pdf_Invoice
    • +
    +

    Members

    -

    private

    +

    protected

    Methods

    @@ -99,7 +108,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getEngine.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getEngine.xhtml index 4c2f08f..5a904ae 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getEngine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getEngine.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Invoice::getEngine @@ -56,7 +56,7 @@ Return
  94. - Source + Source
  95. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getPdf.xhtml index 42d8b2d..cd65a8b 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Invoice/getPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Invoice::getPdf @@ -59,7 +59,7 @@ Return
  96. - Source + Source
  97. @@ -70,8 +70,8 @@

      Signature

      - public function getPdf(array - $invoices ) + public function getPdf([array + $invoices = ] )

      Parameters

      @@ -89,7 +89,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle.xhtml index 8ad984f..d39c2e8 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle.xhtml @@ -53,7 +53,7 @@ Methods
    • - Source + Source
    @@ -63,12 +63,10 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Items_Bundle - extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice + extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice {
    • // methods
    • public void draw()
    @@ -77,9 +75,7 @@

    Extends

    Methods

    @@ -93,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle/draw.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle/draw.xhtml index e44723c..9feb26d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle/draw.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Bundle/draw.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Items_Bundle::draw @@ -59,7 +59,7 @@ Return
  98. - Source + Source
  99. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Default.xhtml index cec93fd..f9752b8 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Default.xhtml @@ -53,7 +53,7 @@ Methods
  100. - Source + Source
  101. @@ -63,12 +63,10 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Items_Default - extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Default + extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Default {
    • // methods
    • public void draw()
    @@ -77,9 +75,7 @@

    Extends

    Methods

    @@ -93,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Default/draw.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Default/draw.xhtml index 96d2e61..012a39f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Default/draw.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Default/draw.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Items_Default::draw @@ -59,7 +59,7 @@ Return
  102. - Source + Source
  103. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable.xhtml index a302343..36f0f53 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable.xhtml @@ -53,7 +53,7 @@ Methods
  104. - Source + Source
  105. @@ -66,7 +66,7 @@

    Synopsis

    class FireGento_Pdf_Model_Items_Downloadable - extends Mage_Downloadable_Model_Sales_Order_Pdf_Items_Invoice + extends Mage_Downloadable_Model_Sales_Order_Pdf_Items_Invoice {
    • // methods
    • public void draw()
    @@ -75,9 +75,7 @@

    Extends

    Methods

    @@ -91,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable/draw.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable/draw.xhtml index a59d002..82fa43f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable/draw.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Downloadable/draw.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Items_Downloadable::draw @@ -59,7 +59,7 @@ Return
  106. - Source + Source
  107. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped.xhtml index de24c25..1ff376d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped.xhtml @@ -53,7 +53,7 @@ Methods
  108. - Source + Source
  109. @@ -63,12 +63,10 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Items_Grouped - extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped + extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped {
    • // methods
    • public void draw()
    @@ -77,9 +75,7 @@

    Extends

    Methods

    @@ -93,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped/draw.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped/draw.xhtml index 8c3ef84..301f37e 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped/draw.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Grouped/draw.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Items_Grouped::draw @@ -59,7 +59,7 @@ Return
  110. - Source + Source
  111. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xhtml index 3b14c74..158c7c3 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xhtml @@ -53,7 +53,7 @@ Methods
  112. - Source + Source
  113. @@ -63,12 +63,10 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Items_Shipment_Bundle - extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Shipment + extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Shipment {
    • // methods
    • public void draw()
    @@ -77,9 +75,7 @@

    Extends

    Methods

    @@ -93,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle/draw.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle/draw.xhtml index 67a90c2..234d08c 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle/draw.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Bundle/draw.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Items_Shipment_Bundle::draw @@ -56,7 +56,7 @@ Return
  114. - Source + Source
  115. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default.xhtml index 3b93ea9..065fca1 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default.xhtml @@ -53,7 +53,7 @@ Methods
  116. - Source + Source
  117. @@ -63,12 +63,10 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Items_Shipment_Default - extends Mage_Sales_Model_Order_Pdf_Items_Shipment_Default + extends Mage_Sales_Model_Order_Pdf_Items_Shipment_Default {
    • // methods
    • public void draw()
    @@ -77,9 +75,7 @@

    Extends

    Methods

    @@ -93,7 +89,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default/draw.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default/draw.xhtml index 71c8f85..5d7bba7 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default/draw.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Shipment_Default/draw.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Items_Shipment_Default::draw @@ -56,7 +56,7 @@ Return
  118. - Source + Source
  119. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xhtml new file mode 100644 index 0000000..5ce4d9e --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xhtml @@ -0,0 +1,105 @@ + + + + + phpDox - FireGento_Pdf_Model_Items_Unirgy_Default + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Model_Items_Unirgy_Default

    +

    Default item model rewrite.

    +

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +
    +

    Synopsis

    +
    class FireGento_Pdf_Model_Items_Unirgy_Default + extends FireGento_Pdf_Model_Items_Default + {
    • // Inherited methods from FireGento_Pdf_Model_Items_Default
    • public void draw() +
    + + }
    +

    Hierarchy

    +
    +

    Extends

    + +
    +

    Methods

    +
    +

    public

    + +

    Inherited from FireGento_Pdf_Model_Items_Default

    +

    public

    +
      +
    • draw() + — Draw item line.
    • +
    +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default/getItemOptions.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default/getItemOptions.xhtml new file mode 100644 index 0000000..e2258ef --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Default/getItemOptions.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Model_Items_Unirgy_Default::getItemOptions + + + + + +
    + + +
    +

    FireGento_Pdf_Model_Items_Unirgy_Default::getItemOptions

    +

    +

    +

    Signature

    +
    + public function getItemOptions() + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xhtml new file mode 100644 index 0000000..e5eb023 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xhtml @@ -0,0 +1,105 @@ + + + + + phpDox - FireGento_Pdf_Model_Items_Unirgy_Shipment_Default + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Model_Items_Unirgy_Shipment_Default

    +

    Default item model rewrite.

    +

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +
    +

    Synopsis

    +
    class FireGento_Pdf_Model_Items_Unirgy_Shipment_Default + extends FireGento_Pdf_Model_Items_Shipment_Default + {
    • // Inherited methods from FireGento_Pdf_Model_Items_Shipment_Default
    • public void draw() +
    + + }
    +

    Hierarchy

    + +

    Methods

    +
    +

    public

    + +

    Inherited from FireGento_Pdf_Model_Items_Shipment_Default

    +

    public

    +
      +
    • draw() + — Draw item line.
    • +
    +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default/getItemOptions.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default/getItemOptions.xhtml new file mode 100644 index 0000000..cc947f4 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default/getItemOptions.xhtml @@ -0,0 +1,75 @@ + + + + + phpDox - FireGento_Pdf_Model_Items_Unirgy_Shipment_Default::getItemOptions + + + + + +
    + + +
    +

    FireGento_Pdf_Model_Items_Unirgy_Shipment_Default::getItemOptions

    +

    +

    +

    Signature

    +
    + public function getItemOptions() + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer.xhtml index 538d740..9878b05 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer.xhtml @@ -50,7 +50,7 @@ Methods
  120. - Source + Source
  121. @@ -60,45 +60,67 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Observer {
    }

    Methods

    -

    public

    +

    protected

    +

    public

    +
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addBarcode.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addBarcode.xhtml new file mode 100644 index 0000000..622c03a --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addBarcode.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::_addBarcode + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Observer::_addBarcode

    +

    Adds a barcode representing the order number to a PDF

    +

    +

      +

      Signature

      +
      + protected function _addBarcode(Varien_Event_Observer + $observer ) + +
      +

      Parameters

      +
      +
      $observer + — + Varien_Event_Observer
      +
      observer which is passed by magento


      +
      +

      Returns

      +
      +
      FireGento_Pdf_Model_Observer
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addCreditmemoComments.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addCreditmemoComments.xhtml new file mode 100644 index 0000000..a2fbfef --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addCreditmemoComments.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::_addCreditmemoComments + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Observer::_addCreditmemoComments

    +

    Add the credit memo comments

    +

    +

      +

      Signature

      +
      + protected function _addCreditmemoComments(Varien_Event_Observer + $observer ) + +
      +

      Parameters

      +
      +
      $observer + — + Varien_Event_Observer
      +
      observer object


      +
      +

      Returns

      +
      +
      FireGento_Pdf_Model_Observer
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceComments.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceComments.xhtml similarity index 78% rename from docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceComments.xhtml rename to docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceComments.xhtml index 8339e74..e22cb9c 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceComments.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceComments.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::_addInvoiceComments @@ -41,7 +41,7 @@
  122. FireGento_Pdf_Model_Observer
  123. -
  124. addInvoiceComments
  125. +
  126. _addInvoiceComments
  127. -

    FireGento_Pdf_Model_Observer::addInvoiceComments

    +

    FireGento_Pdf_Model_Observer::_addInvoiceComments

    Add the invoice comments

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceDateNotice.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceDateNotice.xhtml similarity index 78% rename from docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceDateNotice.xhtml rename to docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceDateNotice.xhtml index 1cde0c7..e489f5a 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceDateNotice.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceDateNotice.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::_addInvoiceDateNotice @@ -41,7 +41,7 @@
  128. FireGento_Pdf_Model_Observer
  129. -
  130. addInvoiceDateNotice
  131. +
  132. _addInvoiceDateNotice
  133. -

    FireGento_Pdf_Model_Observer::addInvoiceDateNotice

    +

    FireGento_Pdf_Model_Observer::_addInvoiceDateNotice

    add invoice date notice to pdf

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceMaturity.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceMaturity.xhtml similarity index 78% rename from docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceMaturity.xhtml rename to docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceMaturity.xhtml index f9b9f18..edf179d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceMaturity.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addInvoiceMaturity.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::_addInvoiceMaturity @@ -41,7 +41,7 @@
  134. FireGento_Pdf_Model_Observer
  135. -
  136. addInvoiceMaturity
  137. +
  138. _addInvoiceMaturity
  139. -

    FireGento_Pdf_Model_Observer::addInvoiceMaturity

    +

    FireGento_Pdf_Model_Observer::_addInvoiceMaturity

    Add maturity to invoice notes.

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addPaymentMethod.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addPaymentMethod.xhtml new file mode 100644 index 0000000..3db6b4a --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addPaymentMethod.xhtml @@ -0,0 +1,102 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::_addPaymentMethod + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Observer::_addPaymentMethod

    +

    Add payment method to invoice / creditmemo notes.

    +

    +

      +

      Signature

      +
      + protected function _addPaymentMethod(Varien_Event_Observer + $observer, + + $mode ) + +
      +

      Parameters

      +
      +
      $observer + — + Varien_Event_Observer
      +
      observer object


      +
      $mode + — +
      +
      +
      +

      Returns

      +
      +
      FireGento_Pdf_Model_Observer
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShipmentComments.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShipmentComments.xhtml new file mode 100644 index 0000000..eba49c0 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShipmentComments.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::_addShipmentComments + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Observer::_addShipmentComments

    +

    Add the shipment comments

    +

    +

      +

      Signature

      +
      + protected function _addShipmentComments(Varien_Event_Observer + $observer ) + +
      +

      Parameters

      +
      +
      $observer + — + Varien_Event_Observer
      +
      observer object


      +
      +

      Returns

      +
      +
      FireGento_Pdf_Model_Observer
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingCountryNotes.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingCountryNotes.xhtml new file mode 100644 index 0000000..285c5f0 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingCountryNotes.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::_addShippingCountryNotes + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Observer::_addShippingCountryNotes

    +

    Add notes based on shipping country

    +

    +

      +

      Signature

      +
      + protected function _addShippingCountryNotes(Varien_Event_Observer + $observer ) + +
      +

      Parameters

      +
      +
      $observer + — + Varien_Event_Observer
      +
      observer object


      +
      +

      Returns

      +
      +
      $this
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShippingMethod.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingMethod.xhtml similarity index 78% rename from docs/api/html/classes/FireGento_Pdf_Model_Observer/addShippingMethod.xhtml rename to docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingMethod.xhtml index 8e7dddb..0c88d32 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShippingMethod.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/_addShippingMethod.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::_addShippingMethod @@ -41,7 +41,7 @@
  140. FireGento_Pdf_Model_Observer
  141. -
  142. addShippingMethod
  143. +
  144. _addShippingMethod
  145. -

    FireGento_Pdf_Model_Observer::addShippingMethod

    +

    FireGento_Pdf_Model_Observer::_addShippingMethod

    Add shipping method to invoice notes.

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addCreditmemoNotes.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addCreditmemoNotes.xhtml new file mode 100644 index 0000000..074ce15 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addCreditmemoNotes.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::addCreditmemoNotes + + + + + +
    +
    + +
    + +
    +

    FireGento_Pdf_Model_Observer::addCreditmemoNotes

    +

    Add notes to credit memo document.

    +

    +

      +

      Signature

      +
      + public function addCreditmemoNotes(Varien_Event_Observer + $observer ) + +
      +

      Parameters

      +
      +
      $observer + — + Varien_Event_Observer
      +
      observer object


      +
      +

      Returns

      +
      +
      FireGento_Pdf_Model_Observer
      +

      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addBarcode.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceBarcode.xhtml similarity index 77% rename from docs/api/html/classes/FireGento_Pdf_Model_Observer/addBarcode.xhtml rename to docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceBarcode.xhtml index 8cad5e4..cb05047 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addBarcode.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceBarcode.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::addInvoiceBarcode @@ -41,7 +41,7 @@
  146. FireGento_Pdf_Model_Observer
  147. -
  148. addBarcode
  149. +
  150. addInvoiceBarcode
  151. -

    FireGento_Pdf_Model_Observer::addBarcode

    -

    Adds a barcode representing the order number to the shipment if activated.

    +

    FireGento_Pdf_Model_Observer::addInvoiceBarcode

    +

    Adds a barcode representing the order number to the invoice if activated

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceNotes.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceNotes.xhtml index 52c3394..b00831f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceNotes.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addInvoiceNotes.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::addInvoiceNotes @@ -59,7 +59,7 @@ Return
  152. - Source + Source
  153. @@ -70,7 +70,7 @@

      Signature

      - public function addInvoiceNotes(Varien_Event_Observer + public function addInvoiceNotes(Varien_Event_Observer $observer )
      @@ -78,7 +78,7 @@
      $observer — - Varien_Event_Observer
      + Varien_Event_Observer
      observer object


      Returns

      @@ -90,7 +90,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentBarcode.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentBarcode.xhtml new file mode 100644 index 0000000..2c5f3a5 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentBarcode.xhtml @@ -0,0 +1,96 @@ + + + + + phpDox - FireGento_Pdf_Model_Observer::addShipmentBarcode + + + + + +
      +
      + +
      + +
      +

      FireGento_Pdf_Model_Observer::addShipmentBarcode

      +

      Adds a barcode representing the order number to the shipment if activated

      +

      +

        +

        Signature

        +
        + public function addShipmentBarcode(Varien_Event_Observer + $observer ) + +
        +

        Parameters

        +
        +
        $observer + — + Varien_Event_Observer
        +
        observer which is passed by magento


        +
        +

        Returns

        +
        +
        FireGento_Pdf_Model_Observer
        +

        +
        +
        +
      +
      +
      + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
      + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addPaymentMethod.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentNotes.xhtml similarity index 76% rename from docs/api/html/classes/FireGento_Pdf_Model_Observer/addPaymentMethod.xhtml rename to docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentNotes.xhtml index 85a4c1f..1667a41 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Observer/addPaymentMethod.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Observer/addShipmentNotes.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Observer::addShipmentNotes @@ -41,7 +41,7 @@
    • FireGento_Pdf_Model_Observer
    • -
    • addPaymentMethod
    • +
    • addShipmentNotes
    -

    FireGento_Pdf_Model_Observer::addPaymentMethod

    -

    Add payment method to invoice notes.

    +

    FireGento_Pdf_Model_Observer::addShipmentNotes

    +

    Add notes to shipment document.

    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Shipment.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Shipment.xhtml index 55050f4..8eeb50e 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Shipment.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Shipment.xhtml @@ -46,6 +46,9 @@
  154. Synopsis
  155. +
  156. + Hierarchy +
  157. Members
  158. @@ -53,7 +56,7 @@ Methods
  159. - Source + Source
  160. @@ -63,24 +66,30 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Shipment - {
    • // members
    • private Mage_Sales_Model_Order_Pdf_Abstract $_engine; + extends Mage_Sales_Model_Order_Pdf_Shipment + {
      • // members
      • protected Mage_Sales_Model_Order_Pdf_Abstract $_engine;
      • // methods
      • protected Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Shipment getEngine()
      • public mixed getPdf()
      }
    +

    Hierarchy

    +
    +

    Extends

    +
      +
    • Mage_Sales_Model_Order_Pdf_Shipment
    • +
    +

    Members

    -

    private

    +

    protected

    Methods

    @@ -99,7 +108,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getEngine.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getEngine.xhtml index 6576eff..b198ce5 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getEngine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getEngine.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Shipment::getEngine @@ -56,7 +56,7 @@ Return
  161. - Source + Source
  162. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getPdf.xhtml index 1ae8b07..674c4fb 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Shipment/getPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Shipment::getPdf @@ -59,7 +59,7 @@ Return
  163. - Source + Source
  164. @@ -70,8 +70,8 @@

      Signature

      - public function getPdf(array - $shipments ) + public function getPdf([array + $shipments = ] )

      Parameters

      @@ -89,7 +89,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xhtml index 0ceaf49..c1bbbea 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xhtml @@ -56,7 +56,7 @@ Methods
    • - Source + Source
    @@ -69,8 +69,9 @@

    Synopsis

    class FireGento_Pdf_Model_System_Config_Backend_Font - extends Mage_Adminhtml_Model_System_Config_Backend_File - {
    • // members
    • private array $_allowedExtensions; + extends Mage_Adminhtml_Model_System_Config_Backend_File + {
      @@ -79,14 +80,12 @@

      Extends

      Members

      -

      private

      +

      protected

      • $_allowedExtensions @@ -104,7 +103,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font/_getAllowedExtensions.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font/_getAllowedExtensions.xhtml index 437e04a..23b9d19 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font/_getAllowedExtensions.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Backend_Font/_getAllowedExtensions.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Backend_Font::_getAllowedExtensions @@ -56,7 +56,7 @@ Return
    • - Source + Source
    @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xhtml index 09e3f20..5fb9994 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xhtml @@ -53,7 +53,7 @@ Methods
  165. - Source + Source
  166. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine @@ -98,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine/toOptionArray.xhtml index 3303b8a..29a2fce 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine::toOptionArray @@ -56,7 +56,7 @@ Return
  167. - Source + Source
  168. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xhtml new file mode 100644 index 0000000..5eab0d9 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xhtml @@ -0,0 +1,104 @@ + + + + + phpDox - FireGento_Pdf_Model_System_Config_Source_Customer_Number + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Model_System_Config_Source_Customer_Number

    +

    Customer number source model.

    +

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +
    • Copyright: 2015 FireGento Team (http://www.firegento.com)
    • +
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
    • +
    +

    Synopsis

    +
    class FireGento_Pdf_Model_System_Config_Source_Customer_Number + {
    • // constants
    • const CUSTOMER_NUMBER_FIELD_INCREMENT_ID = 'increment_id';
    + + }
    +

    Constants

    + + + + + + + + + + + + + +
    NameValue
    CUSTOMER_NUMBER_FIELD_INCREMENT_ID'increment_id'
    +

    Methods

    +
    +

    public

    + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number/toOptionArray.xhtml new file mode 100644 index 0000000..b7b0315 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number/toOptionArray.xhtml @@ -0,0 +1,84 @@ + + + + + phpDox - FireGento_Pdf_Model_System_Config_Source_Customer_Number::toOptionArray + + + + + +
    + + +
    +

    FireGento_Pdf_Model_System_Config_Source_Customer_Number::toOptionArray

    +

    Return array of possible positions.

    +

    +

      +

      Signature

      +
      + public function toOptionArray() + +
      +

      Returns

      +
      +
      array
      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xhtml index 318741c..6d7cf51 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xhtml @@ -53,7 +53,7 @@ Methods
  169. - Source + Source
  170. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Headerblocks @@ -102,7 +100,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks/toOptionArray.xhtml index 9ba8145..e1e1aaf 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Headerblocks::toOptionArray @@ -56,7 +56,7 @@ Return
  171. - Source + Source
  172. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xhtml index 261b545..527ecdb 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xhtml @@ -53,7 +53,7 @@ Methods
  173. - Source + Source
  174. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Invoice_Engine @@ -98,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine/toOptionArray.xhtml index 17ce9f5..b78994c 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Invoice_Engine::toOptionArray @@ -56,7 +56,7 @@ Return
  175. - Source + Source
  176. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xhtml index 7d638e4..d9be0a9 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xhtml @@ -53,7 +53,7 @@ Methods
  177. - Source + Source
  178. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Logo @@ -110,7 +108,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo/toOptionArray.xhtml index 8b7213c..a3a7568 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Logo/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Logo::toOptionArray @@ -56,7 +56,7 @@ Return
  179. - Source + Source
  180. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xhtml new file mode 100644 index 0000000..0831c29 --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xhtml @@ -0,0 +1,84 @@ + + + + + phpDox - FireGento_Pdf_Model_System_Config_Source_PageSize + + + + + +
    +
    + +
    + +
    +

    \FireGento_Pdf_Model_System_Config_Source_PageSize

    +

    Page size source model.

    +

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +
    +

    Synopsis

    +
    class FireGento_Pdf_Model_System_Config_Source_PageSize + {
    + + }
    +

    Methods

    +
    +

    public

    + +
    +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize/toOptionArray.xhtml new file mode 100644 index 0000000..da7dddd --- /dev/null +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_PageSize/toOptionArray.xhtml @@ -0,0 +1,84 @@ + + + + + phpDox - FireGento_Pdf_Model_System_Config_Source_PageSize::toOptionArray + + + + + +
    + + +
    +

    FireGento_Pdf_Model_System_Config_Source_PageSize::toOptionArray

    +

    Return array of possible sizes.

    +

    +

      +

      Signature

      +
      + public function toOptionArray() + +
      +

      Returns

      +
      +
      array
      +
      +
      +
    +
    +
    + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors +
    + + diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xhtml index ec55eb2..b067452 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xhtml @@ -53,7 +53,7 @@ Methods
  181. - Source + Source
  182. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Payment @@ -102,7 +100,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment/toOptionArray.xhtml index 84c68a3..c1258b8 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Payment/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Payment::toOptionArray @@ -56,7 +56,7 @@ Return
  183. - Source + Source
  184. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xhtml index bb912cd..194c35a 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xhtml @@ -53,7 +53,7 @@ Methods
  185. - Source + Source
  186. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Shipment_Engine @@ -98,7 +96,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine/toOptionArray.xhtml index 8721005..a63fe4d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Shipment_Engine::toOptionArray @@ -56,7 +56,7 @@ Return
  187. - Source + Source
  188. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xhtml index 80ccf13..1386697 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xhtml @@ -53,7 +53,7 @@ Methods
  189. - Source + Source
  190. @@ -63,8 +63,6 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_System_Config_Source_Shipping @@ -102,7 +100,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping/toOptionArray.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping/toOptionArray.xhtml index fdb0cd4..59735f6 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping/toOptionArray.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_System_Config_Source_Shipping/toOptionArray.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_System_Config_Source_Shipping::toOptionArray @@ -56,7 +56,7 @@ Return
  191. - Source + Source
  192. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xhtml index 9b22039..5787751 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xhtml @@ -56,7 +56,7 @@ Methods
  193. - Source + Source
  194. @@ -66,12 +66,10 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal - extends Mage_Tax_Model_Sales_Pdf_Grandtotal + extends Mage_Tax_Model_Sales_Pdf_Grandtotal {
    • // constants
    • const NO_SUM_ON_DETAILS = 'tax/sales_display/no_sum_on_details';
    • const HIDE_GRANDTOTAL_EXCL_TAX = 'tax/sales_display/hide_grandtotal_excl_tax';
    @@ -80,9 +78,7 @@

    Extends

    Constants

    @@ -115,7 +111,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal/getTotalsForDisplay.xhtml b/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal/getTotalsForDisplay.xhtml index 2bdccb7..289e65d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal/getTotalsForDisplay.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal/getTotalsForDisplay.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal::getTotalsForDisplay @@ -56,7 +56,7 @@ Return
  195. - Source + Source
  196. @@ -78,7 +78,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController.xhtml b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController.xhtml index da6e875..6b23e77 100644 --- a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController.xhtml @@ -56,7 +56,7 @@ Methods
  197. - Source + Source
  198. @@ -66,13 +66,12 @@

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class FireGento_Pdf_Sales_OrderController - extends Mage_Sales_OrderController - {
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printCreditmemoAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printCreditmemoAction.xhtml index 5219d36..c6a938f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printCreditmemoAction.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printCreditmemoAction.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Sales_OrderController::printCreditmemoAction @@ -56,7 +56,7 @@ Return
  199. - Source + Source
  200. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printDocument.xhtml b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printDocument.xhtml index 494c6eb..29f9126 100644 --- a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printDocument.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printDocument.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Sales_OrderController::printDocument @@ -56,7 +56,7 @@ Parameter
  201. - Source + Source
  202. @@ -81,7 +81,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printInvoiceAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printInvoiceAction.xhtml index 759e9c8..62f6e1a 100644 --- a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printInvoiceAction.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printInvoiceAction.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Sales_OrderController::printInvoiceAction @@ -56,7 +56,7 @@ Return
  203. - Source + Source
  204. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printShipmentAction.xhtml b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printShipmentAction.xhtml index 2f87b29..2c96a5d 100644 --- a/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printShipmentAction.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Sales_OrderController/printShipmentAction.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Sales_OrderController::printShipmentAction @@ -56,7 +56,7 @@ Return
  205. - Source + Source
  206. @@ -79,7 +79,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xhtml index 137cf2f..301edca 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xhtml @@ -56,19 +56,23 @@ Methods
  207. - Source + Source
  208. \FireGento_Pdf_Test_Model_CreditmemoTest

    -

    +

    Test class for creditmemos.

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +

    Synopsis

    class FireGento_Pdf_Test_Model_CreditmemoTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract - {
    • // members
    • protected string $class; -
    @@ -97,11 +101,11 @@

    protected

      -
    • - $class +
    • + $_class
    • -
    • - $class +
    • + $_class
    @@ -157,7 +161,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getEngineXmlConfigPath.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getEngineXmlConfigPath.xhtml index 44b839d..92d6507 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getEngineXmlConfigPath.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getEngineXmlConfigPath.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_CreditmemoTest::getEngineXmlConfigPath @@ -56,7 +56,7 @@ Overrides
  209. - Source + Source
  210. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getExpectedDefaultEngineClass.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getExpectedDefaultEngineClass.xhtml index 479ca30..a29a79c 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getExpectedDefaultEngineClass.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getExpectedDefaultEngineClass.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_CreditmemoTest::getExpectedDefaultEngineClass @@ -56,7 +56,7 @@ Overrides
  211. - Source + Source
  212. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getOrderObjectClassName.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getOrderObjectClassName.xhtml index 8d9eaf1..242baae 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getOrderObjectClassName.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_CreditmemoTest/getOrderObjectClassName.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_CreditmemoTest::getOrderObjectClassName @@ -56,7 +56,7 @@ Overrides
  213. - Source + Source
  214. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest.xhtml index c11a1b5..5484302 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest.xhtml @@ -56,19 +56,23 @@ Methods
  215. - Source + Source
  216. \FireGento_Pdf_Test_Model_InvoiceTest

    -

    +

    Test class for invoices.

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +

    Synopsis

    class FireGento_Pdf_Test_Model_InvoiceTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract - {
    • // members
    • protected string $class; -
    @@ -97,11 +101,11 @@

    protected

      -
    • - $class +
    • + $_class
    • -
    • - $class +
    • + $_class
    @@ -157,7 +161,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getEngineXmlConfigPath.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getEngineXmlConfigPath.xhtml index 487d5b3..36c894f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getEngineXmlConfigPath.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getEngineXmlConfigPath.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_InvoiceTest::getEngineXmlConfigPath @@ -56,7 +56,7 @@ Overrides
  217. - Source + Source
  218. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getExpectedDefaultEngineClass.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getExpectedDefaultEngineClass.xhtml index 7f3e395..04f519a 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getExpectedDefaultEngineClass.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getExpectedDefaultEngineClass.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_InvoiceTest::getExpectedDefaultEngineClass @@ -56,7 +56,7 @@ Overrides
  219. - Source + Source
  220. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getOrderObjectClassName.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getOrderObjectClassName.xhtml index a3e0463..836764b 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getOrderObjectClassName.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_InvoiceTest/getOrderObjectClassName.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_InvoiceTest::getOrderObjectClassName @@ -56,7 +56,7 @@ Overrides
  221. - Source + Source
  222. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xhtml index 15ab290..1591586 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xhtml @@ -56,18 +56,22 @@ Methods
  223. - Source + Source
  224. \FireGento_Pdf_Test_Model_SalesObjectTestAbstract

    -

    +

    Abstract test class for the different engines.

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +

    Synopsis

    class FireGento_Pdf_Test_Model_SalesObjectTestAbstract - extends EcomDev_PHPUnit_Test_Case - {
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/callMethod.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/callMethod.xhtml index 993546d..baf6471 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/callMethod.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/callMethod.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::callMethod @@ -56,7 +56,7 @@ Parameter
  225. - Source + Source
  226. @@ -68,10 +68,10 @@
    protected function callMethod( $object, - [ - $method = null, + + $method, [array - $args = null]] ) + $args = NULL] )

    Parameters

    @@ -92,7 +92,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getEngineXmlConfigPath.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getEngineXmlConfigPath.xhtml index 8c05468..2c6c977 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getEngineXmlConfigPath.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getEngineXmlConfigPath.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::getEngineXmlConfigPath @@ -53,7 +53,7 @@ Synopsis
  227. - Source + Source
  228. @@ -69,7 +69,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getExpectedDefaultEngineClass.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getExpectedDefaultEngineClass.xhtml index 817a9ac..42e5b6f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getExpectedDefaultEngineClass.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getExpectedDefaultEngineClass.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::getExpectedDefaultEngineClass @@ -53,7 +53,7 @@ Synopsis
  229. - Source + Source
  230. @@ -69,7 +69,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getOrderObjectClassName.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getOrderObjectClassName.xhtml index c0898bd..bae3bc8 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getOrderObjectClassName.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/getOrderObjectClassName.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::getOrderObjectClassName @@ -53,7 +53,7 @@ Synopsis
  231. - Source + Source
  232. @@ -69,7 +69,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldExist.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldExist.xhtml index e8f77a9..72b9f0f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldExist.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldExist.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::itShouldExist @@ -53,7 +53,7 @@ Synopsis
  233. - Source + Source
  234. @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldHaveAMethodGetEngine.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldHaveAMethodGetEngine.xhtml index f637ce0..19ff359 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldHaveAMethodGetEngine.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldHaveAMethodGetEngine.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::itShouldHaveAMethodGetEngine @@ -53,7 +53,7 @@ Synopsis
  235. - Source + Source
  236. @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnADefaultEngineModel.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnADefaultEngineModel.xhtml index 6f11556..0d24082 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnADefaultEngineModel.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnADefaultEngineModel.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::itShouldReturnADefaultEngineModel @@ -53,7 +53,7 @@ Synopsis
  237. - Source + Source
  238. @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnAZendPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnAZendPdf.xhtml index fc03967..a31d45f 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnAZendPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldReturnAZendPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::itShouldReturnAZendPdf @@ -53,7 +53,7 @@ Synopsis
  239. - Source + Source
  240. @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldhaveAMethodGetPdf.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldhaveAMethodGetPdf.xhtml index 4c4a649..219ddfa 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldhaveAMethodGetPdf.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract/itShouldhaveAMethodGetPdf.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_SalesObjectTestAbstract::itShouldhaveAMethodGetPdf @@ -53,7 +53,7 @@ Synopsis
  241. - Source + Source
  242. @@ -70,7 +70,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest.xhtml index d547ea3..a685845 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest.xhtml @@ -56,19 +56,23 @@ Methods
  243. - Source + Source
  244. \FireGento_Pdf_Test_Model_ShipmentTest

    -

    +

    Test class for shipments.

    +

      +
    • Author: FireGento Team <team@firegento.com>
    • +

    Synopsis

    class FireGento_Pdf_Test_Model_ShipmentTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract - {
    • // members
    • protected string $class; -
    @@ -97,11 +101,11 @@

    protected

      -
    • - $class +
    • + $_class
    • -
    • - $class +
    • + $_class
    @@ -157,7 +161,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getEngineXmlConfigPath.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getEngineXmlConfigPath.xhtml index b1caf35..1fe6437 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getEngineXmlConfigPath.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getEngineXmlConfigPath.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_ShipmentTest::getEngineXmlConfigPath @@ -56,7 +56,7 @@ Overrides
  245. - Source + Source
  246. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getExpectedDefaultEngineClass.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getExpectedDefaultEngineClass.xhtml index 5e0331b..e41b4cd 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getExpectedDefaultEngineClass.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getExpectedDefaultEngineClass.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_ShipmentTest::getExpectedDefaultEngineClass @@ -56,7 +56,7 @@ Overrides
  247. - Source + Source
  248. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getOrderObjectClassName.xhtml b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getOrderObjectClassName.xhtml index a2c9fde..ffc9815 100644 --- a/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getOrderObjectClassName.xhtml +++ b/docs/api/html/classes/FireGento_Pdf_Test_Model_ShipmentTest/getOrderObjectClassName.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - FireGento_Pdf_Test_Model_ShipmentTest::getOrderObjectClassName @@ -56,7 +56,7 @@ Overrides
  249. - Source + Source
  250. @@ -80,7 +80,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xhtml b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xhtml index e0554d8..9ea9e4a 100644 --- a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xhtml +++ b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xhtml @@ -56,23 +56,22 @@ Methods
  251. - Source + Source
  252. \Firegento_Pdf_Block_Adminhtml_ColumnOrder

    -

    Firegento

    +

    Block which enables the user to change the column order in the admin via drag & drop.

    • Author: FireGento Team <team@firegento.com>
    • -
    • Copyright: 2013 FireGento Team (http://www.firegento.com)
    • -
    • License: http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)

    Synopsis

    class Firegento_Pdf_Block_Adminhtml_ColumnOrder - extends Mage_Adminhtml_Block_System_Config_Form_Field - {
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_addListItems.xhtml b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_addListItems.xhtml index 96459a8..86f391f 100644 --- a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_addListItems.xhtml +++ b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_addListItems.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - Firegento_Pdf_Block_Adminhtml_ColumnOrder::_addListItems @@ -59,7 +59,7 @@ Return
  253. - Source + Source
  254. @@ -90,7 +90,7 @@
    - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
    diff --git a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getElementHtml.xhtml b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getElementHtml.xhtml index 31b7bd7..cfb8a35 100644 --- a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getElementHtml.xhtml +++ b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getElementHtml.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - Firegento_Pdf_Block_Adminhtml_ColumnOrder::_getElementHtml @@ -59,7 +59,7 @@ Return
  255. - Source + Source
  256. @@ -70,7 +70,7 @@

      Signature

      - protected function _getElementHtml(Varien_Data_Form_Element_Abstract + protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element )
      @@ -78,7 +78,7 @@
      $element — - Varien_Data_Form_Element_Abstract
      + Varien_Data_Form_Element_Abstract
      form element to render


      Returns

      @@ -89,7 +89,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getSortableListHtml.xhtml b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getSortableListHtml.xhtml index 6d10810..82ded21 100644 --- a/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getSortableListHtml.xhtml +++ b/docs/api/html/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder/_getSortableListHtml.xhtml @@ -1,8 +1,8 @@ - + - phpDox - Test Method + phpDox - Firegento_Pdf_Block_Adminhtml_ColumnOrder::_getSortableListHtml @@ -59,7 +59,7 @@ Return
    • - Source + Source
    @@ -70,7 +70,7 @@

      Signature

      - protected function _getSortableListHtml(Varien_Data_Form_Element_Abstract + protected function _getSortableListHtml(Varien_Data_Form_Element_Abstract $element )
      @@ -78,7 +78,7 @@
      $element — - Varien_Data_Form_Element_Abstract
      + Varien_Data_Form_Element_Abstract
      form element to render


      Returns

      @@ -89,7 +89,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/css/source.css b/docs/api/html/css/source.css index 12316de..3628eab 100644 --- a/docs/api/html/css/source.css +++ b/docs/api/html/css/source.css @@ -142,3 +142,43 @@ table.source td.line div:target pre { .T_CONSTANT_ENCAPSED_STRING, .T_ENCAPSED_AND_WHITESPACE { color: #DD0000; } + +.covered { + background-color: rgba(5, 238, 25, 0.13); +} + +a.covered:hover + div { + left:90px; +} + +.coverage_details { + position: absolute; + left:-10000px; + margin:-1.4em 0 0 0; + background-color: #eee; + box-shadow: 5px 5px 10px #888; + z-index: 1; + padding:1em; +} + +.coverage_details span { + font-weight: bold; +} + +.coverage_details ul { + margin:0; + padding:1em; +} + +.coverage_details:before { + position: absolute; + content:""; + width: 12px; + height: 12px; + top: 3px; + left: -6px; + border:0; + background-color: #eee; + transform: rotate(45deg); + z-index: -1; +} diff --git a/docs/api/html/css/style.css b/docs/api/html/css/style.css index 968b13f..67913a4 100644 --- a/docs/api/html/css/style.css +++ b/docs/api/html/css/style.css @@ -111,6 +111,14 @@ h3 { min-height: 14em; } +.styled #index { + background: rgba(0, 0, 0, 0) none repeat scroll 0 0; + color: #000; + margin: 0; + min-height: 0; + padding: 0; +} + #index h1 { text-shadow: 0px -1px 0 #555555; } @@ -163,6 +171,25 @@ h3 { text-align: right; } +.nummeric a { + display: block; + background-color: #CCD; + padding: 0 0.5em; +} + +.nummeric a:hover, .nummeric a:focus, .nummeric a:active { + background-color: #DDE; + outline: dotted 2px #AAB; +} + +.nummeric a:hover { + outline-style: solid; +} + +.nummeric a:active { + outline: solid 2px #667; +} + .percent { text-align: right; width:5em; diff --git a/docs/api/html/index.xhtml b/docs/api/html/index.xhtml index ad632d6..9bb7cf2 100644 --- a/docs/api/html/index.xhtml +++ b/docs/api/html/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -34,13 +34,13 @@

      Build

      -

      +

      Mon, 12 Mar 2018 20:13:38 +0000

      VCS Info

      tag:
      branch:

      Used Enrichers

      -

      +

      build

      @@ -49,7 +49,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/interfaces.xhtml b/docs/api/html/interfaces.xhtml index 6335feb..628bc0e 100644 --- a/docs/api/html/interfaces.xhtml +++ b/docs/api/html/interfaces.xhtml @@ -29,7 +29,7 @@

      Interfaces

      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/namespaces.xhtml b/docs/api/html/namespaces.xhtml index 6a02c1c..a67e370 100644 --- a/docs/api/html/namespaces.xhtml +++ b/docs/api/html/namespaces.xhtml @@ -43,7 +43,7 @@ \ 0 - 33 + 44 0 @@ -51,7 +51,7 @@
      - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xhtml index badce8b..75f0340 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of ColumnOrder.php

      Source of file ColumnOrder.php

      - Size: 6,438 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

      /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php

      123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
      <?php
      /**
       * This file is part of a FireGento e.V. module.
       *
       * This FireGento e.V. module is free software; you can redistribute it and/or
       * modify it under the terms of the GNU General Public License version 3 as
       * published by the Free Software Foundation.
       *
       * This script is distributed in the hope that it will be useful, but WITHOUT
       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
       *
       * PHP version 5
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2013 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       */
      /**
       * Firegento
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2013 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       */
      class Firegento_Pdf_Block_Adminhtml_ColumnOrder
          extends Mage_Adminhtml_Block_System_Config_Form_Field
      {
          protected $_sortableListHtml = '';

          /**
           * generate html for orderable list
           *
           * @param  Varien_Data_Form_Element_Abstract $element form element to render
           *
           * @return string
           */
          protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
          {
              return '
                  <style>.orderable_config li {list-style: disc inside; cursor:move;}</style>
                  <p>' . $this->__('Define the order by moving the following items using your mouse:') . '<p>
                  <ul id="' . $element->getHtmlId() . '_list" class="orderable_config">
                  ' . $this->_getSortableListHtml($element) . '
                  </ul>
                  <input type="hidden" value="' . $element->getValue() . '" name="' . $element->getName() .
                      '" id="' . $element->getHtmlId() . '">
                  <script type="text/javascript">
                      Sortable.create("' . $element->getHtmlId() . '_list", {
                          onUpdate: function() {
                              var inheritCheckbox = $("' . $element->getHtmlId() . '_inherit");
                              if (inheritCheckbox) {
                                  inheritCheckbox.checked=false;
                              }
                              var newOrder="";
                              $A(this.element.children).each(function(item){
                                  var current = $(item).attributes["data-column"].value;
                                  if ("disabled" == current) {
                                      $("' . $element->getHtmlId() . '").value = newOrder;
                                  } else {
                                      if (0 < newOrder.length) {
                                          newOrder+=",";
                                      }
                                      newOrder+=current;
                                  }
                              });
                              validateSortableWidth();
                          }
                      });
                      validateSortableWidth = function () {
                          var newWidth=0;
                          $A($("' . $element->getHtmlId() . '_list").children).each(function(item){
                              var current = $(item).attributes["data-column"].value;
                              if ($(item.attributes["data-width"])) {
                                  newWidth += parseInt($(item).attributes["data-width"].value);
                              } else if ("disabled" == current) {
                                  if (240 < newWidth) {
                                      $("' . $element->getHtmlId() . '_warning").innerHTML = "'
                                      . $this->__('Caution: Your columns may overlap!') . '";
                                      $("' . $element->getHtmlId() . '_warning").show();
                                  } else {
                                      $("' . $element->getHtmlId() . '_warning").hide();
                                  }
                              }
                          });
                      };
                      validateSortableWidth();
                  </script>
              ';
          }

          /**
           * get html for list
           *
           * @param  Varien_Data_Form_Element_Abstract $element form element to render
           *
           * @return string
           */
          protected function _getSortableListHtml(Varien_Data_Form_Element_Abstract $element)
          {
              $availableItems = array(
                  'price_incl_tax'    => array('width' => 60, 'label' => $this->__('Price (incl. tax)')),
                  'price'             => array('width' => 60, 'label' => $this->__('Price')),
                  'qty'               => array('width' => 40, 'label' => $this->__('Qty')),
                  'subtotal_incl_tax' => array('width' => 70, 'label' => $this->__('Subtotal (incl. tax)')),
                  'subtotal'          => array('width' => 50, 'label' => $this->__('Subtotal')),
                  'tax'               => array('width' => 50, 'label' => $this->__('Tax amount')),
                  'tax_rate'          => array('width' => 50, 'label' => $this->__('Tax rate')),
              );
              $activeItems = array();
              foreach (explode(',', $element->getValue()) as $item) {
                  $item = trim($item);
                  if (array_key_exists($item, $availableItems)) {
                      $activeItems[$item] = $availableItems[$item];
                      unset($availableItems[$item]);
                  }
              }

              $this->_addListItems($activeItems);
              $this->_sortableListHtml .= '<li id="pdf-column-disabled" data-column="disabled" style="list-style:none">
                  <div id="' . $element->getHtmlId() . '_warning" style="display:none" class="validation-advice"></div>
                  <br />
                  ' . $this->__('not to be listed') . '
                  </li>';
              $this->_addListItems($availableItems);

              return $this->_sortableListHtml;
          }

          /**
           * add items to list
           *
           * @param  array $items items to add
           *
           * @return $this
           */
          protected function _addListItems($items)
          {
              foreach ($items as $name=>$item) {
                  $this->_sortableListHtml .= sprintf(
                      '<li id="pdf-column-%s" data-column="%s" data-width="%s">%s</li>',
                      $name,
                      $name,
                      $item['width'],
                      $item['label']
                  );
              }
              return $this;
          }
      }

      + Size: 6,355 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

      /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php

      123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
      <?php
      /**
       * This file is part of a FireGento e.V. module.
       *
       * This FireGento e.V. module is free software; you can redistribute it and/or
       * modify it under the terms of the GNU General Public License version 3 as
       * published by the Free Software Foundation.
       *
       * This script is distributed in the hope that it will be useful, but WITHOUT
       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
       *
       * PHP version 5
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       * @copyright 2014 FireGento Team (http://www.firegento.com)
       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
       */
      /**
       * Block which enables the user to change the column order in the admin via drag & drop.
       *
       * @category  FireGento
       * @package   FireGento_Pdf
       * @author    FireGento Team <team@firegento.com>
       */
      class Firegento_Pdf_Block_Adminhtml_ColumnOrder
          extends Mage_Adminhtml_Block_System_Config_Form_Field
      {
          protected $_sortableListHtml = '';

          /**
           * generate html for orderable list
           *
           * @param  Varien_Data_Form_Element_Abstract $element form element to render
           *
           * @return string
           */
          protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
          {
              return '
                  <style>.orderable_config li {list-style: disc inside; cursor:move;}</style>
                  <p>' . $this->__('Define the order by moving the following items using your mouse:') . '<p>
                  <ul id="' . $element->getHtmlId() . '_list" class="orderable_config">
                  ' . $this->_getSortableListHtml($element) . '
                  </ul>
                  <input type="hidden" value="' . $element->getValue() . '" name="' . $element->getName() .
                      '" id="' . $element->getHtmlId() . '">
                  <script type="text/javascript">
                      Sortable.create("' . $element->getHtmlId() . '_list", {
                          onUpdate: function() {
                              var inheritCheckbox = $("' . $element->getHtmlId() . '_inherit");
                              if (inheritCheckbox) {
                                  inheritCheckbox.checked=false;
                              }
                              var newOrder="";
                              $A(this.element.children).each(function(item){
                                  var current = $(item).attributes["data-column"].value;
                                  if ("disabled" == current) {
                                      $("' . $element->getHtmlId() . '").value = newOrder;
                                  } else {
                                      if (0 < newOrder.length) {
                                          newOrder+=",";
                                      }
                                      newOrder+=current;
                                  }
                              });
                              validateSortableWidth();
                          }
                      });
                      validateSortableWidth = function () {
                          var newWidth=0;
                          $A($("' . $element->getHtmlId() . '_list").children).each(function(item){
                              var current = $(item).attributes["data-column"].value;
                              if ($(item.attributes["data-width"])) {
                                  newWidth += parseInt($(item).attributes["data-width"].value);
                              } else if ("disabled" == current) {
                                  if (240 < newWidth) {
                                      $("' . $element->getHtmlId() . '_warning").innerHTML = "'
                                      . $this->__('Caution: Your columns may overlap!') . '";
                                      $("' . $element->getHtmlId() . '_warning").show();
                                  } else {
                                      $("' . $element->getHtmlId() . '_warning").hide();
                                  }
                              }
                          });
                      };
                      validateSortableWidth();
                  </script>
              ';
          }

          /**
           * get html for list
           *
           * @param  Varien_Data_Form_Element_Abstract $element form element to render
           *
           * @return string
           */
          protected function _getSortableListHtml(Varien_Data_Form_Element_Abstract $element)
          {
              $availableItems = array(
                  'price_incl_tax'    => array('width' => 60, 'label' => $this->__('Price (incl. tax)')),
                  'price'             => array('width' => 60, 'label' => $this->__('Price')),
                  'qty'               => array('width' => 40, 'label' => $this->__('Qty')),
                  'subtotal_incl_tax' => array('width' => 70, 'label' => $this->__('Subtotal (incl. tax)')),
                  'subtotal'          => array('width' => 50, 'label' => $this->__('Subtotal')),
                  'tax'               => array('width' => 50, 'label' => $this->__('Tax amount')),
                  'tax_rate'          => array('width' => 50, 'label' => $this->__('Tax rate')),
              );
              $activeItems = array();
              foreach (explode(',', $element->getValue()) as $item) {
                  $item = trim($item);
                  if (array_key_exists($item, $availableItems)) {
                      $activeItems[$item] = $availableItems[$item];
                      unset($availableItems[$item]);
                  }
              }

              $this->_addListItems($activeItems);
              $this->_sortableListHtml .= '<li id="pdf_column-disabled" data-column="disabled" style="list-style:none">
                  <div id="' . $element->getHtmlId() . '_warning" style="display:none" class="validation-advice"></div>
                  <br />
                  ' . $this->__('not to be listed') . '
                  </li>';
              $this->_addListItems($availableItems);

              return $this->_sortableListHtml;
          }

          /**
           * add items to list
           *
           * @param  array $items items to add
           *
           * @return $this
           */
          protected function _addListItems($items)
          {
              foreach ($items as $name=>$item) {
                  $this->_sortableListHtml .= sprintf(
                      '<li id="pdf_column-%s" data-column="%s" data-width="%s">%s</li>',
                      $name,
                      $name,
                      $item['width'],
                      $item['label']
                  );
              }

              return $this;
          }
      }

      Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xhtml new file mode 100644 index 0000000..336e0af --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of Notes.php

      Source of file Notes.php

      + Size: 1,757 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

      /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php

      123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
      <?php

      class FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes
          extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
      {

          /**
           * @var FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country
           */
          protected $_countryRenderer;

          /**
           * Retrieve country column renderer
           *
           * @return FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country
           */
          protected function _getCountryRenderer()
          {
              if (!$this->_countryRenderer) {
                  $this->_countryRenderer = $this->getLayout()->createBlock(
                      'firegento_pdf/adminhtml_system_config_form_field_notes_country', '',
                      array('is_render_to_js_template' => true)
                  );
              }

              return $this->_countryRenderer;
          }

          /**
           * Add columns, change button labels etc.
           */
          protected function _prepareToRender()
          {
              $this->addColumn(
                  'country', array(
                      'label'    => Mage::helper('firegento_pdf')->__('Shipping Country'),
                      'renderer' => $this->_getCountryRenderer()
                  )
              );
              $this->addColumn(
                  'note', array(
                      'label' => Mage::helper('firegento_pdf')->__('Note')
                  )
              );
              $this->_addButtonLabel = Mage::helper('firegento_pdf')->__('Add Note');
              $this->_addAfter       = false;
          }

          /**
           * Prepare existing row data object
           *
           * @param Varien_Object
           */
          protected function _prepareArrayRow(Varien_Object $row)
          {
              $row->setData(
                  'option_extra_attr_' . $this->_getCountryRenderer()->calcOptionHash($row->getData('country')),
                  'selected="selected"'
              );
          }

      }

      Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xhtml new file mode 100644 index 0000000..a4b2c5f --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of Country.php

      Source of file Country.php

      + Size: 0,776 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

      /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php

      1234567891011121314151617181920212223242526272829303132333435363738
      <?php

      /**
       * HTML select element block with country options
       */
      class FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country
          extends Mage_Core_Block_Html_Select
      {

          /**
           * @param $value
           *
           * @return mixed
           */
          public function setInputName($value)
          {
              return $this->setName($value);
          }

          /**
           * Render block HTML
           *
           * @return string
           */
          public function _toHtml()
          {
              if (!$this->getOptions()) {
                  $countryModel = Mage::getModel('adminhtml/system_config_source_country');
                  foreach ($countryModel->toOptionArray() as $country) {
                      $this->addOption($country['value'], $country['label']);
                  }
              }

              return parent::_toHtml();
          }

      }

      Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/index.xhtml new file mode 100644 index 0000000..b95efa6 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/index.xhtml @@ -0,0 +1,144 @@ + + + + + phpDox - Overview + + + + + +
      +
      + +
      +

      Source of FireGento_Pdf

      +

      + This project consists of 43 directories, containing + a total of 45 files. +

      + + + + + + + + + + + + + + + +
      NameSizeLast Modified
      + Country.php + 776 Bytes + 2018-03-12T19:59:19+00:00
      + + Total: 1 files +
      +
      +
      + +
      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/index.xhtml new file mode 100644 index 0000000..9f80d03 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/index.xhtml @@ -0,0 +1,147 @@ + + + + + phpDox - Overview + + + + + +
      +
      + +
      +

      Source of FireGento_Pdf

      +

      + This project consists of 43 directories, containing + a total of 45 files. +

      + + + + + + + + + + + + + + + + + + + + +
      NameSizeLast Modified
      + + Notes + +   
      + Notes.php + 1.7 KB + 2018-03-12T19:59:19+00:00
      + + Total: 1 directories,1 files +
      +
      +
      + +
      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/index.xhtml new file mode 100644 index 0000000..0587023 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/index.xhtml @@ -0,0 +1,133 @@ + + + + + phpDox - Overview + + + + + +
      +
      + +
      +

      Source of FireGento_Pdf

      +

      + This project consists of 43 directories, containing + a total of 45 files. +

      + + + + + + + + + + + + + + + +
      NameSizeLast Modified
      + + Field + +   
      + + Total: 1 directories, +
      +
      +
      + +
      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/index.xhtml new file mode 100644 index 0000000..f6be4ec --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/index.xhtml @@ -0,0 +1,127 @@ + + + + + phpDox - Overview + + + + + +
      +
      + +
      +

      Source of FireGento_Pdf

      +

      + This project consists of 43 directories, containing + a total of 45 files. +

      + + + + + + + + + + + + + + + +
      NameSizeLast Modified
      + + Form + +   
      + + Total: 1 directories, +
      +
      +
      + +
      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/index.xhtml new file mode 100644 index 0000000..db1e03f --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/System/index.xhtml @@ -0,0 +1,121 @@ + + + + + phpDox - Overview + + + + + +
      +
      + +
      +

      Source of FireGento_Pdf

      +

      + This project consists of 43 directories, containing + a total of 45 files. +

      + + + + + + + + + + + + + + + +
      NameSizeLast Modified
      + + Config + +   
      + + Total: 1 directories, +
      +
      +
      + +
      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/index.xhtml index a2e1ace..ab9de83 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/Adminhtml/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

      Source of FireGento_Pdf

      - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

      • @@ -95,14 +95,23 @@ ColumnOrder.php - 6.3 KB + 6.2 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 + + + + + System + + +   +   - Total: 1 files + Total: 1 directories,1 files diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/index.xhtml index 0e74724..f73d472 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Block/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Block/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -55,8 +55,8 @@

        Source of FireGento_Pdf

        - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

        • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Data.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Data.php.xhtml index cd53011..27708f5 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Data.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Data.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Data.php

          Source of file Data.php

          - Size: 10,520 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

          /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Helper/Data.php

          123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
          <?php
          /**
           * This file is part of the FIREGENTO project.
           *
           * FireGento_Pdf is free software; you can redistribute it and/or
           * modify it under the terms of the GNU General Public License version 3 as
           * published by the Free Software Foundation.
           *
           * This script is distributed in the hope that it will be useful, but WITHOUT
           * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
           * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
           *
           * PHP version 5
           *
           * @category  FireGento
           * @package   FireGento_Pdf
           * @author    FireGento Team <team@firegento.com>
           * @copyright 2013 FireGento Team (http://www.firegento.com)
           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
           * @version   $Id:$
           * @since     0.1.0
           */

          /**
           * Dummy data helper for translation issues.
           *
           * @category  FireGento
           * @package   FireGento_Pdf
           * @author    FireGento Team <team@firegento.com>
           * @copyright 2013 FireGento Team (http://www.firegento.com)
           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
           * @version   $Id:$
           * @since     0.1.0
           */
          class FireGento_Pdf_Helper_Data extends Mage_Core_Helper_Abstract
          {
              const XML_PATH_FIREGENTO_PDF_LOGO_POSITION = 'sales_pdf/firegento_pdf/logo_position';
              const XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER = 'sales_pdf/invoice/show_customer_number';
              const XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER = 'sales_pdf/shipment/show_customer_number';
              const XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER = 'sales_pdf/creditmemo/show_customer_number';
              const XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN = 'sales_pdf/invoice/filename_export_pattern';
              const XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN = 'sales_pdf/shipment/filename_export_pattern';
              const XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN = 'sales_pdf/creditmemo/filename_export_pattern';

              const XML_PATH_REGULAR_FONT = 'sales_pdf/firegento_pdf_fonts/regular_font';
              const XML_PATH_BOLD_FONT = 'sales_pdf/firegento_pdf_fonts/bold_font';
              const XML_PATH_ITALIC_FONT = 'sales_pdf/firegento_pdf_fonts/italic_font';

              const FONT_PATH_IN_MEDIA = '/firegento_pdf/fonts';

              /**
               * Return the order id or false if order id should not be displayed on document.
               *
               * @param  Mage_Sales_Model_Order $order order to get id from
               * @param  string                 $mode  differ between creditmemo, invoice, etc.
               *
               * @return mixed
               */
              public function putOrderId(Mage_Sales_Model_Order $order, $mode = 'invoice')
              {
                  switch ($mode) {
                      case 'invoice':
                          $putOrderIdOnInvoice = Mage::getStoreConfigFlag(
                              Mage_Sales_Model_Order_Pdf_Abstract::XML_PATH_SALES_PDF_INVOICE_PUT_ORDER_ID,
                              $order->getStoreId()
                          );
                          if ($putOrderIdOnInvoice) {
                              return $order->getRealOrderId();
                          }
                          break;

                      case 'shipment':
                          $putOrderIdOnShipment = Mage::getStoreConfigFlag(
                              Mage_Sales_Model_Order_Pdf_Abstract::XML_PATH_SALES_PDF_SHIPMENT_PUT_ORDER_ID,
                              $order->getStoreId()
                          );
                          if ($putOrderIdOnShipment) {
                              return $order->getRealOrderId();
                          }
                          break;

                      case 'creditmemo':
                          $putOrderIdOnCreditmemo = Mage::getStoreConfigFlag(
                              Mage_Sales_Model_Order_Pdf_Abstract::XML_PATH_SALES_PDF_CREDITMEMO_PUT_ORDER_ID,
                              $order->getStoreId()
                          );
                          if ($putOrderIdOnCreditmemo) {
                              return $order->getRealOrderId();
                          }
                          break;
                  }
                  return false;
              }

              /**
               * Whether the logo should be shown in full width.
               *
               * @param  mixed $store store to get information from
               *
               * @return bool whether the logo should be shown in full width
               */
              public function isLogoFullWidth($store)
              {
                  $configSetting = Mage::getStoreConfig(
                      self::XML_PATH_FIREGENTO_PDF_LOGO_POSITION, $store
                  );
                  $fullWidth = FireGento_Pdf_Model_System_Config_Source_Logo::FULL_WIDTH;
                  return $configSetting == $fullWidth;
              }

              /**
               * Whether the customer number should be shown.
               *
               * @param  string $mode  the mode of this document like invoice, shipment or creditmemo
               * @param  mixed  $store store to get information from
               *
               * @return bool whether the customer number should be shown
               */
              public function showCustomerNumber($mode = 'invoice', $store)
              {
                  switch ($mode) {
                      case 'invoice':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER,
                              $store
                          );
                      case 'shipment':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER,
                              $store
                          );
                      case 'creditmemo':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER,
                              $store
                          );
                  }
                  return true; // backwards compatibility
              }

              /**
               * Return scaled image sizes based on an path to an image file.
               *
               * @param  string $image     Url to image file.
               * @param  int    $maxWidth  max width the image can have
               * @param  int    $maxHeight max height the image can have
               *
               * @return array  with 2 elements - width and height.
               */
              public function getScaledImageSize($image, $maxWidth, $maxHeight)
              {
                  list($width, $height) = getimagesize($image);

                  if ($height > $maxHeight or $width > $maxWidth) {
                      // Calculate max variance to match dimensions.
                      $widthVar = $width / $maxWidth;
                      $heightVar = $height / $maxHeight;

                      // Calculate scale factor to match dimensions.
                      if ($widthVar > $heightVar) {
                          $scale = $maxWidth / $width;
                      } else {
                          $scale = $maxHeight / $height;
                      }

                      // Calculate new dimensions.
                      $height = round($height * $scale);
                      $width = round($width * $scale);
                  }

                  return array($width, $height);
              }

              /**
               * Return export pattern config value
               *
               * @param  string $type the type of this document like invoice, shipment or creditmemo
               *
               * @return string
               */
              public function getExportPattern($type)
              {
                  switch ($type) {
                      case 'invoice':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN
                          );
                      case 'shipment':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN
                          );
                      case 'creditmemo':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN
                          );
                  }
                  return true;
              }

              /**
               * Gets the variables which can be used as a placeholder in the filename.
               *
               * @param  Mage_Core_Model_Abstract $model the model instance
               *
               * @return array with the variables which can be use as placeholders in the filename
               */
              public function getModelVars($model)
              {
                  if (!$model instanceof Mage_Sales_Model_Order) {
                      switch ($model) {
                          case $model instanceof Mage_Sales_Model_Order_Invoice:
                              $specificVars = array(
                                  '{{invoice_id}}' => $model->getIncrementId()
                              );
                              break;
                          case $model instanceof Mage_Sales_Model_Order_Shipment:
                              $specificVars = array(
                                  '{{shipment_id}}' => $model->getIncrementId()
                              );
                              break;
                          case $model instanceof Mage_Sales_Model_Order_Creditmemo:
                              $specificVars = array(
                                  '{{creditmemo_id}}' => $model->getIncrementId()
                              );
                      }
                      $order = $model->getOrder();
                      $commonVars = array(
                          '{{order_id}}'           => $order->getIncrementId(),
                          '{{customer_id}}'        => $order->getCustomerId(),
                          '{{customer_name}}'      => $order->getCustomerName(),
                          '{{customer_firstname}}' => $order->getCustomerFirstname(),
                          '{{customer_lastname}}'  => $order->getCustomerLastname()
                      );
                      return array_merge($specificVars, $commonVars);
                  } else {
                      return array(
                          '{{order_id}}'           => $model->getIncrementId(),
                          '{{customer_id}}'        => $model->getCustomerId(),
                          '{{customer_name}}'      => $model->getCustomerName(),
                          '{{customer_firstname}}' => $model->getCustomerFirstname(),
                          '{{customer_lastname}}'  => $model->getCustomerLastname()
                      );
                  }
              }

              /**
               * The filename of the exported file.
               *
               * @param  string                   $type  the type of this document like invoice, shipment or creditmemo
               * @param  Mage_Core_Model_Abstract $model the model instance
               *
               * @return string the filename of the exported file
               */
              public function getExportFilename($type, $model)
              {
                  $type = (!$type) ? 'invoice' : $type;
                  $pattern = $this->getExportPattern($type);
                  if (!$pattern) {
                      $date = Mage::getSingleton('core/date');
                      $pattern = $type . $date->date('Y-m-d_H-i-s');
                  }
                  if (substr($pattern, -4) != '.pdf') {
                      $pattern = $pattern . '.pdf';
                  }

                  $path = strftime($pattern, strtotime($model->getCreatedAt()));
                  $vars = $this->getModelVars($model);

                  return strtr($path, $vars);
              }

              /**
               * Returns the path where the fonts reside.
               *
               * @return string the path where the fonts reside
               */
              public function getFontPath()
              {
                  return Mage::getBaseDir('media') . self::FONT_PATH_IN_MEDIA;
              }
          }

          + Size: 17,424 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

          /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Helper/Data.php

          123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
          <?php
          /**
           * This file is part of a FireGento e.V. module.
           *
           * This FireGento e.V. module is free software; you can redistribute it and/or
           * modify it under the terms of the GNU General Public License version 3 as
           * published by the Free Software Foundation.
           *
           * This script is distributed in the hope that it will be useful, but WITHOUT
           * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
           * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
           *
           * PHP version 5
           *
           * @category  FireGento
           * @package   FireGento_Pdf
           * @author    FireGento Team <team@firegento.com>
           * @copyright 2014 FireGento Team (http://www.firegento.com)
           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
           */

          /**
           * Dummy data helper for translation issues.
           *
           * @category  FireGento
           * @package   FireGento_Pdf
           * @author    FireGento Team <team@firegento.com>
           */
          class FireGento_Pdf_Helper_Data extends Mage_Core_Helper_Abstract
          {
              const XML_PATH_FIREGENTO_PDF_LOGO_POSITION = 'sales_pdf/firegento_pdf/logo_position';
              const XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER = 'sales_pdf/invoice/show_customer_number';
              const XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER = 'sales_pdf/shipment/show_customer_number';
              const XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER = 'sales_pdf/creditmemo/show_customer_number';
              const XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_VATNUMBER = 'sales_pdf/invoice/show_customer_vatnumber';
              const XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_VATNUMBER = 'sales_pdf/shipment/show_customer_vatnumber';
              const XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_VATNUMBER = 'sales_pdf/creditmemo/show_customer_vatnumber';
              const XML_PATH_SALES_PDF_INVOICE_GUEST_ORDER_CUSTOMER_NUMBER = 'sales_pdf/invoice/guestorder_customer_number';
              const XML_PATH_SALES_PDF_SHIPMENT_GUEST_ORDER_CUSTOMER_NUMBER = 'sales_pdf/shipment/guestorder_customer_number';
              const XML_PATH_SALES_PDF_CREDITMEMO_GUEST_ORDER_CUSTOMER_NUMBER = 'sales_pdf/creditmemo/guestorder_customer_number';
              const XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN = 'sales_pdf/invoice/filename_export_pattern';
              const XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN = 'sales_pdf/shipment/filename_export_pattern';
              const XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN = 'sales_pdf/creditmemo/filename_export_pattern';
              const XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS = 'sales_pdf/invoice/filename_export_pattern_for_multiple_documents';
              const XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS = 'sales_pdf/shipment/filename_export_pattern_for_multiple_documents';
              const XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS = 'sales_pdf/creditmemo/filename_export_pattern_for_multiple_documents';
              const XML_PATH_SALES_PDF_FIREGENTO_PDF_PAGE_SIZE = 'sales_pdf/firegento_pdf/page_size';

              const XML_PATH_COLOR_TEXT         = 'sales_pdf/firegento_pdf_colors/text';
              const XML_PATH_COLOR_LABELS       = 'sales_pdf/firegento_pdf_colors/labels';
              const XML_PATH_COLOR_TABLE_HEADER = 'sales_pdf/firegento_pdf_colors/table_header';
              const XML_PATH_COLOR_FOOTER       = 'sales_pdf/firegento_pdf_colors/footer';

              const XML_PATH_REGULAR_FONT = 'sales_pdf/firegento_pdf_fonts/regular_font';
              const XML_PATH_BOLD_FONT = 'sales_pdf/firegento_pdf_fonts/bold_font';
              const XML_PATH_ITALIC_FONT = 'sales_pdf/firegento_pdf_fonts/italic_font';

              const FONT_PATH_IN_MEDIA = '/firegento_pdf/fonts';

              /**
               * Return the order id or false if order id should not be displayed on document.
               *
               * @param  Mage_Sales_Model_Order $order order to get id from
               * @param  string                 $mode  differ between creditmemo, invoice, etc.
               *
               * @return mixed
               */
              public function putOrderId(Mage_Sales_Model_Order $order, $mode = 'invoice')
              {
                  switch ($mode) {
                      case 'invoice':
                          $putOrderIdOnInvoice = Mage::getStoreConfigFlag(
                              Mage_Sales_Model_Order_Pdf_Abstract::XML_PATH_SALES_PDF_INVOICE_PUT_ORDER_ID,
                              $order->getStoreId()
                          );
                          if ($putOrderIdOnInvoice) {
                              return $order->getRealOrderId();
                          }
                          break;

                      case 'shipment':
                          $putOrderIdOnShipment = Mage::getStoreConfigFlag(
                              Mage_Sales_Model_Order_Pdf_Abstract::XML_PATH_SALES_PDF_SHIPMENT_PUT_ORDER_ID,
                              $order->getStoreId()
                          );
                          if ($putOrderIdOnShipment) {
                              return $order->getRealOrderId();
                          }
                          break;

                      case 'creditmemo':
                          $putOrderIdOnCreditmemo = Mage::getStoreConfigFlag(
                              Mage_Sales_Model_Order_Pdf_Abstract::XML_PATH_SALES_PDF_CREDITMEMO_PUT_ORDER_ID,
                              $order->getStoreId()
                          );
                          if ($putOrderIdOnCreditmemo) {
                              return $order->getRealOrderId();
                          }
                          break;
                  }

                  return false;
              }

              /**
               * Whether the logo should be shown in full width.
               *
               * @param  mixed $store store to get information from
               *
               * @return bool whether the logo should be shown in full width
               */
              public function isLogoFullWidth($store)
              {
                  $configSetting = Mage::getStoreConfig(
                      self::XML_PATH_FIREGENTO_PDF_LOGO_POSITION, $store
                  );
                  $fullWidth = FireGento_Pdf_Model_System_Config_Source_Logo::FULL_WIDTH;

                  return $configSetting == $fullWidth;
              }

              /**
               * Whether the customer number should be shown.
               *
               * @param  string $mode  the mode of this document like invoice, shipment or creditmemo
               * @param  mixed  $store store to get information from
               *
               * @return bool whether the customer number should be shown
               */
              public function showCustomerNumber($mode = 'invoice', $store = null)
              {
                  switch ($mode) {
                      case 'invoice':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER,
                              $store
                          );
                      case 'shipment':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER,
                              $store
                          );
                      case 'creditmemo':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER,
                              $store
                          );
                  }

                  return true; // backwards compatibility
              }

              /**
               * Whether the customer VAT number should be shown.
               *
               * @param  string $mode  the mode of this document like invoice, shipment or creditmemo
               * @param  mixed  $store store to get information from
               *
               * @return bool whether the customer number should be shown
               */
              public function showCustomerVATNumber($mode = 'invoice', $store = null)
              {
                  switch ($mode) {
                      case 'invoice':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_VATNUMBER,
                              $store
                          );
                      case 'shipment':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_VATNUMBER,
                              $store
                          );
                      case 'creditmemo':
                          return Mage::getStoreConfigFlag(
                              self::XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_VATNUMBER,
                              $store
                          );
                  }

                  return true; // backwards compatibility
              }

              /**
               * Get customer number for guest orders.
               *
               * @param  string $mode  the mode of this document like invoice, shipment or creditmemo
               * @param  mixed  $store store to get information from
               *
               * @return string customer number for guest orders
               */
              public function getGuestorderCustomerNo($mode = 'invoice', $store = null)
              {
                  switch ($mode) {
                      case 'invoice':
                          return trim(
                              Mage::getStoreConfigFlag(
                                  self::XML_PATH_SALES_PDF_INVOICE_GUEST_ORDER_CUSTOMER_NUMBER,
                                  $store
                              )
                          );
                      case 'shipment':
                          return trim(
                              Mage::getStoreConfigFlag(
                                  self::XML_PATH_SALES_PDF_SHIPMENT_GUEST_ORDER_CUSTOMER_NUMBER,
                                  $store
                              )
                          );
                      case 'creditmemo':
                          return trim(
                              Mage::getStoreConfigFlag(
                                  self::XML_PATH_SALES_PDF_CREDITMEMO_GUEST_ORDER_CUSTOMER_NUMBER,
                                  $store
                              )
                          );
                  }

                  return true; // backwards compatibility
              }

              /**
               * Return scaled image sizes based on an path to an image file.
               *
               * @param  string $image     Url to image file.
               * @param  int    $maxWidth  max width the image can have
               * @param  int    $maxHeight max height the image can have
               *
               * @return array  with 2 elements - width and height.
               */
              public function getScaledImageSize($image, $maxWidth, $maxHeight)
              {
                  list($width, $height) = getimagesize($image);

                  if ($height > $maxHeight or $width > $maxWidth) {
                      // Calculate max variance to match dimensions.
                      $widthVar = $width / $maxWidth;
                      $heightVar = $height / $maxHeight;

                      // Calculate scale factor to match dimensions.
                      if ($widthVar > $heightVar) {
                          $scale = $maxWidth / $width;
                      } else {
                          $scale = $maxHeight / $height;
                      }

                      // Calculate new dimensions.
                      $height = round($height * $scale);
                      $width = round($width * $scale);
                  }

                  return array($width, $height);
              }

              /**
               * Return export pattern config value
               *
               * @param  string $type the type of this document like invoice, shipment or creditmemo
               *
               * @return string
               */
              public function getExportPattern($type)
              {
                  switch ($type) {
                      case 'invoice':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN
                          );
                      case 'shipment':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN
                          );
                      case 'creditmemo':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN
                          );
                  }

                  return true;
              }

              /**
               * Return export pattern for multiple documents config value
               *
               * @param  string $type the type of this document like invoice, shipment or creditmemo
               *
               * @return string
               */
              public function getExportPatternForMultipleDocuments($type)
              {
                  switch ($type) {
                      case 'invoice':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS
                          );
                      case 'shipment':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS
                          );
                      case 'creditmemo':
                          return Mage::getStoreConfig(
                              self::XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS
                          );
                  }

                  return true;
              }

              /**
               * Gets the variables which can be used as a placeholder in the filename.
               *
               * @param  Mage_Core_Model_Abstract $model the model instance
               *
               * @return array with the variables which can be use as placeholders in the filename
               */
              public function getModelVars($model)
              {
                  if (!$model instanceof Mage_Sales_Model_Order) {
                      switch ($model) {
                          case $model instanceof Mage_Sales_Model_Order_Invoice:
                              $specificVars = array(
                                  '{{invoice_id}}' => $model->getIncrementId()
                              );
                              break;
                          case $model instanceof Mage_Sales_Model_Order_Shipment:
                              $specificVars = array(
                                  '{{shipment_id}}' => $model->getIncrementId()
                              );
                              break;
                          case $model instanceof Mage_Sales_Model_Order_Creditmemo:
                              $specificVars = array(
                                  '{{creditmemo_id}}' => $model->getIncrementId()
                              );
                      }

                      $order = $model->getOrder();
                      $commonVars = array(
                          '{{order_id}}'           => $order->getIncrementId(),
                          '{{customer_id}}'        => $order->getCustomerId(),
                          '{{customer_name}}'      => $order->getCustomerName(),
                          '{{customer_firstname}}' => $order->getCustomerFirstname(),
                          '{{customer_lastname}}'  => $order->getCustomerLastname()
                      );

                      return array_merge($specificVars, $commonVars);
                  } else {
                      return array(
                          '{{order_id}}'           => $model->getIncrementId(),
                          '{{customer_id}}'        => $model->getCustomerId(),
                          '{{customer_name}}'      => $model->getCustomerName(),
                          '{{customer_firstname}}' => $model->getCustomerFirstname(),
                          '{{customer_lastname}}'  => $model->getCustomerLastname()
                      );
                  }
              }

              /**
               * The filename of the exported file.
               *
               * @param  string                   $type  the type of this document like invoice, shipment or creditmemo
               * @param  Mage_Core_Model_Abstract $model the model instance
               *
               * @return string the filename of the exported file
               */
              public function getExportFilename($type, $model)
              {
                  $type = (!$type) ? 'invoice' : $type;
                  $pattern = $this->getExportPattern($type);
                  if (!$pattern) {
                      if ($type == 'shipment') {
                          $pattern = 'packingslip';
                      } else {
                          $pattern = $type;
                      }

                      $date = Mage::getSingleton('core/date');
                      $pattern .= $date->date('Y-m-d_H-i-s');
                  }

                  if (substr($pattern, -4) != '.pdf') {
                      $pattern = $pattern . '.pdf';
                  }

                  $path = strftime($pattern, strtotime($model->getCreatedAt()));
                  $vars = $this->getModelVars($model);

                  return strtr($path, $vars);
              }

              /**
               * The filename of the exported file if multiple documents are printed at once.
               *
               * @param string $type the type of this document like invoice, shipment or creditmemo
               *
               * @return string the filename of the exported file
               */
              public function getExportFilenameForMultipleDocuments($type)
              {
                  $type = (!$type) ? 'invoice' : $type;
                  $pattern = $this->getExportPatternForMultipleDocuments($type);
                  if (!$pattern) {
                      if ($type == 'shipment') {
                          $pattern = 'packingslip';
                      } else {
                          $pattern = $type;
                      }

                      $date = Mage::getSingleton('core/date');
                      $pattern .= $date->date('Y-m-d_H-i-s');
                  }

                  if (substr($pattern, -4) != '.pdf') {
                      $pattern = $pattern . '.pdf';
                  }

                  return strftime($pattern);
              }

              /**
               * Returns the path where the fonts reside.
               *
               * @return string the path where the fonts reside
               */
              public function getFontPath()
              {
                  return Mage::getBaseDir('media') . self::FONT_PATH_IN_MEDIA;
              }

              public function getPageSizeConfigPath()
              {
                  return Mage::getStoreConfig(self::XML_PATH_SALES_PDF_FIREGENTO_PDF_PAGE_SIZE);
              }

              /**
               * Get configured PDF color
               *
               * @param string $path System config path
               * @return Zend_Pdf_Color_Html
               */
              protected function getColor($path)
              {
                  return new Zend_Pdf_Color_Html('#' . trim($path), '#');
              }
              /**
               * Get text color
               *
               * @return Zend_Pdf_Color_Html
               */
              public function getTextColor()
              {
                  return $this->getColor(Mage::getStoreConfig(self::XML_PATH_COLOR_TEXT));
              }
              /**
               * Get table header color
               *
               * @return Zend_Pdf_Color_Html
               */
              public function getHeaderColor()
              {
                  return $this->getColor(Mage::getStoreConfig(self::XML_PATH_COLOR_TABLE_HEADER));
              }
              /**
               * Get footer color
               *
               * @return Zend_Pdf_Color_Html
               */
              public function getFooterColor()
              {
                  return $this->getColor(Mage::getStoreConfig(self::XML_PATH_COLOR_FOOTER));
              }
              /**
               * Get label color
               *
               * @return Zend_Pdf_Color_Html
               */
              public function getLabelColor()
              {
                  return $this->getColor(Mage::getStoreConfig(self::XML_PATH_COLOR_LABELS));
              }
          }

          Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
          diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Invoice.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Invoice.php.xhtml new file mode 100644 index 0000000..07766bc --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/Invoice.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of Invoice.php

          Source of file Invoice.php

          + Size: 1,982 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

          /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Helper/Invoice.php

          123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
          <?php
          /**
           * This file is part of a FireGento e.V. module.
           *
           * This FireGento e.V. module is free software; you can redistribute it and/or
           * modify it under the terms of the GNU General Public License version 3 as
           * published by the Free Software Foundation.
           *
           * This script is distributed in the hope that it will be useful, but WITHOUT
           * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
           * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
           *
           * PHP version 5
           *
           * @category  FireGento
           * @package   FireGento_Pdf
           * @author    FireGento Team <team@firegento.com>
           * @copyright 2014 FireGento Team (http://www.firegento.com)
           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
           */

          /**
           * Helper for invoice creation.
           *
           * @category  FireGento
           * @package   FireGento_Pdf
           * @author    FireGento Team <team@firegento.com>
           */
          class FireGento_Pdf_Helper_Invoice extends Mage_Core_Helper_Abstract
          {

              /**
               * Gets the notes for the shipping country of the given order.
               *
               * @param Mage_Sales_Model_Order $order
               *
               * @return array the notes for the shipping country of the given order - may be empty!
               */
              public function getShippingCountryNotes(Mage_Sales_Model_Order $order)
              {
                  if (!$order->getIsVirtual()) {
                      $shippingCountryId = $order->getShippingAddress()->getCountryId();
                      $countryNotes = unserialize(Mage::getStoreConfig('sales_pdf/invoice/shipping_country_notes'));
                      if ($countryNotes) {
                          $shippingCountryNotes = array();
                          foreach ($countryNotes as $countryNote) {
                              if ($countryNote['country'] == $shippingCountryId) {
                                  $shippingCountryNotes[] = $countryNote['note'];
                              }
                          }

                          return $shippingCountryNotes;
                      }
                  }

                  return array();
              }

          }

          Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
          diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/index.xhtml index 9fb7e01..419512d 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Helper/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -55,8 +55,8 @@

          Source of FireGento_Pdf

          - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

          • @@ -89,14 +89,22 @@ Data.php - 10.3 KB + 17.0 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 + + + + Invoice.php + + 1.9 KB + + 2018-03-12T19:59:19+00:00 - Total: 1 files + Total: 2 files diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xhtml index 4d6f1d3..d8fb377 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Creditmemo.php

            Source of file Creditmemo.php

            - Size: 2,247 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

            /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Creditmemo.php

            123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
            <?php
            /**
             * This file is part of the FIREGENTO project.
             *
             * FireGento_Pdf is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License version 3 as
             * published by the Free Software Foundation.
             *
             * This script is distributed in the hope that it will be useful, but WITHOUT
             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
             *
             * PHP version 5
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2013 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             * @version   $Id:$
             * @since     0.1.0
             */
            /**
             * Creditmemo model rewrite.
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2013 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             * @version   $Id:$
             * @since     0.1.0
             */
            class FireGento_Pdf_Model_Creditmemo
            {

                /**
                 * The actual PDF engine responsible for rendering the file.
                 * @var Mage_Sales_Model_Order_Pdf_Abstract
                 */
                private $_engine;

                /**
                 * get pdf renderer engine
                 *
                 * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Creditmemo
                 */
                protected function getEngine()
                {
                    if (!$this->_engine) {
                        $modelClass = Mage::getStoreConfig('sales_pdf/creditmemo/engine');
                        $engine = Mage::getModel($modelClass);

                        if (!$engine) {
                            // Fallback to Magento standard creditmemo layout.
                            $engine = new Mage_Sales_Model_Order_Pdf_Creditmemo();
                        }

                        $this->_engine = $engine;
                    }

                    return $this->_engine;
                }

                /**
                 * get pdf object
                 *
                 * @param  array|Varien_Data_Collection $creditmemos creditmemos to render
                 *
                 * @return Zend_Pdf
                 */
                public function getPdf($creditmemos = array())
                {
                    return $this->getEngine()->getPdf($creditmemos);
                }

            }

            + Size: 2,185 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

            /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Creditmemo.php

            12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
            <?php
            /**
             * This file is part of a FireGento e.V. module.
             *
             * This FireGento e.V. module is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License version 3 as
             * published by the Free Software Foundation.
             *
             * This script is distributed in the hope that it will be useful, but WITHOUT
             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
             *
             * PHP version 5
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2014 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             */
            /**
             * Creditmemo model rewrite.
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             */
            class FireGento_Pdf_Model_Creditmemo extends Mage_Sales_Model_Order_Pdf_Creditmemo
            {

                /**
                 * The actual PDF engine responsible for rendering the file.
                 * @var Mage_Sales_Model_Order_Pdf_Abstract
                 */
                protected $_engine;

                /**
                 * get pdf renderer engine
                 *
                 * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Creditmemo
                 */
                protected function getEngine()
                {
                    if (!$this->_engine) {
                        $modelClass = Mage::getStoreConfig('sales_pdf/creditmemo/engine');
                        $engine = Mage::getModel($modelClass);

                        if (!$engine || $engine instanceof FireGento_Pdf_Model_Creditmemo) {
                            // Fallback to Magento standard creditmemo layout.
                            // use new here to circumvent our own rewrite
                            $engine = new Mage_Sales_Model_Order_Pdf_Creditmemo();
                        }

                        $this->_engine = $engine;
                    }

                    return $this->_engine;
                }

                /**
                 * get pdf object
                 *
                 * @param  array|Varien_Data_Collection $creditmemos creditmemos to render
                 *
                 * @return Zend_Pdf
                 */
                public function getPdf($creditmemos = array())
                {
                    return $this->getEngine()->getPdf($creditmemos);
                }

            }

            Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
            diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml index 74ee6f7..b072e2e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Abstract.php

            Source of file Abstract.php

            - Size: 47,433 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

            /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php

            1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429
            <?php
            /**
             * This file is part of the FIREGENTO project.
             *
             * FireGento_Pdf is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License version 3 as
             * published by the Free Software Foundation.
             *
             * This script is distributed in the hope that it will be useful, but WITHOUT
             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
             *
             * PHP version 5
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2013 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             * @version   $Id:$
             * @since     0.1.0
             */

            /**
             * Abstract pdf model.
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2013 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             * @version   $Id:$
             * @since     0.1.0
             */
            abstract class FireGento_Pdf_Model_Engine_Abstract
                extends Mage_Sales_Model_Order_Pdf_Abstract
            {
                public $margin = array('left' => 45, 'right' => 540);
                public $colors = array();
                public $mode;
                public $encoding;
                public $pagecounter;

                protected $_imprint;

                /**
                 * @var int correct all y values if the logo is full width and bigger than normal
                 */
                protected $_marginTop = 0;

                /**
                 * constructor to init settings
                 */
                public function __construct()
                {
                    parent::__construct();

                    $this->encoding = 'UTF-8';

                    $this->colors['black'] = new Zend_Pdf_Color_GrayScale(0);
                    $this->colors['grey1'] = new Zend_Pdf_Color_GrayScale(0.9);

                    // get the default imprint
                    $this->_imprint = Mage::getStoreConfig('general/imprint');
                }

                /**
                 * Draw one line
                 *
                 * @param  Zend_Pdf_Page $page         Current page object of Zend_Pdf
                 * @param  array         $draw         items to draw
                 * @param  array         $pageSettings page settings to use for new pages
                 *
                 * @return Zend_Pdf_Page
                 */
                public function drawLineBlocks(
                    Zend_Pdf_Page $page,
                    array $draw,
                    array $pageSettings = array()
                ) {
                    foreach ($draw as $itemsProp) {
                        if (!isset($itemsProp['lines']) || !is_array($itemsProp['lines'])) {
                            Mage::throwException(Mage::helper('sales')
                                ->__('Invalid draw line data. Please define "lines" array'));
                        }
                        $lines = $itemsProp['lines'];
                        $height = isset($itemsProp['height']) ? $itemsProp['height'] : 10;

                        if (empty($itemsProp['shift'])) {
                            $shift = 0;
                            foreach ($lines as $line) {
                                $maxHeight = 0;
                                foreach ($line as $column) {
                                    $lineSpacing = !empty($column['height'])
                                        ? $column['height'] : $height;
                                    if (!is_array($column['text'])) {
                                        $column['text'] = array($column['text']);
                                    }
                                    $top = 0;
                                    foreach ($column['text'] as $part) {
                                        $top += $lineSpacing;
                                    }

                                    $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                                }
                                $shift += $maxHeight;
                            }
                            $itemsProp['shift'] = $shift;
                        }

                        if ($this->y - $itemsProp['shift'] < 50
                            || (Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer')
                                == 1
                                && $this->y - $itemsProp['shift'] < 100)
                        ) {
                            $page = $this->newPage($pageSettings);
                        }

                        foreach ($lines as $line) {
                            $maxHeight = 0;
                            foreach ($line as $column) {
                                $fontSize = empty($column['font_size']) ? 7
                                    : $column['font_size'];
                                if (!empty($column['font_file'])) {
                                    $font
                                        = Zend_Pdf_Font::fontWithPath($column['font_file']);
                                    $page->setFont($font, $fontSize);
                                } else {
                                    $fontStyle = empty($column['font']) ? 'regular'
                                        : $column['font'];
                                    switch ($fontStyle) {
                                        case 'bold':
                                            $font = $this->_setFontBold($page, $fontSize);
                                            break;
                                        case 'italic':
                                            $font = $this->_setFontItalic($page, $fontSize);
                                            break;
                                        default:
                                            $font = $this->_setFontRegular($page,
                                                $fontSize);
                                            break;
                                    }
                                }

                                if (!is_array($column['text'])) {
                                    $column['text'] = array($column['text']);
                                }

                                $lineSpacing = !empty($column['height']) ? $column['height']
                                    : $height;
                                $top = 0;
                                foreach ($column['text'] as $part) {
                                    $feed = $column['feed'];
                                    $textAlign = empty($column['align']) ? 'left'
                                        : $column['align'];
                                    $width = empty($column['width']) ? 0 : $column['width'];
                                    switch ($textAlign) {
                                        case 'right':
                                            if ($width) {
                                                $feed = $this->getAlignRight($part, $feed,
                                                    $width, $font, $fontSize);
                                            } else {
                                                $feed = $feed
                                                    - $this->widthForStringUsingFontSize($part,
                                                        $font, $fontSize);
                                            }
                                            break;
                                        case 'center':
                                            if ($width) {
                                                $feed = $this->getAlignCenter($part, $feed,
                                                    $width, $font, $fontSize);
                                            }
                                            break;
                                    }
                                    $page->drawText($part, $feed, $this->y - $top, 'UTF-8');
                                    $top += $lineSpacing;
                                }

                                $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                            }
                            $this->y -= $maxHeight;
                        }
                    }

                    return $page;
                }

                /**
                 * Set pdf mode.
                 *
                 * @param  string $mode set mode to differ between creditmemo, invoice, etc.
                 *
                 * @return FireGento_Pdf_Model_Engine_Abstract
                 */
                public function setMode($mode)
                {
                    $this->mode = $mode;
                    return $this;
                }

                /**
                 * Return pdf mode.
                 *
                 * @return string
                 */
                public function getMode()
                {
                    return $this->mode;
                }

                /**
                 * Set next line position
                 *
                 * @param  int $height Line-Height
                 *
                 * @return void
                 */
                protected function Ln($height = 15)
                {
                    $this->y -= $height;
                }

                /**
                 * Insert sender address bar
                 *
                 * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
                 *
                 * @return void
                 */
                protected function _insertSenderAddressBar(&$page)
                {
                    if (Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')
                        != ''
                    ) {
                        $this->_setFontRegular($page, 6);
                        $page->drawText(
                            trim(Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')),
                            $this->margin['left'] + $this->getHeaderblockOffset(),
                            $this->y, $this->encoding
                        );
                    }
                }

                /**
                 * Insert logo
                 *
                 * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
                 * @param  mixed         $store store to get data from
                 *
                 * @return void
                 */
                protected function insertLogo(&$page, $store = null)
                {
                    if ($this->_isLogoFullWidth($store)) {
                        $this->_insertLogoFullWidth($page, $store);
                    } else {
                        $this->_insertLogoPositioned($page, $store);
                    }
                }

                /**
                 * is the setting to show the logo full width?
                 *
                 * @param  mixed $store store we want the config setting from
                 *
                 * @return bool
                 */
                protected function _isLogoFullWidth($store)
                {
                    return Mage::helper('firegento_pdf')->isLogoFullWidth($store);
                }

                /**
                 * Inserts the logo if it is positioned left, center or right.
                 *
                 * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
                 * @param  mixed         $store store to get data from
                 *
                 * @return void
                 */
                protected function _insertLogoPositioned(&$page, $store = null)
                {
                    $imageRatio
                        = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio',
                        $store);
                    $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

                    $maxwidth
                        = ($this->margin['right'] - $this->margin['left']) * $imageRatio
                        / 100;
                    $maxheight = 100;

                    $image = Mage::getStoreConfig('sales/identity/logo', $store);
                    if ($image and file_exists(Mage::getBaseDir('media', $store)
                            . '/sales/store/logo/' . $image)
                    ) {
                        $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/'
                            . $image;

                        list ($width, $height) = Mage::helper('firegento_pdf')
                            ->getScaledImageSize($image, $maxwidth, $maxheight);

                        if (is_file($image)) {
                            $image = Zend_Pdf_Image::imageWithPath($image);

                            $logoPosition
                                = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position',
                                $store);

                            switch ($logoPosition) {
                                case 'center':
                                    $startLogoAt
                                        = $this->margin['left'] + (($this->margin['right']
                                                - $this->margin['left']) / 2) - $width / 2;
                                    break;
                                case 'right':
                                    $startLogoAt = $this->margin['right'] - $width;
                                    break;
                                default:
                                    $startLogoAt = $this->margin['left'];
                            }

                            $position['x1'] = $startLogoAt;
                            $position['y1'] = 720;
                            $position['x2'] = $position['x1'] + $width;
                            $position['y2'] = $position['y1'] + $height;

                            $page->drawImage($image, $position['x1'], $position['y1'],
                                $position['x2'], $position['y2']);
                        }
                    }
                }

                /**
                 * inserts the logo from complete left to right
                 *
                 * @param Zend_Pdf_Page &$page current Zend_Pdf_Page object
                 * @param mixed         $store store we need the config setting from
                 *
                 * @todo merge _insertLogoPositioned and _insertLogoFullWidth
                 */
                protected function _insertLogoFullWidth(&$page, $store = null)
                {
                    $imageRatio
                        = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio',
                        $store);
                    $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

                    $maxwidth = 594 * $imageRatio / 100;
                    $maxheight = 300;

                    $image = Mage::getStoreConfig('sales/identity/logo', $store);
                    if ($image and file_exists(Mage::getBaseDir('media', $store)
                            . '/sales/store/logo/' . $image)
                    ) {
                        $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/'
                            . $image;

                        list ($width, $height) = Mage::helper('firegento_pdf')
                            ->getScaledImageSize($image, $maxwidth, $maxheight);

                        if (is_file($image)) {
                            $image = Zend_Pdf_Image::imageWithPath($image);

                            $logoPosition
                                = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position',
                                $store);

                            switch ($logoPosition) {
                                case 'center':
                                    $startLogoAt = $this->margin['left'] +
                                        (($this->margin['right'] - $this->margin['left'])
                                            / 2) - $width / 2;
                                    break;
                                case 'right':
                                    $startLogoAt = $this->margin['right'] - $width;
                                    break;
                                default:
                                    $startLogoAt = 0;
                            }

                            $position['x1'] = $startLogoAt;
                            $position['y1'] = 663;
                            $position['x2'] = $position['x1'] + $width;
                            $position['y2'] = $position['y1'] + $height;

                            $page->drawImage($image, $position['x1'], $position['y1'],
                                $position['x2'], $position['y2']);
                            $this->_marginTop = $height - 130;
                        }
                    }
                }

                /**
                 * insert customer address and all header like customer number, etc.
                 *
                 * @param Zend_Pdf_Page             $page   current Zend_Pdf_Page
                 * @param Mage_Sales_Model_Abstract $source source for the address information
                 * @param Mage_Sales_Model_Order    $order  order to print the document for
                 */
                protected function insertAddressesAndHeader(
                    Zend_Pdf_Page $page,
                    Mage_Sales_Model_Abstract $source,
                    Mage_Sales_Model_Order $order
                ) {
                    // Add logo
                    $this->insertLogo($page, $source->getStore());

                    // Add billing address
                    $this->y = 692 - $this->_marginTop;
                    $this->_insertCustomerAddress($page, $order);

                    // Add sender address
                    $this->y = 705 - $this->_marginTop;
                    $this->_insertSenderAddressBar($page);

                    // Add head
                    $this->y = 592 - $this->_marginTop;
                    $this->insertHeader($page, $order, $source);

                    /* Add table head */
                    // make sure that item table does not overlap heading
                    if ($this->y > 575 - $this->_marginTop) {
                        $this->y = 575 - $this->_marginTop;
                    }
                }

                /**
                 * Inserts the customer address. The default address is the billing address.
                 *
                 * @param  Zend_Pdf_Page          &$page Current page object of Zend_Pdf
                 * @param  Mage_Sales_Model_Order $order Order object
                 *
                 * @return void
                 */
                protected function _insertCustomerAddress(&$page, $order)
                {
                    $this->_setFontRegular($page, 9);
                    $billing = $this->_formatAddress($order->getBillingAddress()
                        ->format('pdf'));
                    foreach ($billing as $line) {
                        $page->drawText(trim(strip_tags($line)),
                            $this->margin['left'] + $this->getHeaderblockOffset(), $this->y,
                            $this->encoding);
                        $this->Ln(12);
                    }
                }

                /**
                 * get the offset to position the address block left or right
                 *
                 * @return int
                 */
                protected function getHeaderblockOffset()
                {
                    if (Mage::getStoreConfig('sales_pdf/firegento_pdf/headerblocks_position')
                        == FireGento_Pdf_Model_System_Config_Source_Headerblocks::LEFT
                    ) {
                        $offsetAdjustment = 0;
                    } else {
                        $offsetAdjustment = 315;
                    }
                    return $offsetAdjustment;
                }

                /**
                 * Insert Header
                 *
                 * @param  Zend_Pdf_Page          &$page    Current page object of Zend_Pdf
                 * @param  Mage_Sales_Model_Order $order    Order object
                 * @param  object                 $document Document object
                 *
                 * @return void
                 */
                protected function insertHeader(&$page, $order, $document)
                {
                    $page->setFillColor($this->colors['black']);

                    $mode = $this->getMode();

                    $this->_setFontBold($page, 15);

                    if ($mode == 'invoice') {
                        $title = 'Invoice';
                    } elseif ($mode == 'shipment') {
                        $title = 'Shipment';
                    } else {
                        $title = 'Creditmemo';
                    }
                    $page->drawText(Mage::helper('firegento_pdf')->__($title),
                        $this->margin['left'], $this->y, $this->encoding);

                    $this->_setFontRegular($page);

                    $this->y += 80;
                    $labelRightOffset = 180 + $this->getHeaderblockOffset();

                    $valueRightOffset = 10 + $this->getHeaderblockOffset();
                    $font = $this->_setFontRegular($page, 10);
                    $width = 80;
                    $numberOfLines = 0;


                    // Invoice/shipment/creditmemo Number
                    if ($mode == 'invoice') {
                        $numberTitle = 'Invoice number:';
                    } elseif ($mode == 'shipment') {
                        $numberTitle = 'Shipment number:';
                    } else {
                        $numberTitle = 'Creditmemo number:';
                    }
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__($numberTitle),
                        ($this->margin['right'] - $labelRightOffset), $this->y,
                        $this->encoding
                    );

                    $incrementId = $document->getIncrementId();
                    $page->drawText(
                        $incrementId,
                        ($this->margin['right'] - $valueRightOffset
                            - $this->widthForStringUsingFontSize($incrementId, $font, 10)),
                        $this->y, $this->encoding
                    );
                    $this->Ln();
                    $numberOfLines++;

                    // Order Number
                    $putOrderId = $this->_putOrderId($order);
                    if ($putOrderId) {
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Order number:'),
                            ($this->margin['right'] - $labelRightOffset),
                            $this->y, $this->encoding
                        );
                        $page->drawText(
                            $putOrderId, ($this->margin['right'] - $valueRightOffset
                                - $this->widthForStringUsingFontSize(
                                    $putOrderId, $font, 10
                                )), $this->y, $this->encoding
                        );
                        $this->Ln();
                        $numberOfLines++;
                    }

                    // Customer Number
                    if ($this->_showCustomerNumber($order->getStore())) {
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Customer number:'),
                            ($this->margin['right'] - $labelRightOffset),
                            $this->y, $this->encoding
                        );
                        $numberOfLines++;

                        if ($order->getCustomerId() != '') {

                            $prefix
                                = Mage::getStoreConfig('sales_pdf/invoice/customeridprefix');

                            if (!empty($prefix)) {
                                $customerid = $prefix . $order->getCustomerId();
                            } else {
                                $customerid = $order->getCustomerId();
                            }

                            $page->drawText(
                                $customerid, ($this->margin['right'] - $valueRightOffset
                                    - $this->widthForStringUsingFontSize(
                                        $customerid, $font, 10
                                    )), $this->y, $this->encoding
                            );
                            $this->Ln();
                            $numberOfLines++;
                        } else {
                            $page->drawText(
                                '-',
                                ($this->margin['right'] - $valueRightOffset
                                    - $this->widthForStringUsingFontSize('-', $font, 10)),
                                $this->y, $this->encoding
                            );
                            $this->Ln();
                            $numberOfLines++;
                        }
                    }

                    // Customer IP
                    if (!Mage::getStoreConfigFlag('sales/general/hide_customer_ip',
                        $order->getStoreId())
                    ) {
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Customer IP:'),
                            ($this->margin['right'] - $labelRightOffset),
                            $this->y, $this->encoding
                        );
                        $customerIP = $order->getData('remote_ip');
                        $font = $this->_setFontRegular($page, 10);
                        $page->drawText(
                            $customerIP, ($this->margin['right'] - $valueRightOffset
                                - $this->widthForStringUsingFontSize(
                                    $customerIP, $font, 10
                                )), $this->y, $this->encoding
                        );
                        $this->Ln();
                        $numberOfLines++;
                    }

                    $page->drawText(
                        Mage::helper('firegento_pdf')->__(($mode == 'invoice')
                            ? 'Invoice date:' : 'Date:'),
                        ($this->margin['right'] - $labelRightOffset), $this->y,
                        $this->encoding
                    );
                    $documentDate = Mage::helper('core')
                        ->formatDate($document->getCreatedAtDate(), 'medium', false);
                    $page->drawText(
                        $documentDate,
                        ($this->margin['right'] - $valueRightOffset
                            - $this->widthForStringUsingFontSize($documentDate, $font, 10)),
                        $this->y, $this->encoding
                    );
                    $this->Ln();
                    $numberOfLines++;


                    // Payment method.
                    $putPaymentMethod = ($mode == 'invoice'
                        && Mage::getStoreConfig('sales_pdf/invoice/payment_method_position')
                        == FireGento_Pdf_Model_System_Config_Source_Payment::POSITION_HEADER);
                    if ($putPaymentMethod) {
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Payment method:'),
                            ($this->margin['right'] - $labelRightOffset),
                            $this->y, $this->encoding
                        );
                        $paymentMethodArray = $this->_prepareText(
                            $order->getPayment()->getMethodInstance()->getTitle(), $page,
                            $font, 10, $width
                        );
                        $page->drawText(
                            array_shift($paymentMethodArray),
                            ($this->margin['right'] - $valueRightOffset - $width), $this->y,
                            $this->encoding
                        );
                        $this->Ln();
                        $numberOfLines++;
                        $paymentMethodArray = $this->_prepareText(implode(" ",
                            $paymentMethodArray), $page, $font, 10, 2 * $width);
                        foreach ($paymentMethodArray as $methodString) {
                            $page->drawText($methodString,
                                $this->margin['right'] - $labelRightOffset, $this->y,
                                $this->encoding);
                            $this->Ln();
                            $numberOfLines++;
                        }

                    }

                    // Shipping method.
                    $putShippingMethod = ($mode == 'invoice'
                        &&
                        Mage::getStoreConfig('sales_pdf/invoice/shipping_method_position')
                        == FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER
                        || $mode == 'shipment'
                        &&
                        Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position')
                        == FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER);
                    if ($putShippingMethod) {
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Shipping method:'),
                            ($this->margin['right'] - $labelRightOffset),
                            $this->y, $this->encoding
                        );
                        $shippingMethodArray
                            = $this->_prepareText($order->getShippingDescription(), $page,
                            $font, 10, $width);
                        $page->drawText(
                            array_shift($shippingMethodArray),
                            ($this->margin['right'] - $valueRightOffset - $width), $this->y,
                            $this->encoding
                        );
                        $this->Ln();
                        $numberOfLines++;
                        $shippingMethodArray = $this->_prepareText(
                            implode(" ", $shippingMethodArray), $page, $font, 10, 2 * $width
                        );
                        foreach ($shippingMethodArray as $methodString) {
                            $page->drawText($methodString,
                                $this->margin['right'] - $labelRightOffset, $this->y,
                                $this->encoding);
                            $this->Ln();
                            $numberOfLines++;
                        }

                    }
                    $this->y -= ($numberOfLines * 2);
                }

                /**
                 * Return the order id or false if order id should not be displayed on document.
                 *
                 * @param  Mage_Sales_Model_Order $order order to get id from
                 *
                 * @return int|false
                 */
                protected function _putOrderId($order)
                {
                    return Mage::helper('firegento_pdf')->putOrderId($order, $this->mode);
                }

                /**
                 * do we show the customber number on this document
                 *
                 * @param  mixed $store store from whom we need the config setting
                 *
                 * @return bool
                 */
                protected function _showCustomerNumber($store)
                {
                    return Mage::helper('firegento_pdf')
                        ->showCustomerNumber($this->mode, $store);
                }

                /**
                 * Generate new PDF page.
                 *
                 * @param  array $settings Page settings
                 *
                 * @return Zend_Pdf_Page
                 */
                public function newPage(array $settings = array())
                {
                    $pdf = $this->_getPdf();

                    $page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
                    $this->pagecounter++;
                    $pdf->pages[] = $page;

                    $this->_addFooter($page, Mage::app()->getStore());

                    // provide the possibility to add random stuff to the page
                    Mage::dispatchEvent(
                        'firegento_pdf_' . $this->getMode() . '_edit_page',
                        array('page' => $page, 'order' => $this->getOrder())
                    );

                    $this->y = 800;
                    $this->_setFontRegular($page, 9);

                    return $page;
                }

                /**
                 * Draw
                 *
                 * @param  Varien_Object          $item     creditmemo/shipping/invoice to draw
                 * @param  Zend_Pdf_Page          $page     Current page object of Zend_Pdf
                 * @param  Mage_Sales_Model_Order $order    order to get infos from
                 * @param  int                    $position position in table
                 *
                 * @return Zend_Pdf_Page
                 */
                protected function _drawItem(
                    Varien_Object $item,
                    Zend_Pdf_Page $page,
                    Mage_Sales_Model_Order $order,
                    $position = 1
                ) {
                    $type = $item->getOrderItem()->getProductType();

                    $renderer = $this->_getRenderer($type);
                    $renderer->setOrder($order);
                    $renderer->setItem($item);
                    $renderer->setPdf($this);
                    $renderer->setPage($page);
                    $renderer->setRenderedModel($this);

                    $renderer->draw($position);
                    return $renderer->getPage();
                }

                /**
                 * Insert Totals Block
                 *
                 * @param  object $page   Current page object of Zend_Pdf
                 * @param  object $source Fields of footer
                 *
                 * @return Zend_Pdf_Page
                 */
                protected function insertTotals($page, $source)
                {
                    $this->y -= 15;

                    $order = $source->getOrder();

                    $totalTax = 0;
                    $shippingTaxRate = 0;
                    $shippingTaxAmount = $order->getShippingTaxAmount();

                    if ($shippingTaxAmount > 0) {
                        $shippingTaxRate
                            = $order->getShippingTaxAmount() * 100
                            / ($order->getShippingInclTax()
                                - $order->getShippingTaxAmount());
                    }

                    $groupedTax = array();

                    $items['items'] = array();
                    foreach ($source->getAllItems() as $item) {
                        if ($item->getOrderItem()->getParentItem()) {
                            continue;
                        }
                        $items['items'][] = $item->getOrderItem()->toArray();
                    }

                    array_push(
                        $items['items'], array(
                            'row_invoiced'     => $order->getShippingInvoiced(),
                            'tax_inc_subtotal' => false,
                            'tax_percent'      => $shippingTaxRate,
                            'tax_amount'       => $shippingTaxAmount
                        )
                    );

                    foreach ($items['items'] as $item) {
                        $_percent = null;
                        if (!isset($item['tax_amount'])) {
                            $item['tax_amount'] = 0;
                        }
                        if (!isset($item['row_invoiced'])) {
                            $item['row_invoiced'] = 0;
                        }
                        if (!isset($item['price'])) {
                            $item['price'] = 0;
                        }
                        if (!isset($item['tax_inc_subtotal'])) {
                            $item['tax_inc_subtotal'] = 0;
                        }
                        if (((float)$item['tax_amount'] > 0)
                            && ((float)$item['row_invoiced'] > 0)
                        ) {
                            $_percent = round($item["tax_percent"], 0);
                        }
                        if (!array_key_exists('tax_inc_subtotal', $item)
                            || $item['tax_inc_subtotal']
                        ) {
                            $totalTax += $item['tax_amount'];
                        }
                        if (($item['tax_amount']) && $_percent) {
                            if (!array_key_exists((int)$_percent, $groupedTax)) {
                                $groupedTax[$_percent] = $item['tax_amount'];
                            } else {
                                $groupedTax[$_percent] += $item['tax_amount'];
                            }
                        }
                    }

                    $totals = $this->_getTotalsList($source);

                    $lineBlock = array(
                        'lines'  => array(),
                        'height' => 20
                    );

                    foreach ($totals as $total) {
                        $total->setOrder($order)->setSource($source);

                        if ($total->canDisplay()) {
                            $total->setFontSize(10);
                            // fix Magento 1.8 bug, so that taxes for shipping do not appear twice
                            // see https://github.com/firegento/firegento-pdf/issues/106
                            $uniqueTotalsForDisplay = array_map(
                                'unserialize', array_unique(array_map('serialize',
                                    $total->getTotalsForDisplay()))
                            );
                            foreach ($uniqueTotalsForDisplay as $totalData) {
                                $label = $this->fixNumberFormat($totalData['label']);
                                $lineBlock['lines'][] = array(
                                    array(
                                        'text'      => $label,
                                        'feed'      => 470,
                                        'align'     => 'right',
                                        'font_size' => $totalData['font_size']
                                    ),
                                    array(
                                        'text'      => $totalData['amount'],
                                        'feed'      => 540,
                                        'align'     => 'right',
                                        'font_size' => $totalData['font_size']
                                    ),
                                );
                            }
                        }
                    }
                    $page = $this->drawLineBlocks($page, array($lineBlock));
                    return $page;
                }

                /**
                 * 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;
                }

                /**
                 * draw footer on pdf
                 *
                 * @param Zend_Pdf_Page &$page page to draw on
                 * @param mixed         $store store to get infos from
                 */
                protected function _addFooter(&$page, $store = null)
                {
                    // get the imprint of the store if a store is set
                    if (!empty($store)) {
                        $imprintObject = new Varien_Object();
                        $imprintObject->setImprint(Mage::getStoreConfig('general/imprint',
                            $store));
                        Mage::dispatchEvent('firegento_pdf_imprint_load_after', array(
                                'transport_object' => $imprintObject
                            )
                        );
                        $this->_imprint = $imprintObject->getImprint();
                    }

                    // Add footer if GermanSetup is installed.
                    if ($this->_imprint
                        && Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1
                    ) {
                        $this->y = 110;
                        $this->_insertFooter($page);

                        // Add page counter.
                        $this->y = 110;
                        $this->_insertPageCounter($page);
                    }
                }

                /**
                 * Insert footer
                 *
                 * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
                 *
                 * @return void
                 */
                protected function _insertFooter(&$page)
                {
                    $page->setLineColor($this->colors['black']);
                    $page->setLineWidth(0.5);
                    $page->drawLine($this->margin['left'] - 20, $this->y - 5,
                        $this->margin['right'] + 30, $this->y - 5);

                    $this->Ln(15);
                    $this->_insertFooterAddress($page);

                    $fields = array(
                        'telephone' => Mage::helper('firegento_pdf')->__('Telephone:'),
                        'fax'       => Mage::helper('firegento_pdf')->__('Fax:'),
                        'email'     => Mage::helper('firegento_pdf')->__('E-Mail:'),
                        'web'       => Mage::helper('firegento_pdf')->__('Web:')
                    );
                    $this->_insertFooterBlock($page, $fields, 70, 40, 140);

                    $fields = array(
                        'bank_name'          => Mage::helper('firegento_pdf')
                            ->__('Bank name:'),
                        'bank_account'       => Mage::helper('firegento_pdf')
                            ->__('Account:'),
                        'bank_code_number'   => Mage::helper('firegento_pdf')
                            ->__('Bank number:'),
                        'bank_account_owner' => Mage::helper('firegento_pdf')
                            ->__('Account owner:'),
                        'swift'              => Mage::helper('firegento_pdf')->__('SWIFT:'),
                        'iban'               => Mage::helper('firegento_pdf')->__('IBAN:')
                    );
                    $this->_insertFooterBlock($page, $fields, 215, 50, 150);

                    $fields = array(
                        'tax_number'      => Mage::helper('firegento_pdf')
                            ->__('Tax number:'),
                        'vat_id'          => Mage::helper('firegento_pdf')->__('VAT-ID:'),
                        'register_number' => Mage::helper('firegento_pdf')
                            ->__('Register number:'),
                        'ceo'             => Mage::helper('firegento_pdf')->__('CEO:'),
                        'city'            => Mage::helper('firegento_pdf')
                            ->__('Registered seat:'),
                        'court'           => Mage::helper('firegento_pdf')
                            ->__('Register court:'),
                    );
                    $this->_insertFooterBlock($page, $fields, 355, 60,
                        $this->margin['right'] - 365 - 10);
                }

                /**
                 * Insert footer block
                 *
                 * @param  Zend_Pdf_Page &$page       Current page object of Zend_Pdf
                 * @param  array         $fields      Fields of footer
                 * @param  int           $colposition Starting colposition
                 * @param  int           $valadjust   Margin between label and value
                 * @param  int           $colwidth    the width of this footer block - text will be wrapped if it is broader
                 *                                    than this width
                 *
                 * @return void
                 */
                protected function _insertFooterBlock(
                    &$page,
                    $fields,
                    $colposition = 0,
                    $valadjust = 30,
                    $colwidth = null
                ) {
                    $fontSize = 7;
                    $font = $this->_setFontRegular($page, $fontSize);
                    $y = $this->y;

                    $valposition = $colposition + $valadjust;

                    if (is_array($fields)) {
                        foreach ($fields as $field => $label) {
                            if (empty($this->_imprint[$field])) {
                                continue;
                            }
                            // draw the label
                            $page->drawText($label, $this->margin['left'] + $colposition,
                                $y, $this->encoding);
                            // prepare the value: wrap it if necessary
                            $val = $this->_imprint[$field];
                            $width = $colwidth;
                            if (!empty($colwidth)) {
                                // calculate the maximum width for the value
                                $width = $this->margin['left'] + $colposition + $colwidth
                                    - ($this->margin['left'] + $valposition);
                            }
                            foreach (
                                $this->_prepareText($val, $page, $font, $fontSize, $width)
                                as $tmpVal
                            ) {
                                $page->drawText($tmpVal,
                                    $this->margin['left'] + $valposition, $y,
                                    $this->encoding);
                                $y -= 12;
                            }
                        }
                    }
                }

                /**
                 * Insert address of store owner
                 *
                 * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
                 * @param  mixed         $store store to get info from
                 *
                 * @return void
                 */
                protected function _insertFooterAddress(&$page, $store = null)
                {
                    $fontSize = 7;
                    $font = $this->_setFontRegular($page, $fontSize);
                    $y = $this->y;
                    $address = '';

                    foreach (
                        $this->_prepareText($this->_imprint['company_first'], $page, $font,
                            $fontSize, 90) as $companyFirst
                    ) {
                        $address .= $companyFirst . "\n";
                    }

                    if (array_key_exists('company_second', $this->_imprint)) {
                        foreach (
                            $this->_prepareText($this->_imprint['company_second'], $page,
                                $font, $fontSize, 90) as $companySecond
                        ) {
                            $address .= $companySecond . "\n";
                        }
                    }

                    if (array_key_exists('street', $this->_imprint)) {
                        $address .= $this->_imprint['street'] . "\n";
                    }
                    if (array_key_exists('zip', $this->_imprint)) {
                        $address .= $this->_imprint['zip'] . " ";
                    }
                    if (array_key_exists('city', $this->_imprint)) {
                        $address .= $this->_imprint['city'] . "\n";
                    }

                    if (!empty($this->_imprint['country'])) {
                        $countryName = Mage::getModel('directory/country')
                            ->loadByCode($this->_imprint['country'])->getName();
                        $address .= Mage::helper('core')->__($countryName);
                    }

                    foreach (explode("\n", $address) as $value) {
                        if ($value !== '') {
                            $page->drawText(trim(strip_tags($value)),
                                $this->margin['left'] - 20, $y, $this->encoding);
                            $y -= 12;
                        }
                    }
                }

                /**
                 * Insert page counter
                 *
                 * @param  Zend_Pdf_Page &$page Current page object of Zend_Pdf
                 *
                 * @return void
                 */
                protected function _insertPageCounter(&$page)
                {
                    $font = $this->_setFontRegular($page, 9);
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('Page') . ' '
                        . $this->pagecounter,
                        $this->margin['right'] - 23
                        - $this->widthForStringUsingFontSize($this->pagecounter, $font, 9),
                        $this->y,
                        $this->encoding
                    );
                }

                /**
                 * get stanard font
                 *
                 * @return Zend_Pdf_Resource_Font the regular font
                 */
                public function getFontRegular()
                {
                    if ($this->getRegularFont() && $this->regularFontFileExists()) {
                        return Zend_Pdf_Font::fontWithPath($this->getRegularFontFile());
                    }
                    return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
                }

                /**
                 * Set default font
                 *
                 * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
                 * @param  string|int    $size   Font size
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function _setFontRegular($object, $size = 10)
                {
                    $font = $this->getFontRegular();
                    $object->setFont($font, $size);
                    return $font;
                }

                /**
                 * get default bold font
                 *
                 * @return Zend_Pdf_Resource_Font the bold font
                 */
                public function getFontBold()
                {
                    if ($this->getBoldFont() && $this->boldFontFileExists()) {
                        return Zend_Pdf_Font::fontWithPath($this->getBoldFontFile());
                    }
                    return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);
                }

                /**
                 * Set bold font
                 *
                 * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
                 * @param  string|int    $size   Font size
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function _setFontBold($object, $size = 10)
                {
                    $font = $this->getFontBold();
                    $object->setFont($font, $size);
                    return $font;
                }

                /**
                 * get italic font
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                public function getFontItalic()
                {
                    if ($this->getItalicFont() && $this->italicFontFileExists()) {
                        return Zend_Pdf_Font::fontWithPath($this->getItalicFontFile());
                    }
                    return Zend_Pdf_Font::fontWithName(
                        Zend_Pdf_Font::FONT_HELVETICA_ITALIC
                    );
                }

                /**
                 * Set italic font
                 *
                 * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
                 * @param  string|int    $size   Font size
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function _setFontItalic($object, $size = 10)
                {
                    $font = $this->getFontItalic();
                    $object->setFont($font, $size);
                    return $font;
                }

                /**
                 * Prepares the text so that it fits to the given page's width.
                 *
                 * @param  string                 $text     the text which should be prepared
                 * @param  Zend_Pdf_Page          $page     the page on which the text will be rendered
                 * @param  Zend_Pdf_Resource_Font $font     the font with which the text will be rendered
                 * @param  int                    $fontSize the font size with which the text will be rendered
                 * @param  int                    $width    [optional] the width for the given text, defaults to the page width
                 *
                 * @return array the given text in an array where each item represents a new line
                 */
                public function _prepareText($text, $page, $font, $fontSize, $width = null)
                {
                    if (empty($text)) {
                        return array();
                    }
                    $lines = '';
                    $currentLine = '';
                    // calculate the page's width with respect to the margins
                    if (empty($width)) {
                        $width
                            = $page->getWidth() - $this->margin['left'] - ($page->getWidth()
                                - $this->margin['right']);
                    }
                    $textChunks = explode(' ', $text);
                    foreach ($textChunks as $textChunk) {
                        if ($this->widthForStringUsingFontSize($currentLine . ' '
                                . $textChunk, $font, $fontSize) < $width
                        ) {
                            // do not add whitespace on first line
                            if (!empty($currentLine)) {
                                $currentLine .= ' ';
                            }
                            $currentLine .= $textChunk;
                        } else {
                            // text is too broad, so add new line character
                            $lines .= $currentLine . "\n";
                            $currentLine = $textChunk;
                        }
                    }
                    // append the last line
                    $lines .= $currentLine;
                    return explode("\n", $lines);
                }

                /**
                 * Fix the percentage for taxes which come with four decimal places
                 * from magento core.
                 *
                 * @param  string $label tax label which contains the badly formatted tax percentage
                 *
                 * @return string
                 */
                private function fixNumberFormat($label)
                {
                    $pattern = "/(.*)\((\d{1,2}\.\d{4}%)\)/";
                    if (preg_match($pattern, $label, $matches)) {
                        $percentage = Zend_Locale_Format::toNumber(
                            $matches[2],
                            array(
                                'locale'    => Mage::app()->getLocale()->getLocale(),
                                'precision' => 2,
                            )
                        );
                        return $matches[1] . '(' . $percentage . '%)';
                    }
                    return $label;
                }

                /**
                 * get bold font file
                 *
                 * @return string
                 */
                private function getBoldFontFile()
                {
                    return Mage::helper('firegento_pdf')->getFontPath() . DS
                    . $this->getBoldFont();
                }

                /**
                 * get bold font path
                 *
                 * @return string
                 */
                private function getBoldFont()
                {
                    return Mage::getStoreConfig(
                        FireGento_Pdf_Helper_Data::XML_PATH_BOLD_FONT
                    );
                }

                /**
                 * check whether font file exists for bold font
                 *
                 * @return bool
                 */
                private function regularFontFileExists()
                {
                    return file_exists($this->getBoldFontFile());
                }

                /**
                 * get italic font path
                 *
                 * @return string
                 */
                private function getItalicFont()
                {
                    return Mage::getStoreConfig(
                        FireGento_Pdf_Helper_Data::XML_PATH_ITALIC_FONT
                    );
                }

                /**
                 * check whether italic font file exists
                 *
                 * @return bool
                 */
                private function ItalicFontFileExists()
                {
                    return file_exists($this->getItalicFontFile());
                }

                /**
                 * get italic font file
                 *
                 * @return string
                 */
                private function getItalicFontFile()
                {
                    return Mage::helper('firegento_pdf')->getFontPath() . DS
                    . $this->getItalicFont();
                }


                /**
                 * get the regular font path
                 *
                 * @return string
                 */
                private function getRegularFont()
                {
                    return Mage::getStoreConfig(
                        FireGento_Pdf_Helper_Data::XML_PATH_REGULAR_FONT
                    );
                }

                /**
                 * check whether font file exists for regular font
                 *
                 * @return bool
                 */
                private function regularFontFileExists()
                {
                    return file_exists($this->getRegularFontFile());
                }

                /**
                 * get the path to the font file for regular font
                 *
                 * @return string
                 */
                private function getRegularFontFile()
                {
                    return Mage::helper('firegento_pdf')->getFontPath() . DS
                    . $this->getRegularFont();
                }
            }

            + Size: 51,370 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

            /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php

            12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502
            <?php
            /**
             * This file is part of a FireGento e.V. module.
             *
             * This FireGento e.V. module is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License version 3 as
             * published by the Free Software Foundation.
             *
             * This script is distributed in the hope that it will be useful, but WITHOUT
             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
             *
             * PHP version 5
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2014 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             */

            /**
             * Abstract pdf model.
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             */
            abstract class FireGento_Pdf_Model_Engine_Abstract
                extends Mage_Sales_Model_Order_Pdf_Abstract
            {
                /**
                 * @var array
                 */
                public $margin = array('left' => 45, 'right' => 540);
                /**
                 * @var array
                 */
                public $colors = array();
                /**
                 * @var string
                 */
                public $mode;
                /**
                 * @var string
                 */
                public $encoding;
                /**
                 * @var string
                 */
                public $pagecounter;
                /**
                 * @var mixed[]
                 */
                protected $_imprint;
                /**
                 * @var int correct all y values if the logo is full width and bigger than normal
                 */
                protected $_marginTop = 0;
                /**
                 * @var int
                 */
                private $defaultFontSize = 10;
                /**
                 * @var array
                 */
                private $_headerLines = array();

                public function __construct()
                {
                    parent::__construct();

                    $this->encoding = 'UTF-8';

                    $this->colors['black'] = new Zend_Pdf_Color_GrayScale(0);
                    $this->colors['grey1'] = new Zend_Pdf_Color_GrayScale(0.9);

                    $helper = Mage::helper('firegento_pdf');

                    $this->colors['text']   = $helper->getTextColor();
                    $this->colors['labels'] = $helper->getLabelColor();
                    $this->colors['header'] = $helper->getHeaderColor();
                    $this->colors['footer'] = $helper->getFooterColor();

                    // get the default imprint
                    $this->_imprint = Mage::getStoreConfig('general/imprint');
                }

                /**
                 * Draw one line
                 *
                 * @param  Zend_Pdf_Page $page         Current page object of Zend_Pdf
                 * @param  array         $draw         items to draw
                 * @param  array         $pageSettings page settings to use for new pages
                 *
                 * @return Zend_Pdf_Page
                 */
                public function drawLineBlocks(
                    Zend_Pdf_Page $page,
                    array $draw,
                    array $pageSettings = array()
                ) {
                    foreach ($draw as $itemsProp) {
                        if (!isset($itemsProp['lines']) || !is_array($itemsProp['lines'])) {
                            Mage::throwException(Mage::helper('sales')->__('Invalid draw line data. Please define "lines" array'));
                        }
                        $lines  = $itemsProp['lines'];
                        $height = isset($itemsProp['height']) ? $itemsProp['height'] : $this->defaultFontSize;

                        if (empty($itemsProp['shift'])) {
                            $shift = 0;
                            foreach ($lines as $line) {
                                $maxHeight = 0;
                                foreach ($line as $column) {
                                    $lineSpacing = !empty($column['height']) ? $column['height'] : $height;
                                    if (!is_array($column['text'])) {
                                        $column['text'] = array($column['text']);
                                    }
                                    $top = count($column['text']) * $lineSpacing;

                                    $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                                }
                                $shift += $maxHeight;
                            }
                            $itemsProp['shift'] = $shift;
                        }

                        if ($this->y - $itemsProp['shift'] < 50
                            || (Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1
                                && $this->y - $itemsProp['shift'] < 100)
                        ) {
                            $page = $this->newPage($pageSettings);
                        }

                        foreach ($lines as $line) {
                            $maxHeight = 0;
                            foreach ($line as $column) {
                                $fontSize = empty($column['font_size']) ? 7
                                    : $column['font_size'];
                                if (!empty($column['font_file'])) {
                                    $font = Zend_Pdf_Font::fontWithPath($column['font_file']);
                                    $page->setFont($font, $fontSize);
                                } else {
                                    $fontStyle = empty($column['font']) ? 'regular' : $column['font'];
                                    switch ($fontStyle) {
                                        case 'bold':
                                            $font = $this->_setFontBold($page, $fontSize);
                                            break;
                                        case 'italic':
                                            $font = $this->_setFontItalic($page, $fontSize);
                                            break;
                                        default:
                                            $font = $this->_setFontRegular($page,
                                                $fontSize);
                                            break;
                                    }
                                }

                                if (!is_array($column['text'])) {
                                    $column['text'] = array($column['text']);
                                }

                                $lineSpacing = !empty($column['height']) ? $column['height'] : $height;
                                $top         = 0;
                                foreach ($column['text'] as $part) {
                                    $feed      = $column['feed'];
                                    $textAlign = empty($column['align']) ? 'left' : $column['align'];
                                    $width     = empty($column['width']) ? 0 : $column['width'];
                                    switch ($textAlign) {
                                        case 'right':
                                            if ($width) {
                                                $feed = $this->getAlignRight($part, $feed, $width, $font, $fontSize);
                                            } else {
                                                $feed -= $this->widthForStringUsingFontSize($part, $font, $fontSize);
                                            }
                                            break;
                                        case 'center':
                                            if ($width) {
                                                $feed = $this->getAlignCenter($part, $feed, $width, $font, $fontSize);
                                            }
                                            break;
                                    }
                                    if (isset($column['color'])) {
                                        $page->setFillColor($column['color']);
                                    }
                                    $page->drawText($part, $feed, $this->y - $top, 'UTF-8');
                                    $page->setFillColor($this->colors['text']);
                                    $top += $lineSpacing;
                                }

                                $maxHeight = $top > $maxHeight ? $top : $maxHeight;
                            }
                            $this->y -= $maxHeight;
                        }
                    }

                    return $page;
                }

                /**
                 * Set pdf mode.
                 *
                 * @param  string $mode set mode to differ between creditmemo, invoice, etc.
                 *
                 * @return FireGento_Pdf_Model_Engine_Abstract
                 */
                public function setMode($mode)
                {
                    $this->mode = $mode;

                    return $this;
                }

                /**
                 * Return pdf mode.
                 *
                 * @return string
                 */
                public function getMode()
                {
                    return $this->mode;
                }

                /**
                 * Set next line position
                 *
                 * @param  int $height Line-Height
                 *
                 * @return void
                 */
                protected function Ln($height = 15)
                {
                    $this->y -= $height;
                }

                /**
                 * Insert sender address bar
                 *
                 * @param  Zend_Pdf_Page $page Current page object of Zend_Pdf
                 *
                 * @return void
                 */
                protected function _insertSenderAddressBar($page)
                {
                    if (Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar') != '') {
                        $this->_setFontRegular($page, 6);
                        $page->setFillColor($this->colors['labels']);
                        $page->drawText(
                            trim(Mage::getStoreConfig('sales_pdf/firegento_pdf/sender_address_bar')),
                            $this->margin['left'] + $this->getHeaderblockOffset(),
                            $this->y,
                            $this->encoding
                        );
                        $page->setFillColor($this->colors['text']);
                    }
                }

                /**
                 * Insert logo
                 *
                 * @param  Zend_Pdf_Page $page  Current page object of Zend_Pdf
                 * @param  mixed         $store store to get data from
                 *
                 * @return void
                 */
                protected function insertLogo(&$page, $store = null)
                {
                    if ($this->_isLogoFullWidth($store)) {
                        $this->_insertLogoFullWidth($page, $store);
                    } else {
                        $this->_insertLogoPositioned($page, $store);
                    }
                }

                /**
                 * is the setting to show the logo full width?
                 *
                 * @param  mixed $store store we want the config setting from
                 *
                 * @return bool
                 */
                protected function _isLogoFullWidth($store)
                {
                    return Mage::helper('firegento_pdf')->isLogoFullWidth($store);
                }

                /**
                 * Inserts the logo if it is positioned left, center or right.
                 *
                 * @param  Zend_Pdf_Page $page  Current page object of Zend_Pdf
                 * @param  mixed         $store store to get data from
                 *
                 * @return void
                 */
                protected function _insertLogoPositioned($page, $store = null)
                {
                    $imageRatio = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio', $store);
                    $imageRatio = (empty($imageRatio)) ? 100 : $imageRatio;

                    $maxwidth  = ($this->margin['right'] - $this->margin['left']) * $imageRatio / 100;
                    $maxheight = 100;

                    $image = Mage::getStoreConfig('sales/identity/logo', $store);
                    if ($image and file_exists(Mage::getBaseDir('media', $store) . '/sales/store/logo/' . $image)) {
                        $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/' . $image;

                        list ($width, $height) = Mage::helper('firegento_pdf')->getScaledImageSize($image, $maxwidth, $maxheight);

                        if (is_file($image)) {
                            $image = Zend_Pdf_Image::imageWithPath($image);

                            $logoPosition = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position', $store);

                            switch ($logoPosition) {
                                case 'center':
                                    $startLogoAt =
                                        $this->margin['left'] + (($this->margin['right'] - $this->margin['left']) / 2) - $width / 2;
                                    break;
                                case 'right':
                                    $startLogoAt = $this->margin['right'] - $width;
                                    break;
                                default:
                                    $startLogoAt = $this->margin['left'];
                            }

                            $position['x1'] = $startLogoAt;
                            $position['y1'] = 720;
                            $position['x2'] = $position['x1'] + $width;
                            $position['y2'] = $position['y1'] + $height;

                            $page->drawImage($image, $position['x1'], $position['y1'], $position['x2'], $position['y2']);
                        }
                    }
                }

                /**
                 * inserts the logo from complete left to right
                 *
                 * @param Zend_Pdf_Page $page  current Zend_Pdf_Page object
                 * @param mixed         $store store we need the config setting from
                 *
                 * @todo merge _insertLogoPositioned and _insertLogoFullWidth
                 */
                protected function _insertLogoFullWidth($page, $store = null)
                {
                    $imageRatio = (int)Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_ratio', $store);
                    $imageRatio = (empty($imageRatio)) ? 1 : $imageRatio;

                    $maxwidth  = 594 * $imageRatio / 100;
                    $maxheight = 300;

                    $image = Mage::getStoreConfig('sales/identity/logo', $store);
                    if ($image and file_exists(Mage::getBaseDir('media', $store) . '/sales/store/logo/' . $image)) {
                        $image = Mage::getBaseDir('media', $store) . '/sales/store/logo/' . $image;

                        list ($width, $height) = Mage::helper('firegento_pdf')->getScaledImageSize($image, $maxwidth, $maxheight);

                        if (is_file($image)) {
                            $image = Zend_Pdf_Image::imageWithPath($image);

                            $logoPosition = Mage::getStoreConfig('sales_pdf/firegento_pdf/logo_position', $store);

                            switch ($logoPosition) {
                                case 'center':
                                    $startLogoAt =
                                        $this->margin['left'] + (($this->margin['right'] - $this->margin['left']) / 2) - $width / 2;
                                    break;
                                case 'right':
                                    $startLogoAt = $this->margin['right'] - $width;
                                    break;
                                default:
                                    $startLogoAt = 0;
                            }

                            $position['x1'] = $startLogoAt;
                            $position['y1'] = 663;
                            $position['x2'] = $position['x1'] + $width;
                            $position['y2'] = $position['y1'] + $height;

                            $page->drawImage($image, $position['x1'], $position['y1'], $position['x2'], $position['y2']);
                            $this->_marginTop = $height - 130;
                        }
                    }
                }

                /**
                 * insert customer address and all header like customer number, etc.
                 *
                 * @param Zend_Pdf_Page             $page   current Zend_Pdf_Page
                 * @param Mage_Sales_Model_Abstract $source source for the address information
                 * @param Mage_Sales_Model_Order    $order  order to print the document for
                 */
                protected function insertAddressesAndHeader(
                    Zend_Pdf_Page $page,
                    Mage_Sales_Model_Abstract $source,
                    Mage_Sales_Model_Order $order
                ) {
                    // Add logo
                    $this->insertLogo($page, $source->getStore());

                    // Add billing address
                    $this->y = 692 - $this->_marginTop;
                    $this->_insertCustomerAddress($page, $order);

                    // Add sender address
                    $this->y = 705 - $this->_marginTop;
                    $this->_insertSenderAddressBar($page);

                    // Add head
                    // make sure that header does not overlap address bar
                    $headOffset = 0;
                    if ($this->y > 592 - $this->_marginTop) {
                        $headOffset = 40;
                    }
                    $this->y = 592 - $headOffset - $this->_marginTop;
                    $this->insertHeader($page, $order, $source);

                    /* Add table head */
                    // make sure that item table does not overlap heading
                    if ($this->y > 575 - $headOffset - $this->_marginTop) {
                        $this->y = 575 - $headOffset - $this->_marginTop;
                    }
                }

                /**
                 * Inserts the customer address. The default address is the billing address.
                 *
                 * @param  Zend_Pdf_Page          $page  Current page object of Zend_Pdf
                 * @param  Mage_Sales_Model_Order $order Order object
                 *
                 * @return void
                 */
                protected function _insertCustomerAddress($page, $order)
                {
                    $this->_setFontRegular($page, 9);
                    $billing = $this->_formatAddress($order->getBillingAddress()->format('pdf'));
                    foreach ($billing as $line) {
                        $page->drawText(trim(strip_tags($line)),
                            $this->margin['left'] + $this->getHeaderblockOffset(),
                            $this->y,
                            $this->encoding);
                        $this->Ln(12);
                    }
                }

                /**
                 * get the offset to position the address block left or right
                 *
                 * @return int
                 */
                protected function getHeaderblockOffset()
                {
                    $position = Mage::getStoreConfig('sales_pdf/firegento_pdf/headerblocks_position');
                    $left     = FireGento_Pdf_Model_System_Config_Source_Headerblocks::LEFT;
                    return $position === $left ? 0 : 315;
                }


                /**
                 * Insert Header
                 *
                 * @param  Zend_Pdf_Page          $page     Current page object of Zend_Pdf
                 * @param  Mage_Sales_Model_Order $order    Order object
                 * @param  object                 $document Document object
                 *
                 * @return void
                 */
                protected function insertHeader($page, $order, $document)
                {
                    $this->_headerLines = array();
                    $page->setFillColor($this->colors['text']);

                    $mode = $this->getMode();

                    $this->_setFontBold($page, 15);

                    $title = 'Invoice';
                    if ($mode === 'creditmemo') {
                        $title = 'Creditmemo';
                    } elseif ($mode === 'shipment') {
                        $title = 'Packingslip';
                    }

                    $page->drawText(Mage::helper('firegento_pdf')->__($title), $this->margin['left'], $this->y, $this->encoding);

                    $this->y += 80;
                    $width   = 80;

                    $color     = $this->colors['black'];
                    $fillColor = $this->colors['black'];
                    $fontSize  = null;
                    $bold      = false;

                    // Invoice/shipment/creditmemo Number
                    $numberTitle = 'Invoice number:';
                    if ($mode === 'creditmemo') {
                        $numberTitle = 'Creditmemo number:';
                    } elseif ($mode === 'shipment') {
                        $numberTitle = 'Shipment number:';
                    }

                    $this->_headerLines[] = array(
                        'content'  => array(
                            'label' => Mage::helper('firegento_pdf')->__($numberTitle),
                            'value' => $document->getIncrementId(),
                        ),
                        'fontSize' => $fontSize,
                        'bold'     => $bold,
                    );

                    // Order Number
                    $putOrderId = $this->_putOrderId($order);
                    if ($putOrderId) {
                        $this->_headerLines[] = array(
                            'content'  => array(
                                'label' => Mage::helper('firegento_pdf')->__('Order number:'),
                                'value' => $putOrderId,
                            ),
                            'fontSize' => $fontSize,
                            'bold'     => $bold,
                        );
                    }

                    // Customer Number
                    if ($this->_showCustomerNumber($order->getStore())) {
                        $customerNumber          = $this->_getGuestorderCustomerNo($order->getStore());
                        $customerNumberFieldName =
                            Mage::getStoreConfig('sales_pdf/invoice/customer_number_field', $order->getStoreId());
                        if ($customerNumberFieldName
                            === FireGento_Pdf_Model_System_Config_Source_Customer_Number::CUSTOMER_NUMBER_FIELD_INCREMENT_ID) {
                            try {
                                $customer       = Mage::getModel('customer/customer')->load($order->getData('customer_id'));
                                $customerNumber = $customer->getData($customerNumberFieldName);
                            } catch (\Exception $e) {
                                Mage::logException($e);
                                //Use default
                                $customerNumber = $order->getCustomerId();
                            }
                        } else {
                            //Use default 'entity_id'
                            $customerNumber = $order->getCustomerId();
                        }

                        if ($order->getCustomerId() !== '') {
                            $prefix = Mage::getStoreConfig('sales_pdf/invoice/customeridprefix');

                            if (!empty($prefix)) {
                                $customerId = $prefix . $customerNumber;
                            } else {
                                $customerId = $customerNumber;
                            }
                        }

                        if ($customerId !== '') {
                            $this->_headerLines[] = array(
                                'content'  => array(
                                    'label' => Mage::helper('firegento_pdf')->__('Customer number:'),
                                    'value' => $customerId,
                                ),
                                'fontSize' => $fontSize,
                                'bold'     => $bold,
                            );
                        }
                    }

                    /** print VAT ID */
                    if ($this->_showCustomerVATNumber($order->getStore())) {
                        if ($order->getBillingAddress()->getVatId()) {
                            $customerVatId = $order->getBillingAddress()->getVatId();
                        } elseif ($order->getCustomerTaxvat()) {
                            $customerVatId = $order->getCustomerTaxvat();
                        } else {
                            $customerVatId = '-';
                        }

                        $this->_headerLines[] = array(
                            'content'  => array(
                                'label' => Mage::helper('firegento_pdf')->__('VAT-ID:'),
                                'value' => $customerVatId,
                            ),
                            'fontSize' => $fontSize,
                            'bold'     => $bold,
                        );
                    }
                    /** end VAT ID print*/

                    // Customer IP
                    if (!Mage::getStoreConfigFlag('sales/general/hide_customer_ip', $order->getStoreId())) {
                        $customerIp           = $order->getData('remote_ip');
                        $this->_headerLines[] = array(
                            'content'  => array(
                                'label' => Mage::helper('firegento_pdf')->__('Customer IP:'),
                                'value' => $customerIp,
                            ),
                            'fontSize' => $fontSize,
                            'bold'     => $bold,
                        );
                    }

                    $this->_headerLines[] = array(
                        'content'  => array(
                            'label' => Mage::helper('firegento_pdf')->__(($mode == 'invoice') ? 'Invoice date:'
                                : 'Date:'),
                            'value' => Mage::helper('core')->formatDate($document->getCreatedAtDate(), 'medium', false),
                        ),
                        'fontSize' => $fontSize,
                        'bold'     => $bold,
                    );

                    // Payment method.
                    $posHeader        = FireGento_Pdf_Model_System_Config_Source_Payment::POSITION_HEADER;
                    $payomentInHeader = Mage::getStoreConfig('sales_pdf/invoice/payment_method_position') === $posHeader;
                    $putPaymentMethod = ($mode === 'invoice' && $payomentInHeader);

                    if ($putPaymentMethod) {
                        $font = $bold ?
                            $this->_setFontRegular($page, $fontSize ? $fontSize : $this->defaultFontSize)
                            : $this->_setFontBold($page, $fontSize ? $fontSize : $this->defaultFontSize);

                        $paymentMethodArray =
                            $this->_prepareText($order->getPayment()->getMethodInstance()->getTitle(), $page, $font,
                                $this->defaultFontSize, $width);

                        $this->_headerLines[] = array(
                            'content'  => array(
                                'label' => Mage::helper('firegento_pdf')->__('Payment method:'),
                                'value' => array_shift($paymentMethodArray),
                            ),
                            'fontSize' => $fontSize,
                            'bold'     => $bold,
                        );

                        $paymentMethodArray = $this->_prepareText(implode(' ', $paymentMethodArray), $page, $font,
                            $this->defaultFontSize, 2 * $width);
                        foreach ($paymentMethodArray as $methodString) {
                            $this->_headerLines[] = array(
                                'content'  => array(
                                    'label' => $methodString,
                                ),
                                'fontSize' => $fontSize,
                                'bold'     => $bold,
                            );
                        }
                    }

                    // Shipping method.
                    $invoiceAndShippingHeader  = $mode == 'invoice'
                        && Mage::getStoreConfig('sales_pdf/invoice/shipping_method_position')
                        === FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER;
                    $shipmentAndShippingHeader = $mode == 'shipment'
                        && Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position')
                        === FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_HEADER;
                    if (($invoiceAndShippingHeader || $shipmentAndShippingHeader) && $order->getIsNotVirtual()) {
                        $font = $bold ?
                            $this->_setFontRegular($page, $fontSize ? $fontSize : $this->defaultFontSize)
                            : $this->_setFontBold($page, $fontSize ? $fontSize : $this->defaultFontSize);
                        $shippingMethodArray  = $this->_prepareText($order->getShippingDescription(), $page, $font,
                            $this->defaultFontSize, $width);
                        $shippingMethod       = array_shift($shippingMethodArray);
                        $this->_headerLines[] = array(
                            'content'  => array(
                                'label' => Mage::helper('firegento_pdf')->__('Shipping method:'),
                                'value' => $shippingMethod,
                            ),
                            'fontSize' => $fontSize,
                            'bold'     => $bold,
                        );

                        $font = $bold ?
                            $this->_setFontRegular($page, $fontSize ? $fontSize : $this->defaultFontSize)
                            : $this->_setFontBold($page, $fontSize ? $fontSize : $this->defaultFontSize);

                        $shippingMethodArray =
                            $this->_prepareText(implode(" ", $shippingMethodArray), $page, $font, $this->defaultFontSize,
                                2 * $width);
                        foreach ($shippingMethodArray as $methodString) {
                            $this->_headerLines[] = array(
                                'content'  => array(
                                    'label' => $methodString,
                                ),
                                'fontSize' => $fontSize,
                                'bold'     => $bold,
                            );
                        }
                    }

                    $transportObject = new Varien_Object();
                    $transportObject->setData(array('lines' => $this->headerLines));
                    Mage::dispatchEvent(
                        'firegento_pdf_header_lines',
                        array('headerLines' => $transportObject)
                    );
                    Mage::dispatchEvent(
                        'firegento_pdf_' . $this->getMode() . '_header_lines',
                        array('headerLines' => $transportObject)
                    );
                    $this->headerLines = $transportObject->getData('lines');
                    $helper            = Mage::helper('firegento_pdf');
                    foreach ($this->_headerLines as $line) {
                        $font = $this->setFont($line, $page);
                        foreach ($line['content'] as $key => $c) {
                            if ($key === 'label') {
                                $page->setFillColor($helper->getLabelColor());
                                $offset = ($this->margin['right'] - 180 - $this->getHeaderblockOffset());
                            } else {
                                $page->setFillColor($helper->getTextColor());
                                $offset = $this->margin['right'] - 10 - $this->getHeaderblockOffset()
                                    - $this->widthForStringUsingFontSize($c, $font, 10);
                            }

                            $page->drawText(
                                $c,
                                $offset,
                                $this->y,
                                $this->encoding
                            );
                        }
                        $this->Ln();
                    }
                    $this->y -= (count($this->_headerLines) * 2);
                }

                /**
                 * @param array $line
                 * @param™ Zend_Pdf_Page $page
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function setFont(array $line, Zend_Pdf_Page $page)
                {
                    if ($line['fontSize'] === null) {
                        $line['fontSize'] = $this->defaultFontSize;
                    }
                    $font = $this->_setFontRegular($page, $line['fontSize']);
                    if ($line['bold']) {
                        $font = $this->_setFontBold($page, $line['fontSize']);
                    }
                    return $font;
                }

                /**
                 * Return the order id or false if order id should not be displayed on document.
                 *
                 * @param  Mage_Sales_Model_Order $order order to get id from
                 *
                 * @return int|false
                 */
                protected function _putOrderId($order)
                {
                    return Mage::helper('firegento_pdf')->putOrderId($order, $this->mode);
                }

                /**
                 * do we show the customber number on this document
                 *
                 * @param  mixed $store store from whom we need the config setting
                 *
                 * @return bool
                 */
                protected function _showCustomerNumber($store)
                {
                    return Mage::helper('firegento_pdf')
                        ->showCustomerNumber($this->mode, $store);
                }

                /**
                 * do we show the customber VAT number on this document
                 *
                 * @param  mixed $store store from whom we need the config setting
                 *
                 * @return bool
                 */
                protected function _showCustomerVATNumber($store)
                {
                    return Mage::helper('firegento_pdf')
                        ->showCustomerVATNumber($this->mode, $store);
                }

                /**
                 * which customer number should be displayed for guest orders
                 *
                 * @param  mixed $store store from whom we need the config setting
                 *
                 * @return string
                 */
                protected function _getGuestorderCustomerNo($store)
                {
                    return Mage::helper('firegento_pdf')
                        ->getGuestorderCustomerNo($this->mode, $store);
                }

                /**
                 * Generate new PDF page.
                 *
                 * @param  array $settings Page settings
                 *
                 * @return Zend_Pdf_Page
                 */
                public function newPage(array $settings = array())
                {
                    $pdf = $this->_getPdf();

                    $page = $pdf->newPage($this->getPageSize());
                    $this->pagecounter++;
                    $pdf->pages[] = $page;

                    $this->_addFooter($page, Mage::app()->getStore());

                    // set the font because it may not be set, see https://github.com/firegento/firegento-pdf/issues/184
                    $this->_setFontRegular($page, 9);

                    // provide the possibility to add random stuff to the page
                    Mage::dispatchEvent(
                        'firegento_pdf_' . $this->getMode() . '_edit_page',
                        array('page' => $page, 'order' => $this->getOrder())
                    );

                    $this->y = 800;
                    $this->_setFontRegular($page, 9);

                    return $page;
                }

                /**
                 * Draw
                 *
                 * @param  Varien_Object          $item     creditmemo/shipping/invoice to draw
                 * @param  Zend_Pdf_Page          $page     Current page object of Zend_Pdf
                 * @param  Mage_Sales_Model_Order $order    order to get infos from
                 * @param  int                    $position position in table
                 *
                 * @return Zend_Pdf_Page
                 */
                protected function _drawItem(
                    Varien_Object $item,
                    Zend_Pdf_Page $page,
                    Mage_Sales_Model_Order $order,
                    $position = 1
                ) {
                    $type = $item->getOrderItem()->getProductType();

                    $renderer = $this->_getRenderer($type);
                    $renderer->setOrder($order);
                    $renderer->setItem($item);
                    $renderer->setPdf($this);
                    $renderer->setPage($page);
                    $renderer->setRenderedModel($this);

                    $renderer->draw($position);

                    return $renderer->getPage();
                }

                /**
                 * Insert Totals Block
                 *
                 * @param  object $page   Current page object of Zend_Pdf
                 * @param  object $source Fields of footer
                 *
                 * @return Zend_Pdf_Page
                 */
                protected function insertTotals($page, $source)
                {
                    $this->y -= 15;

                    $order = $source->getOrder();

                    $totalTax          = 0;
                    $shippingTaxRate   = 0;
                    $shippingTaxAmount = $order->getShippingTaxAmount();

                    if ($shippingTaxAmount > 0) {
                        $shippingTaxRate
                            = $order->getShippingTaxAmount() * 100
                            / ($order->getShippingInclTax()
                                - $order->getShippingTaxAmount());
                    }

                    $groupedTax = array();

                    $items['items'] = array();
                    foreach ($source->getAllItems() as $item) {
                        if ($item->getOrderItem()->getParentItem()) {
                            continue;
                        }
                        $items['items'][] = $item->getOrderItem()->toArray();
                    }

                    array_push(
                        $items['items'], array(
                            'row_invoiced'     => $order->getShippingInvoiced(),
                            'tax_inc_subtotal' => false,
                            'tax_percent'      => $shippingTaxRate,
                            'tax_amount'       => $shippingTaxAmount,
                        )
                    );

                    foreach ($items['items'] as $item) {
                        $_percent = null;
                        if (!isset($item['tax_amount'])) {
                            $item['tax_amount'] = 0;
                        }
                        if (!isset($item['row_invoiced'])) {
                            $item['row_invoiced'] = 0;
                        }
                        if (!isset($item['price'])) {
                            $item['price'] = 0;
                        }
                        if (!isset($item['tax_inc_subtotal'])) {
                            $item['tax_inc_subtotal'] = 0;
                        }
                        if (((float)$item['tax_amount'] > 0)
                            && ((float)$item['row_invoiced'] > 0)
                        ) {
                            $_percent = round($item["tax_percent"], 0);
                        }
                        if (!array_key_exists('tax_inc_subtotal', $item)
                            || $item['tax_inc_subtotal']
                        ) {
                            $totalTax += $item['tax_amount'];
                        }
                        if (($item['tax_amount']) && $_percent) {
                            if (!array_key_exists((int)$_percent, $groupedTax)) {
                                $groupedTax[$_percent] = $item['tax_amount'];
                            } else {
                                $groupedTax[$_percent] += $item['tax_amount'];
                            }
                        }
                    }

                    $totals = $this->_getTotalsList($source);

                    $lineBlock = array(
                        'lines'  => array(),
                        'height' => 20,
                    );

                    foreach ($totals as $total) {
                        $total->setOrder($order)->setSource($source);

                        if ($total->canDisplay()) {
                            $total->setFontSize($this->defaultFontSize);
                            // fix Magento 1.8 bug, so that taxes for shipping do not appear twice
                            // see https://github.com/firegento/firegento-pdf/issues/106
                            $uniqueTotalsForDisplay = array_map(
                                'unserialize', array_unique(array_map('serialize',
                                    $total->getTotalsForDisplay()))
                            );
                            foreach ($uniqueTotalsForDisplay as $totalData) {
                                $label                = $this->fixNumberFormat($totalData['label']);
                                $lineBlock['lines'][] = array(
                                    array(
                                        'text'      => $label,
                                        'feed'      => $this->margin['right'] - 70,
                                        'align'     => 'right',
                                        'font_size' => $totalData['font_size'],
                                    ),
                                    array(
                                        'text'      => $totalData['amount'],
                                        'feed'      => $this->margin['right'],
                                        'align'     => 'right',
                                        'font_size' => $totalData['font_size'],
                                    ),
                                );
                            }
                        }
                    }
                    $page = $this->drawLineBlocks($page, array($lineBlock));

                    return $page;
                }


                /**
                 * 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 = $this->defaultFontSize;
                    $font     = $this->_setFontRegular($page, $fontSize);
                    $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, $this->defaultFontSize) 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();
                        }
                    }

                    return $page;
                }


                /**
                 * draw footer on pdf
                 *
                 * @param Zend_Pdf_Page $page  page to draw on
                 * @param mixed         $store store to get infos from
                 */
                protected function _addFooter($page, $store = null)
                {
                    // get the imprint of the store if a store is set
                    if (!empty($store)) {
                        $imprintObject = new Varien_Object();
                        $imprintObject->setImprint(Mage::getStoreConfig('general/imprint',
                            $store));
                        Mage::dispatchEvent('firegento_pdf_imprint_load_after', array(
                                'transport_object' => $imprintObject,
                            )
                        );
                        $this->_imprint = $imprintObject->getImprint();
                    }

                    // Add footer if GermanSetup is installed.
                    if ($this->_imprint
                        && Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1
                    ) {
                        $this->y = 110;
                        $this->_insertFooter($page);

                        // Add page counter.
                        $this->y = 110;
                        $this->_insertPageCounter($page);
                    }
                }

                /**
                 * Insert footer
                 *
                 * @param  Zend_Pdf_Page $page Current page object of Zend_Pdf
                 *
                 * @return void
                 */
                protected function _insertFooter($page)
                {
                    $page->setLineColor($this->colors['footer']);
                    $page->setFillColor($this->colors['footer']);
                    $page->setLineWidth(0.5);
                    $page->drawLine($this->margin['left'] - 20, $this->y - 5,
                        $this->margin['right'] + 30, $this->y - 5);

                    $this->Ln(15);
                    $this->_insertFooterAddress($page);

                    $fields = array(
                        'telephone' => Mage::helper('firegento_pdf')->__('Telephone:'),
                        'fax'       => Mage::helper('firegento_pdf')->__('Fax:'),
                        'email'     => Mage::helper('firegento_pdf')->__('E-Mail:'),
                        'web'       => Mage::helper('firegento_pdf')->__('Web:'),
                    );
                    $this->_insertFooterBlock($page, $fields, 70, 40, 140);

                    $fields = array(
                        'bank_name'          => Mage::helper('firegento_pdf')->__('Bank name:'),
                        'bank_account'       => Mage::helper('firegento_pdf')->__('Account:'),
                        'bank_code_number'   => Mage::helper('firegento_pdf')->__('Bank number:'),
                        'bank_account_owner' => Mage::helper('firegento_pdf')->__('Account owner:'),
                        'swift'              => Mage::helper('firegento_pdf')->__('SWIFT:'),
                        'iban'               => Mage::helper('firegento_pdf')->__('IBAN:'),
                    );
                    $this->_insertFooterBlock($page, $fields, 215, 50, 150);

                    $fields = array(
                        'tax_number'      => Mage::helper('firegento_pdf')->__('Tax number:'),
                        'vat_id'          => Mage::helper('firegento_pdf')->__('VAT-ID:'),
                        'register_number' => Mage::helper('firegento_pdf')->__('Register number:'),
                        'ceo'             => Mage::helper('firegento_pdf')->__('CEO:'),
                        'city'            => Mage::helper('firegento_pdf')->__('Registered seat:'),
                        'court'           => Mage::helper('firegento_pdf')->__('Register court:'),
                    );
                    $this->_insertFooterBlock($page, $fields, 365, 60, $this->margin['right'] - 375 - 10);

                    $page->setLineColor($this->colors['black']);
                    $page->setFillColor($this->colors['text']);
                }

                /**
                 * Insert footer block
                 *
                 * @param  Zend_Pdf_Page $page        Current page object of Zend_Pdf
                 * @param  array         $fields      Fields of footer
                 * @param  int           $colposition Starting colposition
                 * @param  int           $valadjust   Margin between label and value
                 * @param  int           $colwidth    the width of this footer block - text will be wrapped if it is broader
                 *                                    than this width
                 *
                 * @return void
                 */
                protected function _insertFooterBlock(
                    $page,
                    $fields,
                    $colposition = 0,
                    $valadjust = 30,
                    $colwidth = null
                ) {
                    $fontSize = 7;
                    $font     = $this->_setFontRegular($page, $fontSize);
                    $y        = $this->y;

                    $valposition = $colposition + $valadjust;

                    if (is_array($fields)) {
                        foreach ($fields as $field => $label) {
                            if (empty($this->_imprint[$field])) {
                                continue;
                            }
                            // draw the label
                            $page->drawText($label, $this->margin['left'] + $colposition, $y, $this->encoding);
                            // prepare the value: wrap it if necessary
                            $val   = $this->_imprint[$field];
                            $width = $colwidth;
                            if (!empty($colwidth)) {
                                // calculate the maximum width for the value
                                $width = $this->margin['left'] + $colposition + $colwidth - ($this->margin['left'] + $valposition);
                            }
                            foreach ($this->_prepareText($val, $page, $font, $fontSize, $width) as $tmpVal) {
                                $page->drawText($tmpVal, $this->margin['left'] + $valposition, $y, $this->encoding);
                                $y -= 12;
                            }
                        }
                    }
                }

                /**
                 * Insert address of store owner
                 *
                 * @param  Zend_Pdf_Page $page  Current page object of Zend_Pdf
                 * @param  mixed         $store store to get info from
                 *
                 * @return void
                 */
                protected function _insertFooterAddress($page, $store = null)
                {
                    $fontSize = 7;
                    $font     = $this->_setFontRegular($page, $fontSize);
                    $y        = $this->y;
                    $address  = '';

                    foreach ($this->_prepareText($this->_imprint['company_first'], $page, $font, $fontSize, 90) as $company1st) {
                        $address .= $company1st . "\n";
                    }

                    if (array_key_exists('company_second', $this->_imprint)) {
                        foreach ($this->_prepareText($this->_imprint['company_second'], $page, $font, $fontSize, 90) as $company2nd)
                        {
                            $address .= $company2nd . "\n";
                        }
                    }

                    if (array_key_exists('street', $this->_imprint)) {
                        $address .= $this->_imprint['street'] . "\n";
                    }
                    if (array_key_exists('zip', $this->_imprint)) {
                        $address .= $this->_imprint['zip'] . " ";
                    }
                    if (array_key_exists('city', $this->_imprint)) {
                        $address .= $this->_imprint['city'] . "\n";
                    }

                    if (!empty($this->_imprint['country'])) {
                        $countryName = Mage::getModel('directory/country')->loadByCode($this->_imprint['country'])->getName();
                        $address     .= Mage::helper('core')->__($countryName);
                    }

                    foreach (explode("\n", $address) as $value) {
                        if ($value !== '') {
                            $page->drawText(trim(strip_tags($value)), $this->margin['left'] - 20, $y, $this->encoding);
                            $y -= 12;
                        }
                    }
                }


                /**
                 * Insert page counter
                 *
                 * @param  Zend_Pdf_Page $page Current page object of Zend_Pdf
                 *
                 * @return void
                 */
                protected function _insertPageCounter($page)
                {
                    $font = $this->_setFontRegular($page, 9);
                    $page->setFillColor($this->colors['labels']);
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('Page') . ' ' . $this->pagecounter,
                        $this->margin['right'] - 23 - $this->widthForStringUsingFontSize($this->pagecounter, $font, 9),
                        $this->y,
                        $this->encoding
                    );
                    $page->setFillColor($this->colors['text']);
                }

                /**
                 * get stanard font
                 *
                 * @return Zend_Pdf_Resource_Font the regular font
                 */
                public function getFontRegular()
                {
                    if ($this->getRegularFont() && $this->regularFontFileExists()) {
                        return Zend_Pdf_Font::fontWithPath($this->getRegularFontFile());
                    }

                    return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
                }

                /**
                 * Set default font
                 *
                 * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
                 * @param  string|int    $size   Font size
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function _setFontRegular($object, $size = 10)
                {
                    $font = $this->getFontRegular();
                    $object->setFont($font, $size);

                    return $font;
                }

                /**
                 * get default bold font
                 *
                 * @return Zend_Pdf_Resource_Font the bold font
                 */
                public function getFontBold()
                {
                    if ($this->getBoldFont() && $this->boldFontFileExists()) {
                        return Zend_Pdf_Font::fontWithPath($this->getBoldFontFile());
                    }

                    return Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);
                }

                /**
                 * Set bold font
                 *
                 * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
                 * @param  string|int    $size   Font size
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function _setFontBold($object, $size = 10)
                {
                    $font = $this->getFontBold();
                    $object->setFont($font, $size);

                    return $font;
                }

                /**
                 * get italic font
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                public function getFontItalic()
                {
                    if ($this->getItalicFont() && $this->italicFontFileExists()) {
                        return Zend_Pdf_Font::fontWithPath($this->getItalicFontFile());
                    }

                    return Zend_Pdf_Font::fontWithName(
                        Zend_Pdf_Font::FONT_HELVETICA_ITALIC
                    );
                }

                /**
                 * Set italic font
                 *
                 * @param  Zend_Pdf_Page $object Current page object of Zend_Pdf
                 * @param  string|int    $size   Font size
                 *
                 * @return Zend_Pdf_Resource_Font
                 */
                protected function _setFontItalic($object, $size = 10)
                {
                    $font = $this->getFontItalic();
                    $object->setFont($font, $size);

                    return $font;
                }

                /**
                 * Prepares the text so that it fits to the given page's width.
                 *
                 * @param  string                 $text     the text which should be prepared
                 * @param  Zend_Pdf_Page          $page     the page on which the text will be rendered
                 * @param  Zend_Pdf_Resource_Font $font     the font with which the text will be rendered
                 * @param  int                    $fontSize the font size with which the text will be rendered
                 * @param  int                    $width    [optional] the width for the given text, defaults to the page width
                 *
                 * @return array the given text in an array where each item represents a new line
                 */
                public function _prepareText($text, $page, $font, $fontSize, $width = null)
                {
                    if (empty($text)) {
                        return array();
                    }
                    $lines       = '';
                    $currentLine = '';
                    // calculate the page's width with respect to the margins
                    if (empty($width)) {
                        $width
                            = $page->getWidth() - $this->margin['left'] - ($page->getWidth()
                                - $this->margin['right']);
                    }
                    // regular expression that splits on whitespaces and dashes based on http://stackoverflow.com/a/11758732/719023
                    $textChunks = preg_split('/([^\s-]+[\s-]+)/', $text, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
                    foreach ($textChunks as $textChunk) {
                        $textChunk = trim($textChunk);
                        if ($this->widthForStringUsingFontSize($currentLine . ' '
                                . $textChunk, $font, $fontSize) < $width
                        ) {
                            // do not add whitespace on first line
                            if (!empty($currentLine)) {
                                $currentLine .= ' ';
                            }
                            $currentLine .= $textChunk;
                        } else {
                            // text is too broad, so add new line character
                            $lines       .= $currentLine . "\n";
                            $currentLine = $textChunk;
                        }
                    }
                    // append the last line
                    $lines .= $currentLine;

                    return explode("\n", $lines);
                }

                /**
                 * Fix the percentage for taxes which come with four decimal places
                 * from magento core.
                 *
                 * @param  string $label tax label which contains the badly formatted tax percentage
                 *
                 * @return string
                 */
                protected function fixNumberFormat($label)
                {
                    $pattern = "/(.*)\((\d{1,2}\.\d{4}%)\)/";
                    if (preg_match($pattern, $label, $matches)) {
                        $percentage = Zend_Locale_Format::toNumber(
                            $matches[2],
                            array(
                                'locale'    => Mage::app()->getLocale()->getLocale(),
                                'precision' => 2,
                            )
                        );

                        return $matches[1] . '(' . $percentage . '%)';
                    }

                    return $label;
                }

                /**
                 * get bold font file
                 *
                 * @return string
                 */
                protected function getBoldFontFile()
                {
                    return Mage::helper('firegento_pdf')->getFontPath() . DS
                        . $this->getBoldFont();
                }

                /**
                 * get bold font path
                 *
                 * @return string
                 */
                protected function getBoldFont()
                {
                    return Mage::getStoreConfig(
                        FireGento_Pdf_Helper_Data::XML_PATH_BOLD_FONT
                    );
                }

                /**
                 * check whether font file exists for bold font
                 *
                 * @return bool
                 */
                protected function boldFontFileExists()
                {
                    return file_exists($this->getBoldFontFile());
                }

                /**
                 * get italic font path
                 *
                 * @return string
                 */
                protected function getItalicFont()
                {
                    return Mage::getStoreConfig(
                        FireGento_Pdf_Helper_Data::XML_PATH_ITALIC_FONT
                    );
                }

                /**
                 * check whether italic font file exists
                 *
                 * @return bool
                 */
                protected function ItalicFontFileExists()
                {
                    return file_exists($this->getItalicFontFile());
                }

                /**
                 * get italic font file
                 *
                 * @return string
                 */
                protected function getItalicFontFile()
                {
                    return Mage::helper('firegento_pdf')->getFontPath() . DS . $this->getItalicFont();
                }

                /**
                 * get the regular font path
                 *
                 * @return string
                 */
                protected function getRegularFont()
                {
                    return Mage::getStoreConfig(
                        FireGento_Pdf_Helper_Data::XML_PATH_REGULAR_FONT
                    );
                }

                /**
                 * check whether font file exists for regular font
                 *
                 * @return bool
                 */
                protected function regularFontFileExists()
                {
                    return file_exists($this->getRegularFontFile());
                }

                /**
                 * get the path to the font file for regular font
                 *
                 * @return string
                 */
                protected function getRegularFontFile()
                {
                    return Mage::helper('firegento_pdf')->getFontPath() . DS
                        . $this->getRegularFont();
                }

                /**
                 * @return string
                 */
                private function getPageSize()
                {
                    return Mage::helper('firegento_pdf')->getPageSizeConfigPath();
                }
            }

            Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
            diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xhtml index bf1ab0d..105a247 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Default.php

            Source of file Default.php

            - Size: 6,444 Bytes - Last Modified: 2014-10-26T15:22:24+01:00

            /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php

            123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
            <?php
            /**
             * This file is part of the FIREGENTO project.
             *
             * FireGento_Pdf is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License version 3 as
             * published by the Free Software Foundation.
             *
             * This script is distributed in the hope that it will be useful, but WITHOUT
             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
             *
             * PHP version 5
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2013 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             * @version   $Id:$
             * @since     0.1.0
             */
            /**
             * Creditmemo model rewrite.
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2013 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             * @version   $Id:$
             * @since     0.1.0
             */
            class FireGento_Pdf_Model_Engine_Creditmemo_Default extends FireGento_Pdf_Model_Engine_Abstract
            {

                /**
                 * constructor to set mode to creditmemo
                 */
                public function __construct()
                {
                    parent::__construct();
                    $this->setMode('creditmemo');
                }

                /**
                 * Return PDF document
                 *
                 * @param  array $creditmemos creditmemos to generate pdfs for
                 *
                 * @return Zend_Pdf
                 */
                public function getPdf($creditmemos = array())
                {
                    $this->_beforeGetPdf();
                    $this->_initRenderer('creditmemo');

                    $pdf = new Zend_Pdf();
                    $this->_setPdf($pdf);

                    foreach ($creditmemos as $creditmemo) {
                        // pagecounter is 0 at the beginning, because it is incremented in newPage()
                        $this->pagecounter = 0;
                        if ($creditmemo->getStoreId()) {
                            Mage::app()->getLocale()->emulate($creditmemo->getStoreId());
                            Mage::app()->setCurrentStore($creditmemo->getStoreId());
                        }
                        $order = $creditmemo->getOrder();
                        $this->setOrder($order);

                        $page = $this->newPage(array());

                        $this->insertAddressesAndHeader($page, $creditmemo, $order);

                        $this->_setFontRegular($page, 9);
                        $this->_drawHeader($page);

                        $this->y -= 20;

                        $position = 0;

                        foreach ($creditmemo->getAllItems() as $item) {
                            if ($item->getOrderItem()->getParentItem()) {
                                continue;
                            }
                            /* Draw item */
                            $position++;
                            $this->_drawItem($item, $page, $order, $position);
                            $page = end($pdf->pages);
                        }

                        /* add line after items */
                        $page->drawLine($this->margin['left'], $this->y + 5, $this->margin['right'], $this->y + 5);

                        /* Add totals */
                        $page = $this->insertTotals($page, $creditmemo);

                        /* add note */
                        $page = $this->_insertNote($page, $order, $creditmemo);

                        // Add footer
                        $this->_addFooter($page, $creditmemo->getStore());
                    }

                    $this->_afterGetPdf();

                    if ($creditmemo->getStoreId()) {
                        Mage::app()->getLocale()->revert();
                    }
                    return $pdf;
                }

                /**
                 * Draw table header for product items
                 *
                 * @param  Zend_Pdf_Page $page page to draw on
                 *
                 * @return void
                 */
                protected function _drawHeader(Zend_Pdf_Page $page)
                {
                    $page->setFillColor($this->colors['grey1']);
                    $page->setLineColor($this->colors['grey1']);
                    $page->setLineWidth(1);
                    $page->drawRectangle($this->margin['left'], $this->y, $this->margin['right'], $this->y - 15);

                    $page->setFillColor($this->colors['black']);
                    $font = $this->_setFontRegular($page, 9);

                    $this->y -= 11;
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('Pos'),
                        $this->margin['left'] + 3,
                        $this->y,
                        $this->encoding
                    );
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('No.'),
                        $this->margin['left'] + 25,
                        $this->y,
                        $this->encoding
                    );
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('Description'),
                        $this->margin['left'] + 120,
                        $this->y,
                        $this->encoding
                    );

                    $singlePrice = Mage::helper('firegento_pdf')->__('Price (excl. tax)');
                    $page->drawText(
                        $singlePrice,
                        $this->margin['right'] - 153 - $this->widthForStringUsingFontSize($singlePrice, $font, 9),
                        $this->y,
                        $this->encoding
                    );

                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('Qty'),
                        $this->margin['left'] + 360,
                        $this->y,
                        $this->encoding
                    );

                    $taxLabel = Mage::helper('firegento_pdf')->__('Tax');
                    $page->drawText(
                        $taxLabel,
                        $this->margin['right'] - 65 - $this->widthForStringUsingFontSize($taxLabel, $font, 9),
                        $this->y,
                        $this->encoding
                    );

                    $totalLabel = Mage::helper('firegento_pdf')->__('Total');
                    $page->drawText(
                        $totalLabel,
                        $this->margin['right'] - 10 - $this->widthForStringUsingFontSize($totalLabel, $font, 10),
                        $this->y,
                        $this->encoding
                    );
                }

                /**
                 * Initialize renderer process.
                 *
                 * @param  string $type renderer type to initialize
                 *
                 * @return void
                 */
                protected function _initRenderer($type)
                {
                    parent::_initRenderer($type);

                    $this->_renderers['default'] = array(
                        'model'    => 'firegento_pdf/items_default',
                        'renderer' => null
                    );
                    $this->_renderers['grouped'] = array(
                        'model'    => 'firegento_pdf/items_grouped',
                        'renderer' => null
                    );
                    $this->_renderers['bundle'] = array(
                        'model'    => 'firegento_pdf/items_bundle',
                        'renderer' => null
                    );
                    $this->_renderers['downloadable'] = array(
                        'model'    => 'firegento_pdf/items_downloadable',
                        'renderer' => null
                    );
                }

            }

            + Size: 7,345 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

            /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php

            123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
            <?php
            /**
             * This file is part of a FireGento e.V. module.
             *
             * This FireGento e.V. module is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License version 3 as
             * published by the Free Software Foundation.
             *
             * This script is distributed in the hope that it will be useful, but WITHOUT
             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
             *
             * PHP version 5
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             * @copyright 2014 FireGento Team (http://www.firegento.com)
             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
             */
            /**
             * Creditmemo model rewrite.
             *
             * @category  FireGento
             * @package   FireGento_Pdf
             * @author    FireGento Team <team@firegento.com>
             */
            class FireGento_Pdf_Model_Engine_Creditmemo_Default extends FireGento_Pdf_Model_Engine_Abstract
            {

                /**
                 * constructor to set mode to creditmemo
                 */
                public function __construct()
                {
                    parent::__construct();
                    $this->setMode('creditmemo');
                }

                /**
                 * Return PDF document
                 *
                 * @param  array $creditmemos creditmemos to generate pdfs for
                 *
                 * @return Zend_Pdf
                 */
                public function getPdf($creditmemos = array())
                {
                    $currentStore = Mage::app()->getStore()->getCode();
                    $this->_beforeGetPdf();
                    $this->_initRenderer('creditmemo');

                    $pdf = new Zend_Pdf();
                    $this->_setPdf($pdf);

                    foreach ($creditmemos as $creditmemo) {
                        // pagecounter is 0 at the beginning, because it is incremented in newPage()
                        $this->pagecounter = 0;
                        if ($creditmemo->getStoreId()) {
                            Mage::app()->getLocale()->emulate($creditmemo->getStoreId());
                            Mage::app()->setCurrentStore($creditmemo->getStoreId());
                        }

                        $order = $creditmemo->getOrder();
                        $this->setOrder($order);

                        $page = $this->newPage(array());

                        $this->insertAddressesAndHeader($page, $creditmemo, $order);

                        $this->_setFontRegular($page, 9);
                        $this->_drawHeader($page);

                        $this->y -= 20;

                        $position = 0;

                        foreach ($creditmemo->getAllItems() as $item) {
                            if ($item->getOrderItem()->getParentItem()) {
                                continue;
                            }

                            /* Draw item */
                            $position++;
                            $this->_drawItem($item, $page, $order, $position);
                            $page = end($pdf->pages);
                        }

                        /* add line after items */
                        $page->drawLine($this->margin['left'], $this->y + 5, $this->margin['right'], $this->y + 5);

                        /* Add totals */
                        $page = $this->insertTotals($page, $creditmemo);

                        /* add note */
                        $page = $this->_insertNote($page, $order, $creditmemo);

                        // Add footer
                        $this->_addFooter($page, $creditmemo->getStore());

                        if ($creditmemo->getStoreId()) {
                            Mage::app()->getLocale()->revert();
                        }
                    }

                    // Revert back to the original current store
                    Mage::app()->setCurrentStore($currentStore);

                    $this->_afterGetPdf();

                    return $pdf;
                }

                /**
                 * Draw table header for product items
                 *
                 * @param  Zend_Pdf_Page $page page to draw on
                 *
                 * @return void
                 */
                protected function _drawHeader(Zend_Pdf_Page $page)
                {
                    $page->setFillColor($this->colors['header']);
                    $page->setLineColor($this->colors['header']);
                    $page->setLineWidth(1);
                    $page->drawRectangle($this->margin['left'], $this->y, $this->margin['right'], $this->y - 15);

                    $page->setFillColor($this->colors['black']);
                    $font = $this->_setFontRegular($page, 9);

                    $this->y -= 11;
                    $page->drawText(Mage::helper('firegento_pdf')->__('Pos'), $this->margin['left'] + 3, $this->y, $this->encoding);
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('No.'), $this->margin['left'] + 25, $this->y, $this->encoding
                    );
                    $page->drawText(
                        Mage::helper('firegento_pdf')->__('Description'), $this->margin['left'] + 130, $this->y, $this->encoding
                    );

                    $columns = array();
                    $columns['price'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Price'),
                        '_width' => 60
                    );
                    $columns['price_incl_tax'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Price (incl. tax)'),
                        '_width' => 60
                    );
                    $columns['qty'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Qty'),
                        '_width' => 40
                    );
                    $columns['tax'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Tax'),
                        '_width' => 50
                    );
                    $columns['tax_rate'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Tax rate'),
                        '_width' => 50
                    );
                    $columns['subtotal'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Total'),
                        '_width' => 50
                    );
                    $columns['subtotal_incl_tax'] = array(
                        'label'  => Mage::helper('firegento_pdf')->__('Total (incl. tax)'),
                        '_width' => 70
                    );
                    // draw price, tax, and subtotal in specified order
                    $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                    // draw starting from right
                    $columnsOrder = array_reverse($columnsOrder);
                    $columnOffset = 0;
                    foreach ($columnsOrder as $columnName) {
                        $columnName = trim($columnName);
                        if (array_key_exists($columnName, $columns)) {
                            $column = $columns[$columnName];
                            $labelWidth = $this->widthForStringUsingFontSize($column['label'], $font, 9);
                            $page->drawText(
                                $column['label'],
                                $this->margin['right'] - $columnOffset - $labelWidth,
                                $this->y,
                                $this->encoding
                            );
                            $columnOffset += $column['_width'];
                        }
                    }
                }

                /**
                 * Initialize renderer process.
                 *
                 * @param  string $type renderer type to initialize
                 *
                 * @return void
                 */
                protected function _initRenderer($type)
                {
                    parent::_initRenderer($type);

                    $this->_renderers['default'] = array(
                        'model'    => 'firegento_pdf/items_default',
                        'renderer' => null
                    );
                    $this->_renderers['grouped'] = array(
                        'model'    => 'firegento_pdf/items_grouped',
                        'renderer' => null
                    );
                    $this->_renderers['bundle'] = array(
                        'model'    => 'firegento_pdf/items_bundle',
                        'renderer' => null
                    );
                    $this->_renderers['downloadable'] = array(
                        'model'    => 'firegento_pdf/items_downloadable',
                        'renderer' => null
                    );
                    $this->_renderers['ugiftcert'] = array(
                        'model'    => 'firegento_pdf/items_unirgy_default',
                        'renderer' => null
                    );
                }

            }

            Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
            diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/index.xhtml index 6c9eafc..1aca67c 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

            Source of FireGento_Pdf

            - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

            • @@ -101,9 +101,9 @@ Default.php - 6.3 KB + 7.2 KB - 2014-10-26T15:22:24+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xhtml index 70c1ed2..00e784e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Default.php

              Source of file Default.php

              - Size: 7,266 Bytes - Last Modified: 2014-11-08T19:25:48+01:00

              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php

              123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
              <?php
              /**
               * This file is part of the FIREGENTO project.
               *
               * FireGento_Pdf is free software; you can redistribute it and/or
               * modify it under the terms of the GNU General Public License version 3 as
               * published by the Free Software Foundation.
               *
               * This script is distributed in the hope that it will be useful, but WITHOUT
               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
               *
               * PHP version 5
               *
               * @category  FireGento
               * @package   FireGento_Pdf
               * @author    FireGento Team <team@firegento.com>
               * @copyright 2013 FireGento Team (http://www.firegento.com)
               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
               * @version   $Id:$
               * @since     0.1.0
               */
              /**
               * Default invoice rendering engine.
               *
               * @category  FireGento
               * @package   FireGento_Pdf
               * @author    FireGento Team <team@firegento.com>
               * @copyright 2013 FireGento Team (http://www.firegento.com)
               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
               * @version   $Id:$
               * @since     0.1.0
               */
              class FireGento_Pdf_Model_Engine_Invoice_Default extends FireGento_Pdf_Model_Engine_Abstract
              {

                  /**
                   * constructor to set mode to invoice
                   */
                  public function __construct()
                  {
                      parent::__construct();
                      $this->setMode('invoice');
                  }

                  /**
                   * Return PDF document
                   *
                   * @param  array $invoices invoices to render pdfs for
                   *
                   * @return Zend_Pdf
                   */
                  public function getPdf($invoices = array())
                  {
                      $this->_beforeGetPdf();
                      $this->_initRenderer('invoice');

                      $pdf = new Zend_Pdf();
                      $this->_setPdf($pdf);

                      foreach ($invoices as $invoice) {
                          // pagecounter is 0 at the beginning, because it is incremented in newPage()
                          $this->pagecounter = 0;
                          if ($invoice->getStoreId()) {
                              Mage::app()->getLocale()->emulate($invoice->getStoreId());
                              Mage::app()->setCurrentStore($invoice->getStoreId());
                          }
                          $order = $invoice->getOrder();
                          $this->setOrder($order);

                          $page = $this->newPage();

                          $this->insertAddressesAndHeader($page, $invoice, $order);

                          $this->_setFontRegular($page, 9);
                          $this->insertTableHeader($page);

                          $this->y -= 20;

                          $position = 0;

                          foreach ($invoice->getAllItems() as $item) {
                              if ($item->getOrderItem()->getParentItem()) {
                                  continue;
                              }

                              $showFooter = Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer');
                              if ($this->y < 50 || ($showFooter == 1 && $this->y < 100)) {
                                  $page = $this->newPage(array());
                              }

                              $position++;
                              $page = $this->_drawItem($item, $page, $order, $position);
                          }

                          /* add line after items */
                          $page->drawLine($this->margin['left'], $this->y + 5, $this->margin['right'], $this->y + 5);

                          /* add totals */
                          $page = $this->insertTotals($page, $invoice);

                          /* add note */
                          $page = $this->_insertNote($page, $order, $invoice);

                          // Add footer
                          $this->_addFooter($page, $invoice->getStore());
                      }

                      $this->_afterGetPdf();

                      return $pdf;
                  }

                  /**
                   * Insert Table Header for Items
                   *
                   * @param  Zend_Pdf_Page &$page current page object of Zend_PDF
                   *
                   * @return void
                   */
                  protected function insertTableHeader(&$page)
                  {
                      $page->setFillColor($this->colors['grey1']);
                      $page->setLineColor($this->colors['grey1']);
                      $page->setLineWidth(1);
                      $page->drawRectangle($this->margin['left'], $this->y, $this->margin['right'], $this->y - 15);

                      $page->setFillColor($this->colors['black']);
                      $font = $this->_setFontRegular($page, 9);

                      $this->y -= 11;
                      $page->drawText(Mage::helper('firegento_pdf')->__('Pos'), $this->margin['left'] + 3, $this->y, $this->encoding);
                      $page->drawText(
                          Mage::helper('firegento_pdf')->__('No.'), $this->margin['left'] + 25, $this->y, $this->encoding
                      );
                      $page->drawText(
                          Mage::helper('firegento_pdf')->__('Description'), $this->margin['left'] + 130, $this->y, $this->encoding
                      );

                      $columns = array();
                      $columns['price'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Price'),
                          '_width' => 60
                      );
                      $columns['price_incl_tax'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Price (incl. tax)'),
                          '_width' => 60
                      );
                      $columns['qty'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Qty'),
                          '_width' => 40
                      );
                      $columns['tax'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Tax'),
                          '_width' => 50
                      );
                      $columns['tax_rate'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Tax rate'),
                          '_width' => 50
                      );
                      $columns['subtotal'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Total'),
                          '_width' => 50
                      );
                      $columns['subtotal_incl_tax'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Total (incl. tax)'),
                          '_width' => 70
                      );
                      // draw price, tax, and subtotal in specified order
                      $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                      // draw starting from right
                      $columnsOrder = array_reverse($columnsOrder);
                      $columnOffset = 0;
                      foreach ($columnsOrder as $columnName) {
                          $columnName = trim($columnName);
                          if (array_key_exists($columnName, $columns)) {
                              $column = $columns[$columnName];
                              $labelWidth = $this->widthForStringUsingFontSize($column['label'], $font, 9);
                              $page->drawText(
                                  $column['label'],
                                  $this->margin['right'] - $columnOffset - $labelWidth,
                                  $this->y,
                                  $this->encoding
                              );
                              $columnOffset += $column['_width'];
                          }
                      }
                  }

                  /**
                   * Initialize renderer process
                   *
                   * @param  string $type renderer type to be initialized
                   *
                   * @return void
                   */
                  protected function _initRenderer($type)
                  {
                      parent::_initRenderer($type);

                      $this->_renderers['default'] = array(
                          'model'    => 'firegento_pdf/items_default',
                          'renderer' => null
                      );
                      $this->_renderers['grouped'] = array(
                          'model'    => 'firegento_pdf/items_grouped',
                          'renderer' => null
                      );
                      $this->_renderers['bundle'] = array(
                          'model'    => 'firegento_pdf/items_bundle',
                          'renderer' => null
                      );
                      $this->_renderers['downloadable'] = array(
                          'model'    => 'firegento_pdf/items_downloadable',
                          'renderer' => null
                      );
                  }

              }

              + Size: 7,472 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php

              123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
              <?php
              /**
               * This file is part of a FireGento e.V. module.
               *
               * This FireGento e.V. module is free software; you can redistribute it and/or
               * modify it under the terms of the GNU General Public License version 3 as
               * published by the Free Software Foundation.
               *
               * This script is distributed in the hope that it will be useful, but WITHOUT
               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
               *
               * PHP version 5
               *
               * @category  FireGento
               * @package   FireGento_Pdf
               * @author    FireGento Team <team@firegento.com>
               * @copyright 2014 FireGento Team (http://www.firegento.com)
               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
               */
              /**
               * Default invoice rendering engine.
               *
               * @category  FireGento
               * @package   FireGento_Pdf
               * @author    FireGento Team <team@firegento.com>
               */
              class FireGento_Pdf_Model_Engine_Invoice_Default extends FireGento_Pdf_Model_Engine_Abstract
              {

                  /**
                   * constructor to set mode to invoice
                   */
                  public function __construct()
                  {
                      parent::__construct();
                      $this->setMode('invoice');
                  }

                  /**
                   * Return PDF document
                   *
                   * @param  array $invoices invoices to render pdfs for
                   *
                   * @return Zend_Pdf
                   */
                  public function getPdf($invoices = array())
                  {
                      $currentStore = Mage::app()->getStore()->getCode();
                      $this->_beforeGetPdf();
                      $this->_initRenderer('invoice');

                      $pdf = new Zend_Pdf();
                      $this->_setPdf($pdf);

                      foreach ($invoices as $invoice) {
                          // pagecounter is 0 at the beginning, because it is incremented in newPage()
                          $this->pagecounter = 0;
                          if ($invoice->getStoreId()) {
                              Mage::app()->getLocale()->emulate($invoice->getStoreId());
                              Mage::app()->setCurrentStore($invoice->getStoreId());
                          }

                          $order = $invoice->getOrder();
                          $this->setOrder($order);

                          $page = $this->newPage();

                          $this->insertAddressesAndHeader($page, $invoice, $order);

                          $this->_setFontRegular($page, 9);
                          $this->insertTableHeader($page);

                          $this->y -= 20;

                          $position = 0;

                          foreach ($invoice->getAllItems() as $item) {
                              if ($item->getOrderItem()->getParentItem()) {
                                  continue;
                              }

                              $showFooter = Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer');
                              if ($this->y < 50 || ($showFooter == 1 && $this->y < 100)) {
                                  $page = $this->newPage(array());
                              }

                              $position++;
                              $page = $this->_drawItem($item, $page, $order, $position);
                          }

                          /* add line after items */
                          $page->drawLine($this->margin['left'], $this->y + 5, $this->margin['right'], $this->y + 5);

                          /* add totals */
                          $page = $this->insertTotals($page, $invoice);

                          /* add note */
                          $page = $this->_insertNote($page, $order, $invoice);

                          // Add footer
                          $this->_addFooter($page, $invoice->getStore());

                          if ($invoice->getStoreId()) {
                              Mage::app()->getLocale()->revert();
                          }
                      }

                      // Revert back to the original current store
                      Mage::app()->setCurrentStore($currentStore);

                      $this->_afterGetPdf();

                      return $pdf;
                  }

                  /**
                   * Insert Table Header for Items
                   *
                   * @param  Zend_Pdf_Page $page current page object of Zend_PDF
                   *
                   * @return void
                   */
                  protected function insertTableHeader($page)
                  {
                      $page->setFillColor($this->colors['header']);
                      $page->setLineColor($this->colors['header']);
                      $page->setLineWidth(1);
                      $page->drawRectangle($this->margin['left'], $this->y, $this->margin['right'], $this->y - 15);

                      $page->setFillColor($this->colors['black']);
                      $font = $this->_setFontRegular($page, 9);

                      $this->y -= 11;
                      $page->drawText(Mage::helper('firegento_pdf')->__('Pos'), $this->margin['left'] + 3, $this->y, $this->encoding);
                      $page->drawText(
                          Mage::helper('firegento_pdf')->__('No.'), $this->margin['left'] + 25, $this->y, $this->encoding
                      );
                      $page->drawText(
                          Mage::helper('firegento_pdf')->__('Description'), $this->margin['left'] + 130, $this->y, $this->encoding
                      );

                      $columns = array();
                      $columns['price'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Price'),
                          '_width' => 60
                      );
                      $columns['price_incl_tax'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Price (incl. tax)'),
                          '_width' => 60
                      );
                      $columns['qty'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Qty'),
                          '_width' => 40
                      );
                      $columns['tax'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Tax'),
                          '_width' => 50
                      );
                      $columns['tax_rate'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Tax rate'),
                          '_width' => 50
                      );
                      $columns['subtotal'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Total'),
                          '_width' => 50
                      );
                      $columns['subtotal_incl_tax'] = array(
                          'label'  => Mage::helper('firegento_pdf')->__('Total (incl. tax)'),
                          '_width' => 70
                      );
                      // draw price, tax, and subtotal in specified order
                      $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                      // draw starting from right
                      $columnsOrder = array_reverse($columnsOrder);
                      $columnOffset = 0;
                      foreach ($columnsOrder as $columnName) {
                          $columnName = trim($columnName);
                          if (array_key_exists($columnName, $columns)) {
                              $column = $columns[$columnName];
                              $labelWidth = $this->widthForStringUsingFontSize($column['label'], $font, 9);
                              $page->drawText(
                                  $column['label'],
                                  $this->margin['right'] - $columnOffset - $labelWidth,
                                  $this->y,
                                  $this->encoding
                              );
                              $columnOffset += $column['_width'];
                          }
                      }
                  }

                  /**
                   * Initialize renderer process
                   *
                   * @param  string $type renderer type to be initialized
                   *
                   * @return void
                   */
                  protected function _initRenderer($type)
                  {
                      parent::_initRenderer($type);

                      $this->_renderers['default'] = array(
                          'model'    => 'firegento_pdf/items_default',
                          'renderer' => null
                      );
                      $this->_renderers['grouped'] = array(
                          'model'    => 'firegento_pdf/items_grouped',
                          'renderer' => null
                      );
                      $this->_renderers['bundle'] = array(
                          'model'    => 'firegento_pdf/items_bundle',
                          'renderer' => null
                      );
                      $this->_renderers['downloadable'] = array(
                          'model'    => 'firegento_pdf/items_downloadable',
                          'renderer' => null
                      );
                      $this->_renderers['ugiftcert'] = array(
                          'model'    => 'firegento_pdf/items_unirgy_default',
                          'renderer' => null
                      );
                  }

              }

              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/index.xhtml index 61f5ac8..9eb70c3 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Invoice/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

              Source of FireGento_Pdf

              - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

              • @@ -101,9 +101,9 @@ Default.php - 7.1 KB + 7.3 KB - 2014-11-08T19:25:48+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xhtml index dbf309c..7233ae2 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Default.php

                Source of file Default.php

                - Size: 6,225 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

                /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php

                123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
                <?php
                /**
                 * This file is part of the FIREGENTO project.
                 *
                 * FireGento_Pdf is free software; you can redistribute it and/or
                 * modify it under the terms of the GNU General Public License version 3 as
                 * published by the Free Software Foundation.
                 *
                 * This script is distributed in the hope that it will be useful, but WITHOUT
                 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                 *
                 * PHP version 5
                 *
                 * @category  FireGento
                 * @package   FireGento_Pdf
                 * @author    FireGento Team <team@firegento.com>
                 * @copyright 2013 FireGento Team (http://www.firegento.com)
                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                 * @version   $Id:$
                 * @since     0.1.0
                 */

                /**
                 * Shipment model rewrite.
                 *
                 * @category  FireGento
                 * @package   FireGento_Pdf
                 * @author    FireGento Team <team@firegento.com>
                 * @copyright 2013 FireGento Team (http://www.firegento.com)
                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                 * @version   $Id:$
                 * @since     0.1.0
                 */
                class FireGento_Pdf_Model_Engine_Shipment_Default
                    extends FireGento_Pdf_Model_Engine_Abstract
                {

                    /**
                     * constructor to set shipping mode
                     */
                    public function __construct()
                    {
                        parent::__construct();
                        $this->setMode('shipment');
                    }

                    /**
                     * Return PDF document
                     *
                     * @param  array $shipments list of shipments to generate pdfs for
                     *
                     * @return Zend_Pdf
                     */
                    public function getPdf($shipments = array())
                    {
                        $this->_beforeGetPdf();
                        $this->_initRenderer('shipment');

                        $pdf = new Zend_Pdf();
                        $this->_setPdf($pdf);

                        foreach ($shipments as $shipment) {
                            // pagecounter is 0 at the beginning, because it is incremented in newPage()
                            $this->pagecounter = 0;
                            if ($shipment->getStoreId()) {
                                Mage::app()->getLocale()->emulate($shipment->getStoreId());
                                Mage::app()->setCurrentStore($shipment->getStoreId());
                            }
                            $order = $shipment->getOrder();
                            $this->setOrder($order);

                            $page = $this->newPage(array());

                            $this->insertAddressesAndHeader($page, $shipment, $order);

                            $this->_setFontRegular($page, 9);
                            $this->insertTableHeader($page);

                            $this->y -= 20;

                            $position = 0;

                            foreach ($shipment->getAllItems() as $item) {
                                if ($item->getOrderItem()->getParentItem()) {
                                    continue;
                                }

                                if ($this->y < 50
                                    || (Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer')
                                        == 1
                                        && $this->y < 100)
                                ) {
                                    $page = $this->newPage(array());
                                }

                                $position++;
                                $page = $this->_drawItem($item, $page, $order, $position);
                            }

                            /* add note */
                            $page = $this->_insertNote($page, $order, $shipment);

                            // Add footer
                            $this->_addFooter($page, $shipment->getStore());
                        }

                        $this->_afterGetPdf();

                        return $pdf;
                    }

                    /**
                     * Inserts the customer's shipping address.
                     *
                     * @param  Zend_Pdf_Page          &$page current page object of Zend_Pdf
                     * @param  Mage_Sales_Model_Order $order order object
                     *
                     * @return void
                     */
                    protected function _insertCustomerAddress(&$page, $order)
                    {
                        $this->_setFontRegular($page, 9);
                        $shipping = $this->_formatAddress($order->getShippingAddress()
                                ->format('pdf'));
                        foreach ($shipping as $line) {
                            $page->drawText(trim(strip_tags($line)), $this->margin['left'],
                                $this->y, $this->encoding);
                            $this->Ln(12);
                        }
                    }

                    /**
                     * insert the table header of the shipment
                     *
                     * @param Zend_Pdf_Page $page page to write on
                     */
                    protected function insertTableHeader($page)
                    {
                        $page->setFillColor($this->colors['grey1']);
                        $page->setLineColor($this->colors['grey1']);
                        $page->setLineWidth(1);
                        $page->drawRectangle($this->margin['left'], $this->y,
                            $this->margin['right'] - 10, $this->y - 15);

                        $page->setFillColor($this->colors['black']);
                        $this->_setFontRegular($page, 9);

                        $this->y -= 11;
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('No.'),
                            $this->margin['left'],
                            $this->y,
                            $this->encoding
                        );
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Description'),
                            $this->margin['left'] + 105,
                            $this->y,
                            $this->encoding
                        );

                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Qty'),
                            $this->margin['left'] + 450,
                            $this->y,
                            $this->encoding
                        );
                    }

                    /**
                     * insert address into pdf
                     *
                     * @param Zend_Pdf_Page          $page  to insert addres into
                     * @param Mage_Sales_Model_Order $order order to get address from
                     */
                    protected function insertShippingAddress($page, $order)
                    {
                        $this->_setFontRegular($page, 9);

                        $billing = $this->_formatAddress($order->getShippingAddress()
                                ->format('pdf'));

                        foreach ($billing as $line) {
                            $page->drawText(trim(strip_tags($line)), $this->margin['left'],
                                $this->y, $this->encoding);
                            $this->Ln(12);
                        }
                    }

                    /**
                     * Initialize renderer process.
                     *
                     * @param  string $type type to be initialized
                     *
                     * @return void
                     */
                    protected function _initRenderer($type)
                    {
                        parent::_initRenderer($type);

                        $this->_renderers['default'] = array(
                            'model'    => 'firegento_pdf/items_shipment_default',
                            'renderer' => null
                        );
                        $this->_renderers['bundle'] = array(
                            'model'    => 'firegento_pdf/items_shipment_bundle',
                            'renderer' => null
                        );
                    }

                }

                + Size: 8,254 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php

                123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
                <?php
                /**
                 * This file is part of a FireGento e.V. module.
                 *
                 * This FireGento e.V. module is free software; you can redistribute it and/or
                 * modify it under the terms of the GNU General Public License version 3 as
                 * published by the Free Software Foundation.
                 *
                 * This script is distributed in the hope that it will be useful, but WITHOUT
                 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                 *
                 * PHP version 5
                 *
                 * @category  FireGento
                 * @package   FireGento_Pdf
                 * @author    FireGento Team <team@firegento.com>
                 * @copyright 2014 FireGento Team (http://www.firegento.com)
                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                 */
                /**
                 * Shipment model rewrite.
                 *
                 * @category  FireGento
                 * @package   FireGento_Pdf
                 * @author    FireGento Team <team@firegento.com>
                 */
                class FireGento_Pdf_Model_Engine_Shipment_Default
                    extends FireGento_Pdf_Model_Engine_Abstract
                {

                    /**
                     * constructor to set shipping mode
                     */
                    public function __construct()
                    {
                        parent::__construct();
                        $this->setMode('shipment');
                    }

                    /**
                     * Return PDF document
                     *
                     * @param  array $shipments list of shipments to generate pdfs for
                     *
                     * @return Zend_Pdf
                     */
                    public function getPdf($shipments = array())
                    {
                        $currentStore = Mage::app()->getStore()->getCode();
                        $this->_beforeGetPdf();
                        $this->_initRenderer('shipment');

                        $pdf = new Zend_Pdf();
                        $this->_setPdf($pdf);

                        foreach ($shipments as $shipment) {
                            // pagecounter is 0 at the beginning, because it is incremented in newPage()
                            $this->pagecounter = 0;
                            if ($shipment->getStoreId()) {
                                Mage::app()->getLocale()->emulate($shipment->getStoreId());
                                Mage::app()->setCurrentStore($shipment->getStoreId());
                            }

                            $order = $shipment->getOrder();
                            $this->setOrder($order);

                            $page = $this->newPage(array());

                            $this->insertAddressesAndHeader($page, $shipment, $order);

                            $this->_setFontRegular($page, 9);
                            $this->insertTableHeader($page);

                            $this->y -= 20;

                            $position = 0;

                            foreach ($shipment->getAllItems() as $item) {
                                if ($item->getOrderItem()->getParentItem()) {
                                    continue;
                                }

                                if ($this->y < 50
                                    || (Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer')
                                        == 1
                                        && $this->y < 100)
                                ) {
                                    $page = $this->newPage(array());
                                }

                                $position++;
                                $page = $this->_drawItem($item, $page, $order, $position);
                            }

                            /* add shipment tracks */
                            $page = $this->_printShipmentTracks($page, $order, $shipment);

                            /* add note */
                            $page = $this->_insertNote($page, $order, $shipment);

                            // Add footer
                            $this->_addFooter($page, $shipment->getStore());

                            if ($shipment->getStoreId()) {
                                Mage::app()->getLocale()->revert();
                            }
                        }

                        // Revert back to the original current store
                        Mage::app()->setCurrentStore($currentStore);

                        $this->_afterGetPdf();

                        return $pdf;
                    }

                    /**
                     * Inserts the customer's shipping address.
                     *
                     * @param  Zend_Pdf_Page          $page current page object of Zend_Pdf
                     * @param  Mage_Sales_Model_Order $order order object
                     *
                     * @return void
                     */
                    protected function _insertCustomerAddress($page, $order)
                    {
                        $this->_setFontRegular($page, 9);
                        $shipping = $this->_formatAddress($order->getShippingAddress()->format('pdf'));
                        foreach ($shipping as $line) {
                            $page->drawText(trim(strip_tags($line)), $this->margin['left'], $this->y, $this->encoding);
                            $this->Ln(12);
                        }
                    }

                    /**
                     * insert the table header of the shipment
                     *
                     * @param Zend_Pdf_Page $page page to write on
                     */
                    protected function insertTableHeader($page)
                    {
                        $page->setFillColor($this->colors['header']);
                        $page->setLineColor($this->colors['header']);
                        $page->setLineWidth(1);
                        $page->drawRectangle($this->margin['left'], $this->y, $this->margin['right'] - 10, $this->y - 15);

                        $page->setFillColor($this->colors['black']);
                        $this->_setFontRegular($page, 9);

                        $this->y -= 11;
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('No.'),
                            $this->margin['left'],
                            $this->y,
                            $this->encoding
                        );
                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Description'),
                            $this->margin['left'] + 105,
                            $this->y,
                            $this->encoding
                        );

                        $page->drawText(
                            Mage::helper('firegento_pdf')->__('Qty'),
                            $this->margin['left'] + 450,
                            $this->y,
                            $this->encoding
                        );
                    }

                    /**
                     * insert address into pdf
                     *
                     * @param Zend_Pdf_Page          $page  to insert addres into
                     * @param Mage_Sales_Model_Order $order order to get address from
                     */
                    protected function insertShippingAddress($page, $order)
                    {
                        $this->_setFontRegular($page, 9);

                        $billing = $this->_formatAddress($order->getShippingAddress()->format('pdf'));

                        foreach ($billing as $line) {
                            $page->drawText(trim(strip_tags($line)), $this->margin['left'], $this->y, $this->encoding);
                            $this->Ln(12);
                        }
                    }

                    /**
                     * This will print all the shipment tracks.
                     *
                     * @param Zend_Pdf_Page $page
                     * @param Mage_Sales_Model_Order $order
                     * @param Mage_Sales_Model_Order_Shipment $shipment
                     *
                     * @return Zend_Pdf_Page
                     */
                    protected function _printShipmentTracks($page, $order, $shipment)
                    {
                        if (!Mage::getStoreConfigFlag('sales_pdf/shipment/show_tracking_numbers') || $order->getIsVirtual()) {
                            return $page;
                        }

                        $tracks = array();
                        if ($shipment) {
                            $tracks = $shipment->getAllTracks();
                        }

                        if (empty($tracks)) {
                            return $page;
                        }

                        $this->y -= 20;
                        $page->setFillColor($this->colors['header']);
                        $page->setLineColor($this->colors['header']);
                        $page->setLineWidth(1);
                        $page->drawRectangle($this->margin['left'], $this->y, $this->margin['right'] - 10, $this->y - 15);
                        $page->setFillColor($this->colors['black']);
                        $this->_setFontRegular($page, 9);
                        $this->y -= 11;
                        $page->drawText(Mage::helper('sales')->__('Carrier'), $this->margin['left'], $this->y, 'UTF-8');
                        $page->drawText(Mage::helper('sales')->__('Number'), 290, $this->y, 'UTF-8');
                        $page->setFillColor($this->colors['text']);
                        $this->y -= 18;
                        foreach ($tracks as $track) {
                            $maxTitleLen    = 45;
                            $endOfTitle     = strlen($track->getTitle()) > $maxTitleLen ? '...' : '';
                            $truncatedTitle = substr($track->getTitle(), 0, $maxTitleLen) . $endOfTitle;
                            $page->drawText($truncatedTitle, $this->margin['left'], $this->y, 'UTF-8');
                            $page->drawText($track->getNumber(), 290, $this->y, 'UTF-8');
                            $this->y -= 18;
                        }

                        return $page;
                    }

                    /**
                     * Initialize renderer process.
                     *
                     * @param  string $type type to be initialized
                     *
                     * @return void
                     */
                    protected function _initRenderer($type)
                    {
                        parent::_initRenderer($type);

                        $this->_renderers['default'] = array(
                            'model'    => 'firegento_pdf/items_shipment_default',
                            'renderer' => null
                        );
                        $this->_renderers['bundle'] = array(
                            'model'    => 'firegento_pdf/items_shipment_bundle',
                            'renderer' => null
                        );
                        $this->_renderers['ugiftcert'] = array(
                            'model'    => 'firegento_pdf/items_unirgy_shipment_default',
                            'renderer' => null
                        );
                    }

                }

                Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/index.xhtml index b595f45..ab96bff 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/Shipment/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

                Source of FireGento_Pdf

                - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                • @@ -101,9 +101,9 @@ Default.php - 6.1 KB + 8.1 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/index.xhtml index 6aa8549..1b29e5b 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Engine/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                  Source of FireGento_Pdf

                  - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                  • @@ -95,9 +95,9 @@ Abstract.php - 46.3 KB + 50.2 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Invoice.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Invoice.php.xhtml index 46cb6aa..8c9c1f1 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Invoice.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Invoice.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Invoice.php

                    Source of file Invoice.php

                    - Size: 2,341 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Invoice.php

                    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
                    <?php
                    /**
                     * This file is part of the FIREGENTO project.
                     *
                     * FireGento_Pdf is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    /**
                     * Invoice model rewrite.
                     *
                     * The invoice model serves as a proxy to the actual PDF engine as set via
                     * backend configuration.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    class FireGento_Pdf_Model_Invoice
                    {

                        /**
                         * The actual PDF engine responsible for rendering the file.
                         *
                         * @var Mage_Sales_Model_Order_Pdf_Abstract
                         */
                        private $_engine;

                        /**
                         * get pdf rendering engine
                         *
                         * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Invoice
                         */
                        protected function getEngine()
                        {
                            if (!$this->_engine) {
                                $modelClass = Mage::getStoreConfig('sales_pdf/invoice/engine');
                                $engine = Mage::getModel($modelClass);

                                if (!$engine) {
                                    // Fallback to Magento standard invoice layout.
                                    $engine = new Mage_Sales_Model_Order_Pdf_Invoice();
                                }

                                $this->_engine = $engine;
                            }

                            return $this->_engine;
                        }

                        /**
                         * get pdf for invoices
                         *
                         * @param  array|Varien_Data_Collection $invoices invoices to render pdfs for
                         *
                         * @return mixed
                         */
                        public function getPdf($invoices = array())
                        {
                            return $this->getEngine()->getPdf($invoices);
                        }

                    }

                    + Size: 2,273 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Invoice.php

                    1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Invoice model rewrite.
                     *
                     * The invoice model serves as a proxy to the actual PDF engine as set via
                     * backend configuration.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Invoice extends Mage_Sales_Model_Order_Pdf_Invoice
                    {

                        /**
                         * The actual PDF engine responsible for rendering the file.
                         *
                         * @var Mage_Sales_Model_Order_Pdf_Abstract
                         */
                        protected $_engine;

                        /**
                         * get pdf rendering engine
                         *
                         * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Invoice
                         */
                        protected function getEngine()
                        {
                            if (!$this->_engine) {
                                $modelClass = Mage::getStoreConfig('sales_pdf/invoice/engine');
                                $engine = Mage::getModel($modelClass);

                                if (!$engine || $engine instanceof FireGento_Pdf_Model_Invoice) {
                                    // Fallback to Magento standard invoice layout.
                                    // use new here to circumvent our own rewrite
                                    $engine = new Mage_Sales_Model_Order_Pdf_Invoice();
                                }

                                $this->_engine = $engine;
                            }

                            return $this->_engine;
                        }

                        /**
                         * get pdf for invoices
                         *
                         * @param  array|Varien_Data_Collection $invoices invoices to render pdfs for
                         *
                         * @return mixed
                         */
                        public function getPdf($invoices = array())
                        {
                            return $this->getEngine()->getPdf($invoices);
                        }

                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xhtml index 43912ce..752c24e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Bundle.php

                    Source of file Bundle.php

                    - Size: 9,119 Bytes - Last Modified: 2014-10-26T15:22:24+01:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
                    <?php
                    /**
                     * This file is part of the FIREGENTO project.
                     *
                     * FireGento_Pdf is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    /**
                     * Bundle item model rewrite.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    class FireGento_Pdf_Model_Items_Bundle extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $order = $this->getOrder();
                            $item = $this->getItem();
                            $pdf = $this->getPdf();
                            $page = $this->getPage();

                            $fontSize = 9;

                            $this->_setFontRegular();
                            $items = $this->getChilds($item);

                            $_prevOptionId = '';
                            $drawItems = array();

                            foreach ($items as $_item) {
                                $line = array();

                                $attributes = $this->getSelectionAttributes($_item);
                                if (is_array($attributes)) {
                                    $optionId = $attributes['option_id'];
                                } else {
                                    $optionId = 0;
                                }

                                if (!isset($drawItems[$optionId])) {
                                    $drawItems[$optionId] = array(
                                        'lines'  => array(),
                                        'height' => 15
                                    );
                                }

                                if ($_item->getOrderItem()->getParentItem()) {
                                    if ($_prevOptionId != $attributes['option_id']) {
                                        $line[0] = array(
                                            'font'  => 'italic',
                                            'text'  => Mage::helper('core/string')->str_split($attributes['option_label'], 45, true, true),
                                            'feed'  => $pdf->margin['left'] + 130,
                                            'font_size' => $fontSize
                                        );

                                        $drawItems[$optionId] = array(
                                            'lines'  => array($line),
                                            'height' => 15
                                        );

                                        $line = array();

                                        $_prevOptionId = $attributes['option_id'];
                                    }
                                }

                                // draw SKUs
                                if (!$_item->getOrderItem()->getParentItem()) {
                                    $text = array();
                                    foreach (Mage::helper('core/string')->str_split($item->getSku(), 17) as $part) {
                                        $text[] = $part;
                                    }

                                    // draw Position Number
                                    $line[] = array(
                                        'text'      => $position,
                                        'feed'      => $pdf->margin['left'] + 10,
                                        'align'     => 'right',
                                        'font_size' => $fontSize
                                    );

                                    $line[] = array(
                                        'text'      => $text,
                                        'feed'      => $pdf->margin['left'] + 25,
                                        'font_size' => $fontSize
                                    );
                                }

                                /* in case Product name is longer than 80 chars - it is written in a few lines */
                                if ($_item->getOrderItem()->getParentItem()) {
                                    $name = $this->getValueHtml($_item);
                                } else {
                                    $name = $_item->getName();
                                }
                                $line[] = array(
                                    'text'  => Mage::helper('core/string')->str_split($name, 35, true, true),
                                    'feed'  => $pdf->margin['left'] + 130,
                                    'font_size' => $fontSize
                                );

                                // draw prices
                                if ($this->canShowPriceInfo($_item)) {
                                    $columns = array();
                                    // prepare qty
                                    $columns['qty'] = array(
                                        'text'      => $item->getQty() * 1,
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width' => 30
                                    );

                                    // prepare price
                                    $columns['price'] = array(
                                        'text'      => $order->formatPriceTxt($item->getPrice()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 60
                                    );

                                    // prepare price_incl_tax
                                    $columns['price_incl_tax'] = array(
                                        'text'      => $order->formatPriceTxt($item->getPriceInclTax()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 60
                                    );

                                    // prepare tax
                                    $columns['tax'] = array(
                                        'text'      => $order->formatPriceTxt($item->getTaxAmount() + $item->getHiddenTaxAmount()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 50
                                    );

                                    // prepare tax_rate
                                    $columns['tax_rate'] = array(
                                        'text'      => round($item->getOrderItem()->getTaxPercent(), 2) . '%',
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 50
                                    );

                                    // prepare subtotal
                                    $columns['subtotal'] = array(
                                        'text'      => $order->formatPriceTxt($item->getRowTotal()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 50
                                    );

                                    // prepare subtotal_incl_tax
                                    $columns['subtotal_incl_tax'] = array(
                                        'text'      => $order->formatPriceTxt($item->getRowTotalInclTax()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 70
                                    );

                                    // draw columns in specified order
                                    $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                                    // draw starting from right
                                    $columnsOrder = array_reverse($columnsOrder);
                                    $columnOffset = 0;
                                    foreach ($columnsOrder as $columnName) {
                                        $columnName = trim($columnName);
                                        if (array_key_exists($columnName, $columns)) {
                                            $column = $columns[$columnName];
                                            $column['feed'] = $pdf->margin['right'] - $columnOffset;
                                            $columnOffset += $column['_width'];
                                            unset($column['_width']);
                                            $line[] = $column;
                                        }
                                    }
                                }

                                $drawItems[$optionId]['lines'][] = $line;
                            }

                            // custom options
                            $options = $item->getOrderItem()->getProductOptions();
                            if ($options) {
                                if (isset($options['options'])) {
                                    foreach ($options['options'] as $option) {
                                        $lines = array();
                                        $lines[][] = array(
                                            'text' => Mage::helper('core/string')->str_split(strip_tags($option['label']), 40, true, true),
                                            'font' => 'italic',
                                            'feed' => 35
                                        );

                                        if ($option['value']) {
                                            $text = array();
                                            $_printValue = isset($option['print_value'])
                                                ? $option['print_value']
                                                : strip_tags($option['value']);
                                            $values = explode(', ', $_printValue);
                                            foreach ($values as $value) {
                                                foreach (Mage::helper('core/string')->str_split($value, 30, true, true) as $_value) {
                                                    $text[] = $_value;
                                                }
                                            }

                                            $lines[][] = array(
                                                'text' => $text,
                                                'feed' => 40
                                            );
                                        }

                                        $drawItems[] = array(
                                            'lines'  => $lines,
                                            'height' => 15
                                        );
                                    }
                                }
                            }

                            $page = $pdf->drawLineBlocks($page, $drawItems, array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    + Size: 8,876 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Bundle.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Bundle item model rewrite.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Bundle extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $order = $this->getOrder();
                            $item = $this->getItem();
                            $pdf = $this->getPdf();
                            $page = $this->getPage();

                            $fontSize = 9;

                            $items = $this->getChilds($item);

                            $_prevOptionId = '';
                            $drawItems = array();

                            foreach ($items as $_item) {
                                $line = array();

                                $attributes = $this->getSelectionAttributes($_item);
                                if (is_array($attributes)) {
                                    $optionId = $attributes['option_id'];
                                } else {
                                    $optionId = 0;
                                }

                                if (!isset($drawItems[$optionId])) {
                                    $drawItems[$optionId] = array(
                                        'lines'  => array(),
                                        'height' => 15
                                    );
                                }

                                if ($_item->getOrderItem()->getParentItem()) {
                                    if ($_prevOptionId != $attributes['option_id']) {
                                        $line[0] = array(
                                            'font'  => 'italic',
                                            'text'  => Mage::helper('core/string')->str_split($attributes['option_label'], 45, true, true),
                                            'feed'  => $pdf->margin['left'] + 130,
                                            'font_size' => $fontSize
                                        );

                                        $drawItems[$optionId] = array(
                                            'lines'  => array($line),
                                            'height' => 15
                                        );

                                        $line = array();

                                        $_prevOptionId = $attributes['option_id'];
                                    }
                                }

                                // draw SKUs
                                if (!$_item->getOrderItem()->getParentItem()) {
                                    $text = array();
                                    foreach (Mage::helper('core/string')->str_split($item->getSku(), 17) as $part) {
                                        $text[] = $part;
                                    }

                                    // draw Position Number
                                    $line[] = array(
                                        'text'      => $position,
                                        'feed'      => $pdf->margin['left'] + 10,
                                        'align'     => 'right',
                                        'font_size' => $fontSize
                                    );

                                    $line[] = array(
                                        'text'      => $text,
                                        'feed'      => $pdf->margin['left'] + 25,
                                        'font_size' => $fontSize
                                    );
                                }

                                /* in case Product name is longer than 80 chars - it is written in a few lines */
                                if ($_item->getOrderItem()->getParentItem()) {
                                    $name = $this->getValueHtml($_item);
                                } else {
                                    $name = $_item->getName();
                                }

                                $line[] = array(
                                    'text'  => Mage::helper('core/string')->str_split($name, 35, true, true),
                                    'feed'  => $pdf->margin['left'] + 130,
                                    'font_size' => $fontSize
                                );

                                // draw prices
                                if ($this->canShowPriceInfo($_item)) {
                                    $columns = array();
                                    // prepare qty
                                    $columns['qty'] = array(
                                        'text'      => $_item->getQty() * 1,
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width' => 30
                                    );

                                    // prepare price
                                    $columns['price'] = array(
                                        'text'      => $order->formatPriceTxt($_item->getPrice()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 60
                                    );

                                    // prepare price_incl_tax
                                    $columns['price_incl_tax'] = array(
                                        'text'      => $order->formatPriceTxt($_item->getPriceInclTax()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 60
                                    );

                                    // prepare tax
                                    $columns['tax'] = array(
                                        'text'      => $order->formatPriceTxt($_item->getTaxAmount() + $_item->getHiddenTaxAmount()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 50
                                    );

                                    // prepare tax_rate
                                    $columns['tax_rate'] = array(
                                        'text'      => round($_item->getOrderItem()->getTaxPercent(), 2) . '%',
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 50
                                    );

                                    // prepare subtotal
                                    $columns['subtotal'] = array(
                                        'text'      => $order->formatPriceTxt($_item->getRowTotal()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 50
                                    );

                                    // prepare subtotal_incl_tax
                                    $columns['subtotal_incl_tax'] = array(
                                        'text'      => $order->formatPriceTxt($_item->getRowTotalInclTax()),
                                        'align'     => 'right',
                                        'font_size' => $fontSize,
                                        '_width'    => 70
                                    );

                                    // draw columns in specified order
                                    $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                                    // draw starting from right
                                    $columnsOrder = array_reverse($columnsOrder);
                                    $columnOffset = 0;
                                    foreach ($columnsOrder as $columnName) {
                                        $columnName = trim($columnName);
                                        if (array_key_exists($columnName, $columns)) {
                                            $column = $columns[$columnName];
                                            $column['feed'] = $pdf->margin['right'] - $columnOffset;
                                            $columnOffset += $column['_width'];
                                            unset($column['_width']);
                                            $line[] = $column;
                                        }
                                    }
                                }

                                $drawItems[$optionId]['lines'][] = $line;
                            }

                            // custom options
                            $options = $item->getOrderItem()->getProductOptions();
                            if ($options) {
                                if (isset($options['options'])) {
                                    foreach ($options['options'] as $option) {
                                        $lines = array();
                                        $lines[][] = array(
                                            'text' => Mage::helper('core/string')->str_split(strip_tags($option['label']), 40, true, true),
                                            'font' => 'italic',
                                            'feed' => 35
                                        );

                                        if (isset($option['value'])) {
                                            $text = array();
                                            $_printValue = isset($option['print_value'])
                                                ? $option['print_value']
                                                : strip_tags($option['value']);
                                            $values = explode(', ', $_printValue);
                                            foreach ($values as $value) {
                                                foreach (Mage::helper('core/string')->str_split($value, 30, true, true) as $_value) {
                                                    $text[] = $_value;
                                                }
                                            }

                                            $lines[][] = array(
                                                'text' => $text,
                                                'feed' => 40
                                            );
                                        }

                                        $drawItems[] = array(
                                            'lines'  => $lines,
                                            'height' => 15
                                        );
                                    }
                                }
                            }

                            $page = $pdf->drawLineBlocks($page, $drawItems, array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Default.php.xhtml index 187b528..0a763e9 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Default.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Default.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Default.php

                    Source of file Default.php

                    - Size: 6,355 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Default.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
                    <?php
                    /**
                     * This file is part of the FIREGENTO project.
                     *
                     * FireGento_Pdf is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    /**
                     * Default item model rewrite.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    class FireGento_Pdf_Model_Items_Default extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Default
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $order = $this->getOrder();
                            $item = $this->getItem();
                            $pdf = $this->getPdf();
                            $page = $this->getPage();
                            $lines = array();

                            $fontSize = 9;

                            // draw Position Number
                            $lines[0] = array(
                                array(
                                    'text'      => $position,
                                    'feed'      => $pdf->margin['left'] + 10,
                                    'align'     => 'right',
                                    'font_size' => $fontSize
                                )
                            );

                            // draw SKU
                            $lines[0][] = array(
                                'text' => Mage::helper('core/string')->str_split($this->getSku($item), 19),
                                'feed' => $pdf->margin['left'] + 25,
                                'font_size' => $fontSize
                            );

                            // draw Product name
                            $lines[0][] = array(
                                'text' => Mage::helper('core/string')->str_split($item->getName(), 40, true, true),
                                'feed' => $pdf->margin['left'] + 130,
                                'font_size' => $fontSize
                            );

                            $options = $this->getItemOptions();
                            if ($options) {
                                foreach ($options as $option) {
                                    $optionTxt = $option['label'] . ': ';
                                    // append option value
                                    if ($option['value']) {
                                        $optionTxt .= isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']);
                                    }
                                    $optionArray = $pdf->_prepareText($optionTxt, $page, $pdf->getFontRegular(), $fontSize, 215);
                                    $lines[][] = array(
                                        'text' => $optionArray,
                                        'feed' => $pdf->margin['left'] + 135
                                    );
                                }
                            }

                            $columns = array();
                            // prepare qty
                            $columns['qty'] = array(
                                'text'      => $item->getQty() * 1,
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width' => 30
                            );

                            // prepare price
                            $columns['price'] = array(
                                'text'      => $order->formatPriceTxt($item->getPrice()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare price_incl_tax
                            $columns['price_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getPriceInclTax()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare tax
                            $columns['tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getTaxAmount() + $item->getHiddenTaxAmount()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare tax_rate
                            $columns['tax_rate'] = array(
                                'text'      => round($item->getOrderItem()->getTaxPercent(), 2) . '%',
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal
                            $columns['subtotal'] = array(
                                'text'      => $order->formatPriceTxt($item->getRowTotal()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal_incl_tax
                            $columns['subtotal_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getRowTotalInclTax()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 70
                            );

                            // draw columns in specified order
                            $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                            // draw starting from right
                            $columnsOrder = array_reverse($columnsOrder);
                            $columnOffset = 0;
                            foreach ($columnsOrder as $columnName) {
                                $columnName = trim($columnName);
                                if (array_key_exists($columnName, $columns)) {
                                    $column = $columns[$columnName];
                                    $column['feed'] = $pdf->margin['right'] - $columnOffset;
                                    $columnOffset += $column['_width'];
                                    unset($column['_width']);
                                    $lines[0][] = $column;
                                }
                            }

                            if (Mage::getStoreConfig('sales_pdf/invoice/show_item_discount') && 0 < $item->getDiscountAmount()) {
                                // print discount
                                $text = Mage::helper('firegento_pdf')->__(
                                    'You get a discount of %s.',
                                    $order->formatPriceTxt($item->getDiscountAmount())
                                );
                                $lines[][] = array(
                                    'text'  => $text,
                                    'align' => 'right',
                                    'feed'  => $pdf->margin['right'] - $columnOffset
                                );
                            }

                            $lineBlock = array(
                                'lines'  => $lines,
                                'height' => 15
                            );

                            $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    + Size: 6,247 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Default.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Default item model rewrite.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Default extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Default
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $order = $this->getOrder();
                            $item = $this->getItem();
                            $pdf = $this->getPdf();
                            $page = $this->getPage();
                            $helper = Mage::helper('firegento_pdf');
                            $lines = array();

                            $fontSize = 9;

                            // draw Position Number
                            $lines[0] = array(
                                array(
                                    'text'      => $position,
                                    'feed'      => $pdf->margin['left'] + 10,
                                    'align'     => 'right',
                                    'font_size' => $fontSize
                                )
                            );

                            // draw SKU
                            $lines[0][] = array(
                                'text' => Mage::helper('core/string')->str_split($this->getSku($item), 19),
                                'feed' => $pdf->margin['left'] + 25,
                                'font_size' => $fontSize
                            );

                            // draw Product name
                            $lines[0][] = array(
                                'text' => Mage::helper('core/string')->str_split($item->getName(), 40, true, true),
                                'feed' => $pdf->margin['left'] + 130,
                                'font_size' => $fontSize
                            );

                            $options = $this->getItemOptions();
                            if ($options) {
                                foreach ($options as $option) {
                                    $optionTxt = $option['label'] . ': ';
                                    // append option value
                                    if (isset($option['value'])) {
                                        $optionTxt .= isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']);
                                    }

                                    $optionArray = $pdf->_prepareText($optionTxt, $page, $pdf->getFontRegular(), $fontSize, 215);
                                    $lines[][] = array(
                                        'text'  => $optionArray,
                                        'feed'  => $pdf->margin['left'] + 135,
                                        'color' => $helper->getLabelColor(),
                                    );
                                }
                            }

                            $columns = array();
                            // prepare qty
                            $columns['qty'] = array(
                                'text'      => $item->getQty() * 1,
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width' => 30
                            );

                            // prepare price
                            $columns['price'] = array(
                                'text'      => $order->formatPriceTxt($item->getPrice()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare price_incl_tax
                            $columns['price_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getPriceInclTax()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare tax
                            $columns['tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getTaxAmount() + $item->getHiddenTaxAmount()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare tax_rate
                            $columns['tax_rate'] = array(
                                'text'      => round($item->getOrderItem()->getTaxPercent(), 2) . '%',
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal
                            $columns['subtotal'] = array(
                                'text'      => $order->formatPriceTxt($item->getRowTotal()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal_incl_tax
                            $columns['subtotal_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getRowTotalInclTax()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 70
                            );

                            // draw columns in specified order
                            $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                            // draw starting from right
                            $columnsOrder = array_reverse($columnsOrder);
                            $columnOffset = 0;
                            foreach ($columnsOrder as $columnName) {
                                $columnName = trim($columnName);
                                if (array_key_exists($columnName, $columns)) {
                                    $column = $columns[$columnName];
                                    $column['feed'] = $pdf->margin['right'] - $columnOffset;
                                    $columnOffset += $column['_width'];
                                    unset($column['_width']);
                                    $lines[0][] = $column;
                                }
                            }

                            if (Mage::getStoreConfig('sales_pdf/invoice/show_item_discount') && 0 < $item->getDiscountAmount()) {
                                // print discount
                                $text = Mage::helper('firegento_pdf')->__(
                                    'You get a discount of %s.',
                                    $order->formatPriceTxt($item->getDiscountAmount())
                                );
                                $lines[][] = array(
                                    'text'  => $text,
                                    'align' => 'right',
                                    'feed'  => $pdf->margin['right'] - $columnOffset
                                );
                            }

                            $lineBlock = array(
                                'lines'  => $lines,
                                'height' => 15
                            );

                            $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xhtml index 079025a..48e1bce 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Downloadable.php

                    Source of file Downloadable.php

                    - Size: 7,059 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */

                    /**
                     * Class FireGento_Pdf_Model_Items_Downloadable
                     *
                     * @category FireGento
                     * @package  FireGento_Pdf
                     * @author   FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Downloadable
                        extends Mage_Downloadable_Model_Sales_Order_Pdf_Items_Invoice
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $order = $this->getOrder();
                            $item = $this->getItem();
                            $pdf = $this->getPdf();
                            $page = $this->getPage();
                            $lines = array();

                            $fontSize = 9;

                            // draw Position Number
                            $lines[0] = array(
                                array(
                                    'text'      => $position,
                                    'feed'      => $pdf->margin['left'] + 10,
                                    'align'     => 'right',
                                    'font_size' => $fontSize
                                )
                            );

                            // draw SKU
                            $lines[0][] = array(
                                'text'      => Mage::helper('core/string')
                                    ->str_split($this->getSku($item), 19),
                                'feed'      => $pdf->margin['left'] + 25,
                                'font_size' => $fontSize
                            );

                            // draw Product name
                            $lines[0][] = array(
                                'text'      => Mage::helper('core/string')
                                    ->str_split($item->getName(), 40, true, true),
                                'feed'      => $pdf->margin['left'] + 130,
                                'font_size' => $fontSize
                            );

                            $options = $this->getItemOptions();
                            if ($options) {
                                foreach ($options as $option) {
                                    $optionTxt = $option['label'] . ': ';
                                    // append option value
                                    if ($option['value']) {
                                        $optionTxt .= isset($option['print_value'])
                                            ? $option['print_value'] : strip_tags($option['value']);
                                    }
                                    $optionArray = $pdf->_prepareText($optionTxt, $page,
                                        $pdf->getFontRegular(), $fontSize, 215);
                                    $lines[][] = array(
                                        'text' => $optionArray,
                                        'feed' => $pdf->margin['left'] + 135
                                    );
                                }
                            }

                            // downloadable Items
                            $_purchasedItems = $this->getLinks()->getPurchasedItems();

                            // draw Links title
                            $lines[][] = array(
                                'text' => Mage::helper('core/string')
                                    ->str_split($this->getLinksTitle(), 70, true, true),
                                'feed' => $pdf->margin['left'] + 130,
                                'font' => 'italic',
                            );

                            // draw Links
                            foreach ($_purchasedItems as $_link) {
                                $lines[][] = array(
                                    'text' => Mage::helper('core/string')
                                        ->str_split($_link->getLinkTitle(), 50, true, true),
                                    'feed' => $pdf->margin['left'] + 135
                                );
                            }


                            $columns = array();
                            // prepare qty
                            $columns['qty'] = array(
                                'text'      => $item->getQty() * 1,
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 30
                            );

                            // prepare price
                            $columns['price'] = array(
                                'text'      => $order->formatPriceTxt($item->getPrice()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare price_incl_tax
                            $columns['price_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getPriceInclTax()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare tax
                            $columns['tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getTaxAmount()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare tax_rate
                            $columns['tax_rate'] = array(
                                'text'      => round($item->getOrderItem()->getTaxPercent(), 2)
                                    . '%',
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal
                            $columns['subtotal'] = array(
                                'text'      => $order->formatPriceTxt($item->getPrice()
                                    * $item->getQty() * 1),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal_incl_tax
                            $columns['subtotal_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt(($item->getPrice()
                                        * $item->getQty() * 1) + $item->getTaxAmount()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 70
                            );

                            // draw columns in specified order
                            $columnsOrder = explode(',',
                                Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                            // draw starting from right
                            $columnsOrder = array_reverse($columnsOrder);
                            $columnOffset = 0;
                            foreach ($columnsOrder as $columnName) {
                                $columnName = trim($columnName);
                                if (array_key_exists($columnName, $columns)) {
                                    $column = $columns[$columnName];
                                    $column['feed'] = $pdf->margin['right'] - $columnOffset;
                                    $columnOffset += $column['_width'];
                                    unset($column['_width']);
                                    $lines[0][] = $column;
                                }
                            }

                            if (Mage::getStoreConfig('sales_pdf/invoice/show_item_discount')
                                && 0 < $item->getDiscountAmount()
                            ) {
                                // print discount
                                $text = Mage::helper('firegento_pdf')->__(
                                    'You get a discount of %s.',
                                    $order->formatPriceTxt($item->getDiscountAmount())
                                );
                                $lines[][] = array(
                                    'text'  => $text,
                                    'align' => 'right',
                                    'feed'  => $pdf->margin['right'] - $columnOffset
                                );
                            }

                            $lineBlock = array(
                                'lines'  => $lines,
                                'height' => 15
                            );

                            $page = $pdf->drawLineBlocks($page, array($lineBlock),
                                array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    + Size: 7,054 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Class FireGento_Pdf_Model_Items_Downloadable
                     *
                     * @category FireGento
                     * @package  FireGento_Pdf
                     * @author   FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Downloadable
                        extends Mage_Downloadable_Model_Sales_Order_Pdf_Items_Invoice
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $order = $this->getOrder();
                            $item = $this->getItem();
                            $pdf = $this->getPdf();
                            $page = $this->getPage();
                            $helper = Mage::helper('firegento_pdf');
                            $lines = array();

                            $fontSize = 9;

                            // draw Position Number
                            $lines[0] = array(
                                array(
                                    'text'      => $position,
                                    'feed'      => $pdf->margin['left'] + 10,
                                    'align'     => 'right',
                                    'font_size' => $fontSize
                                )
                            );

                            // draw SKU
                            $lines[0][] = array(
                                'text'      => Mage::helper('core/string')
                                    ->str_split($this->getSku($item), 19),
                                'feed'      => $pdf->margin['left'] + 25,
                                'font_size' => $fontSize
                            );

                            // draw Product name
                            $lines[0][] = array(
                                'text'      => Mage::helper('core/string')
                                    ->str_split($item->getName(), 40, true, true),
                                'feed'      => $pdf->margin['left'] + 130,
                                'font_size' => $fontSize
                            );

                            $options = $this->getItemOptions();
                            if ($options) {
                                foreach ($options as $option) {
                                    $optionTxt = $option['label'] . ': ';
                                    // append option value
                                    if (isset($option['value'])) {
                                        $optionTxt .= isset($option['print_value'])? $option['print_value'] : strip_tags($option['value']);
                                    }

                                    $optionArray = $pdf->_prepareText($optionTxt, $page, $pdf->getFontRegular(), $fontSize, 215);
                                    $lines[][] = array(
                                        'text'  => $optionArray,
                                        'feed'  => $pdf->margin['left'] + 135,
                                        'color' => $helper->getLabelColor(),
                                    );
                                }
                            }

                            // downloadable Items
                            $_purchasedItems = $this->getLinks()->getPurchasedItems();

                            // draw Links title
                            $lines[][] = array(
                                'text' => Mage::helper('core/string')
                                    ->str_split($this->getLinksTitle(), 70, true, true),
                                'feed' => $pdf->margin['left'] + 130,
                                'font' => 'italic',
                            );

                            // draw Links
                            foreach ($_purchasedItems as $_link) {
                                $lines[][] = array(
                                    'text' => Mage::helper('core/string')
                                        ->str_split($_link->getLinkTitle(), 50, true, true),
                                    'feed' => $pdf->margin['left'] + 135
                                );
                            }


                            $columns = array();
                            // prepare qty
                            $columns['qty'] = array(
                                'text'      => $item->getQty() * 1,
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 30
                            );

                            // prepare price
                            $columns['price'] = array(
                                'text'      => $order->formatPriceTxt($item->getPrice()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare price_incl_tax
                            $columns['price_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getPriceInclTax()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 60
                            );

                            // prepare tax
                            $columns['tax'] = array(
                                'text'      => $order->formatPriceTxt($item->getTaxAmount()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare tax_rate
                            $columns['tax_rate'] = array(
                                'text'      => round($item->getOrderItem()->getTaxPercent(), 2) . '%',
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal
                            $columns['subtotal'] = array(
                                'text'      => $order->formatPriceTxt($item->getPrice() * $item->getQty() * 1),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 50
                            );

                            // prepare subtotal_incl_tax
                            $columns['subtotal_incl_tax'] = array(
                                'text'      => $order->formatPriceTxt(($item->getPrice() * $item->getQty() * 1) + $item->getTaxAmount()),
                                'align'     => 'right',
                                'font_size' => $fontSize,
                                '_width'    => 70
                            );

                            // draw columns in specified order
                            $columnsOrder = explode(',', Mage::getStoreConfig('sales_pdf/invoice/item_price_column_order'));
                            // draw starting from right
                            $columnsOrder = array_reverse($columnsOrder);
                            $columnOffset = 0;
                            foreach ($columnsOrder as $columnName) {
                                $columnName = trim($columnName);
                                if (array_key_exists($columnName, $columns)) {
                                    $column = $columns[$columnName];
                                    $column['feed'] = $pdf->margin['right'] - $columnOffset;
                                    $columnOffset += $column['_width'];
                                    unset($column['_width']);
                                    $lines[0][] = $column;
                                }
                            }

                            if (Mage::getStoreConfig('sales_pdf/invoice/show_item_discount')
                                && 0 < $item->getDiscountAmount()
                            ) {
                                // print discount
                                $text = Mage::helper('firegento_pdf')->__(
                                    'You get a discount of %s.',
                                    $order->formatPriceTxt($item->getDiscountAmount())
                                );
                                $lines[][] = array(
                                    'text'  => $text,
                                    'align' => 'right',
                                    'feed'  => $pdf->margin['right'] - $columnOffset
                                );
                            }

                            $lineBlock = array(
                                'lines'  => $lines,
                                'height' => 15
                            );

                            $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xhtml index 665c6a8..9e81e61 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Grouped.php

                    Source of file Grouped.php

                    - Size: 1,770 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Grouped.php

                    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
                    <?php
                    /**
                     * This file is part of the FIREGENTO project.
                     *
                     * FireGento_Pdf is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Default item model rewrite.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    class FireGento_Pdf_Model_Items_Grouped extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $type = $this->getItem()->getOrderItem()->getRealProductType();
                            $renderer = $this->getRenderedModel()->getRenderer($type);
                            $renderer->setOrder($this->getOrder());
                            $renderer->setItem($this->getItem());
                            $renderer->setPdf($this->getPdf());
                            $renderer->setPage($this->getPage());

                            $renderer->draw($position);
                            $this->setPage($renderer->getPage());
                        }
                    }

                    + Size: 1,625 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Grouped.php

                    1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Default item model rewrite.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Grouped extends Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped
                    {
                        /**
                         * Draw item line.
                         *
                         * @param  int $position position of the product
                         *
                         * @return void
                         */
                        public function draw($position = 1)
                        {
                            $type = $this->getItem()->getOrderItem()->getRealProductType();
                            $renderer = $this->getRenderedModel()->getRenderer($type);
                            $renderer->setOrder($this->getOrder());
                            $renderer->setItem($this->getItem());
                            $renderer->setPdf($this->getPdf());
                            $renderer->setPage($this->getPage());

                            $renderer->draw($position);
                            $this->setPage($renderer->getPage());
                        }
                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xhtml index 20dc2ea..5e98339 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Bundle.php

                    Source of file Bundle.php

                    - Size: 6,253 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
                    <?php
                    /**
                     * This file is part of the FIREGENTO project.
                     *
                     * FireGento_Pdf is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Shipment bundle item model.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    class FireGento_Pdf_Model_Items_Shipment_Bundle extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Shipment
                    {
                        /**
                         * Draw item line.
                         *
                         * @return void
                         */
                        public function draw()
                        {
                            $item   = $this->getItem();
                            $pdf    = $this->getPdf();
                            $page   = $this->getPage();

                            $this->_setFontRegular();

                            $shipItems = $this->getChilds($item);
                            $items = array_merge(array($item->getOrderItem()), $item->getOrderItem()->getChildrenItems());

                            $_prevOptionId = '';
                            $drawItems = array();

                            foreach ($items as $_item) {
                                $line   = array();

                                $attributes = $this->getSelectionAttributes($_item);
                                if (is_array($attributes)) {
                                    $optionId   = $attributes['option_id'];
                                } else {
                                    $optionId = 0;
                                }

                                if (!isset($drawItems[$optionId])) {
                                    $drawItems[$optionId] = array(
                                        'lines'  => array(),
                                        'height' => 15
                                    );
                                }

                                if ($_item->getParentItem()) {
                                    if ($_prevOptionId != $attributes['option_id']) {
                                        $line[0] = array(
                                            'font'  => 'italic',
                                            'text'  => Mage::helper('core/string')->str_split($attributes['option_label'], 60, true, true),
                                            'feed'  => 150
                                        );

                                        $drawItems[$optionId] = array(
                                            'lines'  => array($line),
                                            'height' => 15
                                        );

                                        $line = array();

                                        $_prevOptionId = $attributes['option_id'];
                                    }
                                }

                                // draw SKUs
                                if (!$_item->getParentItem()) {
                                    $text = array();
                                    foreach (Mage::helper('core/string')->str_split($_item->getSku(), 20) as $part) {
                                        $text[] = $part;
                                    }
                                    $line[] = array(
                                        'text'  => $text,
                                        'feed' => 45,
                                        'width' => 85
                                    );
                                }

                                // draw Name
                                if ($_item->getParentItem()) {
                                    $name = $this->getValueHtml($_item);
                                } else {
                                    $name = $_item->getName();
                                }
                                $text = array();
                                foreach (Mage::helper('core/string')->str_split($name, 60, true, true) as $part) {
                                    $text[] = $part;
                                }
                                $line[] = array(
                                    'text'  => $text,
                                    'feed'  => 150,
                                    'align' => 'left',
                                    'width' => 375
                                );

                                if (($this->isShipmentSeparately() && $_item->getParentItem())
                                    || (!$this->isShipmentSeparately() && !$_item->getParentItem())
                                ) {
                                    if (isset($shipItems[$_item->getId()])) {
                                        $qty = $shipItems[$_item->getId()]->getQty()*1;
                                    } elseif ($_item->getIsVirtual()) {
                                        $qty = Mage::helper('bundle')->__('N/A');
                                    } else {
                                        $qty = 0;
                                    }
                                } else {
                                    $qty = '';
                                }

                                $line[] = array(
                                    'text'  => $qty,
                                    'feed'  => 505,
                                    'align' => 'left',
                                    'width' => 10
                                );

                                $drawItems[$optionId]['lines'][] = $line;
                            }

                            // custom options
                            $options = $item->getOrderItem()->getProductOptions();
                            if ($options) {
                                if (isset($options['options'])) {
                                    foreach ($options['options'] as $option) {
                                        $lines = array();
                                        $lines[][] = array(
                                            'text'  => Mage::helper('core/string')->str_split(strip_tags($option['label']), 70, true, true),
                                            'font'  => 'italic',
                                            'feed'  => 60
                                        );

                                        if ($option['value']) {
                                            $text = array();
                                            $_printValue = isset($option['print_value'])
                                                ? $option['print_value']
                                                : strip_tags($option['value']);
                                            $values = explode(', ', $_printValue);
                                            foreach ($values as $value) {
                                                foreach (Mage::helper('core/string')->str_split($value, 50, true, true) as $_value) {
                                                    $text[] = $_value;
                                                }
                                            }

                                            $lines[][] = array(
                                                'text'  => $text,
                                                'feed'  => 65
                                            );
                                        }

                                        $drawItems[] = array(
                                            'lines'  => $lines,
                                            'height' => 15
                                        );
                                    }
                                }
                            }

                            $page = $pdf->drawLineBlocks($page, $drawItems, array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    + Size: 6,043 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Shipment bundle item model.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Shipment_Bundle extends Mage_Bundle_Model_Sales_Order_Pdf_Items_Shipment
                    {
                        /**
                         * Draw item line.
                         *
                         * @return void
                         */
                        public function draw()
                        {
                            $item   = $this->getItem();
                            $pdf    = $this->getPdf();
                            $page   = $this->getPage();

                            $shipItems = $this->getChilds($item);
                            $items = array_merge(array($item->getOrderItem()), $item->getOrderItem()->getChildrenItems());

                            $_prevOptionId = '';
                            $drawItems = array();

                            foreach ($items as $_item) {
                                $line   = array();

                                $attributes = $this->getSelectionAttributes($_item);
                                if (is_array($attributes)) {
                                    $optionId   = $attributes['option_id'];
                                } else {
                                    $optionId = 0;
                                }

                                if (!isset($drawItems[$optionId])) {
                                    $drawItems[$optionId] = array(
                                        'lines'  => array(),
                                        'height' => 15
                                    );
                                }

                                if ($_item->getParentItem()) {
                                    if ($_prevOptionId != $attributes['option_id']) {
                                        $line[0] = array(
                                            'font'  => 'italic',
                                            'text'  => Mage::helper('core/string')->str_split($attributes['option_label'], 60, true, true),
                                            'feed'  => 150
                                        );

                                        $drawItems[$optionId] = array(
                                            'lines'  => array($line),
                                            'height' => 15
                                        );

                                        $line = array();

                                        $_prevOptionId = $attributes['option_id'];
                                    }
                                }

                                // draw SKUs
                                if (!$_item->getParentItem()) {
                                    $text = array();
                                    foreach (Mage::helper('core/string')->str_split($_item->getSku(), 20) as $part) {
                                        $text[] = $part;
                                    }

                                    $line[] = array(
                                        'text'  => $text,
                                        'feed' => 45,
                                        'width' => 85
                                    );
                                }

                                // draw Name
                                if ($_item->getParentItem()) {
                                    $name = $this->getValueHtml($_item);
                                } else {
                                    $name = $_item->getName();
                                }

                                $text = array();
                                foreach (Mage::helper('core/string')->str_split($name, 60, true, true) as $part) {
                                    $text[] = $part;
                                }

                                $line[] = array(
                                    'text'  => $text,
                                    'feed'  => 150,
                                    'align' => 'left',
                                    'width' => 375
                                );

                                if (($this->isShipmentSeparately() && $_item->getParentItem())
                                    || (!$this->isShipmentSeparately() && !$_item->getParentItem())
                                ) {
                                    if (isset($shipItems[$_item->getId()])) {
                                        $qty = $shipItems[$_item->getId()]->getQty()*1;
                                    } elseif ($_item->getIsVirtual()) {
                                        $qty = Mage::helper('bundle')->__('N/A');
                                    } else {
                                        $qty = 0;
                                    }
                                } else {
                                    $qty = '';
                                }

                                $line[] = array(
                                    'text'  => $qty,
                                    'feed'  => 505,
                                    'align' => 'left',
                                    'width' => 10
                                );

                                $drawItems[$optionId]['lines'][] = $line;
                            }

                            // custom options
                            $options = $item->getOrderItem()->getProductOptions();
                            if ($options) {
                                if (isset($options['options'])) {
                                    foreach ($options['options'] as $option) {
                                        $lines = array();
                                        $lines[][] = array(
                                            'text'  => Mage::helper('core/string')->str_split(strip_tags($option['label']), 70, true, true),
                                            'font'  => 'italic',
                                            'feed'  => 60
                                        );

                                        if (isset($option['value'])) {
                                            $text = array();
                                            $_printValue = isset($option['print_value'])
                                                ? $option['print_value']
                                                : strip_tags($option['value']);
                                            $values = explode(', ', $_printValue);
                                            foreach ($values as $value) {
                                                foreach (Mage::helper('core/string')->str_split($value, 50, true, true) as $_value) {
                                                    $text[] = $_value;
                                                }
                                            }

                                            $lines[][] = array(
                                                'text'  => $text,
                                                'feed'  => 65
                                            );
                                        }

                                        $drawItems[] = array(
                                            'lines'  => $lines,
                                            'height' => 15
                                        );
                                    }
                                }
                            }

                            $page = $pdf->drawLineBlocks($page, $drawItems, array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xhtml index f4a0f18..8b2ee73 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Default.php

                    Source of file Default.php

                    - Size: 3,553 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                    /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
                    <?php
                    /**
                     * This file is part of the FIREGENTO project.
                     *
                     * FireGento_Pdf is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    /**
                     * Shipment default item model.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2013 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     * @version   $Id:$
                     * @since     0.1.0
                     */
                    class FireGento_Pdf_Model_Items_Shipment_Default extends Mage_Sales_Model_Order_Pdf_Items_Shipment_Default
                    {
                        /**
                         * Draw item line.
                         *
                         * @return void
                         */
                        public function draw()
                        {
                            $item   = $this->getItem();
                            $pdf    = $this->getPdf();
                            $page   = $this->getPage();
                            $lines  = array();

                            $fontSize = 9;

                            // draw SKU
                            $lines[0] = array(array(
                                'text' => Mage::helper('core/string')->str_split($this->getSku($item), 20),
                                'feed' => 45,
                                'width' => 85,
                                'font_size' => $fontSize
                            ));

                            // draw Product name
                            $lines[0][] = array(
                                'text'  => Mage::helper('core/string')->str_split($item->getName(), 70, true, true),
                                'feed'  => 150,
                                'align' => 'left',
                                'width' => 375,
                                'font_size' => $fontSize
                            );

                            // draw QTY
                            $lines[0][] = array(
                                'text'  => $item->getQty()*1,
                                'feed'  => 505,
                                'align' => 'left',
                                'width' => 10,
                                'font_size' => $fontSize
                            );

                            $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, false, true),
                                        'font' => 'bold',
                                        'feed' => $pdf->margin['left'] + 130
                                    );

                                    // draw options value
                                    if ($option['value']) {
                                        $_printVal = isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']);
                                        $values = explode(', ', $_printVal);
                                        foreach ($values as $value) {
                                            $lines[][] = array(
                                                'text' => Mage::helper('core/string')->str_split($value, 60, true, true),
                                                'feed' => $pdf->margin['left'] + 130
                                            );
                                        }
                                    }
                                }
                            }

                            $lineBlock = array(
                                'lines'  => $lines,
                                'height' => 15
                            );

                            $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    + Size: 3,335 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php

                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
                    <?php
                    /**
                     * This file is part of a FireGento e.V. module.
                     *
                     * This FireGento e.V. module is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License version 3 as
                     * published by the Free Software Foundation.
                     *
                     * This script is distributed in the hope that it will be useful, but WITHOUT
                     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                     *
                     * PHP version 5
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     * @copyright 2014 FireGento Team (http://www.firegento.com)
                     * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                     */
                    /**
                     * Shipment default item model.
                     *
                     * @category  FireGento
                     * @package   FireGento_Pdf
                     * @author    FireGento Team <team@firegento.com>
                     */
                    class FireGento_Pdf_Model_Items_Shipment_Default extends Mage_Sales_Model_Order_Pdf_Items_Shipment_Default
                    {
                        /**
                         * Draw item line.
                         *
                         * @return void
                         */
                        public function draw()
                        {
                            $item   = $this->getItem();
                            $pdf    = $this->getPdf();
                            $page   = $this->getPage();
                            $lines  = array();

                            $fontSize = 9;

                            // draw SKU
                            $lines[0] = array(array(
                                'text' => Mage::helper('core/string')->str_split($this->getSku($item), 20),
                                'feed' => 45,
                                'width' => 85,
                                'font_size' => $fontSize
                            ));

                            // draw Product name
                            $lines[0][] = array(
                                'text'  => Mage::helper('core/string')->str_split($item->getName(), 70, true, true),
                                'feed'  => 150,
                                'align' => 'left',
                                'width' => 375,
                                'font_size' => $fontSize
                            );

                            // draw QTY
                            $lines[0][] = array(
                                'text'  => $item->getQty()*1,
                                'feed'  => 505,
                                'align' => 'left',
                                'width' => 10,
                                'font_size' => $fontSize
                            );

                            $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, false, true),
                                        'font' => 'bold',
                                        'feed' => $pdf->margin['left'] + 130
                                    );

                                    // draw options value
                                    if (isset($option['value'])) {
                                        $_printVal = isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']);
                                        $values = explode(', ', $_printVal);
                                        foreach ($values as $value) {
                                            $lines[][] = array(
                                                'text' => Mage::helper('core/string')->str_split($value, 60, true, true),
                                                'feed' => $pdf->margin['left'] + 130
                                            );
                                        }
                                    }
                                }
                            }

                            $lineBlock = array(
                                'lines'  => $lines,
                                'height' => 15
                            );

                            $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
                            $this->setPage($page);
                        }
                    }

                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/index.xhtml index 0edc126..d4dc971 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Shipment/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

                    Source of FireGento_Pdf

                    - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                    • @@ -101,17 +101,17 @@ Bundle.php - 6.1 KB + 5.9 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 Default.php - 3.5 KB + 3.3 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xhtml new file mode 100644 index 0000000..498b659 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of Default.php

                      Source of file Default.php

                      + Size: 1,239 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                      /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php

                      123456789101112131415161718192021222324252627282930313233343536373839
                      <?php
                      /**
                       * This file is part of a FireGento e.V. module.
                       *
                       * This FireGento e.V. module is free software; you can redistribute it and/or
                       * modify it under the terms of the GNU General Public License version 3 as
                       * published by the Free Software Foundation.
                       *
                       * This script is distributed in the hope that it will be useful, but WITHOUT
                       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                       *
                       * PHP version 5
                       *
                       * @category  FireGento
                       * @package   FireGento_Pdf
                       * @author    FireGento Team <team@firegento.com>
                       * @copyright 2014 FireGento Team (http://www.firegento.com)
                       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                       */
                      /**
                       * Default item model rewrite.
                       *
                       * @category  FireGento
                       * @package   FireGento_Pdf
                       * @author    FireGento Team <team@firegento.com>
                       */
                      class FireGento_Pdf_Model_Items_Unirgy_Default extends FireGento_Pdf_Model_Items_Default
                      {

                          public function getItemOptions()
                          {
                              $result = parent::getItemOptions();
                              Mage::helper('ugiftcert')->addOrderItemCertOptions($result, $this->getItem());
                              return $result;
                          }

                      }

                      Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xhtml new file mode 100644 index 0000000..868e9a7 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of Default.php

                      Source of file Default.php

                      + Size: 1,257 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                      /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php

                      123456789101112131415161718192021222324252627282930313233343536373839
                      <?php
                      /**
                       * This file is part of a FireGento e.V. module.
                       *
                       * This FireGento e.V. module is free software; you can redistribute it and/or
                       * modify it under the terms of the GNU General Public License version 3 as
                       * published by the Free Software Foundation.
                       *
                       * This script is distributed in the hope that it will be useful, but WITHOUT
                       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                       *
                       * PHP version 5
                       *
                       * @category  FireGento
                       * @package   FireGento_Pdf
                       * @author    FireGento Team <team@firegento.com>
                       * @copyright 2014 FireGento Team (http://www.firegento.com)
                       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                       */
                      /**
                       * Default item model rewrite.
                       *
                       * @category  FireGento
                       * @package   FireGento_Pdf
                       * @author    FireGento Team <team@firegento.com>
                       */
                      class FireGento_Pdf_Model_Items_Unirgy_Shipment_Default extends FireGento_Pdf_Model_Items_Shipment_Default
                      {

                          public function getItemOptions()
                          {
                              $result = parent::getItemOptions();
                              Mage::helper('ugiftcert')->addOrderItemCertOptions($result, $this->getItem());
                              return $result;
                          }

                      }

                      Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/index.xhtml new file mode 100644 index 0000000..072f3ab --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/index.xhtml @@ -0,0 +1,126 @@ + + + + + phpDox - Overview + + + + + +
                      +
                      + +
                      +

                      Source of FireGento_Pdf

                      +

                      + This project consists of 43 directories, containing + a total of 45 files. +

                      + + + + + + + + + + + + + + + +
                      NameSizeLast Modified
                      + Default.php + 1.2 KB + 2018-03-12T19:59:19+00:00
                      + + Total: 1 files +
                      +
                      +
                      + +
                      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/index.xhtml new file mode 100644 index 0000000..c94af73 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/Unirgy/index.xhtml @@ -0,0 +1,129 @@ + + + + + phpDox - Overview + + + + + +
                      +
                      + +
                      +

                      Source of FireGento_Pdf

                      +

                      + This project consists of 43 directories, containing + a total of 45 files. +

                      + + + + + + + + + + + + + + + + + + + + +
                      NameSizeLast Modified
                      + Default.php + 1.2 KB + 2018-03-12T19:59:19+00:00
                      + + Shipment + +   
                      + + Total: 1 directories,1 files +
                      +
                      +
                      + +
                      + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/index.xhtml index 6c79edb..a2389f6 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Items/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                      Source of FireGento_Pdf

                      - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                      • @@ -95,17 +95,17 @@ Bundle.php - 8.9 KB + 8.7 KB - 2014-10-26T15:22:24+01:00 + 2018-03-12T19:59:19+00:00 Default.php - 6.2 KB + 6.1 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 @@ -113,15 +113,15 @@ 6.9 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 Grouped.php - 1.7 KB + 1.6 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 @@ -132,10 +132,19 @@     + + + + Unirgy + + +   +   + - Total: 1 directories,4 files + Total: 2 directories,4 files diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Observer.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Observer.php.xhtml index 8abe049..07a3580 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Observer.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Observer.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Observer.php

                        Source of file Observer.php

                        - Size: 7,539 Bytes - Last Modified: 2014-11-08T19:25:48+01:00

                        /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Observer.php

                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
                        <?php
                        /**
                         * This file is part of the FIREGENTO project.
                         *
                         * FireGento_Pdf is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License version 3 as
                         * published by the Free Software Foundation.
                         *
                         * This script is distributed in the hope that it will be useful, but WITHOUT
                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                         *
                         * PHP version 5
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         * @version   $Id:$
                         * @since     0.1.0
                         */
                        /**
                         * FireGento Pdf observer.
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         * @version   $Id:$
                         * @since     0.1.0
                         */
                        class FireGento_Pdf_Model_Observer
                        {
                            /**
                             * Add notes to invoice document.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addInvoiceNotes(Varien_Event_Observer $observer)
                            {
                                $this->addInvoiceDateNotice($observer);
                                $this->addInvoiceMaturity($observer);
                                $this->addPaymentMethod($observer);
                                $this->addShippingMethod($observer);
                                $this->addInvoiceComments($observer);

                                return $this;
                            }

                            /**
                             * add invoice date notice to pdf
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return $this
                             */
                            public function addInvoiceDateNotice(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/invoice/show_date_notice')) {
                                    return $this;
                                }

                                $result = $observer->getResult();
                                $notes = $result->getNotes();
                                $notes[] = Mage::helper('firegento_pdf')->__('Invoice date is equal to delivery date.');
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add maturity to invoice notes.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addInvoiceMaturity(Varien_Event_Observer $observer)
                            {
                                $result = $observer->getResult();
                                $notes = $result->getNotes();

                                $maturity = Mage::getStoreConfig('sales_pdf/invoice/maturity');
                                if (!empty($maturity) || 0 < $maturity) {
                                    $maturity = Mage::helper('firegento_pdf')->__(
                                        'Invoice maturity: %s days', Mage::getStoreConfig('sales_pdf/invoice/maturity')
                                    );
                                } elseif ('0' === $maturity) {
                                    $maturity = Mage::helper('firegento_pdf')->__('Invoice is payable immediately');
                                }

                                $notes[] = $maturity;
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add payment method to invoice notes.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addPaymentMethod(Varien_Event_Observer $observer)
                            {
                                if (Mage::getStoreConfig('sales_pdf/invoice/payment_method_position')
                                    != FireGento_Pdf_Model_System_Config_Source_Payment::POSITION_NOTE
                                ) {
                                    return $this;
                                }

                                $result = $observer->getResult();
                                $notes = $result->getNotes();
                                $notes[] = Mage::helper('firegento_pdf')->__(
                                    'Payment method: %s', $observer->getOrder()->getPayment()->getMethodInstance()->getTitle()
                                );
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add shipping method to invoice notes.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addShippingMethod(Varien_Event_Observer $observer)
                            {
                                $invoice = $observer->getInvoice();
                                $shipment = $observer->getShipment();
                                if (empty($invoice) && empty($shipment)
                                    || !empty($invoice) && Mage::getStoreConfig('sales_pdf/invoice/shipping_method_position')
                                    != FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_NOTE
                                    || !empty($shipment) && Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position')
                                    != FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_NOTE
                                ) {
                                    return $this;
                                }

                                $result = $observer->getResult();
                                $notes = $result->getNotes();
                                $notes[] = Mage::helper('firegento_pdf')->__(
                                    'Shipping method: %s', $observer->getOrder()->getShippingDescription()
                                );
                                $result->setNotes($notes);
                                return $this;
                            }


                            /**
                             * Add the invoice comments
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addInvoiceComments(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/invoice/show_comments')) {
                                    return $this;
                                }

                                /** @var Mage_Sales_Model_Order_Invoice $invoice */
                                $invoice = $observer->getInvoice();

                                /** @var Mage_Sales_Model_Resource_Order_Invoice_Comment_Collection $commentsCollection */
                                $commentsCollection = $invoice->getCommentsCollection();
                                $commentsCollection->addVisibleOnFrontFilter();

                                $result = $observer->getResult();
                                $notes = $result->getNotes();

                                foreach ($commentsCollection as $comment) {
                                    /** @var $comment Mage_Sales_Model_Order_Invoice_Comment */
                                    $notes[] = $comment->getComment();
                                }

                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Adds a barcode representing the order number to the shipment if activated.
                             *
                             * @param  Varien_Event_Observer $observer observer which is passed by magento
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addBarcode(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/shipment/order_id_as_barcode')) {
                                    return $this;
                                }
                                $page = $observer->getPage();
                                $order = $observer->getOrder();

                                $barcodeConfig = array(
                                    'drawText' => false,
                                    'orientation' => 90,
                                    'text' => $order->getIncrementId()
                                );
                                $rendererConfig = array(
                                    'verticalPosition' => 'middle',
                                    'moduleSize' => 0.9
                                );
                                // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in
                                // Zend_Barcode_Renderer_Pdf->setResource()
                                $pdf = new Zend_Pdf();
                                $pdf->pages[] = $page;
                                /** @var $renderer Zend_Barcode_Renderer_Pdf */
                                $renderer = Zend_Barcode::factory('code128', 'pdf', $barcodeConfig, $rendererConfig)->setResource($pdf, 0);
                                // calculate left offset so that barcode is printed on the right with a little margin
                                $leftOffset = $page->getWidth() - $renderer->getBarcode()->getWidth(true) * $renderer->getModuleSize() - 10;
                                $renderer->setLeftOffset($leftOffset);
                                $renderer->draw();
                                return $this;
                            }
                        }

                        + Size: 11,791 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                        /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Observer.php

                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
                        <?php
                        /**
                         * This file is part of a FireGento e.V. module.
                         *
                         * This FireGento e.V. module is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License version 3 as
                         * published by the Free Software Foundation.
                         *
                         * This script is distributed in the hope that it will be useful, but WITHOUT
                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                         *
                         * PHP version 5
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2014 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         */
                        /**
                         * FireGento Pdf observer.
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         */
                        class FireGento_Pdf_Model_Observer
                        {
                            /**
                             * Add notes to invoice document.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addInvoiceNotes(Varien_Event_Observer $observer)
                            {
                                $this->_addShippingCountryNotes($observer);
                                $this->_addInvoiceDateNotice($observer);
                                $this->_addInvoiceMaturity($observer);
                                $this->_addPaymentMethod($observer, 'invoice');
                                $this->_addShippingMethod($observer);
                                $this->_addInvoiceComments($observer);

                                return $this;
                            }

                            /**
                             * Add notes based on shipping country
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return $this
                             */
                            protected function _addShippingCountryNotes(Varien_Event_Observer $observer)
                            {
                                $order = $observer->getOrder();
                                $shippingCountryNotes = Mage::helper('firegento_pdf/invoice')->getShippingCountryNotes($order);

                                if (!empty($shippingCountryNotes)) {
                                    $result  = $observer->getResult();
                                    $notes   = $result->getNotes();
                                    $notes = array_merge($notes, $shippingCountryNotes);
                                    $result->setNotes($notes);
                                }

                                return $this;
                            }

                            /**
                             * add invoice date notice to pdf
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return $this
                             */
                            protected function _addInvoiceDateNotice(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/invoice/show_date_notice')) {
                                    return $this;
                                }

                                $result = $observer->getResult();
                                $notes = $result->getNotes();
                                $notes[] = Mage::helper('firegento_pdf')->__('Invoice date is equal to delivery date.');
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add maturity to invoice notes.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addInvoiceMaturity(Varien_Event_Observer $observer)
                            {
                                $result = $observer->getResult();
                                $notes = $result->getNotes();

                                $maturity = Mage::getStoreConfig('sales_pdf/invoice/maturity');
                                if (!empty($maturity) || 0 < $maturity) {
                                    $maturity = Mage::helper('firegento_pdf')->__(
                                        'Invoice maturity: %s days', Mage::getStoreConfig('sales_pdf/invoice/maturity')
                                    );
                                } elseif ('0' === $maturity) {
                                    $maturity = Mage::helper('firegento_pdf')->__('Invoice is payable immediately');
                                }

                                $notes[] = $maturity;
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add payment method to invoice / creditmemo notes.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addPaymentMethod(Varien_Event_Observer $observer, $mode)
                            {
                                if (Mage::getStoreConfig('sales_pdf/' . $mode . '/payment_method_position')
                                    != FireGento_Pdf_Model_System_Config_Source_Payment::POSITION_NOTE
                                ) {
                                    return $this;
                                }

                                $result = $observer->getResult();
                                $notes = $result->getNotes();
                                $notes[] = Mage::helper('firegento_pdf')->__(
                                    'Payment method: %s', $observer->getOrder()->getPayment()->getMethodInstance()->getTitle()
                                );
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add shipping method to invoice notes.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addShippingMethod(Varien_Event_Observer $observer)
                            {
                                $invoice = $observer->getInvoice();
                                $shipment = $observer->getShipment();
                                if (empty($invoice) && empty($shipment)
                                    || !empty($invoice) && Mage::getStoreConfig('sales_pdf/invoice/shipping_method_position')
                                    != FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_NOTE
                                    || !empty($shipment) && Mage::getStoreConfig('sales_pdf/shipment/shipping_method_position')
                                    != FireGento_Pdf_Model_System_Config_Source_Shipping::POSITION_NOTE
                                ) {
                                    return $this;
                                }

                                $result = $observer->getResult();
                                $notes = $result->getNotes();
                                $notes[] = Mage::helper('firegento_pdf')->__(
                                    'Shipping method: %s', $observer->getOrder()->getShippingDescription()
                                );
                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add the invoice comments
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addInvoiceComments(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/invoice/show_comments')) {
                                    return $this;
                                }

                                /** @var Mage_Sales_Model_Order_Invoice $invoice */
                                $invoice = $observer->getInvoice();

                                /** @var Mage_Sales_Model_Resource_Order_Invoice_Comment_Collection $commentsCollection */
                                $commentsCollection = $invoice->getCommentsCollection();
                                $commentsCollection->addVisibleOnFrontFilter();

                                $result = $observer->getResult();
                                $notes = $result->getNotes();

                                foreach ($commentsCollection as $comment) {
                                    /** @var $comment Mage_Sales_Model_Order_Invoice_Comment */
                                    $notes[] = $comment->getComment();
                                }

                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add notes to shipment document.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addShipmentNotes(Varien_Event_Observer $observer)
                            {
                                $this->_addShippingMethod($observer);
                                $this->_addShipmentComments($observer);

                                return $this;
                            }

                            /**
                             * Add the shipment comments
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addShipmentComments(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/shipment/show_comments')) {
                                    return $this;
                                }

                                /** @var Mage_Sales_Model_Order_Shipment $shipment */
                                $shipment = $observer->getShipment();

                                /** @var Mage_Sales_Model_Resource_Order_Shipment_Comment_Collection $commentsCollection */
                                $commentsCollection = $shipment->getCommentsCollection();
                                $commentsCollection->addVisibleOnFrontFilter();

                                $result = $observer->getResult();
                                $notes = $result->getNotes();

                                foreach ($commentsCollection as $comment) {
                                    /** @var $comment Mage_Sales_Model_Order_Shipment_Comment */
                                    $notes[] = $comment->getComment();
                                }

                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Add notes to credit memo document.
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addCreditmemoNotes(Varien_Event_Observer $observer)
                            {
                                $this->_addPaymentMethod($observer, 'creditmemo');
                                $this->_addCreditmemoComments($observer);

                                return $this;
                            }

                            /**
                             * Add the credit memo comments
                             *
                             * @param  Varien_Event_Observer $observer observer object
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addCreditmemoComments(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/creditmemo/show_comments')) {
                                    return $this;
                                }

                                /** @var Mage_Sales_Model_Order_Creditmemo $creditmemo */
                                $creditmemo = $observer->getCreditmemo();

                                /** @var Mage_Sales_Model_Resource_Order_Creditmemo_Comment_Collection $commentsCollection */
                                $commentsCollection = $creditmemo->getCommentsCollection();
                                $commentsCollection->addVisibleOnFrontFilter();

                                $result = $observer->getResult();
                                $notes = $result->getNotes();

                                foreach ($commentsCollection as $comment) {
                                    /** @var $comment Mage_Sales_Model_Order_Creditmemo_Comment */
                                    $notes[] = $comment->getComment();
                                }

                                $result->setNotes($notes);
                                return $this;
                            }

                            /**
                             * Adds a barcode representing the order number to the invoice if activated
                             *
                             * @param Varien_Event_Observer $observer observer which is passed by magento
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addInvoiceBarcode(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/invoice/order_id_as_barcode')) {
                                    return $this;
                                }

                                return $this->_addBarcode($observer);
                            }

                            /**
                             * Adds a barcode representing the order number to the shipment if activated
                             *
                             * @param Varien_Event_Observer $observer observer which is passed by magento
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            public function addShipmentBarcode(Varien_Event_Observer $observer)
                            {
                                if (!Mage::getStoreConfigFlag('sales_pdf/shipment/order_id_as_barcode')) {
                                    return $this;
                                }

                                return $this->_addBarcode($observer);
                            }

                            /**
                             * Adds a barcode representing the order number to a PDF
                             *
                             * @param  Varien_Event_Observer $observer observer which is passed by magento
                             *
                             * @return FireGento_Pdf_Model_Observer
                             */
                            protected function _addBarcode(Varien_Event_Observer $observer)
                            {
                                $page = $observer->getPage();
                                $order = $observer->getOrder();

                                $barcodeConfig = array(
                                    'drawText' => false,
                                    'orientation' => 90,
                                    'barHeight' => 25,
                                    'text' => $order->getIncrementId()
                                );
                                $rendererConfig = array(
                                    'verticalPosition' => 'top',
                                    'moduleSize' => 1
                                );
                                // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in
                                $pdf = new Zend_Pdf();
                                $pdf->pages[] = $page;
                                /** @var $renderer Zend_Barcode_Renderer_Pdf */
                                $renderer = Zend_Barcode::factory('code128', 'pdf', $barcodeConfig, $rendererConfig)->setResource($pdf, 0);
                                // calculate left offset so that barcode is printed on the right with a little margin
                                $leftOffset = $page->getWidth() - $renderer->getBarcode()->getWidth(true) * $renderer->getModuleSize() - 10;
                                $renderer->setLeftOffset($leftOffset);
                                $renderer->setTopOffset(50);
                                $renderer->draw();
                                return $this;
                            }
                        }

                        Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                        diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Shipment.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Shipment.php.xhtml index 0da3b91..a693c4f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Shipment.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Shipment.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Shipment.php

                        Source of file Shipment.php

                        - Size: 2,243 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                        /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Shipment.php

                        12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
                        <?php
                        /**
                         * This file is part of the FIREGENTO project.
                         *
                         * FireGento_Pdf is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License version 3 as
                         * published by the Free Software Foundation.
                         *
                         * This script is distributed in the hope that it will be useful, but WITHOUT
                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                         *
                         * PHP version 5
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         * @version   $Id:$
                         * @since     0.1.0
                         */
                        /**
                         * Shipment model rewrite.
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         * @version   $Id:$
                         * @since     0.1.0
                         */
                        class FireGento_Pdf_Model_Shipment
                        {

                            /**
                             * The actual PDF engine responsible for rendering the file.
                             *
                             * @var Mage_Sales_Model_Order_Pdf_Abstract
                             */
                            private $_engine;

                            /**
                             * get pdf rendering engine
                             *
                             * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Shipment
                             */
                            protected function getEngine()
                            {
                                if (!$this->_engine) {
                                    $modelClass = Mage::getStoreConfig('sales_pdf/shipment/engine');
                                    $engine = Mage::getModel($modelClass);

                                    if (!$engine) {
                                        // Fallback to Magento standard shipment layout.
                                        $engine = new Mage_Sales_Model_Order_Pdf_Shipment();
                                    }

                                    $this->_engine = $engine;
                                }

                                return $this->_engine;
                            }

                            /**
                             * get PDF object
                             *
                             * @param  array|Varien_Data_Collection $shipments shipments to generate pdfs for
                             *
                             * @return mixed
                             */
                            public function getPdf($shipments = array())
                            {
                                return $this->getEngine()->getPdf($shipments);
                            }

                        }

                        + Size: 2,177 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                        /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Shipment.php

                        1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
                        <?php
                        /**
                         * This file is part of a FireGento e.V. module.
                         *
                         * This FireGento e.V. module is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License version 3 as
                         * published by the Free Software Foundation.
                         *
                         * This script is distributed in the hope that it will be useful, but WITHOUT
                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                         *
                         * PHP version 5
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2014 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         */
                        /**
                         * Shipment model rewrite.
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         */
                        class FireGento_Pdf_Model_Shipment extends Mage_Sales_Model_Order_Pdf_Shipment
                        {

                            /**
                             * The actual PDF engine responsible for rendering the file.
                             *
                             * @var Mage_Sales_Model_Order_Pdf_Abstract
                             */
                            protected $_engine;

                            /**
                             * get pdf rendering engine
                             *
                             * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Shipment
                             */
                            protected function getEngine()
                            {
                                if (!$this->_engine) {
                                    $modelClass = Mage::getStoreConfig('sales_pdf/shipment/engine');
                                    $engine = Mage::getModel($modelClass);

                                    if (!$engine || $engine instanceof FireGento_Pdf_Model_Shipment) {
                                        // Fallback to Magento standard shipment layout.
                                        // use new here to circumvent our own rewrite
                                        $engine = new Mage_Sales_Model_Order_Pdf_Shipment();
                                    }

                                    $this->_engine = $engine;
                                }

                                return $this->_engine;
                            }

                            /**
                             * get PDF object
                             *
                             * @param  array|Varien_Data_Collection $shipments shipments to generate pdfs for
                             *
                             * @return mixed
                             */
                            public function getPdf($shipments = array())
                            {
                                return $this->getEngine()->getPdf($shipments);
                            }

                        }

                        Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                        diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xhtml index e14e6f6..c66632e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Font.php

                        Source of file Font.php

                        - Size: 1,407 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

                        /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php

                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
                        <?php
                        /**
                         * This file is part of a FireGento e.V. module.
                         *
                         * This FireGento e.V. module is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License version 3 as
                         * published by the Free Software Foundation.
                         *
                         * This script is distributed in the hope that it will be useful, but WITHOUT
                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                         *
                         * PHP version 5
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         */

                        /**
                         * Class FireGento_Pdf_Model_System_Config_Backend_Font
                         *
                         * @category FireGento
                         * @package  FireGento_Pdf
                         * @author   FireGento Team <team@firegento.com>
                         */
                        class FireGento_Pdf_Model_System_Config_Backend_Font
                            extends Mage_Adminhtml_Model_System_Config_Backend_File
                        {
                            private $_allowedExtensions
                                = array(
                                    'otf',
                                    'ttf',
                                );

                            /**
                             * Returns the allowed font extensions.
                             *
                             * @return array containing the allowed font extensions
                             */
                            protected function _getAllowedExtensions()
                            {
                                return $this->_allowedExtensions;
                            }
                        }

                        + Size: 1,408 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                        /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php

                        1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
                        <?php
                        /**
                         * This file is part of a FireGento e.V. module.
                         *
                         * This FireGento e.V. module is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License version 3 as
                         * published by the Free Software Foundation.
                         *
                         * This script is distributed in the hope that it will be useful, but WITHOUT
                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                         *
                         * PHP version 5
                         *
                         * @category  FireGento
                         * @package   FireGento_Pdf
                         * @author    FireGento Team <team@firegento.com>
                         * @copyright 2014 FireGento Team (http://www.firegento.com)
                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                         */
                        /**
                         * Class FireGento_Pdf_Model_System_Config_Backend_Font
                         *
                         * @category FireGento
                         * @package  FireGento_Pdf
                         * @author   FireGento Team <team@firegento.com>
                         */
                        class FireGento_Pdf_Model_System_Config_Backend_Font
                            extends Mage_Adminhtml_Model_System_Config_Backend_File
                        {
                            protected $_allowedExtensions
                                = array(
                                    'otf',
                                    'ttf',
                                );

                            /**
                             * Returns the allowed font extensions.
                             *
                             * @return array containing the allowed font extensions
                             */
                            protected function _getAllowedExtensions()
                            {
                                return $this->_allowedExtensions;
                            }
                        }

                        Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                        diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/index.xhtml index 566371e..d161991 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Backend/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -64,8 +64,8 @@

                        Source of FireGento_Pdf

                        - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                        • @@ -109,7 +109,7 @@ 1.4 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xhtml index ea8cfbf..bf2c729 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Engine.php

                          Source of file Engine.php

                          - Size: 2,581 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                          /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php

                          123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
                          <?php
                          /**
                           * This file is part of the FIREGENTO project.
                           *
                           * FireGento_Pdf is free software; you can redistribute it and/or
                           * modify it under the terms of the GNU General Public License version 3 as
                           * published by the Free Software Foundation.
                           *
                           * This script is distributed in the hope that it will be useful, but WITHOUT
                           * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                           * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                           *
                           * PHP version 5
                           *
                           * @category  FireGento
                           * @package   FireGento_Pdf
                           * @author    FireGento Team <team@firegento.com>
                           * @copyright 2013 FireGento Team (http://www.firegento.com)
                           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                           * @version   $Id:$
                           * @since     0.1.0
                           */
                          /**
                           * Pdf creation engine source model.
                           *
                           * @category  FireGento
                           * @package   FireGento_Pdf
                           * @author    FireGento Team <team@firegento.com>
                           * @copyright 2013 FireGento Team (http://www.firegento.com)
                           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                           * @version   $Id:$
                           * @since     0.1.0
                           */
                          class FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine
                          {
                              /**
                               * Config xpath to pdf engine node
                               *
                               */
                              const XML_PATH_PDF_ENGINE = 'global/pdf/firegento_creditmemo_engines';

                              /**
                               * Return array of possible engines.
                               *
                               * @return array
                               */
                              public function toOptionArray()
                              {
                                  // load default engines shipped with Mage_Sales and FireGento_Pdf
                                  $engines = array(
                                      ''                                     => Mage::helper('firegento_pdf')->__('Standard Magento'),
                                      'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard Germany')
                                  );

                                  // load additional engines provided by third party extensions
                                  $engineNodes = Mage::app()->getConfig()->getNode(self::XML_PATH_PDF_ENGINE);
                                  if ($engineNodes && $engineNodes->hasChildren()) {
                                      foreach ($engineNodes->children() as $engineName => $engineNode) {
                                          $className   = (string) $engineNode->class;
                                          $engineLabel = Mage::helper('firegento_pdf')->__((string) $engineNode->label);
                                          $engines[$className] = $engineLabel;
                                      }
                                  }

                                  $options = array();
                                  foreach ($engines as $k => $v) {
                                      $options[] = array(
                                          'value' => $k,
                                          'label' => $v
                                      );
                                  }
                                  return $options;
                              }
                          }

                          + Size: 2,359 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                          /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php

                          12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
                          <?php
                          /**
                           * This file is part of a FireGento e.V. module.
                           *
                           * This FireGento e.V. module is free software; you can redistribute it and/or
                           * modify it under the terms of the GNU General Public License version 3 as
                           * published by the Free Software Foundation.
                           *
                           * This script is distributed in the hope that it will be useful, but WITHOUT
                           * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                           * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                           *
                           * PHP version 5
                           *
                           * @category  FireGento
                           * @package   FireGento_Pdf
                           * @author    FireGento Team <team@firegento.com>
                           * @copyright 2014 FireGento Team (http://www.firegento.com)
                           * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                           */
                          /**
                           * Pdf creation engine source model.
                           *
                           * @category  FireGento
                           * @package   FireGento_Pdf
                           * @author    FireGento Team <team@firegento.com>
                           */
                          class FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine
                          {
                              /**
                               * Config xpath to pdf engine node
                               *
                               */
                              const XML_PATH_PDF_ENGINE = 'global/pdf/firegento_creditmemo_engines';

                              /**
                               * Return array of possible engines.
                               *
                               * @return array
                               */
                              public function toOptionArray()
                              {
                                  // load default engines shipped with Mage_Sales and FireGento_Pdf
                                  $engines = array(
                                      ''                                     => Mage::helper('firegento_pdf')->__('Standard Magento'),
                                      'firegento_pdf/engine_creditmemo_default' => Mage::helper('firegento_pdf')->__('Standard FireGento')
                                  );

                                  // load additional engines provided by third party extensions
                                  $engineNodes = Mage::app()->getConfig()->getNode(self::XML_PATH_PDF_ENGINE);
                                  if ($engineNodes && $engineNodes->hasChildren()) {
                                      foreach ($engineNodes->children() as $engineName => $engineNode) {
                                          $className   = (string) $engineNode->class;
                                          $engineLabel = Mage::helper('firegento_pdf')->__((string) $engineNode->label);
                                          $engines[$className] = $engineLabel;
                                      }
                                  }

                                  $options = array();
                                  foreach ($engines as $k => $v) {
                                      $options[] = array(
                                          'value' => $k,
                                          'label' => $v
                                      );
                                  }

                                  return $options;
                              }
                          }

                          Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                          diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/index.xhtml index f0f7d71..e620e2f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -67,8 +67,8 @@

                          Source of FireGento_Pdf

                          - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                          • @@ -113,9 +113,9 @@ Engine.php - 2.5 KB + 2.3 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xhtml new file mode 100644 index 0000000..06c830a --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of Number.php

                            Source of file Number.php

                            + Size: 1,907 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                            /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php

                            1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
                            <?php
                            /**
                             * This file is part of the FIREGENTO project.
                             *
                             * FireGento_Pdf is free software; you can redistribute it and/or
                             * modify it under the terms of the GNU General Public License version 3 as
                             * published by the Free Software Foundation.
                             *
                             * This script is distributed in the hope that it will be useful, but WITHOUT
                             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                             *
                             * PHP version 5
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2015 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             */
                            /**
                             * Customer number source model.
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2015 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             */
                            class FireGento_Pdf_Model_System_Config_Source_Customer_Number
                            {
                                /**
                                 * Databasefield name for customers increment_id
                                 */
                                const CUSTOMER_NUMBER_FIELD_INCREMENT_ID = 'increment_id';
                                /**
                                 * Return array of possible positions.
                                 *
                                 * @return array
                                 */
                                public function toOptionArray()
                                {
                                    $selectOptions = array(
                                        '' => Mage::helper('firegento_pdf')->__('Standard (entity_id)'),
                                        self::CUSTOMER_NUMBER_FIELD_INCREMENT_ID => Mage::helper('firegento_pdf')
                                            ->__('Customer Increment ID (increment_id)')
                                    );
                                    $options = array();
                                    foreach ($selectOptions as $k => $v) {
                                        $options[] = array(
                                            'value' => $k,
                                            'label' => $v
                                        );
                                    }

                                    return $options;
                                }
                            }

                            Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                            diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/index.xhtml new file mode 100644 index 0000000..b3db8b0 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/index.xhtml @@ -0,0 +1,132 @@ + + + + + phpDox - Overview + + + + + +
                            +
                            + +
                            +

                            Source of FireGento_Pdf

                            +

                            + This project consists of 43 directories, containing + a total of 45 files. +

                            + + + + + + + + + + + + + + + +
                            NameSizeLast Modified
                            + Number.php + 1.9 KB + 2018-03-12T19:59:19+00:00
                            + + Total: 1 files +
                            +
                            +
                            + +
                            + + diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xhtml index e950b34..0b3c10d 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Headerblocks.php

                            Source of file Headerblocks.php

                            - Size: 1,821 Bytes - Last Modified: 2014-11-01T14:33:47+01:00

                            /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php

                            123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
                            <?php
                            /**
                             * This file is part of the FIREGENTO project.
                             *
                             * FireGento_Pdf is free software; you can redistribute it and/or
                             * modify it under the terms of the GNU General Public License version 3 as
                             * published by the Free Software Foundation.
                             *
                             * This script is distributed in the hope that it will be useful, but WITHOUT
                             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                             *
                             * PHP version 5
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2013 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             * @version   $Id:$
                             * @since     0.1.0
                             */
                            /**
                             * Logo position source model.
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2013 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             * @version   $Id:$
                             * @since     0.1.0
                             */
                            class FireGento_Pdf_Model_System_Config_Source_Headerblocks
                            {
                                const LEFT = 'left';
                                const RIGHT = 'right';

                                /**
                                 * Return array of possible positions.
                                 *
                                 * @return array
                                 */
                                public function toOptionArray()
                                {
                                    $positions = array(
                                        self::LEFT       => Mage::helper('firegento_pdf')->__('Left'),
                                        self::RIGHT      => Mage::helper('firegento_pdf')->__('Right'),
                                    );
                                    $options = array();
                                    foreach ($positions as $k => $v) {
                                        $options[] = array(
                                            'value' => $k,
                                            'label' => $v
                                        );
                                    }
                                    return $options;
                                }
                            }

                            + Size: 1,597 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                            /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php

                            12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
                            <?php
                            /**
                             * This file is part of a FireGento e.V. module.
                             *
                             * This FireGento e.V. module is free software; you can redistribute it and/or
                             * modify it under the terms of the GNU General Public License version 3 as
                             * published by the Free Software Foundation.
                             *
                             * This script is distributed in the hope that it will be useful, but WITHOUT
                             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                             *
                             * PHP version 5
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2014 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             */
                            /**
                             * Logo position source model.
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             */
                            class FireGento_Pdf_Model_System_Config_Source_Headerblocks
                            {
                                const LEFT = 'left';
                                const RIGHT = 'right';

                                /**
                                 * Return array of possible positions.
                                 *
                                 * @return array
                                 */
                                public function toOptionArray()
                                {
                                    $positions = array(
                                        self::LEFT       => Mage::helper('firegento_pdf')->__('Left'),
                                        self::RIGHT      => Mage::helper('firegento_pdf')->__('Right'),
                                    );
                                    $options = array();
                                    foreach ($positions as $k => $v) {
                                        $options[] = array(
                                            'value' => $k,
                                            'label' => $v
                                        );
                                    }

                                    return $options;
                                }
                            }

                            Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                            diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xhtml index 27c8883..410fd97 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Engine.php

                            Source of file Engine.php

                            - Size: 2,572 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                            /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php

                            123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
                            <?php
                            /**
                             * This file is part of the FIREGENTO project.
                             *
                             * FireGento_Pdf is free software; you can redistribute it and/or
                             * modify it under the terms of the GNU General Public License version 3 as
                             * published by the Free Software Foundation.
                             *
                             * This script is distributed in the hope that it will be useful, but WITHOUT
                             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                             *
                             * PHP version 5
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2013 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             * @version   $Id:$
                             * @since     0.1.0
                             */
                            /**
                             * Pdf creation engine source model.
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2013 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             * @version   $Id:$
                             * @since     0.1.0
                             */
                            class FireGento_Pdf_Model_System_Config_Source_Invoice_Engine
                            {
                                /**
                                 * Config xpath to pdf engine node
                                 *
                                 */
                                const XML_PATH_PDF_ENGINE = 'global/pdf/firegento_invoice_engines';

                                /**
                                 * Return array of possible engines.
                                 *
                                 * @return array
                                 */
                                public function toOptionArray()
                                {
                                    // load default engines shipped with Mage_Sales and FireGento_Pdf
                                    $engines = array(
                                        ''                                     => Mage::helper('firegento_pdf')->__('Standard Magento'),
                                        'firegento_pdf/engine_invoice_default' => Mage::helper('firegento_pdf')->__('Standard Germany')
                                    );

                                    // load additional engines provided by third party extensions
                                    $engineNodes = Mage::app()->getConfig()->getNode(self::XML_PATH_PDF_ENGINE);
                                    if ($engineNodes && $engineNodes->hasChildren()) {
                                        foreach ($engineNodes->children() as $engineName => $engineNode) {
                                            $className   = (string) $engineNode->class;
                                            $engineLabel = Mage::helper('firegento_pdf')->__((string) $engineNode->label);
                                            $engines[$className] = $engineLabel;
                                        }
                                    }

                                    $options = array();
                                    foreach ($engines as $k => $v) {
                                        $options[] = array(
                                            'value' => $k,
                                            'label' => $v
                                        );
                                    }
                                    return $options;
                                }
                            }

                            + Size: 2,350 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                            /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php

                            12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
                            <?php
                            /**
                             * This file is part of a FireGento e.V. module.
                             *
                             * This FireGento e.V. module is free software; you can redistribute it and/or
                             * modify it under the terms of the GNU General Public License version 3 as
                             * published by the Free Software Foundation.
                             *
                             * This script is distributed in the hope that it will be useful, but WITHOUT
                             * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                             * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                             *
                             * PHP version 5
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             * @copyright 2014 FireGento Team (http://www.firegento.com)
                             * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                             */
                            /**
                             * Pdf creation engine source model.
                             *
                             * @category  FireGento
                             * @package   FireGento_Pdf
                             * @author    FireGento Team <team@firegento.com>
                             */
                            class FireGento_Pdf_Model_System_Config_Source_Invoice_Engine
                            {
                                /**
                                 * Config xpath to pdf engine node
                                 *
                                 */
                                const XML_PATH_PDF_ENGINE = 'global/pdf/firegento_invoice_engines';

                                /**
                                 * Return array of possible engines.
                                 *
                                 * @return array
                                 */
                                public function toOptionArray()
                                {
                                    // load default engines shipped with Mage_Sales and FireGento_Pdf
                                    $engines = array(
                                        ''                                     => Mage::helper('firegento_pdf')->__('Standard Magento'),
                                        'firegento_pdf/engine_invoice_default' => Mage::helper('firegento_pdf')->__('Standard FireGento')
                                    );

                                    // load additional engines provided by third party extensions
                                    $engineNodes = Mage::app()->getConfig()->getNode(self::XML_PATH_PDF_ENGINE);
                                    if ($engineNodes && $engineNodes->hasChildren()) {
                                        foreach ($engineNodes->children() as $engineName => $engineNode) {
                                            $className   = (string) $engineNode->class;
                                            $engineLabel = Mage::helper('firegento_pdf')->__((string) $engineNode->label);
                                            $engines[$className] = $engineLabel;
                                        }
                                    }

                                    $options = array();
                                    foreach ($engines as $k => $v) {
                                        $options[] = array(
                                            'value' => $k,
                                            'label' => $v
                                        );
                                    }

                                    return $options;
                                }
                            }

                            Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                            diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/index.xhtml index 3b11375..6dc07de 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -67,8 +67,8 @@

                            Source of FireGento_Pdf

                            - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                            • @@ -113,9 +113,9 @@ Engine.php - 2.5 KB + 2.3 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xhtml index 211d756..7c0b8a4 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Logo.php

                              Source of file Logo.php

                              - Size: 2,036 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php

                              12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
                              <?php
                              /**
                               * This file is part of the FIREGENTO project.
                               *
                               * FireGento_Pdf is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2013 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               * @version   $Id:$
                               * @since     0.1.0
                               */
                              /**
                               * Logo position source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2013 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               * @version   $Id:$
                               * @since     0.1.0
                               */
                              class FireGento_Pdf_Model_System_Config_Source_Logo
                              {
                                  const LEFT = 'left';
                                  const CENTER = 'center';
                                  const RIGHT = 'right';
                                  const FULL_WIDTH = 'full_width';

                                  /**
                                   * Return array of possible positions.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      $positions = array(
                                          self::LEFT       => Mage::helper('firegento_pdf')->__('Left'),
                                          self::CENTER     => Mage::helper('firegento_pdf')->__('Center'),
                                          self::RIGHT      => Mage::helper('firegento_pdf')->__('Right'),
                                          self::FULL_WIDTH => Mage::helper('firegento_pdf')->__('Full width')
                                      );
                                      $options = array();
                                      foreach ($positions as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }
                                      return $options;
                                  }
                              }

                              + Size: 1,812 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php

                              1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
                              <?php
                              /**
                               * This file is part of a FireGento e.V. module.
                               *
                               * This FireGento e.V. module is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               */
                              /**
                               * Logo position source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               */
                              class FireGento_Pdf_Model_System_Config_Source_Logo
                              {
                                  const LEFT = 'left';
                                  const CENTER = 'center';
                                  const RIGHT = 'right';
                                  const FULL_WIDTH = 'full_width';

                                  /**
                                   * Return array of possible positions.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      $positions = array(
                                          self::LEFT       => Mage::helper('firegento_pdf')->__('Left'),
                                          self::CENTER     => Mage::helper('firegento_pdf')->__('Center'),
                                          self::RIGHT      => Mage::helper('firegento_pdf')->__('Right'),
                                          self::FULL_WIDTH => Mage::helper('firegento_pdf')->__('Full width')
                                      );
                                      $options = array();
                                      foreach ($positions as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }

                                      return $options;
                                  }
                              }

                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xhtml new file mode 100644 index 0000000..7cbfdcf --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of PageSize.php

                              Source of file PageSize.php

                              + Size: 1,556 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php

                              123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
                              <?php
                              /**
                               * This file is part of a FireGento e.V. module.
                               *
                               * This FireGento e.V. module is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2015 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               */

                              /**
                               * Page size source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               */
                              class FireGento_Pdf_Model_System_Config_Source_PageSize
                              {
                                  /**
                                   * Return array of possible sizes.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      $positions = array(
                                          Zend_Pdf_Page::SIZE_A4     => Mage::helper('firegento_pdf')->__('DIN A4'),
                                          Zend_Pdf_Page::SIZE_LETTER => Mage::helper('firegento_pdf')->__('Letter')
                                      );

                                      $options = array();
                                      foreach ($positions as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }

                                      return $options;
                                  }
                              }

                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xhtml index 59851c2..e6c86c5 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Payment.php

                              Source of file Payment.php

                              - Size: 1,936 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php

                              12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
                              <?php
                              /**
                               * This file is part of the FIREGENTO project.
                               *
                               * FireGento_Pdf is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2013 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               * @version   $Id:$
                               * @since     0.1.0
                               */
                              /**
                               * Payment method position source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2013 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               * @version   $Id:$
                               * @since     0.1.0
                               */
                              class FireGento_Pdf_Model_System_Config_Source_Payment
                              {
                                  const POSITION_HEADER = 'header';
                                  const POSITION_NOTE = 'note';

                                  /**
                                   * Return array of possible positions.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      $positions = array(
                                          '' => Mage::helper('firegento_pdf')->__('Hide payment method'),
                                          self::POSITION_HEADER => Mage::helper('firegento_pdf')->__('Header'),
                                          self::POSITION_NOTE => Mage::helper('firegento_pdf')->__('Notes area')
                                      );
                                      $options = array();
                                      foreach ($positions as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }
                                      return $options;
                                  }
                              }

                              + Size: 1,712 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php

                              1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
                              <?php
                              /**
                               * This file is part of a FireGento e.V. module.
                               *
                               * This FireGento e.V. module is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               */
                              /**
                               * Payment method position source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               */
                              class FireGento_Pdf_Model_System_Config_Source_Payment
                              {
                                  const POSITION_HEADER = 'header';
                                  const POSITION_NOTE = 'note';

                                  /**
                                   * Return array of possible positions.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      $positions = array(
                                          '' => Mage::helper('firegento_pdf')->__('Hide payment method'),
                                          self::POSITION_HEADER => Mage::helper('firegento_pdf')->__('Header'),
                                          self::POSITION_NOTE => Mage::helper('firegento_pdf')->__('Notes area')
                                      );
                                      $options = array();
                                      foreach ($positions as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }

                                      return $options;
                                  }
                              }

                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xhtml index 209a398..544aa4f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Engine.php

                              Source of file Engine.php

                              - Size: 2,575 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php

                              123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
                              <?php
                              /**
                               * This file is part of the FIREGENTO project.
                               *
                               * FireGento_Pdf is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2013 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               * @version   $Id:$
                               * @since     0.1.0
                               */
                              /**
                               * Pdf creation engine source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2013 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               * @version   $Id:$
                               * @since     0.1.0
                               */
                              class FireGento_Pdf_Model_System_Config_Source_Shipment_Engine
                              {
                                  /**
                                   * Config xpath to pdf engine node
                                   *
                                   */
                                  const XML_PATH_PDF_ENGINE = 'global/pdf/firegento_shipment_engines';

                                  /**
                                   * Return array of possible engines.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      // load default engines shipped with Mage_Sales and FireGento_Pdf
                                      $engines = array(
                                          ''                                     => Mage::helper('firegento_pdf')->__('Standard Magento'),
                                          'firegento_pdf/engine_shipment_default' => Mage::helper('firegento_pdf')->__('Standard Germany')
                                      );

                                      // load additional engines provided by third party extensions
                                      $engineNodes = Mage::app()->getConfig()->getNode(self::XML_PATH_PDF_ENGINE);
                                      if ($engineNodes && $engineNodes->hasChildren()) {
                                          foreach ($engineNodes->children() as $engineName => $engineNode) {
                                              $className   = (string) $engineNode->class;
                                              $engineLabel = Mage::helper('firegento_pdf')->__((string) $engineNode->label);
                                              $engines[$className] = $engineLabel;
                                          }
                                      }

                                      $options = array();
                                      foreach ($engines as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }
                                      return $options;
                                  }
                              }

                              + Size: 2,353 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php

                              12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
                              <?php
                              /**
                               * This file is part of a FireGento e.V. module.
                               *
                               * This FireGento e.V. module is free software; you can redistribute it and/or
                               * modify it under the terms of the GNU General Public License version 3 as
                               * published by the Free Software Foundation.
                               *
                               * This script is distributed in the hope that it will be useful, but WITHOUT
                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                               *
                               * PHP version 5
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                               */
                              /**
                               * Pdf creation engine source model.
                               *
                               * @category  FireGento
                               * @package   FireGento_Pdf
                               * @author    FireGento Team <team@firegento.com>
                               */
                              class FireGento_Pdf_Model_System_Config_Source_Shipment_Engine
                              {
                                  /**
                                   * Config xpath to pdf engine node
                                   *
                                   */
                                  const XML_PATH_PDF_ENGINE = 'global/pdf/firegento_shipment_engines';

                                  /**
                                   * Return array of possible engines.
                                   *
                                   * @return array
                                   */
                                  public function toOptionArray()
                                  {
                                      // load default engines shipped with Mage_Sales and FireGento_Pdf
                                      $engines = array(
                                          ''                                     => Mage::helper('firegento_pdf')->__('Standard Magento'),
                                          'firegento_pdf/engine_shipment_default' => Mage::helper('firegento_pdf')->__('Standard FireGento')
                                      );

                                      // load additional engines provided by third party extensions
                                      $engineNodes = Mage::app()->getConfig()->getNode(self::XML_PATH_PDF_ENGINE);
                                      if ($engineNodes && $engineNodes->hasChildren()) {
                                          foreach ($engineNodes->children() as $engineName => $engineNode) {
                                              $className   = (string) $engineNode->class;
                                              $engineLabel = Mage::helper('firegento_pdf')->__((string) $engineNode->label);
                                              $engines[$className] = $engineLabel;
                                          }
                                      }

                                      $options = array();
                                      foreach ($engines as $k => $v) {
                                          $options[] = array(
                                              'value' => $k,
                                              'label' => $v
                                          );
                                      }

                                      return $options;
                                  }
                              }

                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/index.xhtml index 9f9765f..ad6785e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -67,8 +67,8 @@

                              Source of FireGento_Pdf

                              - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                              • @@ -113,9 +113,9 @@ Engine.php - 2.5 KB + 2.3 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xhtml index 5cd1294..703207a 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Shipping.php

                                Source of file Shipping.php

                                - Size: 1,939 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                                /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php

                                12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
                                <?php
                                /**
                                 * This file is part of the FIREGENTO project.
                                 *
                                 * FireGento_Pdf is free software; you can redistribute it and/or
                                 * modify it under the terms of the GNU General Public License version 3 as
                                 * published by the Free Software Foundation.
                                 *
                                 * This script is distributed in the hope that it will be useful, but WITHOUT
                                 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                 *
                                 * PHP version 5
                                 *
                                 * @category  FireGento
                                 * @package   FireGento_Pdf
                                 * @author    FireGento Team <team@firegento.com>
                                 * @copyright 2013 FireGento Team (http://www.firegento.com)
                                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                 * @version   $Id:$
                                 * @since     0.1.0
                                 */
                                /**
                                 * Shipping method position source model.
                                 *
                                 * @category  FireGento
                                 * @package   FireGento_Pdf
                                 * @author    FireGento Team <team@firegento.com>
                                 * @copyright 2013 FireGento Team (http://www.firegento.com)
                                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                 * @version   $Id:$
                                 * @since     0.1.0
                                 */
                                class FireGento_Pdf_Model_System_Config_Source_Shipping
                                {
                                    const POSITION_HEADER = 'header';
                                    const POSITION_NOTE = 'note';

                                    /**
                                     * Return array of possible positions.
                                     *
                                     * @return array
                                     */
                                    public function toOptionArray()
                                    {
                                        $positions = array(
                                            '' => Mage::helper('firegento_pdf')->__('Hide shipping method'),
                                            self::POSITION_HEADER => Mage::helper('firegento_pdf')->__('Header'),
                                            self::POSITION_NOTE => Mage::helper('firegento_pdf')->__('Notes area')
                                        );
                                        $options = array();
                                        foreach ($positions as $k => $v) {
                                            $options[] = array(
                                                'value' => $k,
                                                'label' => $v
                                            );
                                        }
                                        return $options;
                                    }
                                }

                                + Size: 1,715 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php

                                1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
                                <?php
                                /**
                                 * This file is part of a FireGento e.V. module.
                                 *
                                 * This FireGento e.V. module is free software; you can redistribute it and/or
                                 * modify it under the terms of the GNU General Public License version 3 as
                                 * published by the Free Software Foundation.
                                 *
                                 * This script is distributed in the hope that it will be useful, but WITHOUT
                                 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                 *
                                 * PHP version 5
                                 *
                                 * @category  FireGento
                                 * @package   FireGento_Pdf
                                 * @author    FireGento Team <team@firegento.com>
                                 * @copyright 2014 FireGento Team (http://www.firegento.com)
                                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                 */
                                /**
                                 * Shipping method position source model.
                                 *
                                 * @category  FireGento
                                 * @package   FireGento_Pdf
                                 * @author    FireGento Team <team@firegento.com>
                                 */
                                class FireGento_Pdf_Model_System_Config_Source_Shipping
                                {
                                    const POSITION_HEADER = 'header';
                                    const POSITION_NOTE = 'note';

                                    /**
                                     * Return array of possible positions.
                                     *
                                     * @return array
                                     */
                                    public function toOptionArray()
                                    {
                                        $positions = array(
                                            '' => Mage::helper('firegento_pdf')->__('Hide shipping method'),
                                            self::POSITION_HEADER => Mage::helper('firegento_pdf')->__('Header'),
                                            self::POSITION_NOTE => Mage::helper('firegento_pdf')->__('Notes area')
                                        );
                                        $options = array();
                                        foreach ($positions as $k => $v) {
                                            $options[] = array(
                                                'value' => $k,
                                                'label' => $v
                                            );
                                        }

                                        return $options;
                                    }
                                }

                                Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/index.xhtml index 5910703..275dab6 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/Source/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -64,8 +64,8 @@

                                Source of FireGento_Pdf

                                - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                • @@ -112,13 +112,22 @@     + + + + Customer + + +   +   + Headerblocks.php - 1.8 KB + 1.6 KB - 2014-11-01T14:33:47+01:00 + 2018-03-12T19:59:19+00:00 @@ -133,17 +142,25 @@ Logo.php - 2.0 KB + 1.8 KB + + 2018-03-12T19:59:19+00:00 + + + + PageSize.php + + 1.5 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 Payment.php - 1.9 KB + 1.7 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 @@ -158,14 +175,14 @@ Shipping.php - 1.9 KB + 1.7 KB - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 - Total: 3 directories,4 files + Total: 4 directories,5 files diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/index.xhtml index 9e82f0b..a79ecc8 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/Config/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

                                  Source of FireGento_Pdf

                                  - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                  • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/index.xhtml index 7742fbb..f4bdb1e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/System/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                                    Source of FireGento_Pdf

                                    - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                    • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xhtml index b76563f..5df1770 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of Grandtotal.php

                                      Source of file Grandtotal.php

                                      - Size: 3,996 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                                      /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php

                                      123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
                                      <?php
                                      /**
                                       * This file is part of the FIREGENTO project.
                                       *
                                       * FireGento_Pdf is free software; you can redistribute it and/or
                                       * modify it under the terms of the GNU General Public License version 3 as
                                       * published by the Free Software Foundation.
                                       *
                                       * This script is distributed in the hope that it will be useful, but WITHOUT
                                       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                       *
                                       * PHP version 5
                                       *
                                       * @category  FireGento
                                       * @package   FireGento_Pdf
                                       * @author    FireGento Team <team@firegento.com>
                                       * @copyright 2013 FireGento Team (http://www.firegento.com)
                                       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                       */
                                      /**
                                       * Shipment bundle item model.
                                       *
                                       * @category  FireGento
                                       * @package   FireGento_Pdf
                                       * @author    FireGento Team <team@firegento.com>
                                       * @copyright 2013 FireGento Team (http://www.firegento.com)
                                       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                       * @version   $Id:$
                                       * @since     0.1.0
                                       */
                                      class FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal extends Mage_Tax_Model_Sales_Pdf_Grandtotal
                                      {

                                          const NO_SUM_ON_DETAILS = 'tax/sales_display/no_sum_on_details';
                                          const HIDE_GRANDTOTAL_EXCL_TAX = 'tax/sales_display/hide_grandtotal_excl_tax';

                                          /**
                                           * Check if tax amount should be included to grandtotals block
                                           * array(
                                           *  $index => array(
                                           *      'amount'   => $amount,
                                           *      'label'    => $label,
                                           *      'font_size'=> $font_size
                                           *  )
                                           * )
                                           *
                                           * @return array
                                           */
                                          public function getTotalsForDisplay()
                                          {
                                              $store = $this->getOrder()->getStore();
                                              $config = Mage::getSingleton('tax/config');
                                              $noDisplaySumOnDetails = Mage::getStoreConfig(self::NO_SUM_ON_DETAILS, $store);
                                              $hideGrandTotalExclTax = Mage::getStoreConfig(self::HIDE_GRANDTOTAL_EXCL_TAX, $store);
                                              if (!$config->displaySalesTaxWithGrandTotal($store)) {
                                                  return parent::getTotalsForDisplay();
                                              }
                                              $amount = $this->getOrder()->formatPriceTxt($this->getAmount());
                                              $amountExclTax = $this->getAmount() - $this->getSource()->getTaxAmount();
                                              $amountExclTax = ($amountExclTax > 0) ? $amountExclTax : 0;
                                              $amountExclTax = $this->getOrder()->formatPriceTxt($amountExclTax);
                                              $tax = $this->getOrder()->formatPriceTxt($this->getSource()->getTaxAmount());
                                              $fontSize = $this->getFontSize() ? $this->getFontSize() : 7;

                                              $totals = array();
                                              if (!$hideGrandTotalExclTax) {
                                                  $totals[] = array(
                                                      'amount' => $this->getAmountPrefix() . $amountExclTax,
                                                      'label' => Mage::helper('tax')->__('Grand Total (Excl. Tax)') . ':',
                                                      'font_size' => $fontSize
                                                  );
                                              }

                                              /**
                                               * if display_sales_full_summary = 1
                                               * display each tax group
                                               * if no_sum_on_details is = 1 display tax total additionally
                                               * else display only tax total
                                               */
                                              if ($config->displaySalesFullSummary($store)) {
                                                  $totals = array_merge($totals, $this->getFullTaxInfo());
                                                  if (!$noDisplaySumOnDetails) {
                                                      $totals[] = array(
                                                          'amount' => $this->getAmountPrefix() . $tax,
                                                          'label' => Mage::helper('tax')->__('Tax') . ':',
                                                          'font_size' => $fontSize
                                                      );
                                                  }
                                              } else {
                                                  $totals[] = array(
                                                      'amount' => $this->getAmountPrefix() . $tax,
                                                      'label' => Mage::helper('tax')->__('Tax') . ':',
                                                      'font_size' => $fontSize
                                                  );
                                              }

                                              $totals[] = array(
                                                  'amount' => $this->getAmountPrefix() . $amount,
                                                  'label' => Mage::helper('tax')->__('Grand Total (Incl. Tax)') . ':',
                                                  'font_size' => $fontSize
                                              );
                                              return $totals;
                                          }
                                      }

                                      + Size: 3,812 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                      /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php

                                      123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
                                      <?php
                                      /**
                                       * This file is part of a FireGento e.V. module.
                                       *
                                       * This FireGento e.V. module is free software; you can redistribute it and/or
                                       * modify it under the terms of the GNU General Public License version 3 as
                                       * published by the Free Software Foundation.
                                       *
                                       * This script is distributed in the hope that it will be useful, but WITHOUT
                                       * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                       * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                       *
                                       * PHP version 5
                                       *
                                       * @category  FireGento
                                       * @package   FireGento_Pdf
                                       * @author    FireGento Team <team@firegento.com>
                                       * @copyright 2014 FireGento Team (http://www.firegento.com)
                                       * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                       */
                                      /**
                                       * Shipment bundle item model.
                                       *
                                       * @category  FireGento
                                       * @package   FireGento_Pdf
                                       * @author    FireGento Team <team@firegento.com>
                                       */
                                      class FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal extends Mage_Tax_Model_Sales_Pdf_Grandtotal
                                      {

                                          const NO_SUM_ON_DETAILS = 'tax/sales_display/no_sum_on_details';
                                          const HIDE_GRANDTOTAL_EXCL_TAX = 'tax/sales_display/hide_grandtotal_excl_tax';

                                          /**
                                           * Check if tax amount should be included to grandtotals block
                                           * array(
                                           *  $index => array(
                                           *      'amount'   => $amount,
                                           *      'label'    => $label,
                                           *      'font_size'=> $font_size
                                           *  )
                                           * )
                                           *
                                           * @return array
                                           */
                                          public function getTotalsForDisplay()
                                          {
                                              $store = $this->getOrder()->getStore();
                                              $config = Mage::getSingleton('tax/config');
                                              $noDisplaySumOnDetails = Mage::getStoreConfig(self::NO_SUM_ON_DETAILS, $store);
                                              $hideGrandTotalExclTax = Mage::getStoreConfig(self::HIDE_GRANDTOTAL_EXCL_TAX, $store);
                                              if (!$config->displaySalesTaxWithGrandTotal($store)) {
                                                  return parent::getTotalsForDisplay();
                                              }

                                              $amount = $this->getOrder()->formatPriceTxt($this->getAmount());
                                              $amountExclTax = $this->getAmount() - $this->getSource()->getTaxAmount();
                                              $amountExclTax = ($amountExclTax > 0) ? $amountExclTax : 0;
                                              $amountExclTax = $this->getOrder()->formatPriceTxt($amountExclTax);
                                              $tax = $this->getOrder()->formatPriceTxt($this->getSource()->getTaxAmount());
                                              $fontSize = $this->getFontSize() ? $this->getFontSize() : 7;

                                              $totals = array();
                                              if (!$hideGrandTotalExclTax) {
                                                  $totals[] = array(
                                                      'amount' => $this->getAmountPrefix() . $amountExclTax,
                                                      'label' => Mage::helper('tax')->__('Grand Total (Excl. Tax)') . ':',
                                                      'font_size' => $fontSize
                                                  );
                                              }

                                              /**
                                               * if display_sales_full_summary = 1
                                               * display each tax group
                                               * if no_sum_on_details is = 1 display tax total additionally
                                               * else display only tax total
                                               */
                                              if ($config->displaySalesFullSummary($store)) {
                                                  $totals = array_merge($totals, $this->getFullTaxInfo());
                                                  if (!$noDisplaySumOnDetails) {
                                                      $totals[] = array(
                                                          'amount' => $this->getAmountPrefix() . $tax,
                                                          'label' => Mage::helper('tax')->__('Tax') . ':',
                                                          'font_size' => $fontSize
                                                      );
                                                  }
                                              } else {
                                                  $totals[] = array(
                                                      'amount' => $this->getAmountPrefix() . $tax,
                                                      'label' => Mage::helper('tax')->__('Tax') . ':',
                                                      'font_size' => $fontSize
                                                  );
                                              }

                                              $totals[] = array(
                                                  'amount' => $this->getAmountPrefix() . $amount,
                                                  'label' => Mage::helper('tax')->__('Grand Total (Incl. Tax)') . ':',
                                                  'font_size' => $fontSize
                                              );
                                              return $totals;
                                          }
                                      }

                                      Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                      diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/index.xhtml index 4ddf00b..3184739 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -64,8 +64,8 @@

                                      Source of FireGento_Pdf

                                      - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                      • @@ -107,9 +107,9 @@ Grandtotal.php - 3.9 KB + 3.7 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/index.xhtml index 1ec1635..f8c6138 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/Sales/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

                                        Source of FireGento_Pdf

                                        - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                        • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/index.xhtml index 42eeb05..4a9c633 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/Tax/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                                          Source of FireGento_Pdf

                                          - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                          • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/index.xhtml index a9597b5..ddd554f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Model/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Model/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -55,8 +55,8 @@

                                            Source of FireGento_Pdf

                                            - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                            • @@ -89,9 +89,9 @@ Creditmemo.php - 2.2 KB + 2.1 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 @@ -106,9 +106,9 @@ Invoice.php - 2.3 KB + 2.2 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 @@ -123,17 +123,17 @@ Observer.php - 7.4 KB + 11.5 KB - 2014-11-08T19:25:48+01:00 + 2018-03-12T19:59:19+00:00 Shipment.php - 2.2 KB + 2.1 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xhtml index 3e7d140..e67c818 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of CreditmemoTest.php

                                              Source of file CreditmemoTest.php

                                              - Size: 0,516 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php

                                              12345678910111213141516171819202122
                                              <?php


                                              class FireGento_Pdf_Test_Model_CreditmemoTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                              {
                                                  protected $class = 'FireGento_Pdf_Model_Creditmemo';
                                                  
                                                  public function getEngineXmlConfigPath()
                                                  {
                                                      return 'sales_pdf/creditmemo/engine';
                                                  }
                                                  
                                                  public function getExpectedDefaultEngineClass()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Pdf_Creditmemo';
                                                  }

                                                  public function getOrderObjectClassName()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Creditmemo';
                                                  }
                                              } 
                                              + Size: 1,446 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php

                                              1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
                                              <?php
                                              /**
                                               * This file is part of a FireGento e.V. module.
                                               *
                                               * This FireGento e.V. module is free software; you can redistribute it and/or
                                               * modify it under the terms of the GNU General Public License version 3 as
                                               * published by the Free Software Foundation.
                                               *
                                               * This script is distributed in the hope that it will be useful, but WITHOUT
                                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                               *
                                               * PHP version 5
                                               *
                                               * @category  FireGento
                                               * @package   FireGento_Pdf
                                               * @author    FireGento Team <team@firegento.com>
                                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                               */
                                              /**
                                               * Test class for creditmemos.
                                               *
                                               * @category FireGento
                                               * @package  FireGento_Pdf
                                               * @author   FireGento Team <team@firegento.com>
                                               */
                                              class FireGento_Pdf_Test_Model_CreditmemoTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                              {
                                                  protected $_class = 'FireGento_Pdf_Model_Creditmemo';
                                                  
                                                  public function getEngineXmlConfigPath()
                                                  {
                                                      return 'sales_pdf/creditmemo/engine';
                                                  }
                                                  
                                                  public function getExpectedDefaultEngineClass()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Pdf_Creditmemo';
                                                  }

                                                  public function getOrderObjectClassName()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Creditmemo';
                                                  }
                                              }

                                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xhtml index 48fe7d5..09965de 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of InvoiceTest.php

                                              Source of file InvoiceTest.php

                                              - Size: 0,501 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php

                                              12345678910111213141516171819202122
                                              <?php


                                              class FireGento_Pdf_Test_Model_InvoiceTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                              {
                                                  protected $class = 'FireGento_Pdf_Model_Invoice';
                                                  
                                                  public function getEngineXmlConfigPath()
                                                  {
                                                      return 'sales_pdf/invoice/engine';
                                                  }
                                                  
                                                  public function getExpectedDefaultEngineClass()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Pdf_Invoice';
                                                  }

                                                  public function getOrderObjectClassName()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Invoice';
                                                  }
                                              } 
                                              + Size: 1,428 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php

                                              1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
                                              <?php
                                              /**
                                               * This file is part of a FireGento e.V. module.
                                               *
                                               * This FireGento e.V. module is free software; you can redistribute it and/or
                                               * modify it under the terms of the GNU General Public License version 3 as
                                               * published by the Free Software Foundation.
                                               *
                                               * This script is distributed in the hope that it will be useful, but WITHOUT
                                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                               *
                                               * PHP version 5
                                               *
                                               * @category  FireGento
                                               * @package   FireGento_Pdf
                                               * @author    FireGento Team <team@firegento.com>
                                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                               */
                                              /**
                                               * Test class for invoices.
                                               *
                                               * @category FireGento
                                               * @package  FireGento_Pdf
                                               * @author   FireGento Team <team@firegento.com>
                                               */
                                              class FireGento_Pdf_Test_Model_InvoiceTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                              {
                                                  protected $_class = 'FireGento_Pdf_Model_Invoice';
                                                  
                                                  public function getEngineXmlConfigPath()
                                                  {
                                                      return 'sales_pdf/invoice/engine';
                                                  }
                                                  
                                                  public function getExpectedDefaultEngineClass()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Pdf_Invoice';
                                                  }

                                                  public function getOrderObjectClassName()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Invoice';
                                                  }
                                              }

                                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xhtml index c6365b4..3218c29 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of SalesObjectTestAbstract.php

                                              Source of file SalesObjectTestAbstract.php

                                              - Size: 3,304 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php

                                              123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
                                              <?php


                                              abstract class FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                                  extends EcomDev_PHPUnit_Test_Case
                                              {
                                                  protected $class = '';

                                                  /**
                                                   * @test
                                                   */
                                                  public function itShouldExist()
                                                  {
                                                      $this->assertTrue(class_exists($this->class));
                                                  }

                                                  /**
                                                   * @test
                                                   * @depends itShouldExist
                                                   */
                                                  public function itShouldHaveAMethodGetEngine()
                                                  {
                                                      try {
                                                          new ReflectionMethod($this->class, 'getEngine');
                                                      } catch (ReflectionException $e) {
                                                          $this->fail($e->getMessage());
                                                      }
                                                  }
                                                  
                                                  abstract function getEngineXmlConfigPath();
                                                  
                                                  abstract function getExpectedDefaultEngineClass();

                                                  abstract public function getOrderObjectClassName();

                                                  /**
                                                   * @test
                                                   * @depends itShouldHaveAMethodGetEngine
                                                   */
                                                  public function itShouldReturnADefaultEngineModel()
                                                  {
                                                      $this->app()->getStore()->setConfig($this->getEngineXmlConfigPath(), 'invalid');
                                                      $instance = new $this->class;
                                                      $result = $this->callMethod($instance, 'getEngine');
                                                      $this->assertInstanceOf($this->getExpectedDefaultEngineClass(), $result);
                                                  }

                                                  /**
                                                   * @test
                                                   * @depends itShouldExist
                                                   */
                                                  public function itShouldhaveAMethodGetPdf()
                                                  {
                                                      $instance = new $this->class;
                                                      $this->assertTrue(is_callable(array($instance, 'getPdf')));
                                                  }

                                                  /**
                                                   * @test
                                                   * @depends itShouldhaveAMethodGetPdf
                                                   */
                                                  public function itShouldReturnAZendPdf()
                                                  {
                                                      $instance = new $this->class;
                                                      
                                                      $mockAddress = $this->getMock('Mage_Sales_Model_Order_Address');

                                                      $mockPaymentMethod = $this->getMockForAbstractClass('Mage_Payment_Model_Method_Abstract');
                                                      
                                                      $mockPaymentInfo = $this->getMock('Mage_Sales_Model_Order_Payment');
                                                      $mockPaymentInfo->expects($this->any())
                                                          ->method('getMethodInstance')
                                                          ->will($this->returnValue($mockPaymentMethod));

                                                      $mockOrder = $this->getMock('Mage_Sales_Model_Order');
                                                      $mockOrder->expects($this->any())
                                                          ->method('getBillingAddress')
                                                          ->will($this->returnValue($mockAddress));
                                                      $mockOrder->expects($this->any())
                                                          ->method('getShippingAddress')
                                                          ->will($this->returnValue($mockAddress));
                                                      
                                                      $mockOrder->expects($this->any())
                                                          ->method('getPayment')
                                                          ->will($this->returnValue($mockPaymentInfo));
                                                      
                                                      $mockObj = $this->getMockBuilder($this->getOrderObjectClassName())
                                                          ->disableOriginalConstructor()
                                                          ->getMock();
                                                      $mockObj->expects($this->any())
                                                          ->method('getOrder')
                                                          ->will($this->returnValue($mockOrder));
                                                      $mockObj->expects($this->any())
                                                          ->method('getAllItems')
                                                          ->will($this->returnValue(array()));
                                                      
                                                      $result = $instance->getPdf(array($mockObj));
                                                      $this->assertInstanceOf('Zend_Pdf', $result);
                                                  }


                                                  protected function callMethod($object, $method, array $args = null)
                                                  {
                                                      $method = new ReflectionMethod($object, $method);
                                                      $method->setAccessible(true);
                                                      if (isset($args)) {
                                                          return $method->invokeArgs($object, $args);
                                                      } else {
                                                          return $method->invoke($object);
                                                      }
                                                  }
                                              } 
                                              + Size: 4,524 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php

                                              123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
                                              <?php
                                              /**
                                               * This file is part of a FireGento e.V. module.
                                               *
                                               * This FireGento e.V. module is free software; you can redistribute it and/or
                                               * modify it under the terms of the GNU General Public License version 3 as
                                               * published by the Free Software Foundation.
                                               *
                                               * This script is distributed in the hope that it will be useful, but WITHOUT
                                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                               *
                                               * PHP version 5
                                               *
                                               * @category  FireGento
                                               * @package   FireGento_Pdf
                                               * @author    FireGento Team <team@firegento.com>
                                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                               */
                                              /**
                                               * Abstract test class for the different engines.
                                               *
                                               * @category FireGento
                                               * @package  FireGento_Pdf
                                               * @author   FireGento Team <team@firegento.com>
                                               */
                                              abstract class FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                                  extends EcomDev_PHPUnit_Test_Case
                                              {
                                                  protected $_class = '';

                                                  /**
                                                   * @test
                                                   */
                                                  public function itShouldExist()
                                                  {
                                                      $this->assertTrue(class_exists($this->_class));
                                                  }

                                                  /**
                                                   * @test
                                                   * @depends itShouldExist
                                                   */
                                                  public function itShouldHaveAMethodGetEngine()
                                                  {
                                                      try {
                                                          new ReflectionMethod($this->_class, 'getEngine');
                                                      } catch (ReflectionException $e) {
                                                          $this->fail($e->getMessage());
                                                      }
                                                  }
                                                  
                                                  abstract public function getEngineXmlConfigPath();
                                                  
                                                  abstract public function getExpectedDefaultEngineClass();

                                                  abstract public function getOrderObjectClassName();

                                                  /**
                                                   * @test
                                                   * @depends itShouldHaveAMethodGetEngine
                                                   */
                                                  public function itShouldReturnADefaultEngineModel()
                                                  {
                                                      static::app()->getStore()->setConfig($this->getEngineXmlConfigPath(), 'invalid');
                                                      $instance = new $this->_class;
                                                      $result = $this->callMethod($instance, 'getEngine');
                                                      $this->assertInstanceOf($this->getExpectedDefaultEngineClass(), $result);
                                                  }

                                                  /**
                                                   * @test
                                                   * @depends itShouldExist
                                                   */
                                                  public function itShouldhaveAMethodGetPdf()
                                                  {
                                                      $instance = new $this->_class;
                                                      $this->assertTrue(is_callable(array($instance, 'getPdf')));
                                                  }

                                                  /**
                                                   * @test
                                                   * @depends itShouldhaveAMethodGetPdf
                                                   */
                                                  public function itShouldReturnAZendPdf()
                                                  {
                                                      $instance = new $this->_class;

                                                      $mockAddress = $this->getMock('Mage_Sales_Model_Order_Address');

                                                      $mockPaymentMethod = $this->getMock('Mage_Payment_Model_Method_Abstract');
                                                      $mockPaymentMethod->expects($this->any())
                                                          ->method('getInfoBlockType')
                                                          ->will($this->returnValue('payment/info'));

                                                      $mockPaymentInfo = $this->getMock('Mage_Sales_Model_Order_Payment');
                                                      $mockPaymentInfo->expects($this->any())
                                                          ->method('getMethodInstance')
                                                          ->will($this->returnValue($mockPaymentMethod));

                                                      $mockOrder = $this->getMock('Mage_Sales_Model_Order');
                                                      $mockOrder->expects($this->any())
                                                          ->method('getBillingAddress')
                                                          ->will($this->returnValue($mockAddress));
                                                      $mockOrder->expects($this->any())
                                                          ->method('getShippingAddress')
                                                          ->will($this->returnValue($mockAddress));

                                                      $mockOrder->expects($this->any())
                                                          ->method('getPayment')
                                                          ->will($this->returnValue($mockPaymentInfo));
                                                      
                                                      $mockObj = $this->getMockBuilder($this->getOrderObjectClassName())
                                                          ->disableOriginalConstructor()
                                                          ->getMock();
                                                      $mockObj->expects($this->any())
                                                          ->method('getOrder')
                                                          ->will($this->returnValue($mockOrder));
                                                      $mockObj->expects($this->any())
                                                          ->method('getAllItems')
                                                          ->will($this->returnValue(array()));

                                                      $currentArea = Mage::getDesign()->getArea();
                                                      Mage::getDesign()->setArea('adminhtml');
                                                      $result = $instance->getPdf(array($mockObj));
                                                      Mage::getDesign()->setArea($currentArea);
                                                      $this->assertInstanceOf('Zend_Pdf', $result);
                                                  }


                                                  protected function callMethod($object, $method, array $args = null)
                                                  {
                                                      $method = new ReflectionMethod($object, $method);
                                                      $method->setAccessible(true);
                                                      if (isset($args)) {
                                                          return $method->invokeArgs($object, $args);
                                                      } else {
                                                          return $method->invoke($object);
                                                      }
                                                  }
                                              }

                                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xhtml index c43cce3..b1c2379 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of ShipmentTest.php

                                              Source of file ShipmentTest.php

                                              - Size: 0,502 Bytes - Last Modified: 2014-10-26T15:00:57+01:00

                                              /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php

                                              12345678910111213141516171819202122
                                              <?php


                                              class FireGento_Pdf_Test_Model_ShipmentTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                              {
                                                  protected $class = 'FireGento_Pdf_Model_Shipment';

                                                  public function getEngineXmlConfigPath()
                                                  {
                                                      return 'sales_pdf/invoice/shipment';
                                                  }

                                                  public function getExpectedDefaultEngineClass()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Pdf_Shipment';
                                                  }
                                                  
                                                  public function getOrderObjectClassName()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Shipment';
                                                  }
                                              }
                                              + Size: 1,430 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                              /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php

                                              1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
                                              <?php
                                              /**
                                               * This file is part of a FireGento e.V. module.
                                               *
                                               * This FireGento e.V. module is free software; you can redistribute it and/or
                                               * modify it under the terms of the GNU General Public License version 3 as
                                               * published by the Free Software Foundation.
                                               *
                                               * This script is distributed in the hope that it will be useful, but WITHOUT
                                               * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                               * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                               *
                                               * PHP version 5
                                               *
                                               * @category  FireGento
                                               * @package   FireGento_Pdf
                                               * @author    FireGento Team <team@firegento.com>
                                               * @copyright 2014 FireGento Team (http://www.firegento.com)
                                               * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                               */
                                              /**
                                               * Test class for shipments.
                                               *
                                               * @category FireGento
                                               * @package  FireGento_Pdf
                                               * @author   FireGento Team <team@firegento.com>
                                               */
                                              class FireGento_Pdf_Test_Model_ShipmentTest extends FireGento_Pdf_Test_Model_SalesObjectTestAbstract
                                              {
                                                  protected $_class = 'FireGento_Pdf_Model_Shipment';

                                                  public function getEngineXmlConfigPath()
                                                  {
                                                      return 'sales_pdf/shipment/engine';
                                                  }

                                                  public function getExpectedDefaultEngineClass()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Pdf_Shipment';
                                                  }
                                                  
                                                  public function getOrderObjectClassName()
                                                  {
                                                      return 'Mage_Sales_Model_Order_Shipment';
                                                  }
                                              }

                                              Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                              diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/index.xhtml index 68e7ab9..03edefe 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/Model/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                                              Source of FireGento_Pdf

                                              - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                              • @@ -95,33 +95,33 @@ CreditmemoTest.php - 516 Bytes + 1.4 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 InvoiceTest.php - 501 Bytes + 1.4 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 SalesObjectTestAbstract.php - 3.2 KB + 4.4 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 ShipmentTest.php - 502 Bytes + 1.4 KB - 2014-10-26T15:00:57+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/index.xhtml index 3cad8a6..a9c63e0 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/Test/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/Test/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -55,8 +55,8 @@

                                                Source of FireGento_Pdf

                                                - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xhtml new file mode 100644 index 0000000..816d222 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of CreditmemoController.php

                                                  Source of file CreditmemoController.php

                                                  + Size: 1,799 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                  /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php

                                                  12345678910111213141516171819202122232425262728293031323334353637383940414243444546
                                                  <?php

                                                  require('Mage/Adminhtml/controllers/Sales/CreditmemoController.php');

                                                  class FireGento_Pdf_Adminhtml_Sales_CreditmemoController
                                                      extends Mage_Adminhtml_Sales_CreditmemoController
                                                  {
                                                      public function pdfcreditmemosAction()
                                                      {
                                                          $creditmemosIds = $this->getRequest()->getPost('creditmemo_ids');
                                                          if (count($creditmemosIds) > 1) {
                                                              $invoices = Mage::getResourceModel('sales/order_creditmemo_collection')
                                                                  ->addAttributeToSelect('*')
                                                                  ->addAttributeToFilter('entity_id', array('in' => $creditmemosIds))
                                                                  ->load();
                                                              if (!isset($pdf)) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_creditmemo')->getPdf($invoices);
                                                              } else {
                                                                  $pages = Mage::getModel('sales/order_pdf_creditmemo')->getPdf($invoices);
                                                                  $pdf->pages = array_merge($pdf->pages, $pages->pages);
                                                              }

                                                              return $this->_prepareDownloadResponse(
                                                                  Mage::helper('firegento_pdf')
                                                                      ->getExportFilenameForMultipleDocuments('creditmemo'),
                                                                  $pdf->render(), 'application/pdf'
                                                              );
                                                          } else if (count($creditmemosIds) == 1) {
                                                              $creditmemoId = $creditmemosIds[0];
                                                              if ($invoice = Mage::getModel('sales/order_creditmemo')
                                                                  ->load($creditmemoId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_creditmemo')
                                                                      ->getPdf(array($invoice));
                                                                  return $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('creditmemo', $invoice),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          }

                                                          $this->_redirect('*/*/');
                                                      }
                                                  }

                                                  Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                  diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xhtml new file mode 100644 index 0000000..308101d --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of InvoiceController.php

                                                  Source of file InvoiceController.php

                                                  + Size: 1,742 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                  /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php

                                                  12345678910111213141516171819202122232425262728293031323334353637383940414243444546
                                                  <?php

                                                  require('Mage/Adminhtml/controllers/Sales/InvoiceController.php');

                                                  class FireGento_Pdf_Adminhtml_Sales_InvoiceController
                                                      extends Mage_Adminhtml_Sales_InvoiceController
                                                  {
                                                      public function pdfinvoicesAction()
                                                      {
                                                          $invoicesIds = $this->getRequest()->getPost('invoice_ids');
                                                          if (count($invoicesIds) > 1) {
                                                              $invoices = Mage::getResourceModel('sales/order_invoice_collection')
                                                                  ->addAttributeToSelect('*')
                                                                  ->addAttributeToFilter('entity_id', array('in' => $invoicesIds))
                                                                  ->load();
                                                              if (!isset($pdf)) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
                                                              } else {
                                                                  $pages = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
                                                                  $pdf->pages = array_merge($pdf->pages, $pages->pages);
                                                              }

                                                              return $this->_prepareDownloadResponse(
                                                                  Mage::helper('firegento_pdf')
                                                                      ->getExportFilenameForMultipleDocuments('invoice'),
                                                                  $pdf->render(), 'application/pdf'
                                                              );
                                                          } else if (count($invoicesIds) == 1) {
                                                              $invoiceId = $invoicesIds[0];
                                                              if ($invoice = Mage::getModel('sales/order_invoice')
                                                                  ->load($invoiceId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_invoice')
                                                                      ->getPdf(array($invoice));
                                                                  return $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('invoice', $invoice),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          }

                                                          $this->_redirect('*/*/');
                                                      }
                                                  }

                                                  Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                  diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xhtml index 6c5e8a9..3742f00 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of CreditmemoController.php

                                                  Source of file CreditmemoController.php

                                                  - Size: 2,026 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

                                                  /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php

                                                  1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
                                                  <?php
                                                  /**
                                                   * This file is part of a FireGento e.V. module.
                                                   *
                                                   * This FireGento e.V. module is free software; you can redistribute it and/or
                                                   * modify it under the terms of the GNU General Public License version 3 as
                                                   * published by the Free Software Foundation.
                                                   *
                                                   * This script is distributed in the hope that it will be useful, but WITHOUT
                                                   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                   * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                   *
                                                   * PHP version 5
                                                   *
                                                   * @category  FireGento
                                                   * @package   FireGento_Pdf
                                                   * @author    FireGento Team <team@firegento.com>
                                                   * @copyright 2013 FireGento Team (http://www.firegento.com)
                                                   * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                   */
                                                  require('Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php');

                                                  /**
                                                   * Class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController
                                                   *
                                                   * @category FireGento
                                                   * @package  FireGento_Pdf
                                                   * @author   FireGento Team <team@firegento.com>
                                                   */
                                                  class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController
                                                      extends Mage_Adminhtml_Sales_Order_CreditmemoController
                                                  {

                                                      /**
                                                       * Create pdf for current creditmemo
                                                       */
                                                      public function printAction()
                                                      {
                                                          $this->_initCreditmemo();
                                                          /** @see Mage_Adminhtml_Sales_Order_InvoiceController */
                                                          if ($creditmemoId = $this->getRequest()->getParam('creditmemo_id')) {
                                                              if ($creditmemo = Mage::getModel('sales/order_creditmemo')
                                                                  ->load($creditmemoId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_creditmemo')
                                                                      ->getPdf(array($creditmemo));
                                                                  $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('creditmemo', $creditmemo),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          } else {
                                                              $this->_forward('noRoute');
                                                          }
                                                      }

                                                  }

                                                  + Size: 2,027 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                  /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php

                                                  123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
                                                  <?php
                                                  /**
                                                   * This file is part of a FireGento e.V. module.
                                                   *
                                                   * This FireGento e.V. module is free software; you can redistribute it and/or
                                                   * modify it under the terms of the GNU General Public License version 3 as
                                                   * published by the Free Software Foundation.
                                                   *
                                                   * This script is distributed in the hope that it will be useful, but WITHOUT
                                                   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                   * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                   *
                                                   * PHP version 5
                                                   *
                                                   * @category  FireGento
                                                   * @package   FireGento_Pdf
                                                   * @author    FireGento Team <team@firegento.com>
                                                   * @copyright 2014 FireGento Team (http://www.firegento.com)
                                                   * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                   */

                                                  require('Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php');

                                                  /**
                                                   * Class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController
                                                   *
                                                   * @category FireGento
                                                   * @package  FireGento_Pdf
                                                   * @author   FireGento Team <team@firegento.com>
                                                   */
                                                  class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController
                                                      extends Mage_Adminhtml_Sales_Order_CreditmemoController
                                                  {

                                                      /**
                                                       * Create pdf for current creditmemo
                                                       */
                                                      public function printAction()
                                                      {
                                                          $this->_initCreditmemo();
                                                          /** @see Mage_Adminhtml_Sales_Order_InvoiceController */
                                                          if ($creditmemoId = $this->getRequest()->getParam('creditmemo_id')) {
                                                              if ($creditmemo = Mage::getModel('sales/order_creditmemo')
                                                                  ->load($creditmemoId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_creditmemo')
                                                                      ->getPdf(array($creditmemo));
                                                                  $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('creditmemo', $creditmemo),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          } else {
                                                              $this->_forward('noRoute');
                                                          }
                                                      }

                                                  }

                                                  Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                  diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xhtml index c9c776e..202fb6f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of InvoiceController.php

                                                  Source of file InvoiceController.php

                                                  - Size: 1,917 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

                                                  /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php

                                                  1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
                                                  <?php
                                                  /**
                                                   * This file is part of a FireGento e.V. module.
                                                   *
                                                   * This FireGento e.V. module is free software; you can redistribute it and/or
                                                   * modify it under the terms of the GNU General Public License version 3 as
                                                   * published by the Free Software Foundation.
                                                   *
                                                   * This script is distributed in the hope that it will be useful, but WITHOUT
                                                   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                   * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                   *
                                                   * PHP version 5
                                                   *
                                                   * @category  FireGento
                                                   * @package   FireGento_Pdf
                                                   * @author    FireGento Team <team@firegento.com>
                                                   * @copyright 2013 FireGento Team (http://www.firegento.com)
                                                   * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                   */

                                                  require('Mage/Adminhtml/controllers/Sales/Order/InvoiceController.php');

                                                  /**
                                                   * Class FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController
                                                   *
                                                   * @category FireGento
                                                   * @package  FireGento_Pdf
                                                   * @author   FireGento Team <team@firegento.com>
                                                   */
                                                  class FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController
                                                      extends Mage_Adminhtml_Sales_Order_InvoiceController
                                                  {

                                                      /**
                                                       * Create pdf for current invoice
                                                       */
                                                      public function printAction()
                                                      {
                                                          $this->_initInvoice();
                                                          if ($invoiceId = $this->getRequest()->getParam('invoice_id')) {
                                                              if ($invoice = Mage::getModel('sales/order_invoice')
                                                                  ->load($invoiceId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_invoice')
                                                                      ->getPdf(array($invoice));
                                                                  $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('invoice', $invoice),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          } else {
                                                              $this->_forward('noRoute');
                                                          }
                                                      }

                                                  }

                                                  + Size: 1,917 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                  /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php

                                                  1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
                                                  <?php
                                                  /**
                                                   * This file is part of a FireGento e.V. module.
                                                   *
                                                   * This FireGento e.V. module is free software; you can redistribute it and/or
                                                   * modify it under the terms of the GNU General Public License version 3 as
                                                   * published by the Free Software Foundation.
                                                   *
                                                   * This script is distributed in the hope that it will be useful, but WITHOUT
                                                   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                   * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                   *
                                                   * PHP version 5
                                                   *
                                                   * @category  FireGento
                                                   * @package   FireGento_Pdf
                                                   * @author    FireGento Team <team@firegento.com>
                                                   * @copyright 2014 FireGento Team (http://www.firegento.com)
                                                   * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                   */

                                                  require('Mage/Adminhtml/controllers/Sales/Order/InvoiceController.php');

                                                  /**
                                                   * Class FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController
                                                   *
                                                   * @category FireGento
                                                   * @package  FireGento_Pdf
                                                   * @author   FireGento Team <team@firegento.com>
                                                   */
                                                  class FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController
                                                      extends Mage_Adminhtml_Sales_Order_InvoiceController
                                                  {

                                                      /**
                                                       * Create pdf for current invoice
                                                       */
                                                      public function printAction()
                                                      {
                                                          $this->_initInvoice();
                                                          if ($invoiceId = $this->getRequest()->getParam('invoice_id')) {
                                                              if ($invoice = Mage::getModel('sales/order_invoice')
                                                                  ->load($invoiceId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_invoice')
                                                                      ->getPdf(array($invoice));
                                                                  $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('invoice', $invoice),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          } else {
                                                              $this->_forward('noRoute');
                                                          }
                                                      }

                                                  }

                                                  Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                  diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xhtml index 4479819..bd90811 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of ShipmentController.php

                                                  Source of file ShipmentController.php

                                                  - Size: 1,991 Bytes - Last Modified: 2014-11-08T20:00:37+01:00

                                                  /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php

                                                  123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
                                                  <?php
                                                  /**
                                                   * This file is part of a FireGento e.V. module.
                                                   *
                                                   * This FireGento e.V. module is free software; you can redistribute it and/or
                                                   * modify it under the terms of the GNU General Public License version 3 as
                                                   * published by the Free Software Foundation.
                                                   *
                                                   * This script is distributed in the hope that it will be useful, but WITHOUT
                                                   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                   * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                   *
                                                   * PHP version 5
                                                   *
                                                   * @category  FireGento
                                                   * @package   FireGento_Pdf
                                                   * @author    FireGento Team <team@firegento.com>
                                                   * @copyright 2013 FireGento Team (http://www.firegento.com)
                                                   * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                   */

                                                  require('Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php');

                                                  /**
                                                   * Class FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController
                                                   *
                                                   * @category FireGento
                                                   * @package  FireGento_Pdf
                                                   * @author   FireGento Team <team@firegento.com>
                                                   */
                                                  class FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController
                                                      extends Mage_Adminhtml_Sales_Order_ShipmentController
                                                  {

                                                      /**
                                                       * Create pdf for current shipment
                                                       */
                                                      public function printAction()
                                                      {
                                                          /** @see Mage_Adminhtml_Sales_Order_InvoiceController */
                                                          if ($shipmentId = $this->getRequest()->getParam('invoice_id')
                                                          ) { // invoice_id o_0
                                                              if ($shipment = Mage::getModel('sales/order_shipment')
                                                                  ->load($shipmentId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_shipment')
                                                                      ->getPdf(array($shipment));
                                                                  $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('shipment', $shipment),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          } else {
                                                              $this->_forward('noRoute');
                                                          }
                                                      }

                                                  }

                                                  + Size: 1,991 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                  /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php

                                                  123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
                                                  <?php
                                                  /**
                                                   * This file is part of a FireGento e.V. module.
                                                   *
                                                   * This FireGento e.V. module is free software; you can redistribute it and/or
                                                   * modify it under the terms of the GNU General Public License version 3 as
                                                   * published by the Free Software Foundation.
                                                   *
                                                   * This script is distributed in the hope that it will be useful, but WITHOUT
                                                   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                   * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                   *
                                                   * PHP version 5
                                                   *
                                                   * @category  FireGento
                                                   * @package   FireGento_Pdf
                                                   * @author    FireGento Team <team@firegento.com>
                                                   * @copyright 2014 FireGento Team (http://www.firegento.com)
                                                   * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                   */

                                                  require('Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php');

                                                  /**
                                                   * Class FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController
                                                   *
                                                   * @category FireGento
                                                   * @package  FireGento_Pdf
                                                   * @author   FireGento Team <team@firegento.com>
                                                   */
                                                  class FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController
                                                      extends Mage_Adminhtml_Sales_Order_ShipmentController
                                                  {

                                                      /**
                                                       * Create pdf for current shipment
                                                       */
                                                      public function printAction()
                                                      {
                                                          /** @see Mage_Adminhtml_Sales_Order_InvoiceController */
                                                          if ($shipmentId = $this->getRequest()->getParam('invoice_id')
                                                          ) { // invoice_id o_0
                                                              if ($shipment = Mage::getModel('sales/order_shipment')
                                                                  ->load($shipmentId)
                                                              ) {
                                                                  $pdf = Mage::getModel('sales/order_pdf_shipment')
                                                                      ->getPdf(array($shipment));
                                                                  $this->_prepareDownloadResponse(
                                                                      Mage::helper('firegento_pdf')
                                                                          ->getExportFilename('shipment', $shipment),
                                                                      $pdf->render(), 'application/pdf'
                                                                  );
                                                              }
                                                          } else {
                                                              $this->_forward('noRoute');
                                                          }
                                                      }

                                                  }

                                                  Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                  diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/index.xhtml index 8c8b4ba..09fb38e 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -64,8 +64,8 @@

                                                  Source of FireGento_Pdf

                                                  - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                  • @@ -109,7 +109,7 @@ 2.0 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 @@ -117,7 +117,7 @@ 1.9 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 @@ -125,7 +125,7 @@ 1.9 KB - 2014-11-08T20:00:37+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xhtml new file mode 100644 index 0000000..758378f --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of OrderController.php

                                                    Source of file OrderController.php

                                                    + Size: 6,227 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php

                                                    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
                                                    <?php

                                                    require('Mage/Adminhtml/controllers/Sales/OrderController.php');

                                                    class FireGento_Pdf_Adminhtml_Sales_OrderController
                                                        extends Mage_Adminhtml_Sales_OrderController
                                                    {
                                                        public function pdfinvoicesAction()
                                                        {
                                                            $orderIds = $this->getRequest()->getPost('order_ids');
                                                            $flag = false;
                                                            if (!empty($orderIds)) {
                                                                $invoice = null;
                                                                foreach ($orderIds as $orderId) {
                                                                    $invoices = Mage::getResourceModel('sales/order_invoice_collection')
                                                                        ->setOrderFilter($orderId)
                                                                        ->load();
                                                                    if ($invoices->getSize() == 1) {
                                                                        $invoice = $invoices->getFirstItem();
                                                                    }

                                                                    if ($invoices->getSize() > 0) {
                                                                        $flag = true;
                                                                        if (!isset($pdf)) {
                                                                            $pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
                                                                        } else {
                                                                            $pages = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
                                                                            $pdf->pages = array_merge($pdf->pages, $pages->pages);
                                                                            // there is more than one invoice
                                                                            $invoice = null;
                                                                        }
                                                                    }
                                                                }

                                                                if ($flag) {
                                                                    if ($invoice != null) {
                                                                        return $this->_prepareDownloadResponse(
                                                                            Mage::helper('firegento_pdf')
                                                                                ->getExportFilename('invoice', $invoice),
                                                                            $pdf->render(), 'application/pdf'
                                                                        );
                                                                    }

                                                                    return $this->_prepareDownloadResponse(
                                                                        Mage::helper('firegento_pdf')
                                                                            ->getExportFilenameForMultipleDocuments('invoice'),
                                                                        $pdf->render(), 'application/pdf'
                                                                    );
                                                                } else {
                                                                    $this->_getSession()->addError(
                                                                        $this->__('There are no printable documents related to selected orders.')
                                                                    );
                                                                    $this->_redirect('*/*/');
                                                                }
                                                            }

                                                            $this->_redirect('*/*/');
                                                        }

                                                        public function pdfshipmentsAction()
                                                        {
                                                            $orderIds = $this->getRequest()->getPost('order_ids');
                                                            $flag = false;
                                                            if (!empty($orderIds)) {
                                                                $shipment = null;
                                                                foreach ($orderIds as $orderId) {
                                                                    $shipments = Mage::getResourceModel('sales/order_shipment_collection')
                                                                        ->setOrderFilter($orderId)
                                                                        ->load();
                                                                    if ($shipments->getSize() == 1) {
                                                                        $shipment = $shipments->getFirstItem();
                                                                    }

                                                                    if ($shipments->getSize() > 0) {
                                                                        $flag = true;
                                                                        if (!isset($pdf)) {
                                                                            $pdf = Mage::getModel('sales/order_pdf_shipment')->getPdf($shipments);
                                                                        } else {
                                                                            $pages = Mage::getModel('sales/order_pdf_shipment')->getPdf($shipments);
                                                                            $pdf->pages = array_merge($pdf->pages, $pages->pages);
                                                                            // there is more than one invoice
                                                                            $shipment = null;
                                                                        }
                                                                    }
                                                                }

                                                                if ($flag) {
                                                                    if ($shipment != null) {
                                                                        return $this->_prepareDownloadResponse(
                                                                            Mage::helper('firegento_pdf')
                                                                                ->getExportFilename('shipment', $shipment),
                                                                            $pdf->render(), 'application/pdf'
                                                                        );
                                                                    }

                                                                    return $this->_prepareDownloadResponse(
                                                                        Mage::helper('firegento_pdf')
                                                                            ->getExportFilenameForMultipleDocuments('shipment'),
                                                                        $pdf->render(), 'application/pdf'
                                                                    );
                                                                } else {
                                                                    $this->_getSession()->addError(
                                                                        $this->__('There are no printable documents related to selected orders.')
                                                                    );
                                                                    $this->_redirect('*/*/');
                                                                }
                                                            }

                                                            $this->_redirect('*/*/');
                                                        }

                                                        public function pdfcreditmemosAction()
                                                        {
                                                            $orderIds = $this->getRequest()->getPost('order_ids');
                                                            $flag = false;
                                                            if (!empty($orderIds)) {
                                                                $creditmemo = null;
                                                                foreach ($orderIds as $orderId) {
                                                                    $creditmemos = Mage::getResourceModel('sales/order_creditmemo_collection')
                                                                        ->setOrderFilter($orderId)
                                                                        ->load();
                                                                    if ($creditmemos->getSize() == 1) {
                                                                        $creditmemo = $creditmemos->getFirstItem();
                                                                    }

                                                                    if ($creditmemos->getSize() > 0) {
                                                                        $flag = true;
                                                                        if (!isset($pdf)) {
                                                                            $pdf = Mage::getModel('sales/order_pdf_creditmemo')->getPdf($creditmemos);
                                                                        } else {
                                                                            $pages = Mage::getModel('sales/order_pdf_creditmemo')->getPdf($creditmemos);
                                                                            $pdf->pages = array_merge($pdf->pages, $pages->pages);
                                                                            // there is more than one invoice
                                                                            $creditmemo = null;
                                                                        }
                                                                    }
                                                                }

                                                                if ($flag) {
                                                                    if ($creditmemo != null) {
                                                                        return $this->_prepareDownloadResponse(
                                                                            Mage::helper('firegento_pdf')
                                                                                ->getExportFilename('creditmemo', $creditmemo),
                                                                            $pdf->render(), 'application/pdf'
                                                                        );
                                                                    }

                                                                    return $this->_prepareDownloadResponse(
                                                                        Mage::helper('firegento_pdf')
                                                                            ->getExportFilenameForMultipleDocuments('creditmemo'),
                                                                        $pdf->render(), 'application/pdf'
                                                                    );
                                                                } else {
                                                                    $this->_getSession()->addError(
                                                                        $this->__('There are no printable documents related to selected orders.')
                                                                    );
                                                                    $this->_redirect('*/*/');
                                                                }
                                                            }

                                                            $this->_redirect('*/*/');
                                                        }
                                                    }

                                                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xhtml new file mode 100644 index 0000000..9ad48d8 --- /dev/null +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xhtml @@ -0,0 +1,3 @@ + +phpDox - Source of ShipmentController.php

                                                    Source of file ShipmentController.php

                                                    + Size: 1,762 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                    /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php

                                                    12345678910111213141516171819202122232425262728293031323334353637383940414243444546
                                                    <?php

                                                    require('Mage/Adminhtml/controllers/Sales/ShipmentController.php');

                                                    class FireGento_Pdf_Adminhtml_Sales_ShipmentController
                                                        extends Mage_Adminhtml_Sales_ShipmentController
                                                    {
                                                        public function pdfshipmentsAction()
                                                        {
                                                            $shipmentIds = $this->getRequest()->getPost('shipment_ids');
                                                            if (count($shipmentIds) > 1) {
                                                                $shipments = Mage::getResourceModel('sales/order_shipment_collection')
                                                                    ->addAttributeToSelect('*')
                                                                    ->addAttributeToFilter('entity_id', array('in' => $shipmentIds))
                                                                    ->load();
                                                                if (!isset($pdf)) {
                                                                    $pdf = Mage::getModel('sales/order_pdf_shipment')->getPdf($shipments);
                                                                } else {
                                                                    $pages = Mage::getModel('sales/order_pdf_shipment')->getPdf($shipments);
                                                                    $pdf->pages = array_merge($pdf->pages, $pages->pages);
                                                                }

                                                                return $this->_prepareDownloadResponse(
                                                                    Mage::helper('firegento_pdf')
                                                                        ->getExportFilenameForMultipleDocuments('shipment'),
                                                                    $pdf->render(), 'application/pdf'
                                                                );
                                                            } else if (count($shipmentIds) == 1) {
                                                                $shipmentId = $shipmentIds[0];
                                                                if ($shipment = Mage::getModel('sales/order_shipment')
                                                                    ->load($shipmentId)
                                                                ) {
                                                                    $pdf = Mage::getModel('sales/order_pdf_shipment')
                                                                        ->getPdf(array($shipment));
                                                                    return $this->_prepareDownloadResponse(
                                                                        Mage::helper('firegento_pdf')
                                                                            ->getExportFilename('shipment', $shipment),
                                                                        $pdf->render(), 'application/pdf'
                                                                    );
                                                                }
                                                            }

                                                            $this->_redirect('*/*/');
                                                        }
                                                    }

                                                    Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                    diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/index.xhtml index f223041..1c23e97 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -61,8 +61,8 @@

                                                    Source of FireGento_Pdf

                                                    - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                    • @@ -97,6 +97,22 @@ Size Last Modified + + + CreditmemoController.php + + 1.8 KB + + 2018-03-12T19:59:19+00:00 + + + + InvoiceController.php + + 1.7 KB + + 2018-03-12T19:59:19+00:00 + @@ -106,10 +122,26 @@     + + + OrderController.php + + 6.1 KB + + 2018-03-12T19:59:19+00:00 + + + + ShipmentController.php + + 1.7 KB + + 2018-03-12T19:59:19+00:00 + - Total: 1 directories, + Total: 1 directories,4 files diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/index.xhtml index 752f8bb..a5a7cdb 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Adminhtml/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                                                      Source of FireGento_Pdf

                                                      - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                      • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xhtml index 18dfc7c..a9e806f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of OrderController.php

                                                        Source of file OrderController.php

                                                        - Size: 4,619 Bytes - Last Modified: 2014-11-08T19:25:48+01:00

                                                        /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php

                                                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
                                                        <?php
                                                        /**
                                                         * This file is part of the FIREGENTO project.
                                                         *
                                                         * FireGento_Pdf is free software; you can redistribute it and/or
                                                         * modify it under the terms of the GNU General Public License version 3 as
                                                         * published by the Free Software Foundation.
                                                         *
                                                         * This script is distributed in the hope that it will be useful, but WITHOUT
                                                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                         *
                                                         * PHP version 5
                                                         *
                                                         * @category  FireGento
                                                         * @package   FireGento_Pdf
                                                         * @author    FireGento Team <team@firegento.com>
                                                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                                                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                         * @version   $Id:$
                                                         * @since     0.1.0
                                                         */

                                                        require_once 'Mage/Sales/controllers/OrderController.php';

                                                        /**
                                                         * Sales orders controller
                                                         *
                                                         * @category  FireGento
                                                         * @package   FireGento_Pdf
                                                         * @author    FireGento Team <team@firegento.com>
                                                         * @copyright 2013 FireGento Team (http://www.firegento.com)
                                                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                         * @version   $Id:$
                                                         * @since     0.1.0
                                                         */
                                                        class FireGento_Pdf_Sales_OrderController extends Mage_Sales_OrderController
                                                        {
                                                            protected $_types
                                                                = array(
                                                                    'invoice', 'creditmemo', 'shipment'
                                                                );

                                                            /**
                                                             * Print PDF Invoice Action
                                                             *
                                                             * it changes the standard action with html output to pdf output
                                                             *
                                                             * @return void
                                                             */
                                                            public function printInvoiceAction()
                                                            {
                                                                $this->printDocument('invoice');
                                                            }

                                                            /**
                                                             * Print PDF Creditmemo action
                                                             *
                                                             * it changes the standard action with html output to pdf output
                                                             *
                                                             * @return void
                                                             */

                                                            public function printCreditmemoAction()
                                                            {
                                                                $this->printDocument('creditmemo');
                                                            }

                                                            /**
                                                             * Print PDF Shipment Action
                                                             *
                                                             * it changes the standard action with html output to pdf output
                                                             *
                                                             * @return void
                                                             */
                                                            public function printShipmentAction()
                                                            {
                                                                $this->printDocument('shipment');
                                                            }

                                                            /**
                                                             * Create invoice, creditmemo or shipment pdf
                                                             *
                                                             * @param string $type which document should be created? invoice, creditmemo or shipment
                                                             */
                                                            public function printDocument($type)
                                                            {
                                                                if (!in_array($type, $this->_types)) {
                                                                    Mage::throwException('Type not found in type table.');
                                                                }
                                                                /* @var $order Mage_Sales_Model_Order */
                                                                $documentId = (int)$this->getRequest()->getParam($type . '_id');
                                                                $document = null;
                                                                if ($documentId) {
                                                                    /* @var $document Mage_Sales_Model_Abstract */
                                                                    $document = Mage::getModel('sales/order_' . $type);
                                                                    $document->load($documentId);
                                                                    $order = $document->getOrder();
                                                                } else {
                                                                    $orderId = (int)$this->getRequest()->getParam('order_id');
                                                                    $order = Mage::getModel('sales/order')->load($orderId);
                                                                }

                                                                if ($this->_canViewOrder($order)) {
                                                                    if (isset($orderId)) {
                                                                        // Create a pdf file from all $type s of requested order.
                                                                        /* @var $documentsCollection Mage_Sales_Model_Resource_Order_Collection_Abstract */
                                                                        $documentsCollection = Mage::getResourceModel('sales/order_' . $type . '_collection');
                                                                        $documentsCollection
                                                                            ->addAttributeToSelect('*')
                                                                            ->addAttributeToFilter('order_id', $orderId)
                                                                            ->load();
                                                                    } else {
                                                                        // Create a single $type pdf.
                                                                        $documentsCollection = array($document);
                                                                    }

                                                                    // Store current area and set to adminhtml for $type generation.
                                                                    $currentArea = Mage::getDesign()->getArea();
                                                                    Mage::getDesign()->setArea('adminhtml');

                                                                    /* @var $pdfGenerator Mage_Sales_Model_Order_Pdf_Abstract */
                                                                    $pdfGenerator = Mage::getModel('sales/order_pdf_' . $type);
                                                                    $pdf = $pdfGenerator->getPdf($documentsCollection);
                                                                    $this->_prepareDownloadResponse(
                                                                        Mage::helper('firegento_pdf')->getExportFilename($type, $document), $pdf->render(), 'application/pdf'
                                                                    );

                                                                    // Restore area.
                                                                    Mage::getDesign()->setArea($currentArea);

                                                                } else {
                                                                    if (Mage::getSingleton('customer/session')->isLoggedIn()) {
                                                                        $this->_redirect('*/*/history');
                                                                    } else {
                                                                        $this->_redirect('sales/guest/form');
                                                                    }
                                                                }
                                                            }
                                                        }

                                                        + Size: 4,793 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                        /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php

                                                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
                                                        <?php
                                                        /**
                                                         * This file is part of a FireGento e.V. module.
                                                         *
                                                         * This FireGento e.V. module is free software; you can redistribute it and/or
                                                         * modify it under the terms of the GNU General Public License version 3 as
                                                         * published by the Free Software Foundation.
                                                         *
                                                         * This script is distributed in the hope that it will be useful, but WITHOUT
                                                         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                         * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                         *
                                                         * PHP version 5
                                                         *
                                                         * @category  FireGento
                                                         * @package   FireGento_Pdf
                                                         * @author    FireGento Team <team@firegento.com>
                                                         * @copyright 2014 FireGento Team (http://www.firegento.com)
                                                         * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                         */

                                                        require_once 'Mage/Sales/controllers/OrderController.php';

                                                        /**
                                                         * Sales orders controller
                                                         *
                                                         * @category  FireGento
                                                         * @package   FireGento_Pdf
                                                         * @author    FireGento Team <team@firegento.com>
                                                         */
                                                        class FireGento_Pdf_Sales_OrderController extends Mage_Sales_OrderController
                                                        {
                                                            protected $_types
                                                                = array(
                                                                    'invoice', 'creditmemo', 'shipment'
                                                                );

                                                            /**
                                                             * Print PDF Invoice Action
                                                             *
                                                             * it changes the standard action with html output to pdf output
                                                             *
                                                             * @return void
                                                             */
                                                            public function printInvoiceAction()
                                                            {
                                                                $this->printDocument('invoice');
                                                            }

                                                            /**
                                                             * Print PDF Creditmemo action
                                                             *
                                                             * it changes the standard action with html output to pdf output
                                                             *
                                                             * @return void
                                                             */

                                                            public function printCreditmemoAction()
                                                            {
                                                                $this->printDocument('creditmemo');
                                                            }

                                                            /**
                                                             * Print PDF Shipment Action
                                                             *
                                                             * it changes the standard action with html output to pdf output
                                                             *
                                                             * @return void
                                                             */
                                                            public function printShipmentAction()
                                                            {
                                                                $this->printDocument('shipment');
                                                            }

                                                            /**
                                                             * Create invoice, creditmemo or shipment pdf
                                                             *
                                                             * @param string $type which document should be created? invoice, creditmemo or shipment
                                                             */
                                                            public function printDocument($type)
                                                            {
                                                                if (!in_array($type, $this->_types)) {
                                                                    Mage::throwException('Type not found in type table.');
                                                                }

                                                                /* @var $order Mage_Sales_Model_Order */
                                                                $documentId = (int)$this->getRequest()->getParam($type . '_id');
                                                                $document = null;
                                                                if ($documentId) {
                                                                    /* @var $document Mage_Sales_Model_Abstract */
                                                                    $document = Mage::getModel('sales/order_' . $type);
                                                                    $document->load($documentId);
                                                                    $order = $document->getOrder();
                                                                } else {
                                                                    $orderId = (int)$this->getRequest()->getParam('order_id');
                                                                    $order = Mage::getModel('sales/order')->load($orderId);
                                                                }

                                                                if ($this->_canViewOrder($order)) {
                                                                    if (isset($orderId)) {
                                                                        // Create a pdf file from all $type s of requested order.
                                                                        /* @var $documentsCollection Mage_Sales_Model_Resource_Order_Collection_Abstract */
                                                                        $documentsCollection = Mage::getResourceModel('sales/order_' . $type . '_collection');
                                                                        $documentsCollection
                                                                            ->addAttributeToSelect('*')
                                                                            ->addAttributeToFilter('order_id', $orderId)
                                                                            ->load();
                                                                        if (count($documentsCollection) == 1) {
                                                                            $filename = Mage::helper('firegento_pdf')
                                                                                ->getExportFilename($type, $documentsCollection->getFirstItem());
                                                                        } else {
                                                                            $filename = Mage::helper('firegento_pdf')->getExportFilenameForMultipleDocuments($type);
                                                                        }
                                                                    } else {
                                                                        // Create a single $type pdf.
                                                                        $documentsCollection = array($document);
                                                                        $filename = Mage::helper('firegento_pdf')->getExportFilename($type, $document);
                                                                    }

                                                                    // Store current area and set to adminhtml for $type generation.
                                                                    $currentArea = Mage::getDesign()->getArea();
                                                                    Mage::getDesign()->setArea('adminhtml');

                                                                    /* @var $pdfGenerator Mage_Sales_Model_Order_Pdf_Abstract */
                                                                    $pdfGenerator = Mage::getModel('sales/order_pdf_' . $type);
                                                                    $pdf = $pdfGenerator->getPdf($documentsCollection);
                                                                    $this->_prepareDownloadResponse(
                                                                        $filename, $pdf->render(), 'application/pdf'
                                                                    );

                                                                    // Restore area.
                                                                    Mage::getDesign()->setArea($currentArea);
                                                                } else {
                                                                    if (Mage::getSingleton('customer/session')->isLoggedIn()) {
                                                                        $this->_redirect('*/*/history');
                                                                    } else {
                                                                        $this->_redirect('sales/guest/form');
                                                                    }
                                                                }
                                                            }
                                                        }

                                                        Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                        diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/index.xhtml index ef2874b..187c2ad 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/Sales/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                                                        Source of FireGento_Pdf

                                                        - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                        • @@ -95,9 +95,9 @@ OrderController.php - 4.5 KB + 4.7 KB - 2014-11-08T19:25:48+01:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/index.xhtml index 85103b5..643335a 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/controllers/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -55,8 +55,8 @@

                                                          Source of FireGento_Pdf

                                                          - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                          • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/index.xhtml index 42ce7a3..773f09f 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -52,8 +52,8 @@

                                                            Source of FireGento_Pdf

                                                            - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                            • diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/index.xhtml index 9e76a30..cb6e68b 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -58,8 +58,8 @@

                                                              Source of FireGento_Pdf

                                                              - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                              • @@ -95,9 +95,9 @@ upgrade-1.0.0-1.1.0.php - 1003 Bytes + 978 Bytes - 2014-10-25T10:53:01+02:00 + 2018-03-12T19:59:19+00:00 diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xhtml index e6bdbb1..9e50fef 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xhtml @@ -1,3 +1,3 @@ phpDox - Source of upgrade-1.0.0-1.1.0.php

                                                                Source of file upgrade-1.0.0-1.1.0.php

                                                                - Size: 1,003 Bytes - Last Modified: 2014-10-25T10:53:01+02:00

                                                                /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php

                                                                12345678910111213141516171819202122232425262728293031
                                                                <?php
                                                                /**
                                                                 * This file is part of the FIREGENTO project.
                                                                 *
                                                                 * FireGento_Pdf is free software; you can redistribute it and/or
                                                                 * modify it under the terms of the GNU General Public License version 3 as
                                                                 * published by the Free Software Foundation.
                                                                 *
                                                                 * This script is distributed in the hope that it will be useful, but WITHOUT
                                                                 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                                 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                                 *
                                                                 * PHP version 5
                                                                 *
                                                                 * @category  FireGento
                                                                 * @package   FireGento_Pdf
                                                                 * @author    FireGento Team <team@firegento.com>
                                                                 * @copyright 2013 FireGento Team (http://www.firegento.com)
                                                                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                                 * @version   $Id:$
                                                                 * @since     0.1.0
                                                                 */

                                                                /* @var $this Mage_Eav_Model_Entity_Setup */
                                                                $installer = $this;
                                                                $installer->startSetup();

                                                                $installer->deleteConfigData('sales_pdf/firegento_pdf/engine');

                                                                $installer->endSetup();

                                                                + Size: 0,978 Bytes - Last Modified: 2018-03-12T19:59:19+00:00

                                                                /var/www/magento193/.modman/firegento-pdf/src/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php

                                                                1234567891011121314151617181920212223242526272829
                                                                <?php
                                                                /**
                                                                 * This file is part of a FireGento e.V. module.
                                                                 *
                                                                 * This FireGento e.V. module is free software; you can redistribute it and/or
                                                                 * modify it under the terms of the GNU General Public License version 3 as
                                                                 * published by the Free Software Foundation.
                                                                 *
                                                                 * This script is distributed in the hope that it will be useful, but WITHOUT
                                                                 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
                                                                 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
                                                                 *
                                                                 * PHP version 5
                                                                 *
                                                                 * @category  FireGento
                                                                 * @package   FireGento_Pdf
                                                                 * @author    FireGento Team <team@firegento.com>
                                                                 * @copyright 2014 FireGento Team (http://www.firegento.com)
                                                                 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
                                                                 */

                                                                /* @var $this Mage_Eav_Model_Entity_Setup */
                                                                $installer = $this;
                                                                $installer->startSetup();

                                                                $installer->deleteConfigData('sales_pdf/firegento_pdf/engine');

                                                                $installer->endSetup();

                                                                Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                                diff --git a/docs/api/html/source/app/code/community/FireGento/Pdf/sql/index.xhtml b/docs/api/html/source/app/code/community/FireGento/Pdf/sql/index.xhtml index e08e7fd..a227141 100644 --- a/docs/api/html/source/app/code/community/FireGento/Pdf/sql/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/Pdf/sql/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -55,8 +55,8 @@

                                                                Source of FireGento_Pdf

                                                                - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                                • diff --git a/docs/api/html/source/app/code/community/FireGento/index.xhtml b/docs/api/html/source/app/code/community/FireGento/index.xhtml index caad04f..2178ad5 100644 --- a/docs/api/html/source/app/code/community/FireGento/index.xhtml +++ b/docs/api/html/source/app/code/community/FireGento/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -49,8 +49,8 @@

                                                                  Source of FireGento_Pdf

                                                                  - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                                  • diff --git a/docs/api/html/source/app/code/community/index.xhtml b/docs/api/html/source/app/code/community/index.xhtml index 5e8baae..b42757a 100644 --- a/docs/api/html/source/app/code/community/index.xhtml +++ b/docs/api/html/source/app/code/community/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -46,8 +46,8 @@

                                                                    Source of FireGento_Pdf

                                                                    - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                                    • diff --git a/docs/api/html/source/app/code/index.xhtml b/docs/api/html/source/app/code/index.xhtml index 494d430..46d8837 100644 --- a/docs/api/html/source/app/code/index.xhtml +++ b/docs/api/html/source/app/code/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -43,8 +43,8 @@

                                                                      Source of FireGento_Pdf

                                                                      - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                                      • diff --git a/docs/api/html/source/app/index.xhtml b/docs/api/html/source/app/index.xhtml index e7710c1..e41690c 100644 --- a/docs/api/html/source/app/index.xhtml +++ b/docs/api/html/source/app/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -40,8 +40,8 @@

                                                                        Source of FireGento_Pdf

                                                                        - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                                        • diff --git a/docs/api/html/source/index.xhtml b/docs/api/html/source/index.xhtml index 7574395..05e3f1b 100644 --- a/docs/api/html/source/index.xhtml +++ b/docs/api/html/source/index.xhtml @@ -1,6 +1,6 @@ - + phpDox - Overview @@ -35,13 +35,13 @@
                                                                        • Source
                                                                        • -
                                                                        • /Users/fabian/Projects/firegento-pdf/.modman/firegento-pdf/src
                                                                        • +
                                                                        • /var/www/magento193/.modman/firegento-pdf/src

                                                                        Source of FireGento_Pdf

                                                                        - This project consists of 35 directories, containing - a total of 34 files. + This project consists of 43 directories, containing + a total of 45 files.

                                                                        • diff --git a/docs/api/html/traits.xhtml b/docs/api/html/traits.xhtml index 5efe8da..325ab32 100644 --- a/docs/api/html/traits.xhtml +++ b/docs/api/html/traits.xhtml @@ -29,7 +29,7 @@

                                                                          Traits

                                                                          - + Generated using phpDox 0.11.0 - Copyright (C) 2010 - 2018 by Arne Blankerts and Contributors
                                                                          diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xml new file mode 100644 index 0000000..f8a8675 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_CreditmemoController.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xml new file mode 100644 index 0000000..149cba7 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_InvoiceController.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xml new file mode 100644 index 0000000..a88369b --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_OrderController.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xml index 97eb4da..e055af3 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController.xml @@ -1,19 +1,19 @@ - - + + - - + + - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xml index 892cc51..931d46a 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_InvoiceController.xml @@ -1,13 +1,13 @@ - + - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xml index 258b0f7..34603d4 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_Order_ShipmentController.xml @@ -1,20 +1,19 @@ - + - + - diff --git a/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xml b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xml new file mode 100644 index 0000000..59e31d3 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Adminhtml_Sales_ShipmentController.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xml b/docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xml new file mode 100644 index 0000000..8dfc72f --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xml b/docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xml new file mode 100644 index 0000000..5a97c62 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Helper_Data.xml b/docs/api/xml/classes/FireGento_Pdf_Helper_Data.xml index e5019b5..124bafa 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Helper_Data.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Helper_Data.xml @@ -1,29 +1,39 @@ - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33,11 +43,11 @@ - + - + @@ -47,7 +57,7 @@ - + @@ -57,9 +67,40 @@ - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + @@ -70,13 +111,8 @@ - - - - - - + @@ -84,7 +120,15 @@ - + + + + + + + + + @@ -94,7 +138,7 @@ - + @@ -106,10 +150,61 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Helper_Invoice.xml b/docs/api/xml/classes/FireGento_Pdf_Helper_Invoice.xml new file mode 100644 index 0000000..c697db2 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Helper_Invoice.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Creditmemo.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Creditmemo.xml index d987435..3d9ece0 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Creditmemo.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Creditmemo.xml @@ -1,17 +1,14 @@ - - + + - - - - - + + @@ -19,18 +16,15 @@ - + - - - - + @@ -40,6 +34,6 @@ - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml index e334cce..2900225 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Abstract.xml @@ -1,38 +1,73 @@ - - + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + - + - + @@ -45,12 +80,12 @@ - + - + - + @@ -60,13 +95,13 @@ - + - + @@ -76,22 +111,22 @@ - + - + - + - + - + @@ -100,9 +135,9 @@ - + - + @@ -112,10 +147,10 @@ - + - + @@ -123,22 +158,22 @@ - - + + - + - + - - + + - + @@ -152,27 +187,28 @@ - + - + - + - - - - - - + + + + + + + - + - + @@ -182,19 +218,19 @@ - + - + - + - + @@ -205,19 +241,37 @@ - + - - - - - - + + + + + + + + - + + + + + + + + + + + + + + + + + @@ -229,7 +283,7 @@ - + @@ -239,7 +293,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -247,12 +319,13 @@ - + - + + - + @@ -270,17 +343,17 @@ - + - + - + - + @@ -291,21 +364,17 @@ - - - - - + - + - + @@ -313,47 +382,44 @@ - - + + - - - - + + - + - + - - + + - - - + + - + - + - + - + - + @@ -364,21 +430,16 @@ - + - - - - - - + - + - + @@ -386,22 +447,22 @@ - - + + - + - + - + - + @@ -409,7 +470,7 @@ - + @@ -425,7 +486,7 @@ - + @@ -433,7 +494,7 @@ - + @@ -449,7 +510,7 @@ - + @@ -457,7 +518,7 @@ - + @@ -473,7 +534,7 @@ - + @@ -491,14 +552,14 @@ - + - - - + + + - + @@ -506,19 +567,19 @@ - + - + - + @@ -526,13 +587,13 @@ - + - + @@ -540,19 +601,19 @@ - + - + - + @@ -560,13 +621,21 @@ - + - - - + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml index 112d0aa..0c0cf4b 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Creditmemo_Default.xml @@ -1,23 +1,19 @@ - - + + - - - - - + - + @@ -25,17 +21,12 @@ - + - - - - - - + - + @@ -46,10 +37,14 @@ - + + + + + - + @@ -60,28 +55,55 @@ - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + - + - + @@ -94,12 +116,12 @@ - + - + - + @@ -109,13 +131,13 @@ - + - + @@ -125,22 +147,22 @@ - + - + - + - + - + @@ -149,9 +171,9 @@ - + - + @@ -161,10 +183,10 @@ - + - + @@ -172,22 +194,22 @@ - - + + - + - + - - + + - + @@ -201,27 +223,28 @@ - + - + - + - - - - - - + + + + + + + - + - + @@ -231,19 +254,19 @@ - + - + - + - + @@ -254,19 +277,37 @@ - + - - - - - - + + + + + + + + - + + + + + + + + + + + + + + + + + @@ -278,7 +319,7 @@ - + @@ -288,7 +329,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -296,12 +355,13 @@ - + - + + - + @@ -319,17 +379,17 @@ - + - + - + - + @@ -340,21 +400,17 @@ - - - - - + - + - + @@ -362,47 +418,44 @@ - - + + - - - - + + - + - + - - + + - - - + + - + - + - + - + - + @@ -413,21 +466,16 @@ - + - - - - - - + - + - + @@ -435,22 +483,22 @@ - - + + - + - + - + - + @@ -458,7 +506,7 @@ - + @@ -474,7 +522,7 @@ - + @@ -482,7 +530,7 @@ - + @@ -498,7 +546,7 @@ - + @@ -506,7 +554,7 @@ - + @@ -522,7 +570,7 @@ - + @@ -540,12 +588,80 @@ - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml index 872186e..9f44ebd 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Invoice_Default.xml @@ -1,23 +1,19 @@ - - + + - - - - - + - + @@ -25,32 +21,28 @@ - + - - - - - + - + - + - + - - + + - + @@ -61,28 +53,55 @@ - - - - - - - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -95,12 +114,12 @@ - + - + - + @@ -110,13 +129,13 @@ - + - + @@ -126,22 +145,22 @@ - + - + - + - + - + @@ -150,9 +169,9 @@ - + - + @@ -162,10 +181,10 @@ - + - + @@ -173,22 +192,22 @@ - - + + - + - + - - + + - + @@ -202,27 +221,28 @@ - + - + - + - - - - - - + + + + + + + - + - + @@ -232,19 +252,19 @@ - + - + - + - + @@ -255,19 +275,37 @@ - + - - - - - - + + + + + + + + - + + + + + + + + + + + + + + + + + @@ -279,7 +317,7 @@ - + @@ -289,7 +327,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -297,12 +353,13 @@ - + - + + - + @@ -320,17 +377,17 @@ - + - + - + - + @@ -341,21 +398,17 @@ - - - - - + - + - + @@ -363,47 +416,44 @@ - - + + - - - - + + - + - + - - + + - - - + + - + - + - + - + - + @@ -414,21 +464,16 @@ - + - - - - - - + - + - + @@ -436,22 +481,22 @@ - - + + - + - + - + - + @@ -459,7 +504,7 @@ - + @@ -475,7 +520,7 @@ - + @@ -483,7 +528,7 @@ - + @@ -499,7 +544,7 @@ - + @@ -507,7 +552,7 @@ - + @@ -523,7 +568,7 @@ - + @@ -541,12 +586,80 @@ - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml index 4556a6d..0063cd2 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Engine_Shipment_Default.xml @@ -1,23 +1,19 @@ - - + + - - - - - + - + @@ -25,17 +21,15 @@ - + - - - + - + - + @@ -45,10 +39,10 @@ - + - + @@ -57,7 +51,7 @@ - + @@ -70,7 +64,27 @@ - + + + + + + + + + + + + + + + + + + + + + @@ -81,28 +95,55 @@ - - - - - - - - + + - + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -115,12 +156,12 @@ - + - + - + @@ -130,13 +171,13 @@ - + - + @@ -146,22 +187,22 @@ - + - + - + - + - + @@ -170,9 +211,9 @@ - + - + @@ -182,10 +223,10 @@ - + - + @@ -193,22 +234,22 @@ - - + + - + - + - - + + - + @@ -222,27 +263,28 @@ - + - + - + - - - - - - + + + + + + + - + - + @@ -252,19 +294,19 @@ - + - + - + - + @@ -275,19 +317,37 @@ - + - - - - - - + + + + + + + + - + + + + + + + + + + + + + + + + + @@ -299,7 +359,7 @@ - + @@ -309,7 +369,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -317,12 +395,13 @@ - + - + + - + @@ -340,17 +419,17 @@ - + - + - + - + @@ -361,21 +440,17 @@ - - - - - + - + - + @@ -383,47 +458,44 @@ - - + + - - - - + + - + - + - - + + - - - + + - + - + - + - + - + @@ -434,21 +506,16 @@ - + - - - - - - + - + - + @@ -456,22 +523,22 @@ - - + + - + - + - + - + @@ -479,7 +546,7 @@ - + @@ -495,7 +562,7 @@ - + @@ -503,7 +570,7 @@ - + @@ -519,7 +586,7 @@ - + @@ -527,7 +594,7 @@ - + @@ -543,7 +610,7 @@ - + @@ -561,12 +628,80 @@ - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Invoice.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Invoice.xml index 35b12ea..83f85ea 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Invoice.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Invoice.xml @@ -1,18 +1,15 @@ - - + + The invoice model serves as a proxy to the actual PDF engine as set via backend configuration. - - - - - + + @@ -20,18 +17,15 @@ backend configuration. - + - - - - + @@ -39,6 +33,6 @@ backend configuration. - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Bundle.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Bundle.xml index 879dafb..9c4469f 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Bundle.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Bundle.xml @@ -1,18 +1,14 @@ - - + + - - - - - - + + @@ -22,20 +18,7 @@ - - - - - - - - - - - - - - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Default.xml index c7d502c..ac3ec7f 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Default.xml @@ -1,18 +1,14 @@ - - + + - - - - - - + + @@ -22,20 +18,21 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Downloadable.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Downloadable.xml index fa4300e..b399c7a 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Downloadable.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Downloadable.xml @@ -1,14 +1,14 @@ - - + + - - + + @@ -21,7 +21,6 @@ - @@ -30,11 +29,10 @@ - - - - - + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Grouped.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Grouped.xml index 8416f1d..eca6ffd 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Grouped.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Grouped.xml @@ -1,16 +1,14 @@ - - + + - - - - + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xml index a3009ac..7515827 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Bundle.xml @@ -1,18 +1,14 @@ - - + + - - - - - - + + @@ -20,9 +16,7 @@ - - - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Default.xml index 3b2d47b..893a5ca 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Default.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Shipment_Default.xml @@ -1,18 +1,14 @@ - - + + - - - - - - + + @@ -20,11 +16,12 @@ - - - - - + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xml new file mode 100644 index 0000000..767acfb --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Default.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xml new file mode 100644 index 0000000..e1fa771 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Items_Unirgy_Shipment_Default.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Observer.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Observer.xml index 294cfb2..8548944 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Observer.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Observer.xml @@ -1,17 +1,13 @@ - - + + - - - - - + @@ -22,10 +18,24 @@ - + - + + + + + + + + + + + + + + + @@ -36,10 +46,10 @@ - + - + @@ -50,12 +60,12 @@ - + - + - + @@ -64,10 +74,11 @@ - + + - + @@ -78,10 +89,10 @@ - + - + @@ -92,12 +103,96 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -106,12 +201,11 @@ - + - - - + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Shipment.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Shipment.xml index ef043a6..6495aaf 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Shipment.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Shipment.xml @@ -1,17 +1,14 @@ - - + + - - - - - + + @@ -19,18 +16,15 @@ - + - - - - + @@ -38,6 +32,6 @@ - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xml index 9b8e967..bad3ed7 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Backend_Font.xml @@ -1,15 +1,15 @@ - - + + - - - + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xml index 45bbef2..e8ad01e 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine.xml @@ -1,29 +1,25 @@ - - + + - - - - - + - + - - + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xml new file mode 100644 index 0000000..79516c6 --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Customer_Number.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xml index f6602ce..b92ab25 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Headerblocks.xml @@ -1,19 +1,15 @@ - - + + - - - - - - - + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xml index 21ab098..932b6e7 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Invoice_Engine.xml @@ -1,29 +1,25 @@ - - + + - - - - - + - + - - + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xml index 8afe420..48be848 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Logo.xml @@ -1,21 +1,17 @@ - - + + - - - - - - - - - + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xml new file mode 100644 index 0000000..e852acd --- /dev/null +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_PageSize.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xml index 77a40ed..ca89193 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Payment.xml @@ -1,19 +1,15 @@ - - + + - - - - - - - + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xml index d7433e8..3a9a2a5 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipment_Engine.xml @@ -1,29 +1,25 @@ - - + + - - - - - + - + - - + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xml b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xml index d19f539..0799eb3 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_System_Config_Source_Shipping.xml @@ -1,19 +1,15 @@ - - + + - - - - - - - + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xml b/docs/api/xml/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xml index f025ed1..fa557dc 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal.xml @@ -1,29 +1,25 @@ - - + + - - - - - - - - + + + + - - - - + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Sales_OrderController.xml b/docs/api/xml/classes/FireGento_Pdf_Sales_OrderController.xml index 8d87ac2..2075d49 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Sales_OrderController.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Sales_OrderController.xml @@ -1,19 +1,15 @@ - - + + - - - - - - - + + + it changes the standard action with html output to pdf output @@ -21,7 +17,7 @@ - + it changes the standard action with html output to pdf output @@ -29,7 +25,7 @@ - + it changes the standard action with html output to pdf output @@ -37,16 +33,11 @@ - + - - - - - diff --git a/docs/api/xml/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xml b/docs/api/xml/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xml index b53ed94..d2fbebe 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Test_Model_CreditmemoTest.xml @@ -1,55 +1,61 @@ - - + + + + + + + + - - - - + + + + - - - + + + - + - - - - + + + + - + - + - + - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Test_Model_InvoiceTest.xml b/docs/api/xml/classes/FireGento_Pdf_Test_Model_InvoiceTest.xml index 84cbd63..ab4273d 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Test_Model_InvoiceTest.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Test_Model_InvoiceTest.xml @@ -1,55 +1,61 @@ - - + + + + + + + + - - - - + + + + - - - + + + - + - - - - + + + + - + - + - + - + diff --git a/docs/api/xml/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xml b/docs/api/xml/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xml index dc5b74b..9d7384e 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Test_Model_SalesObjectTestAbstract.xml @@ -1,51 +1,59 @@ - - - - - + + + + + + + + + + + - + - - - - + + + + - + - + - + - + - - - + + + + + diff --git a/docs/api/xml/classes/FireGento_Pdf_Test_Model_ShipmentTest.xml b/docs/api/xml/classes/FireGento_Pdf_Test_Model_ShipmentTest.xml index a69090a..f807994 100644 --- a/docs/api/xml/classes/FireGento_Pdf_Test_Model_ShipmentTest.xml +++ b/docs/api/xml/classes/FireGento_Pdf_Test_Model_ShipmentTest.xml @@ -1,55 +1,61 @@ - - + + + + + + + + - - - - + + + + - - - + + + - + - - - - + + + + - + - + - + - + diff --git a/docs/api/xml/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xml b/docs/api/xml/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xml index 0336335..ba488a3 100644 --- a/docs/api/xml/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xml +++ b/docs/api/xml/classes/Firegento_Pdf_Block_Adminhtml_ColumnOrder.xml @@ -1,17 +1,15 @@ - - + + - + - - - - - + + + @@ -20,10 +18,10 @@ - + - + @@ -32,10 +30,10 @@ - + - + diff --git a/docs/api/xml/index.xml b/docs/api/xml/index.xml index ac63291..3a44b44 100644 --- a/docs/api/xml/index.xml +++ b/docs/api/xml/index.xml @@ -1,28 +1,49 @@ - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/docs/api/xml/source.xml b/docs/api/xml/source.xml index 3b77223..3ae6665 100644 --- a/docs/api/xml/source.xml +++ b/docs/api/xml/source.xml @@ -1,101 +1,128 @@ - + - - - + + + - - + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + - - - - - + - - - + + + + + + + + - + + + - - - - - + + + + + + + + + + + + + + - - - - + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xml index 41646fa..d66615c 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/ColumnOrder.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -65,7 +65,7 @@ /** - * Firegento + * Block which enables the user to change the column order in the admin via drag & drop. * @@ -80,29 +80,23 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - */ - + class Firegento_Pdf_Block_Adminhtml_ColumnOrder - + extends Mage_Adminhtml_Block_System_Config_Form_Field - + { - + protected @@ -113,30 +107,30 @@ '' ; - - + + /** - + * generate html for orderable list - + * - + * @param Varien_Data_Form_Element_Abstract $element form element to render - + * - + * @return string - + */ - + protected @@ -149,20 +143,20 @@ $element ) - + { - + return ' - + <style>.orderable_config li {list-style: disc inside; cursor:move;}</style> - + <p>' . @@ -178,7 +172,7 @@ '<p> - + <ul id="' . @@ -193,7 +187,7 @@ '_list" class="orderable_config"> - + ' . @@ -209,10 +203,10 @@ ' - + </ul> - + <input type="hidden" value="' . @@ -237,7 +231,7 @@ . - + '" id="' @@ -253,10 +247,10 @@ '"> - + <script type="text/javascript"> - + Sortable.create("' . @@ -271,10 +265,10 @@ '_list", { - + onUpdate: function() { - + var inheritCheckbox = $("' . @@ -289,28 +283,28 @@ '_inherit"); - + if (inheritCheckbox) { - + inheritCheckbox.checked=false; - + } - + var newOrder=""; - + $A(this.element.children).each(function(item){ - + var current = $(item).attributes["data-column"].value; - + if ("disabled" == current) { - + $("' . @@ -325,43 +319,43 @@ '").value = newOrder; - + } else { - + if (0 < newOrder.length) { - + newOrder+=","; - + } - + newOrder+=current; - + } - + }); - + validateSortableWidth(); - + } - + }); - + validateSortableWidth = function () { - + var newWidth=0; - + $A($("' . @@ -376,22 +370,22 @@ '_list").children).each(function(item){ - + var current = $(item).attributes["data-column"].value; - + if ($(item.attributes["data-width"])) { - + newWidth += parseInt($(item).attributes["data-width"].value); - + } else if ("disabled" == current) { - + if (240 < newWidth) { - + $("' . @@ -406,7 +400,7 @@ '_warning").innerHTML = "' - + . @@ -421,7 +415,7 @@ '"; - + $("' . @@ -436,10 +430,10 @@ '_warning").show(); - + } else { - + $("' . @@ -454,56 +448,56 @@ '_warning").hide(); - + } - + } - + }); - + }; - + validateSortableWidth(); - + </script> - + ' ; - + } - - + + /** - + * get html for list - + * - + * @param Varien_Data_Form_Element_Abstract $element form element to render - + * - + * @return string - + */ - + protected @@ -516,11 +510,11 @@ $element ) - + { - + $availableItems @@ -529,7 +523,7 @@ array ( - + 'price_incl_tax' @@ -557,7 +551,7 @@ ) , - + 'price' @@ -585,7 +579,7 @@ ) , - + 'qty' @@ -613,7 +607,7 @@ ) , - + 'subtotal_incl_tax' @@ -641,7 +635,7 @@ ) , - + 'subtotal' @@ -669,7 +663,7 @@ ) , - + 'tax' @@ -697,7 +691,7 @@ ) , - + 'tax_rate' @@ -725,12 +719,12 @@ ) , - + ) ; - + $activeItems @@ -741,7 +735,7 @@ ) ; - + foreach @@ -765,7 +759,7 @@ { - + $item @@ -777,7 +771,7 @@ ) ; - + if @@ -793,7 +787,7 @@ { - + $activeItems [ @@ -808,7 +802,7 @@ ] ; - + unset ( @@ -819,16 +813,16 @@ ) ; - + } - + } - - + + $this -> @@ -838,7 +832,7 @@ ) ; - + $this -> @@ -846,9 +840,9 @@ .= - '<li id="pdf-column-disabled" data-column="disabled" style="list-style:none"> + '<li id="pdf_column-disabled" data-column="disabled" style="list-style:none"> - + <div id="' . @@ -863,10 +857,10 @@ '_warning" style="display:none" class="validation-advice"></div> - + <br /> - + ' . @@ -882,11 +876,11 @@ ' - + </li>' ; - + $this -> @@ -896,8 +890,8 @@ ) ; - - + + return @@ -906,34 +900,34 @@ _sortableListHtml ; - + } - - + + /** - + * add items to list - + * - + * @param array $items items to add - + * - + * @return $this - + */ - + protected @@ -944,11 +938,11 @@ $items ) - + { - + foreach @@ -964,7 +958,7 @@ { - + $this -> @@ -975,22 +969,22 @@ sprintf ( - + - '<li id="pdf-column-%s" data-column="%s" data-width="%s">%s</li>' + '<li id="pdf_column-%s" data-column="%s" data-width="%s">%s</li>' , - + $name , - + $name , - + $item [ @@ -998,35 +992,36 @@ ] , - + $item [ 'label' ] - + ) ; - + } - + + return $this ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xml new file mode 100644 index 0000000..185af8b --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes.php.xml @@ -0,0 +1,383 @@ + + + + + <?php + + + + class + + FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes + + + + extends + + Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract + + + { + + + + + /** + + + * @var FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country + + + */ + + + + protected + + $_countryRenderer + ; + + + + + /** + + + * Retrieve country column renderer + + + * + + + * @return FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country + + + */ + + + + protected + + function + + _getCountryRenderer + ( + ) + + + + { + + + + if + + ( + ! + $this + -> + _countryRenderer + ) + + { + + + + $this + -> + _countryRenderer + + = + + $this + -> + getLayout + ( + ) + -> + createBlock + ( + + + + 'firegento_pdf/adminhtml_system_config_form_field_notes_country' + , + + '' + , + + + + array + ( + 'is_render_to_js_template' + + => + + true + ) + + + + ) + ; + + + + } + + + + + return + + $this + -> + _countryRenderer + ; + + + + } + + + + + /** + + + * Add columns, change button labels etc. + + + */ + + + + protected + + function + + _prepareToRender + ( + ) + + + + { + + + + $this + -> + addColumn + ( + + + + 'country' + , + + array + ( + + + + 'label' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Shipping Country' + ) + , + + + + 'renderer' + + => + + $this + -> + _getCountryRenderer + ( + ) + + + + ) + + + + ) + ; + + + + $this + -> + addColumn + ( + + + + 'note' + , + + array + ( + + + + 'label' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Note' + ) + + + + ) + + + + ) + ; + + + + $this + -> + _addButtonLabel + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Add Note' + ) + ; + + + + $this + -> + _addAfter + + = + + false + ; + + + + } + + + + + /** + + + * Prepare existing row data object + + + * + + + * @param Varien_Object + + + */ + + + + protected + + function + + _prepareArrayRow + ( + Varien_Object + + $row + ) + + + + { + + + + $row + -> + setData + ( + + + + 'option_extra_attr_' + + . + + $this + -> + _getCountryRenderer + ( + ) + -> + calcOptionHash + ( + $row + -> + getData + ( + 'country' + ) + ) + , + + + + 'selected="selected"' + + + + ) + ; + + + + } + + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xml new file mode 100644 index 0000000..f24e714 --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Block/Adminhtml/System/Config/Form/Field/Notes/Country.php.xml @@ -0,0 +1,205 @@ + + + + + <?php + + + + /** + + + * HTML select element block with country options + + + */ + + + class + + FireGento_Pdf_Block_Adminhtml_System_Config_Form_Field_Notes_Country + + + + extends + + Mage_Core_Block_Html_Select + + + { + + + + + /** + + + * @param $value + + + * + + + * @return mixed + + + */ + + + + public + + function + + setInputName + ( + $value + ) + + + + { + + + + return + + $this + -> + setName + ( + $value + ) + ; + + + + } + + + + + /** + + + * Render block HTML + + + * + + + * @return string + + + */ + + + + public + + function + + _toHtml + ( + ) + + + + { + + + + if + + ( + ! + $this + -> + getOptions + ( + ) + ) + + { + + + + $countryModel + + = + + Mage + :: + getModel + ( + 'adminhtml/system_config_source_country' + ) + ; + + + + foreach + + ( + $countryModel + -> + toOptionArray + ( + ) + + as + + $country + ) + + { + + + + $this + -> + addOption + ( + $country + [ + 'value' + ] + , + + $country + [ + 'label' + ] + ) + ; + + + + } + + + + } + + + + + return + + parent + :: + _toHtml + ( + ) + ; + + + + } + + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Data.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Data.php.xml index f17a2f8..1ecc92b 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Data.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Data.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,108 +53,156 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 + */ + - */ + /** + + + * Dummy data helper for translation issues. - - /** + * - * Dummy data helper for translation issues. + * @category FireGento - * + * @package FireGento_Pdf - * @category FireGento + * @author FireGento Team <team@firegento.com> - * @package FireGento_Pdf + */ - * @author FireGento Team <team@firegento.com> + class + + FireGento_Pdf_Helper_Data + + extends + + Mage_Core_Helper_Abstract - * @copyright 2013 FireGento Team (http://www.firegento.com) + { - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + const + + XML_PATH_FIREGENTO_PDF_LOGO_POSITION + + = + + 'sales_pdf/firegento_pdf/logo_position' + ; - * @version $Id:$ + + const + + XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER + + = + + 'sales_pdf/invoice/show_customer_number' + ; - * @since 0.1.0 + + const + + XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER + + = + + 'sales_pdf/shipment/show_customer_number' + ; - */ + + const + + XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER + + = + + 'sales_pdf/creditmemo/show_customer_number' + ; - class + + const - FireGento_Pdf_Helper_Data + XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_VATNUMBER - extends + = - Mage_Core_Helper_Abstract + 'sales_pdf/invoice/show_customer_vatnumber' + ; - { + + const + + XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_VATNUMBER + + = + + 'sales_pdf/shipment/show_customer_vatnumber' + ; const - XML_PATH_FIREGENTO_PDF_LOGO_POSITION + XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_VATNUMBER = - 'sales_pdf/firegento_pdf/logo_position' + 'sales_pdf/creditmemo/show_customer_vatnumber' ; const - XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER + XML_PATH_SALES_PDF_INVOICE_GUEST_ORDER_CUSTOMER_NUMBER = - 'sales_pdf/invoice/show_customer_number' + 'sales_pdf/invoice/guestorder_customer_number' ; const - XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER + XML_PATH_SALES_PDF_SHIPMENT_GUEST_ORDER_CUSTOMER_NUMBER = - 'sales_pdf/shipment/show_customer_number' + 'sales_pdf/shipment/guestorder_customer_number' ; const - XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER + XML_PATH_SALES_PDF_CREDITMEMO_GUEST_ORDER_CUSTOMER_NUMBER = - 'sales_pdf/creditmemo/show_customer_number' + 'sales_pdf/creditmemo/guestorder_customer_number' ; @@ -190,8 +238,97 @@ 'sales_pdf/creditmemo/filename_export_pattern' ; - + + + const + + XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + + = + + 'sales_pdf/invoice/filename_export_pattern_for_multiple_documents' + ; + + + const + + XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + + = + + 'sales_pdf/shipment/filename_export_pattern_for_multiple_documents' + ; + + + + const + + XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + + = + + 'sales_pdf/creditmemo/filename_export_pattern_for_multiple_documents' + ; + + + + const + + XML_PATH_SALES_PDF_FIREGENTO_PDF_PAGE_SIZE + + = + + 'sales_pdf/firegento_pdf/page_size' + ; + + + + + const + + XML_PATH_COLOR_TEXT + + = + + 'sales_pdf/firegento_pdf_colors/text' + ; + + + + const + + XML_PATH_COLOR_LABELS + + = + + 'sales_pdf/firegento_pdf_colors/labels' + ; + + + + const + + XML_PATH_COLOR_TABLE_HEADER + + = + + 'sales_pdf/firegento_pdf_colors/table_header' + ; + + + + const + + XML_PATH_COLOR_FOOTER + + = + + 'sales_pdf/firegento_pdf_colors/footer' + ; + + + const @@ -202,7 +339,7 @@ 'sales_pdf/firegento_pdf_fonts/regular_font' ; - + const @@ -213,7 +350,7 @@ 'sales_pdf/firegento_pdf_fonts/bold_font' ; - + const @@ -224,8 +361,8 @@ 'sales_pdf/firegento_pdf_fonts/italic_font' ; - - + + const @@ -236,33 +373,33 @@ '/firegento_pdf/fonts' ; - - + + /** - + * Return the order id or false if order id should not be displayed on document. - + * - + * @param Mage_Sales_Model_Order $order order to get id from - + * @param string $mode differ between creditmemo, invoice, etc. - + * - + * @return mixed - + */ - + public @@ -282,11 +419,11 @@ 'invoice' ) - + { - + switch @@ -296,14 +433,14 @@ { - + case 'invoice' : - + $putOrderIdOnInvoice @@ -314,14 +451,14 @@ getStoreConfigFlag ( - + Mage_Sales_Model_Order_Pdf_Abstract :: XML_PATH_SALES_PDF_INVOICE_PUT_ORDER_ID , - + $order -> @@ -329,12 +466,12 @@ ( ) - + ) ; - + if @@ -344,7 +481,7 @@ { - + return @@ -355,24 +492,24 @@ ) ; - + } - + break ; - - + + case 'shipment' : - + $putOrderIdOnShipment @@ -383,14 +520,14 @@ getStoreConfigFlag ( - + Mage_Sales_Model_Order_Pdf_Abstract :: XML_PATH_SALES_PDF_SHIPMENT_PUT_ORDER_ID , - + $order -> @@ -398,12 +535,12 @@ ( ) - + ) ; - + if @@ -413,7 +550,7 @@ { - + return @@ -424,24 +561,24 @@ ) ; - + } - + break ; - - + + case 'creditmemo' : - + $putOrderIdOnCreditmemo @@ -452,14 +589,14 @@ getStoreConfigFlag ( - + Mage_Sales_Model_Order_Pdf_Abstract :: XML_PATH_SALES_PDF_CREDITMEMO_PUT_ORDER_ID , - + $order -> @@ -467,12 +604,12 @@ ( ) - + ) ; - + if @@ -482,7 +619,7 @@ { - + return @@ -493,54 +630,55 @@ ) ; - + } - + break ; - + } - + + return false ; - + } - - + + /** - + * Whether the logo should be shown in full width. - + * - + * @param mixed $store store to get information from - + * - + * @return bool whether the logo should be shown in full width - + */ - + public @@ -551,11 +689,11 @@ $store ) - + { - + $configSetting @@ -566,7 +704,7 @@ getStoreConfig ( - + self :: @@ -575,12 +713,12 @@ $store - + ) ; - + $fullWidth @@ -591,7 +729,8 @@ FULL_WIDTH ; - + + return @@ -602,37 +741,37 @@ $fullWidth ; - + } - - + + /** - + * Whether the customer number should be shown. - + * - + * @param string $mode the mode of this document like invoice, shipment or creditmemo - + * @param mixed $store store to get information from - + * - + * @return bool whether the customer number should be shown - + */ - + public @@ -648,13 +787,17 @@ , $store + + = + + null ) - + { - + switch @@ -664,14 +807,14 @@ { - + case 'invoice' : - + return @@ -680,30 +823,30 @@ getStoreConfigFlag ( - + self :: XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_NUMBER , - + $store - + ) ; - + case 'shipment' : - + return @@ -712,30 +855,30 @@ getStoreConfigFlag ( - + self :: XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_NUMBER , - + $store - + ) ; - + case 'creditmemo' : - + return @@ -744,27 +887,28 @@ getStoreConfigFlag ( - + self :: XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_NUMBER , - + $store - + ) ; - + } - + + return @@ -773,466 +917,1075 @@ // backwards compatibility - + } - - + + /** - - * Return scaled image sizes based on an path to an image file. + + * Whether the customer VAT number should be shown. - + * - - * @param string $image Url to image file. - - - * @param int $maxWidth max width the image can have + + * @param string $mode the mode of this document like invoice, shipment or creditmemo - - * @param int $maxHeight max height the image can have + + * @param mixed $store store to get information from - + * - - * @return array with 2 elements - width and height. + + * @return bool whether the customer number should be shown - + */ - + public function - getScaledImageSize + showCustomerVATNumber ( - $image - , + $mode - $maxWidth - , + = - $maxHeight - ) - - - - { - - - - list - ( - $width + 'invoice' , - $height - ) + $store = - getimagesize - ( - $image + null ) - ; - - + + + { + + - if + switch ( - $height - - > - - $maxHeight - - or - - $width - - > - - $maxWidth + $mode ) { - - - // Calculate max variance to match dimensions. - - + - $widthVar - - = - - $width - - / + case - $maxWidth - ; + 'invoice' + : - - - $heightVar - - = - - $height - - / + + + return - $maxHeight - ; + Mage + :: + getStoreConfigFlag + ( - - - - // Calculate scale factor to match dimensions. + + + self + :: + XML_PATH_SALES_PDF_INVOICE_SHOW_CUSTOMER_VATNUMBER + , - - - if - - ( - $widthVar - - > - - $heightVar - ) - - { + + + $store - + - $scale - - = - - $maxWidth - - / - - $width + ) ; - + - } - - else + case - { + 'shipment' + : - + - $scale - - = - - $maxHeight - - / + return - $height - ; + Mage + :: + getStoreConfigFlag + ( - - - } + + + self + :: + XML_PATH_SALES_PDF_SHIPMENT_SHOW_CUSTOMER_VATNUMBER + , - - - - // Calculate new dimensions. + + + $store - + + + ) + ; + + - $height + case - = - - round - ( - $height - - * - - $scale - ) - ; + 'creditmemo' + : - - - $width - - = + + + return - round + Mage + :: + getStoreConfigFlag ( - $width - - * - - $scale + + + + self + :: + XML_PATH_SALES_PDF_CREDITMEMO_SHOW_CUSTOMER_VATNUMBER + , + + + + $store + + + ) ; - + } - - + + return - array - ( - $width - , - - $height - ) + true ; + + // backwards compatibility - + } - - + + /** - - * Return export pattern config value + + * Get customer number for guest orders. - + * - - * @param string $type the type of this document like invoice, shipment or creditmemo + + * @param string $mode the mode of this document like invoice, shipment or creditmemo - + + * @param mixed $store store to get information from + + * - - * @return string + + * @return string customer number for guest orders - + */ - + public function - getExportPattern + getGuestorderCustomerNo ( - $type + $mode + + = + + 'invoice' + , + + $store + + = + + null ) - + { - + switch ( - $type + $mode ) { - + case 'invoice' : - + return + trim + ( + + + Mage :: - getStoreConfig + getStoreConfigFlag ( - - + + self :: - XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN + XML_PATH_SALES_PDF_INVOICE_GUEST_ORDER_CUSTOMER_NUMBER + , - + + + $store + + + + ) + + ) ; - + case 'shipment' : - + return + trim + ( + + + Mage :: - getStoreConfig + getStoreConfigFlag ( - - + + self :: - XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN + XML_PATH_SALES_PDF_SHIPMENT_GUEST_ORDER_CUSTOMER_NUMBER + , - + + + $store + + + + ) + + ) ; - + case 'creditmemo' : - + return + trim + ( + + + Mage :: - getStoreConfig + getStoreConfigFlag ( - - + + self :: - XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN + XML_PATH_SALES_PDF_CREDITMEMO_GUEST_ORDER_CUSTOMER_NUMBER + , - + + + $store + + + + ) + + ) ; - + } - + + return true ; + + // backwards compatibility - + } - - + + /** - - * Gets the variables which can be used as a placeholder in the filename. + + * Return scaled image sizes based on an path to an image file. - + * - - * @param Mage_Core_Model_Abstract $model the model instance + + * @param string $image Url to image file. - + + * @param int $maxWidth max width the image can have + + + * @param int $maxHeight max height the image can have + + * - - * @return array with the variables which can be use as placeholders in the filename + + * @return array with 2 elements - width and height. - + */ - + public function - getModelVars + getScaledImageSize ( - $model + $image + , + + $maxWidth + , + + $maxHeight ) - + { - + - if - + list ( - ! - $model - - instanceof + $width + , - Mage_Sales_Model_Order + $height ) - { - - - - switch + = + getimagesize ( - $model + $image ) - - { + ; - - - case - - $model + + + + if + + ( + $height + + > + + $maxHeight + + or + + $width + + > + + $maxWidth + ) + + { + + + + // Calculate max variance to match dimensions. + + + + $widthVar + + = + + $width + + / + + $maxWidth + ; + + + + $heightVar + + = + + $height + + / + + $maxHeight + ; + + + + + // Calculate scale factor to match dimensions. + + + + if + + ( + $widthVar + + > + + $heightVar + ) + + { + + + + $scale + + = + + $maxWidth + + / + + $width + ; + + + + } + + else + + { + + + + $scale + + = + + $maxHeight + + / + + $height + ; + + + + } + + + + + // Calculate new dimensions. + + + + $height + + = + + round + ( + $height + + * + + $scale + ) + ; + + + + $width + + = + + round + ( + $width + + * + + $scale + ) + ; + + + + } + + + + + return + + array + ( + $width + , + + $height + ) + ; + + + + } + + + + + /** + + + * Return export pattern config value + + + * + + + * @param string $type the type of this document like invoice, shipment or creditmemo + + + * + + + * @return string + + + */ + + + + public + + function + + getExportPattern + ( + $type + ) + + + + { + + + + switch + + ( + $type + ) + + { + + + + case + + 'invoice' + : + + + + return + + Mage + :: + getStoreConfig + ( + + + + self + :: + XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN + + + + ) + ; + + + + case + + 'shipment' + : + + + + return + + Mage + :: + getStoreConfig + ( + + + + self + :: + XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN + + + + ) + ; + + + + case + + 'creditmemo' + : + + + + return + + Mage + :: + getStoreConfig + ( + + + + self + :: + XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN + + + + ) + ; + + + + } + + + + + return + + true + ; + + + + } + + + + + /** + + + * Return export pattern for multiple documents config value + + + * + + + * @param string $type the type of this document like invoice, shipment or creditmemo + + + * + + + * @return string + + + */ + + + + public + + function + + getExportPatternForMultipleDocuments + ( + $type + ) + + + + { + + + + switch + + ( + $type + ) + + { + + + + case + + 'invoice' + : + + + + return + + Mage + :: + getStoreConfig + ( + + + + self + :: + XML_PATH_SALES_PDF_INVOICE_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + + + + ) + ; + + + + case + + 'shipment' + : + + + + return + + Mage + :: + getStoreConfig + ( + + + + self + :: + XML_PATH_SALES_PDF_SHIPMENT_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + + + + ) + ; + + + + case + + 'creditmemo' + : + + + + return + + Mage + :: + getStoreConfig + ( + + + + self + :: + XML_PATH_SALES_PDF_CREDITMEMO_FILENAME_EXPORT_PATTERN_FOR_MULTIPLE_DOCUMENTS + + + + ) + ; + + + + } + + + + + return + + true + ; + + + + } + + + + + /** + + + * Gets the variables which can be used as a placeholder in the filename. + + + * + + + * @param Mage_Core_Model_Abstract $model the model instance + + + * + + + * @return array with the variables which can be use as placeholders in the filename + + + */ + + + + public + + function + + getModelVars + ( + $model + ) + + + + { + + + + if + + ( + ! + $model + + instanceof + + Mage_Sales_Model_Order + ) + + { + + + + switch + + ( + $model + ) + + { + + + + case + + $model instanceof Mage_Sales_Model_Order_Invoice : - + + + $specificVars + + = + + array + ( + + + + '{{invoice_id}}' + + => + + $model + -> + getIncrementId + ( + ) + + + + ) + ; + + + + break + ; + + + + case + + $model + + instanceof + + Mage_Sales_Model_Order_Shipment + : + + + + $specificVars + + = + + array + ( + + + + '{{shipment_id}}' + + => + + $model + -> + getIncrementId + ( + ) + + + + ) + ; + + + + break + ; + + + + case + + $model + + instanceof + + Mage_Sales_Model_Order_Creditmemo + : + + $specificVars @@ -1241,52 +1994,152 @@ array ( - - - '{{invoice_id}}' - + + + '{{creditmemo_id}}' + + => + + $model + -> + getIncrementId + ( + ) + + + + ) + ; + + + + } + + + + + $order + + = + + $model + -> + getOrder + ( + ) + ; + + + + $commonVars + + = + + array + ( + + + + '{{order_id}}' + => - $model + $order -> getIncrementId ( ) + , - - + + + '{{customer_id}}' + + => + + $order + -> + getCustomerId + ( ) - ; + , - - - break - ; + + + '{{customer_name}}' + + => + + $order + -> + getCustomerName + ( + ) + , - + - case + '{{customer_firstname}}' - $model + => - instanceof + $order + -> + getCustomerFirstname + ( + ) + , + + + + '{{customer_lastname}}' + + => - Mage_Sales_Model_Order_Shipment - : + $order + -> + getCustomerLastname + ( + ) - - + + + ) + ; + + + + + return + + array_merge + ( $specificVars + , - = + $commonVars + ) + ; + + + + } + + else + + { + + + + return array ( - - - '{{shipment_id}}' - + + + '{{order_id}}' + => $model @@ -1294,299 +2147,371 @@ getIncrementId ( ) + , - - + + + '{{customer_id}}' + + => + + $model + -> + getCustomerId + ( ) - ; + , - - - break - ; + + + '{{customer_name}}' + + => + + $model + -> + getCustomerName + ( + ) + , - + - case + '{{customer_firstname}}' + + => $model + -> + getCustomerFirstname + ( + ) + , + + + + '{{customer_lastname}}' + + => - instanceof + $model + -> + getCustomerLastname + ( + ) + + + + ) + ; + + + + } + + + + } + + + + + /** + + + * The filename of the exported file. + + + * + + + * @param string $type the type of this document like invoice, shipment or creditmemo + + + * @param Mage_Core_Model_Abstract $model the model instance + + + * + + + * @return string the filename of the exported file + + + */ + + + + public - Mage_Sales_Model_Order_Creditmemo - : + function + + getExportFilename + ( + $type + , + + $model + ) - - - $specificVars + + + { + + + + $type = - array ( + ! + $type + ) + + ? + + 'invoice' + + : + + $type + ; - - - '{{creditmemo_id}}' + + + $pattern - => + = - $model + $this -> - getIncrementId + getExportPattern ( + $type ) + ; - - + + + if + + ( + ! + $pattern + ) + + { + + + + if + + ( + $type + + == + + 'shipment' ) + + { + + + + $pattern + + = + + 'packingslip' + ; + + + + } + + else + + { + + + + $pattern + + = + + $type ; - + } - + + - $order + $date = - $model - -> - getOrder + Mage + :: + getSingleton ( + 'core/date' ) ; - + - $commonVars - - = + $pattern - array - ( - - - - '{{order_id}}' - - => + .= - $order + $date -> - getIncrementId + date ( + 'Y-m-d_H-i-s' ) - , + ; - - - '{{customer_id}}' + - => + } + + + + + if - $order - -> - getCustomerId ( - ) + substr + ( + $pattern , - - - - '{{customer_name}}' - - => - $order - -> - getCustomerName - ( + - + 4 ) - , - - - - '{{customer_firstname}}' - => + != - $order - -> - getCustomerFirstname - ( + '.pdf' ) - , - - - - '{{customer_lastname}}' - - => - $order - -> - getCustomerLastname - ( - ) - - - - ) - ; + { - + - return + $pattern - array_merge - ( - $specificVars - , + = - $commonVars - ) + $pattern + + . + + '.pdf' ; - + } - - else - - { - - - return + + + + $path - array - ( - - - - '{{order_id}}' - - => + = - $model - -> - getIncrementId + strftime ( - ) + $pattern , - - - - '{{customer_id}}' - - => - $model - -> - getCustomerId + strtotime ( - ) - , - - - - '{{customer_name}}' - - => - $model -> - getCustomerName + getCreatedAt ( ) - , + ) + ) + ; - - - '{{customer_firstname}}' + + + $vars - => + = - $model + $this -> - getCustomerFirstname + getModelVars ( + $model ) - , + ; - - - '{{customer_lastname}}' - - => + + + + return - $model - -> - getCustomerLastname + strtr ( - ) - - - + $path + , + + $vars ) ; - - - } - - + } - - + + /** - - * The filename of the exported file. + + * The filename of the exported file if multiple documents are printed at once. - + * - - * @param string $type the type of this document like invoice, shipment or creditmemo - - - * @param Mage_Core_Model_Abstract $model the model instance + + * @param string $type the type of this document like invoice, shipment or creditmemo - + * - + * @return string the filename of the exported file - + */ - + public function - getExportFilename + getExportFilenameForMultipleDocuments ( $type - , - - $model ) - + { - + $type @@ -1606,7 +2531,7 @@ $type ; - + $pattern @@ -1614,13 +2539,13 @@ $this -> - getExportPattern + getExportPatternForMultipleDocuments ( $type ) ; - + if @@ -1631,7 +2556,52 @@ { - + + + if + + ( + $type + + == + + 'shipment' + ) + + { + + + + $pattern + + = + + 'packingslip' + ; + + + + } + + else + + { + + + + $pattern + + = + + $type + ; + + + + } + + + $date @@ -1645,15 +2615,11 @@ ) ; - + $pattern - = - - $type - - . + .= $date -> @@ -1663,11 +2629,12 @@ ) ; - + } - + + if @@ -1688,7 +2655,7 @@ { - + $pattern @@ -1701,120 +2668,386 @@ '.pdf' ; - + } - - + + - $path - - = + return strftime ( $pattern - , + ) + ; + + + + } + + + + + /** + + + * Returns the path where the fonts reside. + + + * + + + * @return string the path where the fonts reside + + + */ + + + + public - strtotime + function + + getFontPath ( - $model - -> - getCreatedAt + ) + + + + { + + + + return + + Mage + :: + getBaseDir ( + 'media' ) + + . + + self + :: + FONT_PATH_IN_MEDIA + ; + + + + } + + + + + public + + function + + getPageSizeConfigPath + ( ) + + + + { + + + + return + + Mage + :: + getStoreConfig + ( + self + :: + XML_PATH_SALES_PDF_FIREGENTO_PDF_PAGE_SIZE ) ; - + + + } + + + + + /** + + + * Get configured PDF color + + + * + + + * @param string $path System config path + + + * @return Zend_Pdf_Color_Html + + + */ + + + + protected + + function + + getColor + ( + $path + ) + + + + { + + - $vars + return - = + new + + Zend_Pdf_Color_Html + ( + '#' + + . + + trim + ( + $path + ) + , + + '#' + ) + ; + + + + } + + + + /** + + + * Get text color + + + * + + + * @return Zend_Pdf_Color_Html + + + */ + + + + public + + function + + getTextColor + ( + ) + + + + { + + + + return $this -> - getModelVars + getColor ( - $model + Mage + :: + getStoreConfig + ( + self + :: + XML_PATH_COLOR_TEXT + ) ) ; - - + + + } + + + + /** + + + * Get table header color + + + * + + + * @return Zend_Pdf_Color_Html + + + */ + + + + public + + function + + getHeaderColor + ( + ) + + + + { + + return - strtr + $this + -> + getColor ( - $path - , - - $vars + Mage + :: + getStoreConfig + ( + self + :: + XML_PATH_COLOR_TABLE_HEADER + ) ) ; - + } - - + /** - - * Returns the path where the fonts reside. + + * Get footer color - + * - - * @return string the path where the fonts reside + + * @return Zend_Pdf_Color_Html - + */ - + public function - getFontPath + getFooterColor ( ) - + { - + return + $this + -> + getColor + ( Mage :: - getBaseDir + getStoreConfig ( - 'media' + self + :: + XML_PATH_COLOR_FOOTER + ) ) + ; + + + + } + + + + /** + + + * Get label color + + + * + + + * @return Zend_Pdf_Color_Html + + + */ + + + + public - . + function + + getLabelColor + ( + ) + + + + { + + + + return + $this + -> + getColor + ( + Mage + :: + getStoreConfig + ( self :: - FONT_PATH_IN_MEDIA + XML_PATH_COLOR_LABELS + ) + ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Invoice.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Invoice.php.xml new file mode 100644 index 0000000..eaeed80 --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Helper/Invoice.php.xml @@ -0,0 +1,296 @@ + + + + + <?php + + + /** + + + * This file is part of a FireGento e.V. module. + + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + + /** + + + * Helper for invoice creation. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + + class + + FireGento_Pdf_Helper_Invoice + + extends + + Mage_Core_Helper_Abstract + + + { + + + + + /** + + + * Gets the notes for the shipping country of the given order. + + + * + + + * @param Mage_Sales_Model_Order $order + + + * + + + * @return array the notes for the shipping country of the given order - may be empty! + + + */ + + + + public + + function + + getShippingCountryNotes + ( + Mage_Sales_Model_Order + + $order + ) + + + + { + + + + if + + ( + ! + $order + -> + getIsVirtual + ( + ) + ) + + { + + + + $shippingCountryId + + = + + $order + -> + getShippingAddress + ( + ) + -> + getCountryId + ( + ) + ; + + + + $countryNotes + + = + + unserialize + ( + Mage + :: + getStoreConfig + ( + 'sales_pdf/invoice/shipping_country_notes' + ) + ) + ; + + + + if + + ( + $countryNotes + ) + + { + + + + $shippingCountryNotes + + = + + array + ( + ) + ; + + + + foreach + + ( + $countryNotes + + as + + $countryNote + ) + + { + + + + if + + ( + $countryNote + [ + 'country' + ] + + == + + $shippingCountryId + ) + + { + + + + $shippingCountryNotes + [ + ] + + = + + $countryNote + [ + 'note' + ] + ; + + + + } + + + + } + + + + + return + + $shippingCountryNotes + ; + + + + } + + + + } + + + + + return + + array + ( + ) + ; + + + + } + + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xml index 2e573bd..bb1adbf 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Creditmemo.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,100 +53,86 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Creditmemo model rewrite. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Creditmemo + + extends + + Mage_Sales_Model_Order_Pdf_Creditmemo - + { - - + + /** - + * The actual PDF engine responsible for rendering the file. - + * @var Mage_Sales_Model_Order_Pdf_Abstract - + */ - + - private + protected $_engine ; - - + + /** - + * get pdf renderer engine - + * - + * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Creditmemo - + */ - + protected @@ -156,11 +142,11 @@ ( ) - + { - + if @@ -173,7 +159,7 @@ { - + $modelClass @@ -187,7 +173,7 @@ ) ; - + $engine @@ -201,23 +187,35 @@ ) ; - - + + if ( ! $engine + + || + + $engine + + instanceof + + FireGento_Pdf_Model_Creditmemo ) { - + // Fallback to Magento standard creditmemo layout. - + + + // use new here to circumvent our own rewrite + + $engine @@ -230,12 +228,12 @@ ) ; - + } - - + + $this -> @@ -246,12 +244,12 @@ $engine ; - + } - - + + return @@ -260,34 +258,34 @@ _engine ; - + } - - + + /** - + * get pdf object - + * - + * @param array|Varien_Data_Collection $creditmemos creditmemos to render - + * - + * @return Zend_Pdf - + */ - + public @@ -304,11 +302,11 @@ ) ) - + { - + return @@ -324,13 +322,13 @@ ) ; - + } - - + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml index 92d3d36..55c6460 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Abstract.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,71 +53,63 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - - + + /** - + * Abstract pdf model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + abstract class FireGento_Pdf_Model_Engine_Abstract - + extends Mage_Sales_Model_Order_Pdf_Abstract - + { - + + + /** + + + * @var array + + + */ + + public @@ -142,6 +134,16 @@ ) ; + + + /** + + + * @var array + + + */ + public @@ -156,46 +158,84 @@ ; + + /** + + + * @var string + + + */ + + public $mode ; - + + + /** + + + * @var string + + + */ + + public $encoding ; - + + + /** + + + * @var string + + + */ + + public $pagecounter ; - - + + + /** + + + * @var mixed[] + + + */ + + protected $_imprint ; - - + /** - + * @var int correct all y values if the logo is full width and bigger than normal - + */ - + protected @@ -206,18 +246,52 @@ 0 ; - - + /** - - * constructor to init settings + + * @var int - + */ - + + + private + + $defaultFontSize + + = + + 10 + ; + + + + /** + + + * @var array + + + */ + + + + private + + $_headerLines + + = + + array + ( + ) + ; + + + public @@ -227,11 +301,11 @@ ( ) - + { - + parent :: @@ -240,8 +314,8 @@ ) ; - - + + $this -> @@ -252,8 +326,8 @@ 'UTF-8' ; - - + + $this -> @@ -272,7 +346,7 @@ ) ; - + $this -> @@ -291,12 +365,100 @@ ) ; - - + + + + $helper + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + ; + + + + + $this + -> + colors + [ + 'text' + ] + + = + + $helper + -> + getTextColor + ( + ) + ; + + + + $this + -> + colors + [ + 'labels' + ] + + = + + $helper + -> + getLabelColor + ( + ) + ; + + + + $this + -> + colors + [ + 'header' + ] + + = + + $helper + -> + getHeaderColor + ( + ) + ; + + + + $this + -> + colors + [ + 'footer' + ] + + = + + $helper + -> + getFooterColor + ( + ) + ; + + + // get the default imprint - + $this -> @@ -312,40 +474,40 @@ ) ; - + } - - + + /** - + * Draw one line - + * - + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param array $draw items to draw - + * @param array $pageSettings page settings to use for new pages - + * - + * @return Zend_Pdf_Page - + */ - + public @@ -354,21 +516,21 @@ drawLineBlocks ( - + Zend_Pdf_Page $page , - + array $draw , - + array @@ -380,13 +542,13 @@ ( ) - + ) { - + foreach @@ -400,7 +562,7 @@ { - + if @@ -428,7 +590,7 @@ { - + Mage :: @@ -440,9 +602,6 @@ ( 'sales' ) - - - -> __ ( @@ -451,14 +610,14 @@ ) ; - + } - + $lines - + = $itemsProp @@ -467,7 +626,7 @@ ] ; - + $height @@ -490,11 +649,13 @@ : - 10 + $this + -> + defaultFontSize ; - - + + if @@ -510,7 +671,7 @@ { - + $shift @@ -519,7 +680,7 @@ 0 ; - + foreach @@ -533,7 +694,7 @@ { - + $maxHeight @@ -542,7 +703,7 @@ 0 ; - + foreach @@ -556,7 +717,7 @@ { - + $lineSpacing @@ -570,9 +731,7 @@ 'height' ] ) - - - + ? $column @@ -585,7 +744,7 @@ $height ; - + if @@ -602,7 +761,7 @@ { - + $column [ @@ -620,51 +779,31 @@ ) ; - + } - + $top = - 0 - ; - - - - foreach - + count ( $column [ 'text' ] - - as - - $part ) - { - - - - $top - - += + * $lineSpacing ; - - - } - - - + + $maxHeight @@ -685,11 +824,11 @@ $maxHeight ; - + } - + $shift @@ -698,11 +837,11 @@ $maxHeight ; - + } - + $itemsProp [ @@ -714,12 +853,12 @@ $shift ; - + } - - + + if @@ -739,7 +878,7 @@ 50 - + || @@ -750,14 +889,12 @@ ( 'sales_pdf/firegento_pdf/show_footer' ) - - - + == 1 - + && @@ -777,13 +914,13 @@ 100 ) - + ) { - + $page @@ -797,12 +934,12 @@ ) ; - + } - - + + foreach @@ -816,7 +953,7 @@ { - + $maxHeight @@ -825,7 +962,7 @@ 0 ; - + foreach @@ -839,7 +976,7 @@ { - + $fontSize @@ -857,7 +994,7 @@ 7 - + : @@ -867,7 +1004,7 @@ ] ; - + if @@ -884,12 +1021,10 @@ { - + $font - - - + = Zend_Pdf_Font @@ -903,7 +1038,7 @@ ) ; - + $page -> @@ -916,7 +1051,7 @@ ) ; - + } @@ -924,7 +1059,7 @@ { - + $fontStyle @@ -941,9 +1076,7 @@ ? 'regular' - - - + : $column @@ -952,7 +1085,7 @@ ] ; - + switch @@ -962,14 +1095,14 @@ { - + case 'bold' : - + $font @@ -986,19 +1119,19 @@ ) ; - + break ; - + case 'italic' : - + $font @@ -1015,17 +1148,17 @@ ) ; - + break ; - + default : - + $font @@ -1038,27 +1171,27 @@ $page , - + $fontSize ) ; - + break ; - + } - + } - - + + if @@ -1075,7 +1208,7 @@ { - + $column [ @@ -1093,12 +1226,12 @@ ) ; - + } - - + + $lineSpacing @@ -1119,24 +1252,22 @@ [ 'height' ] - - - + : $height ; - + $top - + = 0 ; - + foreach @@ -1153,10 +1284,10 @@ { - + $feed - + = $column @@ -1165,7 +1296,7 @@ ] ; - + $textAlign @@ -1182,9 +1313,7 @@ ? 'left' - - - + : $column @@ -1193,10 +1322,10 @@ ] ; - + $width - + = empty @@ -1219,7 +1348,7 @@ ] ; - + switch @@ -1229,14 +1358,14 @@ { - + case 'right' : - + if @@ -1246,7 +1375,7 @@ { - + $feed @@ -1261,9 +1390,7 @@ $feed , - - - + $width , @@ -1274,7 +1401,7 @@ ) ; - + } @@ -1282,17 +1409,11 @@ { - + $feed - = - - $feed - - - - - + -= $this -> @@ -1300,9 +1421,7 @@ ( $part , - - - + $font , @@ -1310,23 +1429,23 @@ ) ; - + } - + break ; - + case 'center' : - + if @@ -1336,7 +1455,7 @@ { - + $feed @@ -1351,9 +1470,7 @@ $feed , - - - + $width , @@ -1364,20 +1481,53 @@ ) ; - + } - + break ; - + } - + + + if + + ( + isset + ( + $column + [ + 'color' + ] + ) + ) + + { + + + + $page + -> + setFillColor + ( + $column + [ + 'color' + ] + ) + ; + + + + } + + $page -> @@ -1402,7 +1552,22 @@ ) ; - + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'text' + ] + ) + ; + + $top @@ -1411,12 +1576,12 @@ $lineSpacing ; - + } - - + + $maxHeight @@ -1437,11 +1602,11 @@ $maxHeight ; - + } - + $this -> @@ -1452,50 +1617,50 @@ $maxHeight ; - + } - + } - - + + return $page ; - + } - - + + /** - + * Set pdf mode. - + * - + * @param string $mode set mode to differ between creditmemo, invoice, etc. - + * - + * @return FireGento_Pdf_Model_Engine_Abstract - + */ - + public @@ -1506,11 +1671,11 @@ $mode ) - + { - + $this -> @@ -1521,35 +1686,36 @@ $mode ; - + + return $this ; - + } - - + + /** - + * Return pdf mode. - + * - + * @return string - + */ - + public @@ -1559,11 +1725,11 @@ ( ) - + { - + return @@ -1572,34 +1738,34 @@ mode ; - + } - - + + /** - + * Set next line position - + * - + * @param int $height Line-Height - + * - + * @return void - + */ - + protected @@ -1614,11 +1780,11 @@ 15 ) - + { - + $this -> @@ -1629,34 +1795,34 @@ $height ; - + } - - + + /** - + * Insert sender address bar - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * - + * @return void - + */ - + protected @@ -1664,15 +1830,14 @@ _insertSenderAddressBar ( - & $page ) - + { - + if @@ -1683,20 +1848,15 @@ ( 'sales_pdf/firegento_pdf/sender_address_bar' ) - - - + != '' - - - ) { - + $this -> @@ -1709,14 +1869,29 @@ ) ; - + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'labels' + ] + ) + ; + + $page -> drawText ( - + trim ( @@ -1729,7 +1904,7 @@ ) , - + $this -> @@ -1747,57 +1922,74 @@ ) , - + $this -> y , - + + + $this -> encoding - + ) ; - + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'text' + ] + ) + ; + + } - + } - - + + /** - + * Insert logo - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param mixed $store store to get data from - + * - + * @return void - + */ - + protected @@ -1816,11 +2008,11 @@ null ) - + { - + if @@ -1835,7 +2027,7 @@ { - + $this -> @@ -1848,7 +2040,7 @@ ) ; - + } @@ -1856,7 +2048,7 @@ { - + $this -> @@ -1869,38 +2061,38 @@ ) ; - + } - + } - - + + /** - + * is the setting to show the logo full width? - + * - + * @param mixed $store store we want the config setting from - + * - + * @return bool - + */ - + protected @@ -1911,11 +2103,11 @@ $store ) - + { - + return @@ -1932,37 +2124,37 @@ ) ; - + } - - + + /** - + * Inserts the logo if it is positioned left, center or right. - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param mixed $store store to get data from - + * - + * @return void - + */ - + protected @@ -1970,7 +2162,6 @@ _insertLogoPositioned ( - & $page , @@ -1981,16 +2172,14 @@ null ) - + { - + $imageRatio - - - + = (int) @@ -2000,14 +2189,12 @@ ( 'sales_pdf/firegento_pdf/logo_ratio' , - - - + $store ) ; - + $imageRatio @@ -2022,20 +2209,18 @@ ? - 1 + 100 : $imageRatio ; - - + + $maxwidth - - - + = ( @@ -2059,15 +2244,13 @@ * $imageRatio - - - + / 100 ; - + $maxheight @@ -2076,8 +2259,8 @@ 100 ; - - + + $image @@ -2094,7 +2277,7 @@ ) ; - + if @@ -2114,9 +2297,7 @@ $store ) - - - + . '/sales/store/logo/' @@ -2125,14 +2306,11 @@ $image ) - - - ) { - + $image @@ -2151,16 +2329,14 @@ . '/sales/store/logo/' - - - + . $image ; - - + + list @@ -2179,9 +2355,6 @@ ( 'firegento_pdf' ) - - - -> getScaledImageSize ( @@ -2195,8 +2368,8 @@ ) ; - - + + if @@ -2209,7 +2382,7 @@ { - + $image @@ -2223,13 +2396,11 @@ ) ; - - + + $logoPosition - - - + = Mage @@ -2238,15 +2409,13 @@ ( 'sales_pdf/firegento_pdf/logo_position' , - - - + $store ) ; - - + + switch @@ -2256,21 +2425,21 @@ { - + case 'center' : - + $startLogoAt + + = - + - = - $this -> margin @@ -2288,9 +2457,7 @@ [ 'right' ] - - - + - $this @@ -2315,19 +2482,19 @@ 2 ; - + break ; - + case 'right' : - + $startLogoAt @@ -2345,17 +2512,17 @@ $width ; - + break ; - + default : - + $startLogoAt @@ -2369,12 +2536,12 @@ ] ; - + } - - + + $position [ @@ -2386,7 +2553,7 @@ $startLogoAt ; - + $position [ @@ -2398,7 +2565,7 @@ 720 ; - + $position [ @@ -2417,7 +2584,7 @@ $width ; - + $position [ @@ -2436,8 +2603,8 @@ $height ; - - + + $page -> @@ -2457,9 +2624,7 @@ 'y1' ] , - - - + $position [ 'x2' @@ -2473,45 +2638,45 @@ ) ; - + } - + } - + } - - + + /** - + * inserts the logo from complete left to right - + * - - * @param Zend_Pdf_Page &$page current Zend_Pdf_Page object + + * @param Zend_Pdf_Page $page current Zend_Pdf_Page object - + * @param mixed $store store we need the config setting from - + * - + * @todo merge _insertLogoPositioned and _insertLogoFullWidth - + */ - + protected @@ -2519,7 +2684,6 @@ _insertLogoFullWidth ( - & $page , @@ -2530,16 +2694,14 @@ null ) - + { - + $imageRatio - - - + = (int) @@ -2549,9 +2711,7 @@ ( 'sales_pdf/firegento_pdf/logo_ratio' , - - - + $store ) ; @@ -2582,7 +2742,7 @@ $maxwidth - + = 594 @@ -2643,9 +2803,7 @@ $store ) - - - + . '/sales/store/logo/' @@ -2654,14 +2812,11 @@ $image ) - - - ) { - + $image @@ -2680,16 +2835,14 @@ . '/sales/store/logo/' - - - + . $image ; - - + + list @@ -2708,9 +2861,6 @@ ( 'firegento_pdf' ) - - - -> getScaledImageSize ( @@ -2724,8 +2874,8 @@ ) ; - - + + if @@ -2738,7 +2888,7 @@ { - + $image @@ -2752,13 +2902,11 @@ ) ; - - + + $logoPosition - - - + = Mage @@ -2767,15 +2915,13 @@ ( 'sales_pdf/firegento_pdf/logo_position' , - - - + $store ) ; - - + + switch @@ -2785,19 +2931,21 @@ { - + case 'center' : - + $startLogoAt = - + + + $this -> margin @@ -2806,9 +2954,7 @@ ] + - - - + ( ( $this @@ -2827,9 +2973,7 @@ 'left' ] ) - - - + / 2 @@ -2844,19 +2988,19 @@ 2 ; - + break ; - + case 'right' : - + $startLogoAt @@ -2874,17 +3018,17 @@ $width ; - + break ; - + default : - + $startLogoAt @@ -2893,12 +3037,12 @@ 0 ; - + } - - + + $position [ @@ -2910,7 +3054,7 @@ $startLogoAt ; - + $position [ @@ -2922,7 +3066,7 @@ 663 ; - + $position [ @@ -2941,7 +3085,7 @@ $width ; - + $position [ @@ -2960,8 +3104,8 @@ $height ; - - + + $page -> @@ -2981,9 +3125,7 @@ 'y1' ] , - - - + $position [ 'x2' @@ -2997,7 +3139,7 @@ ) ; - + $this -> @@ -3012,42 +3154,42 @@ 130 ; - + } - + } - + } - - + + /** - + * insert customer address and all header like customer number, etc. - + * - + * @param Zend_Pdf_Page $page current Zend_Pdf_Page - + * @param Mage_Sales_Model_Abstract $source source for the address information - + * @param Mage_Sales_Model_Order $order order to print the document for - + */ - + protected @@ -3056,37 +3198,37 @@ insertAddressesAndHeader ( - + Zend_Pdf_Page $page , - + Mage_Sales_Model_Abstract $source , - + Mage_Sales_Model_Order $order - + ) { - + // Add logo - + $this -> @@ -3103,12 +3245,12 @@ ) ; - - + + // Add billing address - + $this -> @@ -3125,7 +3267,7 @@ _marginTop ; - + $this -> @@ -3138,12 +3280,12 @@ ) ; - - + + // Add sender address - + $this -> @@ -3160,7 +3302,7 @@ _marginTop ; - + $this -> @@ -3170,54 +3312,25 @@ ) ; - - + + // Add head - + - $this - -> - y - - = - - 592 - - - - - $this - -> - _marginTop - ; + // make sure that header does not overlap address bar - + - $this - -> - insertHeader - ( - $page - , + $headOffset - $order - , + = - $source - ) + 0 ; - - - - /* Add table head */ - - - - // make sure that item table does not overlap heading - - + if @@ -3228,7 +3341,7 @@ > - 575 + 592 - @@ -3239,58 +3352,147 @@ { - + - $this - -> - y + $headOffset = - 575 - - - + 40 + ; + + + + } + + + + $this + -> + y + + = + + 592 + + - + + $headOffset + + - $this -> _marginTop ; - + + + $this + -> + insertHeader + ( + $page + , + + $order + , + + $source + ) + ; + + + + + /* Add table head */ + + + + // make sure that item table does not overlap heading + + + + if + + ( + $this + -> + y + + > + + 575 + + - + + $headOffset + + - + + $this + -> + _marginTop + ) + + { + + + + $this + -> + y + + = + + 575 + + - + + $headOffset + + - + + $this + -> + _marginTop + ; + + } - + } - - + + /** - + * Inserts the customer address. The default address is the billing address. - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param Mage_Sales_Model_Order $order Order object - + * - + * @return void - + */ - + protected @@ -3298,18 +3500,17 @@ _insertCustomerAddress ( - & $page , $order ) - + { - + $this -> @@ -3322,7 +3523,7 @@ ) ; - + $billing @@ -3337,9 +3538,6 @@ getBillingAddress ( ) - - - -> format ( @@ -3348,7 +3546,7 @@ ) ; - + foreach @@ -3362,7 +3560,7 @@ { - + $page -> @@ -3377,7 +3575,7 @@ ) , - + $this -> @@ -3394,13 +3592,15 @@ ( ) , - + + + $this -> y , - + $this -> @@ -3408,7 +3608,7 @@ ) ; - + $this -> @@ -3418,32 +3618,32 @@ ) ; - + } - + } - - + + /** - + * get the offset to position the address block left or right - + * - + * @return int - + */ - + protected @@ -3453,107 +3653,89 @@ ( ) - + { - + - if + $position + + = - ( Mage :: getStoreConfig ( 'sales_pdf/firegento_pdf/headerblocks_position' ) + ; - - - == + + + $left + + = FireGento_Pdf_Model_System_Config_Source_Headerblocks :: LEFT + ; - + - ) + return - { - - - - $offsetAdjustment + $position - = + === - 0 - ; - - - - } + $left - else + ? - { - - - - $offsetAdjustment + 0 - = + : 315 ; - - - } - - - - return - - $offsetAdjustment - ; - - + } - - + + + /** - + * Insert Header - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param Mage_Sales_Model_Order $order Order object - + * @param object $document Document object - + * - + * @return void - + */ - + protected @@ -3561,7 +3743,6 @@ insertHeader ( - & $page , @@ -3571,11 +3752,24 @@ $document ) - + { - + + + $this + -> + _headerLines + + = + + array + ( + ) + ; + + $page -> @@ -3585,13 +3779,13 @@ -> colors [ - 'black' + 'text' ] ) ; - - + + $mode @@ -3604,8 +3798,8 @@ ) ; - - + + $this -> @@ -3618,31 +3812,40 @@ ) ; - - + + + + $title + + = + + 'Invoice' + ; + + if ( $mode - == + === - 'invoice' + 'creditmemo' ) { - + $title = - 'Invoice' + 'Creditmemo' ; - + } @@ -3651,44 +3854,28 @@ ( $mode - == + === 'shipment' ) { - - - $title - - = - - 'Shipment' - ; - - - - } - - else - - { - - + $title = - 'Creditmemo' + 'Packingslip' ; - + } - + + $page -> @@ -3706,9 +3893,7 @@ $title ) , - - - + $this -> margin @@ -3728,19 +3913,8 @@ ) ; - - - - $this - -> - _setFontRegular - ( - $page - ) - ; - - - + + $this -> @@ -3751,106 +3925,100 @@ 80 ; - + - $labelRightOffset - + $width + = - 180 - - + - - $this - -> - getHeaderblockOffset - ( - ) + 80 ; - - + + - $valueRightOffset - + $color + = - 10 - - + - $this -> - getHeaderblockOffset - ( - ) + colors + [ + 'black' + ] ; - + - $font + $fillColor = $this -> - _setFontRegular - ( - $page - , - - 10 - ) + colors + [ + 'black' + ] ; - + - $width - + $fontSize + = - 80 + null ; - + - $numberOfLines - + $bold + = - 0 + false ; - - - + + // Invoice/shipment/creditmemo Number - + + + $numberTitle + + = + + 'Invoice number:' + ; + + if ( $mode - == + === - 'invoice' + 'creditmemo' ) { - + $numberTitle = - 'Invoice number:' + 'Creditmemo number:' ; - + } @@ -3859,14 +4027,14 @@ ( $mode - == + === 'shipment' ) { - + $numberTitle @@ -3875,36 +4043,39 @@ 'Shipment number:' ; - + } - - else - - { - - - $numberTitle + + + + $this + -> + _headerLines + [ + ] = - 'Creditmemo number:' - ; - - - - } - - - - $page - -> - drawText + array ( - + + 'content' + + => + + array + ( + + + + 'label' + + => + Mage :: helper @@ -3918,380 +4089,363 @@ ) , - - - ( - $this - -> - margin - [ - 'right' - ] + + + 'value' - - + => - $labelRightOffset + $document + -> + getIncrementId + ( + ) + , + + + ) , + + + + 'fontSize' - $this - -> - y + => + + $fontSize , - + - $this - -> - encoding + 'bold' + + => + + $bold + , - + ) ; - - + + + + // Order Number + + - $incrementId + $putOrderId = - $document + $this -> - getIncrementId + _putOrderId ( + $order ) ; - + - $page - -> - drawText + if + ( + $putOrderId + ) + + { - - - $incrementId - , - - + - ( $this -> - margin + _headerLines [ - 'right' ] - - + = - $valueRightOffset + array + ( - + - - + 'content' + + => - $this - -> - widthForStringUsingFontSize + array ( - $incrementId - , + + + + 'label' - $font - , + => - 10 - ) + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Order number:' ) , - - - $this - -> - y + + + 'value' + + => + + $putOrderId + , + + + + ) , + + + + 'fontSize' - $this - -> - encoding + => + + $fontSize + , - - + + + 'bold' + + => + + $bold + , + + + ) ; + + + } + + + + + // Customer Number + + if + + ( $this -> - Ln + _showCustomerNumber + ( + $order + -> + getStore ( ) - ; + ) + ) + + { - - $numberOfLines - ++ + + $customerNumber + + = + + $this + -> + _getGuestorderCustomerNo + ( + $order + -> + getStore + ( + ) + ) ; - - - - // Order Number - - - - $putOrderId + + + $customerNumberFieldName = + + + + Mage + :: + getStoreConfig + ( + 'sales_pdf/invoice/customer_number_field' + , - $this + $order -> - _putOrderId + getStoreId ( - $order + ) ) ; - - + + if ( - $putOrderId + $customerNumberFieldName + + + + === + + FireGento_Pdf_Model_System_Config_Source_Customer_Number + :: + CUSTOMER_NUMBER_FIELD_INCREMENT_ID ) { - - $page - -> - drawText - ( + + try + + { - + + $customer + + = + Mage :: - helper + getModel ( - 'firegento_pdf' + 'customer/customer' ) -> - __ + load ( - 'Order number:' + $order + -> + getData + ( + 'customer_id' ) - , + ) + ; - - ( - $this - -> - margin - [ - 'right' - ] + + $customerNumber - - + = - $labelRightOffset + $customer + -> + getData + ( + $customerNumberFieldName ) - , + ; - $this - -> - y - , + } - $this - -> - encoding + catch + + ( + \ + Exception + + $e + ) + + { - + + Mage + :: + logException + ( + $e ) ; - - $page - -> - drawText - ( + + //Use default - - $putOrderId - , - - ( - $this - -> - margin - [ - 'right' - ] - - - - - $valueRightOffset - - - - + $customerNumber - $this + = + + $order -> - widthForStringUsingFontSize + getCustomerId ( + ) + ; + + + + } - - $putOrderId - , + + } - $font - , + else - 10 + { - - ) - ) - , - - $this - -> - y - , - - $this - -> - encoding + + //Use default 'entity_id' - - ) - ; - - - - $this + + $customerNumber + + = + + $order -> - Ln + getCustomerId ( ) ; - + - $numberOfLines - ++ - ; - - - } - - - - // Customer Number - - - - if - - ( - $this - -> - _showCustomerNumber - ( - $order - -> - getStore - ( - ) - ) - ) - - { - - - - $page - -> - drawText - ( - - - - Mage - :: - helper - ( - 'firegento_pdf' - ) - -> - __ - ( - 'Customer number:' - ) - , - - - - ( - $this - -> - margin - [ - 'right' - ] - - - - - $labelRightOffset - ) - , - - - - $this - -> - y - , - - $this - -> - encoding - - - - ) - ; - - - - $numberOfLines - ++ - ; - - - - + + + if ( @@ -4301,20 +4455,17 @@ ( ) - != + !== '' ) { - - + $prefix - - - + = Mage @@ -4325,8 +4476,8 @@ ) ; - - + + if @@ -4340,9 +4491,9 @@ { - + - $customerid + $customerId = @@ -4350,14 +4501,10 @@ . - $order - -> - getCustomerId - ( - ) + $customerNumber ; - + } @@ -4365,200 +4512,326 @@ { - + - $customerid + $customerId = - $order - -> - getCustomerId - ( - ) + $customerNumber ; - + } - - - - $page - -> - drawText - ( + + + } - - - $customerid - , + + + + if ( + $customerId + + !== + + '' + ) + + { + + + $this -> - margin + _headerLines [ - 'right' ] - - + = - $valueRightOffset + array + ( - + + + 'content' + + => + + array + ( + + - - + 'label' - $this + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) -> - widthForStringUsingFontSize + __ ( - - - - $customerid + 'Customer number:' + ) , + + + + 'value' - $font - , + => - 10 + $customerId + , - - - ) + + ) , + + + + 'fontSize' - $this - -> - y + => + + $fontSize , + + + + 'bold' + + => - $this - -> - encoding + $bold + , - + ) ; - - + + + } + + + + } + + + + + /** print VAT ID */ + + + + if + + ( $this -> - Ln + _showCustomerVATNumber + ( + $order + -> + getStore ( ) - ; - - - - $numberOfLines - ++ - ; + ) + ) + + { - + - } + if - else + ( + $order + -> + getBillingAddress + ( + ) + -> + getVatId + ( + ) + ) { - + - $page + $customerVatId + + = + + $order -> - drawText + getBillingAddress + ( + ) + -> + getVatId ( + ) + ; - - - '-' - , + + + } + + elseif + + ( + $order + -> + getCustomerTaxvat + ( + ) + ) + + { - - + + + $customerVatId + + = + + $order + -> + getCustomerTaxvat ( + ) + ; + + + + } + + else + + { + + + + $customerVatId + + = + + '-' + ; + + + + } + + + + $this -> - margin + _headerLines [ - 'right' ] - - + = - $valueRightOffset + array + ( - - - - + + + 'content' + + => - $this - -> - widthForStringUsingFontSize + array ( - '-' - , + + + + 'label' - $font - , + => - 10 + Mage + :: + helper + ( + 'firegento_pdf' ) + -> + __ + ( + 'VAT-ID:' ) , - $this - -> - y - , + 'value' - $this - -> - encoding + => + + $customerVatId + , ) - ; + , - $this - -> - Ln - ( - ) - ; + 'fontSize' + + => + + $fontSize + , - $numberOfLines - ++ - ; + 'bold' + + => + + $bold + , - } + ) + ; } - - + - // Customer IP + /** end VAT ID print*/ + + + // Customer IP + + if @@ -4570,31 +4843,59 @@ ( 'sales/general/hide_customer_ip' , - - - + $order -> getStoreId ( ) ) - - - ) { + + + $customerIp + + = + + $order + -> + getData + ( + 'remote_ip' + ) + ; + - $page + $this -> - drawText + _headerLines + [ + ] + + = + + array ( + 'content' + + => + + array + ( + + + + 'label' + + => + Mage :: helper @@ -4608,161 +4909,76 @@ ) , - - - ( - $this - -> - margin - [ - 'right' - ] + + + 'value' - - + => - $labelRightOffset - ) - , - - - - $this - -> - y + $customerIp , - - $this - -> - encoding - + ) - ; + , - - $customerIP + + 'fontSize' - = + => - $order - -> - getData - ( - 'remote_ip' - ) - ; + $fontSize + , - - $font - - = + + 'bold' + + => - $this - -> - _setFontRegular - ( - $page + $bold , - - 10 - ) - ; - $page - -> - drawText - ( + ) + ; - - $customerIP - , - - ( + + } + + + + $this -> - margin + _headerLines [ - 'right' ] - - - - $valueRightOffset - - - - - + = - $this - -> - widthForStringUsingFontSize + array ( - - - $customerIP - , - - $font - , - - 10 - - - ) - ) - , - - $this - -> - y - , - - $this - -> - encoding - - - - ) - ; - - - - $this - -> - Ln - ( - ) - ; - - - $numberOfLines - ++ - ; - - - - } - - - - - $page - -> - drawText + 'content' + + => + + array ( - - + + + 'label' + + => + Mage :: helper @@ -4779,56 +4995,24 @@ 'invoice' ) - - - + ? 'Invoice date:' - + + + : 'Date:' ) , - - - ( - $this - -> - margin - [ - 'right' - ] - - - - - $labelRightOffset - ) - , - - $this - -> - y - , - - - - $this - -> - encoding - - - - ) - ; - - - - $documentDate + + + 'value' - = + => Mage :: @@ -4836,9 +5020,6 @@ ( 'core' ) - - - -> formatDate ( @@ -4854,91 +5035,71 @@ false ) - ; - - - - $page - -> - drawText - ( + , - + - $documentDate + ) , - + - ( - $this - -> - margin - [ - 'right' - ] - - - - - $valueRightOffset - - - - - - - $this - -> - widthForStringUsingFontSize - ( - $documentDate - , + 'fontSize' - $font - , + => - 10 - ) - ) + $fontSize , - + - $this - -> - y - , + 'bold' + + => - $this - -> - encoding + $bold + , - + ) ; - + + - $this - -> - Ln - ( - ) - ; + // Payment method. - + - $numberOfLines - ++ + $posHeader + + = + + FireGento_Pdf_Model_System_Config_Source_Payment + :: + POSITION_HEADER ; - - - + - // Payment method. + $payomentInHeader + + = + + Mage + :: + getStoreConfig + ( + 'sales_pdf/invoice/payment_method_position' + ) + + === + + $posHeader + ; - + $putPaymentMethod @@ -4947,32 +5108,18 @@ ( $mode - == + === 'invoice' - - - - && - Mage - :: - getStoreConfig - ( - 'sales_pdf/invoice/payment_method_position' - ) - - - - == + && - FireGento_Pdf_Model_System_Config_Source_Payment - :: - POSITION_HEADER + $payomentInHeader ) ; - + + if @@ -4982,73 +5129,76 @@ { - + - $page - -> - drawText - ( + $font + + = + + $bold + + ? - + - Mage - :: - helper - ( - 'firegento_pdf' - ) + $this -> - __ + _setFontRegular ( - 'Payment method:' - ) + $page , - - - - ( - $this - -> - margin - [ - 'right' - ] - - + $fontSize - $labelRightOffset - ) - , - - + ? + + $fontSize + + : + + $this + -> + defaultFontSize + ) + + + : + $this -> - y + _setFontBold + ( + $page , + $fontSize + + ? + + $fontSize + + : + $this -> - encoding - - - + defaultFontSize ) ; - + + $paymentMethodArray = - + + + $this -> _prepareText ( - - - $order -> getPayment @@ -5066,89 +5216,105 @@ $page , - - - + $font , - - 10 + + + + $this + -> + defaultFontSize , $width - - - ) ; - + + - $page + $this -> - drawText + _headerLines + [ + ] + + = + + array ( - + + 'content' + + => + + array + ( + + + + 'label' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Payment method:' + ) + , + + + + 'value' + + => + array_shift ( $paymentMethodArray ) , - + - ( - $this - -> - margin - [ - 'right' - ] - - - - - $valueRightOffset - - - - - $width ) , + + + + 'fontSize' - $this - -> - y + => + + $fontSize , - + - $this - -> - encoding - - - - ) - ; + 'bold' + + => + + $bold + , - + - $this - -> - Ln - ( ) ; - - - $numberOfLines - ++ - ; - - + + $paymentMethodArray @@ -5160,11 +5326,9 @@ ( implode ( - " " + ' ' , - - - + $paymentMethodArray ) , @@ -5174,8 +5338,12 @@ $font , - - 10 + + + + $this + -> + defaultFontSize , 2 @@ -5186,7 +5354,7 @@ ) ; - + foreach @@ -5200,90 +5368,94 @@ { - + - $page - -> - drawText - ( - $methodString - , - - - $this -> - margin + _headerLines [ - 'right' ] - - + = - $labelRightOffset - , + array + ( + + + + 'content' + + => - $this - -> - y + array + ( + + + + 'label' + + => + + $methodString , - + - $this - -> - encoding ) - ; + , - - - $this - -> - Ln - ( - ) - ; + + + 'fontSize' + + => + + $fontSize + , - + + + 'bold' + + => + + $bold + , + + - $numberOfLines - ++ + ) ; - + } - - + } - - + + // Shipping method. - + - $putShippingMethod - + $invoiceAndShippingHeader + = - ( $mode == 'invoice' - + && - - - + Mage :: getStoreConfig @@ -5291,17 +5463,20 @@ 'sales_pdf/invoice/shipping_method_position' ) - + - == + === FireGento_Pdf_Model_System_Config_Source_Shipping :: POSITION_HEADER + ; - - - || + + + $shipmentAndShippingHeader + + = $mode @@ -5309,12 +5484,10 @@ 'shipment' - + && - - - + Mage :: getStoreConfig @@ -5322,86 +5495,100 @@ 'sales_pdf/shipment/shipping_method_position' ) - + - == + === FireGento_Pdf_Model_System_Config_Source_Shipping :: POSITION_HEADER - ) ; - + if ( - $putShippingMethod + ( + $invoiceAndShippingHeader + + || + + $shipmentAndShippingHeader ) - { - - - - $page + && + + $order -> - drawText - ( - - - - Mage - :: - helper + getIsNotVirtual ( - 'firegento_pdf' ) - -> - __ - ( - 'Shipping method:' ) - , + + { - + + + $font + + = + + $bold + + ? + + - ( $this -> - margin - [ - 'right' - ] + _setFontRegular + ( + $page + , - - + $fontSize + + ? + + $fontSize + + : - $labelRightOffset + $this + -> + defaultFontSize ) - , - + + : + $this -> - y + _setFontBold + ( + $page , + $fontSize + + ? + + $fontSize + + : + $this -> - encoding - - - + defaultFontSize ) ; - + $shippingMethodArray - - - + = $this @@ -5417,98 +5604,182 @@ $page , - - - + $font , - - 10 + + + + $this + -> + defaultFontSize , $width ) ; - + - $page - -> - drawText - ( - - - + $shippingMethod + + = + array_shift ( $shippingMethodArray ) - , + ; - - - ( + + $this -> - margin + _headerLines [ - 'right' ] - - + = - $valueRightOffset + array + ( + + + + 'content' + + => - - + array + ( + + + + 'label' - $width + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Shipping method:' + ) + , + + + + 'value' + + => + + $shippingMethod + , + + + ) , + + + + 'fontSize' - $this - -> - y + => + + $fontSize , - + - $this - -> - encoding + 'bold' + + => + + $bold + , - + ) ; - + + + $font + + = + + $bold + + ? + + + $this -> - Ln + _setFontRegular ( + $page + , + + $fontSize + + ? + + $fontSize + + : + + $this + -> + defaultFontSize ) - ; - - - $numberOfLines - ++ + + + : + + $this + -> + _setFontBold + ( + $page + , + + $fontSize + + ? + + $fontSize + + : + + $this + -> + defaultFontSize + ) ; - + + $shippingMethodArray = - + + + $this -> _prepareText ( - - - implode ( " " @@ -5524,21 +5795,22 @@ $font , - 10 + $this + -> + defaultFontSize , - + + + 2 * $width - - - ) ; - + foreach @@ -5552,126 +5824,774 @@ { - + - $page + $this -> - drawText + _headerLines + [ + ] + + = + + array + ( + + + + 'content' + + => + + array ( + + + + 'label' + + => + $methodString , - + - $this - -> - margin - [ - 'right' - ] + ) + , + + + + 'fontSize' - - + => - $labelRightOffset + $fontSize , + + + + 'bold' + + => - $this - -> - y + $bold , - - + + + ) + ; + + + + } + + + + } + + + + + $transportObject + + = + + new + + Varien_Object + ( + ) + ; + + + + $transportObject + -> + setData + ( + array + ( + 'lines' + + => + $this -> - encoding + headerLines + ) ) ; + + + Mage + :: + dispatchEvent + ( + - + + 'firegento_pdf_header_lines' + , + + + + array + ( + 'headerLines' + + => + + $transportObject + ) + + + + ) + ; + + + + Mage + :: + dispatchEvent + ( + + + + 'firegento_pdf_' + + . + $this -> - Ln + getMode + ( + ) + + . + + '_header_lines' + , + + + + array ( + 'headerLines' + + => + + $transportObject + ) + + + ) ; - - - $numberOfLines - ++ + + + $this + -> + headerLines + + = + + $transportObject + -> + getData + ( + 'lines' + ) ; - + + + $helper - } + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + ; - - + - } + foreach + + ( + $this + -> + _headerLines + + as + + $line + ) + + { - - + + + $font + + = + + $this + -> + setFont + ( + $line + , + + $page + ) + ; + + + + foreach + + ( + $line + [ + 'content' + ] + + as + + $key + + => + + $c + ) + + { + + + + if + + ( + $key + + === + + 'label' + ) + + { + + + + $page + -> + setFillColor + ( + $helper + -> + getLabelColor + ( + ) + ) + ; + + + + $offset + + = + + ( + $this + -> + margin + [ + 'right' + ] + + - + + 180 + + - + + $this + -> + getHeaderblockOffset + ( + ) + ) + ; + + + + } + + else + + { + + + + $page + -> + setFillColor + ( + $helper + -> + getTextColor + ( + ) + ) + ; + + + + $offset + + = + + $this + -> + margin + [ + 'right' + ] + + - + + 10 + + - + + $this + -> + getHeaderblockOffset + ( + ) + + + + - + + $this + -> + widthForStringUsingFontSize + ( + $c + , + + $font + , + + 10 + ) + ; + + + + } + + + + + $page + -> + drawText + ( + + + + $c + , + + + + $offset + , + + + + $this + -> + y + , + + + + $this + -> + encoding + + + + ) + ; + + + + } + + + + $this + -> + Ln + ( + ) + ; + + + + } + + + + $this + -> + y + + -= + + ( + count + ( + $this + -> + _headerLines + ) + + * + + 2 + ) + ; + + + + } + + + + + /** + + + * @param array $line + + + * @param™ Zend_Pdf_Page $page + + + * @return Zend_Pdf_Resource_Font + + + */ + + + + protected + + function + + setFont + ( + array + + $line + , + + Zend_Pdf_Page + + $page + ) + + + + { + + + + if + + ( + $line + [ + 'fontSize' + ] + + === + + null + ) + + { + + + + $line + [ + 'fontSize' + ] + + = + + $this + -> + defaultFontSize + ; + + + + } + + + + $font + + = + + $this + -> + _setFontRegular + ( + $page + , + + $line + [ + 'fontSize' + ] + ) + ; + + + + if + + ( + $line + [ + 'bold' + ] + ) + + { + + + + $font + + = + + $this + -> + _setFontBold + ( + $page + , + + $line + [ + 'fontSize' + ] + ) + ; + + + + } + + + + return + + $font + ; + + + + } + + + + + /** + + + * Return the order id or false if order id should not be displayed on document. + + + * + + + * @param Mage_Sales_Model_Order $order order to get id from + + + * + + + * @return int|false + + + */ + + + + protected + + function + + _putOrderId + ( + $order + ) + + + + { + + + + return + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + putOrderId + ( + $order + , + + $this + -> + mode + ) + ; + + + + } + + + + + /** + + + * do we show the customber number on this document + + + * + + + * @param mixed $store store from whom we need the config setting + + + * + + + * @return bool + + + */ + + + + protected + + function + + _showCustomerNumber + ( + $store + ) + + + + { + + + + return + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + showCustomerNumber + ( $this -> - y - - -= - - ( - $numberOfLines - - * + mode + , - 2 + $store ) ; - + } - - + + /** - - * Return the order id or false if order id should not be displayed on document. + + * do we show the customber VAT number on this document - + * - - * @param Mage_Sales_Model_Order $order order to get id from + + * @param mixed $store store from whom we need the config setting - + * - - * @return int|false + + * @return bool - + */ - + protected function - _putOrderId + _showCustomerVATNumber ( - $order + $store ) - + { - + return @@ -5681,61 +6601,64 @@ ( 'firegento_pdf' ) + + + -> - putOrderId + showCustomerVATNumber ( - $order - , - $this -> mode + , + + $store ) ; - + } - - + + /** - - * do we show the customber number on this document + + * which customer number should be displayed for guest orders - + * - + * @param mixed $store store from whom we need the config setting - + * - - * @return bool + + * @return string - + */ - + protected function - _showCustomerNumber + _getGuestorderCustomerNo ( $store ) - + { - + return @@ -5746,10 +6669,10 @@ 'firegento_pdf' ) - + -> - showCustomerNumber + getGuestorderCustomerNo ( $this -> @@ -5760,34 +6683,34 @@ ) ; - + } - - + + /** - + * Generate new PDF page. - + * - + * @param array $settings Page settings - + * - + * @return Zend_Pdf_Page - + */ - + public @@ -5806,11 +6729,11 @@ ) ) - + { - + $pdf @@ -5823,8 +6746,8 @@ ) ; - - + + $page @@ -5834,13 +6757,15 @@ -> newPage ( - Zend_Pdf_Page - :: - SIZE_A4 + $this + -> + getPageSize + ( + ) ) ; - + $this -> @@ -5848,7 +6773,7 @@ ++ ; - + $pdf -> @@ -5861,8 +6786,8 @@ $page ; - - + + $this -> @@ -5883,19 +6808,37 @@ ) ; - - + + + + // set the font because it may not be set, see https://github.com/firegento/firegento-pdf/issues/184 + + + + $this + -> + _setFontRegular + ( + $page + , + + 9 + ) + ; + + + // provide the possibility to add random stuff to the page - + Mage :: dispatchEvent ( - + 'firegento_pdf_' @@ -5912,7 +6855,7 @@ '_edit_page' , - + array ( @@ -5934,13 +6877,13 @@ ) ) - + ) ; - - + + $this -> @@ -5951,7 +6894,7 @@ 800 ; - + $this -> @@ -5964,51 +6907,51 @@ ) ; - - + + return $page ; - + } - - + + /** - + * Draw - + * - + * @param Varien_Object $item creditmemo/shipping/invoice to draw - + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param Mage_Sales_Model_Order $order order to get infos from - + * @param int $position position in table - + * - + * @return Zend_Pdf_Page - + */ - + protected @@ -6017,28 +6960,28 @@ _drawItem ( - + Varien_Object $item , - + Zend_Pdf_Page $page , - + Mage_Sales_Model_Order $order , - + $position @@ -6046,13 +6989,13 @@ 1 - + ) { - + $type @@ -6069,8 +7012,8 @@ ) ; - - + + $renderer @@ -6084,7 +7027,7 @@ ) ; - + $renderer -> @@ -6094,7 +7037,7 @@ ) ; - + $renderer -> @@ -6104,7 +7047,7 @@ ) ; - + $renderer -> @@ -6114,7 +7057,7 @@ ) ; - + $renderer -> @@ -6124,7 +7067,7 @@ ) ; - + $renderer -> @@ -6134,8 +7077,8 @@ ) ; - - + + $renderer -> @@ -6145,7 +7088,8 @@ ) ; - + + return @@ -6156,37 +7100,37 @@ ) ; - + } - - + + /** - + * Insert Totals Block - + * - + * @param object $page Current page object of Zend_Pdf - + * @param object $source Fields of footer - + * - + * @return Zend_Pdf_Page - + */ - + protected @@ -6200,11 +7144,11 @@ $source ) - + { - + $this -> @@ -6215,8 +7159,8 @@ 15 ; - - + + $order @@ -6229,26 +7173,26 @@ ) ; - - + + $totalTax - + = 0 ; - + $shippingTaxRate - + = 0 ; - + $shippingTaxAmount @@ -6261,8 +7205,8 @@ ) ; - - + + if @@ -6276,11 +7220,11 @@ { - + $shippingTaxRate - + = @@ -6294,7 +7238,7 @@ 100 - + / @@ -6305,7 +7249,7 @@ ( ) - + - @@ -6317,12 +7261,12 @@ ) ; - + } - - + + $groupedTax @@ -6333,8 +7277,8 @@ ) ; - - + + $items [ @@ -6348,7 +7292,7 @@ ) ; - + foreach @@ -6366,7 +7310,7 @@ { - + if @@ -6384,16 +7328,16 @@ { - + continue ; - + } - + $items [ @@ -6415,17 +7359,17 @@ ) ; - + } - - + + array_push ( - + $items [ @@ -6436,7 +7380,7 @@ array ( - + 'row_invoiced' @@ -6449,7 +7393,7 @@ ) , - + 'tax_inc_subtotal' @@ -6458,7 +7402,7 @@ false , - + 'tax_percent' @@ -6467,25 +7411,26 @@ $shippingTaxRate , - + 'tax_amount' => $shippingTaxAmount + , - + ) - + ) ; - - + + foreach @@ -6502,7 +7447,7 @@ { - + $_percent @@ -6511,7 +7456,7 @@ null ; - + if @@ -6528,7 +7473,7 @@ { - + $item [ @@ -6540,11 +7485,11 @@ 0 ; - + } - + if @@ -6561,7 +7506,7 @@ { - + $item [ @@ -6573,11 +7518,11 @@ 0 ; - + } - + if @@ -6594,7 +7539,7 @@ { - + $item [ @@ -6606,11 +7551,11 @@ 0 ; - + } - + if @@ -6627,7 +7572,7 @@ { - + $item [ @@ -6639,11 +7584,11 @@ 0 ; - + } - + if @@ -6660,7 +7605,7 @@ 0 ) - + && @@ -6676,13 +7621,13 @@ 0 ) - + ) { - + $_percent @@ -6700,11 +7645,11 @@ ) ; - + } - + if @@ -6718,7 +7663,7 @@ $item ) - + || @@ -6727,13 +7672,13 @@ 'tax_inc_subtotal' ] - + ) { - + $totalTax @@ -6745,11 +7690,11 @@ ] ; - + } - + if @@ -6768,7 +7713,7 @@ { - + if @@ -6786,7 +7731,7 @@ { - + $groupedTax [ @@ -6801,7 +7746,7 @@ ] ; - + } @@ -6809,7 +7754,7 @@ { - + $groupedTax [ @@ -6824,20 +7769,20 @@ ] ; - + } - + } - + } - - + + $totals @@ -6851,8 +7796,8 @@ ) ; - - + + $lineBlock @@ -6861,7 +7806,7 @@ array ( - + 'lines' @@ -6872,21 +7817,22 @@ ) , - + 'height' => 20 + , - + ) ; - - + + foreach @@ -6900,7 +7846,7 @@ { - + $total -> @@ -6915,8 +7861,8 @@ ) ; - - + + if @@ -6930,25 +7876,27 @@ { - + $total -> setFontSize ( - 10 + $this + -> + defaultFontSize ) ; - + // fix Magento 1.8 bug, so that taxes for shipping do not appear twice - + // see https://github.com/firegento/firegento-pdf/issues/106 - + $uniqueTotalsForDisplay @@ -6957,7 +7905,7 @@ array_map ( - + 'unserialize' , @@ -6969,7 +7917,7 @@ 'serialize' , - + $total -> @@ -6979,12 +7927,12 @@ ) ) - + ) ; - + foreach @@ -6998,10 +7946,10 @@ { - + $label - + = $this @@ -7015,7 +7963,7 @@ ) ; - + $lineBlock [ @@ -7029,12 +7977,12 @@ array ( - + array ( - + 'text' @@ -7043,16 +7991,25 @@ $label , - + 'feed' => - 470 + $this + -> + margin + [ + 'right' + ] + + - + + 70 , - + 'align' @@ -7061,7 +8018,7 @@ 'right' , - + 'font_size' @@ -7071,18 +8028,19 @@ [ 'font_size' ] + , - + ) , - + array ( - + 'text' @@ -7094,16 +8052,21 @@ ] , - + 'feed' => - 540 + $this + -> + margin + [ + 'right' + ] , - + 'align' @@ -7112,7 +8075,7 @@ 'right' , - + 'font_size' @@ -7122,30 +8085,31 @@ [ 'font_size' ] + , - + ) , - + ) ; - + } - + } - + } - + $page @@ -7165,47 +8129,49 @@ ) ; - + + return $page ; - + } - - + + + /** - + * Insert Notes - + * - - * @param Zend_Pdf_Page $page Current Page Object of Zend_PDF + + * @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_Order $order order to get note from - - * @param Mage_Sales_Model_Abstract &$model invoice/shipment/creditmemo + + * @param Mage_Sales_Model_Abstract $model invoice/shipment/creditmemo - + * - + * @return \Zend_Pdf_Page - + */ - + protected @@ -7216,31 +8182,31 @@ $page , - & $order , - & $model ) - + { - + $fontSize = - 10 + $this + -> + defaultFontSize ; - + $font - + = $this @@ -7254,28 +8220,22 @@ ) ; - + $this -> y - - = - - $this - -> - y - - - + + -= 60 ; - - + + $notes - + = array @@ -7283,7 +8243,7 @@ ) ; - + $result @@ -7296,7 +8256,7 @@ ) ; - + $result -> @@ -7306,14 +8266,14 @@ ) ; - + Mage :: dispatchEvent ( - + 'firegento_pdf_' @@ -7330,12 +8290,12 @@ '_insert_note' , - + array ( - + 'order' @@ -7344,7 +8304,7 @@ $order , - + $this -> @@ -7357,24 +8317,25 @@ $model , - + 'result' => $result + , - + ) - + ) ; - + $notes @@ -7393,12 +8354,12 @@ ) ; - - + + // Get free text notes. - + $note @@ -7424,7 +8385,7 @@ ) ; - + if @@ -7438,7 +8399,7 @@ { - + $tmpNotes @@ -7453,10 +8414,10 @@ ) ; - + $notes - + = array_merge @@ -7468,16 +8429,16 @@ ) ; - + } - - + + // Draw notes on PDF. - + foreach @@ -7491,11 +8452,11 @@ { - + // prepare the text so that it fits to the paper - + foreach @@ -7513,7 +8474,9 @@ $font , - 10 + $this + -> + defaultFontSize ) as @@ -7523,11 +8486,11 @@ { - + // create a new page if necessary - + if @@ -7540,7 +8503,7 @@ 50 - + || @@ -7551,14 +8514,12 @@ ( 'sales_pdf/firegento_pdf/show_footer' ) - - - + == 1 - + && @@ -7571,16 +8532,16 @@ 100 ) - + ) { - + $page - + = $this @@ -7593,7 +8554,7 @@ ) ; - + $this -> @@ -7610,10 +8571,10 @@ 60 ; - + $font - + = $this @@ -7627,11 +8588,11 @@ ) ; - + } - + $page -> @@ -7656,65 +8617,64 @@ 30 , - - - + $this -> encoding ) ; - + $this -> Ln ( - 15 ) ; - + } - + } - + + return $page ; - + } - - + + + /** - + * draw footer on pdf - + * - - * @param Zend_Pdf_Page &$page page to draw on + + * @param Zend_Pdf_Page $page page to draw on - + * @param mixed $store store to get infos from - + */ - + protected @@ -7722,7 +8682,6 @@ _addFooter ( - & $page , @@ -7733,15 +8692,15 @@ null ) - + { - + // get the imprint of the store if a store is set - + if @@ -7755,7 +8714,7 @@ { - + $imprintObject @@ -7768,7 +8727,7 @@ ) ; - + $imprintObject -> @@ -7781,14 +8740,14 @@ 'general/imprint' , - + $store ) ) ; - + Mage :: @@ -7800,24 +8759,25 @@ array ( - + 'transport_object' => $imprintObject + , - + ) - + ) ; - + $this -> @@ -7832,16 +8792,16 @@ ) ; - + } - - + + // Add footer if GermanSetup is installed. - + if @@ -7850,7 +8810,7 @@ -> _imprint - + && @@ -7865,13 +8825,13 @@ 1 - + ) { - + $this -> @@ -7882,7 +8842,7 @@ 110 ; - + $this -> @@ -7892,12 +8852,12 @@ ) ; - - + + // Add page counter. - + $this -> @@ -7908,7 +8868,7 @@ 110 ; - + $this -> @@ -7918,38 +8878,38 @@ ) ; - + } - + } - - + + /** - + * Insert footer - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * - + * @return void - + */ - + protected @@ -7957,15 +8917,14 @@ _insertFooter ( - & $page ) - + { - + $page -> @@ -7975,12 +8934,27 @@ -> colors [ - 'black' + 'footer' ] ) ; - + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'footer' + ] + ) + ; + + $page -> @@ -7990,7 +8964,7 @@ ) ; - + $page -> @@ -8017,7 +8991,7 @@ 5 , - + $this -> @@ -8041,8 +9015,8 @@ ) ; - - + + $this -> @@ -8052,7 +9026,7 @@ ) ; - + $this -> @@ -8062,8 +9036,8 @@ ) ; - - + + $fields @@ -8072,7 +9046,7 @@ array ( - + 'telephone' @@ -8091,7 +9065,7 @@ ) , - + 'fax' @@ -8110,7 +9084,7 @@ ) , - + 'email' @@ -8129,7 +9103,7 @@ ) , - + 'web' @@ -8146,13 +9120,14 @@ ( 'Web:' ) + , - + ) ; - + $this -> @@ -8174,8 +9149,8 @@ ) ; - - + + $fields @@ -8184,7 +9159,7 @@ array ( - + 'bank_name' @@ -8196,9 +9171,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8206,7 +9178,7 @@ ) , - + 'bank_account' @@ -8218,9 +9190,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8228,7 +9197,7 @@ ) , - + 'bank_code_number' @@ -8240,9 +9209,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8250,7 +9216,7 @@ ) , - + 'bank_account_owner' @@ -8262,9 +9228,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8272,7 +9235,7 @@ ) , - + 'swift' @@ -8291,7 +9254,7 @@ ) , - + 'iban' @@ -8308,13 +9271,14 @@ ( 'IBAN:' ) + , - + ) ; - + $this -> @@ -8336,8 +9300,8 @@ ) ; - - + + $fields @@ -8346,7 +9310,7 @@ array ( - + 'tax_number' @@ -8358,9 +9322,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8368,7 +9329,7 @@ ) , - + 'vat_id' @@ -8387,7 +9348,7 @@ ) , - + 'register_number' @@ -8399,9 +9360,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8409,7 +9367,7 @@ ) , - + 'ceo' @@ -8428,7 +9386,7 @@ ) , - + 'city' @@ -8440,9 +9398,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8450,7 +9405,7 @@ ) , - + 'court' @@ -8462,9 +9417,6 @@ ( 'firegento_pdf' ) - - - -> __ ( @@ -8472,12 +9424,12 @@ ) , - + ) ; - + $this -> @@ -8489,14 +9441,12 @@ $fields , - 355 + 365 , 60 , - - - + $this -> margin @@ -8506,7 +9456,7 @@ - - 365 + 375 - @@ -8514,49 +9464,80 @@ ) ; - + + + + $page + -> + setLineColor + ( + $this + -> + colors + [ + 'black' + ] + ) + ; + + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'text' + ] + ) + ; + + } - - + + /** - + * Insert footer block - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param array $fields Fields of footer - + * @param int $colposition Starting colposition - + * @param int $valadjust Margin between label and value - + * @param int $colwidth the width of this footer block - text will be wrapped if it is broader - + * than this width - + * - + * @return void - + */ - + protected @@ -8565,18 +9546,17 @@ _insertFooterBlock ( - + - & $page , - + $fields , - + $colposition @@ -8585,7 +9565,7 @@ 0 , - + $valadjust @@ -8594,7 +9574,7 @@ 30 , - + $colwidth @@ -8602,13 +9582,13 @@ null - + ) { - + $fontSize @@ -8617,10 +9597,10 @@ 7 ; - + $font - + = $this @@ -8634,10 +9614,10 @@ ) ; - + $y - + = $this @@ -8645,8 +9625,8 @@ y ; - - + + $valposition @@ -8659,8 +9639,8 @@ $valadjust ; - - + + if @@ -8673,7 +9653,7 @@ { - + foreach @@ -8691,7 +9671,7 @@ { - + if @@ -8709,20 +9689,20 @@ { - + continue ; - + } - + // draw the label - + $page -> @@ -8742,9 +9722,7 @@ $colposition , - - - + $y , @@ -8754,14 +9732,14 @@ ) ; - + // prepare the value: wrap it if necessary - + $val - + = $this @@ -8772,7 +9750,7 @@ ] ; - + $width @@ -8781,7 +9759,7 @@ $colwidth ; - + if @@ -8795,11 +9773,11 @@ { - + // calculate the maximum width for the value - + $width @@ -8819,9 +9797,7 @@ + $colwidth - - - + - ( @@ -8838,18 +9814,15 @@ ) ; - + } - + foreach ( - - - $this -> _prepareText @@ -8868,20 +9841,15 @@ $width ) - - - + as $tmpVal - - - ) { - + $page -> @@ -8889,9 +9857,7 @@ ( $tmpVal , - - - + $this -> margin @@ -8906,16 +9872,14 @@ $y , - - - + $this -> encoding ) ; - + $y @@ -8924,49 +9888,49 @@ 12 ; - + } - + } - + } - + } - - + + /** - + * Insert address of store owner - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * @param mixed $store store to get info from - + * - + * @return void - + */ - + protected @@ -8974,7 +9938,6 @@ _insertFooterAddress ( - & $page , @@ -8985,11 +9948,11 @@ null ) - + { - + $fontSize @@ -8998,10 +9961,10 @@ 7 ; - + $font - + = $this @@ -9015,10 +9978,10 @@ ) ; - + $y - + = $this @@ -9026,24 +9989,21 @@ y ; - + $address - + = '' ; - - + + foreach ( - - - $this -> _prepareText @@ -9061,9 +10021,7 @@ $font , - - - + $fontSize , @@ -9072,33 +10030,30 @@ as - $companyFirst - - - + $company1st ) { - + $address .= - $companyFirst + $company1st . "\n" ; - + } - - + + if @@ -9116,14 +10071,11 @@ { - + foreach ( - - - $this -> _prepareText @@ -9138,9 +10090,7 @@ $page , - - - + $font , @@ -9152,37 +10102,36 @@ as - $companySecond + $company2nd + ) - + - ) - { - + $address .= - $companySecond + $company2nd . "\n" ; - + } - + } - - + + if @@ -9200,7 +10149,7 @@ { - + $address @@ -9218,11 +10167,11 @@ "\n" ; - + } - + if @@ -9240,7 +10189,7 @@ { - + $address @@ -9258,11 +10207,11 @@ " " ; - + } - + if @@ -9280,7 +10229,7 @@ { - + $address @@ -9298,12 +10247,12 @@ "\n" ; - + } - - + + if @@ -9322,7 +10271,7 @@ { - + $countryName @@ -9334,9 +10283,6 @@ ( 'directory/country' ) - - - -> loadByCode ( @@ -9353,10 +10299,10 @@ ) ; - + $address - + .= Mage @@ -9372,12 +10318,12 @@ ) ; - + } - - + + foreach @@ -9397,7 +10343,7 @@ { - + if @@ -9411,7 +10357,7 @@ { - + $page -> @@ -9425,9 +10371,7 @@ ) ) , - - - + $this -> margin @@ -9449,7 +10393,7 @@ ) ; - + $y @@ -9458,42 +10402,43 @@ 12 ; - + } - + } - + } - - + + + /** - + * Insert page counter - + * - - * @param Zend_Pdf_Page &$page Current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page Current page object of Zend_Pdf - + * - + * @return void - + */ - + protected @@ -9501,15 +10446,14 @@ _insertPageCounter ( - & $page ) - + { - + $font @@ -9526,14 +10470,29 @@ ) ; - + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'labels' + ] + ) + ; + + $page -> drawText ( - + Mage :: @@ -9550,9 +10509,7 @@ . ' ' - - - + . $this @@ -9560,7 +10517,7 @@ pagecounter , - + $this -> @@ -9572,9 +10529,7 @@ - 23 - - - + - $this @@ -9593,46 +10548,61 @@ ) , - + $this -> y , - + $this -> encoding - + ) ; - + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'text' + ] + ) + ; + + } - - + + /** - + * get stanard font - + * - + * @return Zend_Pdf_Resource_Font the regular font - + */ - + public @@ -9642,11 +10612,11 @@ ( ) - + { - + if @@ -9668,7 +10638,7 @@ { - + return @@ -9684,11 +10654,12 @@ ) ; - + } - + + return @@ -9702,37 +10673,37 @@ ) ; - + } - - + + /** - + * Set default font - + * - + * @param Zend_Pdf_Page $object Current page object of Zend_Pdf - + * @param string|int $size Font size - + * - + * @return Zend_Pdf_Resource_Font - + */ - + protected @@ -9750,11 +10721,11 @@ 10 ) - + { - + $font @@ -9767,7 +10738,7 @@ ) ; - + $object -> @@ -9780,35 +10751,36 @@ ) ; - + + return $font ; - + } - - + + /** - + * get default bold font - + * - + * @return Zend_Pdf_Resource_Font the bold font - + */ - + public @@ -9818,11 +10790,11 @@ ( ) - + { - + if @@ -9844,7 +10816,7 @@ { - + return @@ -9860,11 +10832,12 @@ ) ; - + } - + + return @@ -9878,37 +10851,37 @@ ) ; - + } - - + + /** - + * Set bold font - + * - + * @param Zend_Pdf_Page $object Current page object of Zend_Pdf - + * @param string|int $size Font size - + * - + * @return Zend_Pdf_Resource_Font - + */ - + protected @@ -9926,11 +10899,11 @@ 10 ) - + { - + $font @@ -9943,7 +10916,7 @@ ) ; - + $object -> @@ -9956,35 +10929,36 @@ ) ; - + + return $font ; - + } - - + + /** - + * get italic font - + * - + * @return Zend_Pdf_Resource_Font - + */ - + public @@ -9994,11 +10968,11 @@ ( ) - + { - + if @@ -10020,7 +10994,7 @@ { - + return @@ -10036,11 +11010,12 @@ ) ; - + } - + + return @@ -10049,48 +11024,48 @@ fontWithName ( - + Zend_Pdf_Font :: FONT_HELVETICA_ITALIC - + ) ; - + } - - + + /** - + * Set italic font - + * - + * @param Zend_Pdf_Page $object Current page object of Zend_Pdf - + * @param string|int $size Font size - + * - + * @return Zend_Pdf_Resource_Font - + */ - + protected @@ -10108,11 +11083,11 @@ 10 ) - + { - + $font @@ -10125,7 +11100,7 @@ ) ; - + $object -> @@ -10138,53 +11113,54 @@ ) ; - + + return $font ; - + } - - + + /** - + * Prepares the text so that it fits to the given page's width. - + * - + * @param string $text the text which should be prepared - + * @param Zend_Pdf_Page $page the page on which the text will be rendered - + * @param Zend_Pdf_Resource_Font $font the font with which the text will be rendered - + * @param int $fontSize the font size with which the text will be rendered - + * @param int $width [optional] the width for the given text, defaults to the page width - + * - + * @return array the given text in an array where each item represents a new line - + */ - + public @@ -10211,11 +11187,11 @@ null ) - + { - + if @@ -10228,7 +11204,7 @@ { - + return @@ -10237,20 +11213,20 @@ ) ; - + } - + $lines - + = '' ; - + $currentLine @@ -10259,11 +11235,11 @@ '' ; - + // calculate the page's width with respect to the margins - + if @@ -10276,11 +11252,11 @@ { - + $width - + = @@ -10308,7 +11284,7 @@ ( ) - + - @@ -10321,26 +11297,41 @@ ) ; - + } - + + + // regular expression that splits on whitespaces and dashes based on http://stackoverflow.com/a/11758732/719023 + + $textChunks = - explode + preg_split ( - ' ' + '/([^\s-]+[\s-]+)/' , $text + , + + - + 1 + , + + PREG_SPLIT_NO_EMPTY + + | + + PREG_SPLIT_DELIM_CAPTURE ) ; - + foreach @@ -10351,10 +11342,22 @@ $textChunk ) - - { + + { + + + + $textChunk + + = + + trim + ( + $textChunk + ) + ; - + if @@ -10369,7 +11372,7 @@ ' ' - + . @@ -10386,17 +11389,17 @@ $width - + ) { - + // do not add whitespace on first line - + if @@ -10410,7 +11413,7 @@ { - + $currentLine @@ -10419,11 +11422,11 @@ ' ' ; - + } - + $currentLine @@ -10432,7 +11435,7 @@ $textChunk ; - + } @@ -10440,14 +11443,14 @@ { - + // text is too broad, so add new line character - + $lines - + .= $currentLine @@ -10457,7 +11460,7 @@ "\n" ; - + $currentLine @@ -10466,19 +11469,19 @@ $textChunk ; - + } - + } - + // append the last line - + $lines @@ -10487,7 +11490,8 @@ $currentLine ; - + + return @@ -10500,39 +11504,39 @@ ) ; - + } - - + + /** - + * Fix the percentage for taxes which come with four decimal places - + * from magento core. - + * - + * @param string $label tax label which contains the badly formatted tax percentage - + * - + * @return string - + */ - + - private + protected function @@ -10541,11 +11545,11 @@ $label ) - + { - + $pattern @@ -10554,7 +11558,7 @@ "/(.*)\((\d{1,2}\.\d{4}%)\)/" ; - + if @@ -10573,7 +11577,7 @@ { - + $percentage @@ -10584,7 +11588,7 @@ toNumber ( - + $matches [ @@ -10592,12 +11596,12 @@ ] , - + array ( - + 'locale' @@ -10618,7 +11622,7 @@ ) , - + 'precision' @@ -10627,16 +11631,17 @@ 2 , - + ) - + ) ; - + + return @@ -10658,41 +11663,42 @@ '%)' ; - + } - + + return $label ; - + } - - + + /** - + * get bold font file - + * - + * @return string - + */ - + - private + protected function @@ -10700,11 +11706,11 @@ ( ) - + { - + return @@ -10723,8 +11729,8 @@ DS - - + + . $this @@ -10734,30 +11740,30 @@ ) ; - + } - - + + /** - + * get bold font path - + * - + * @return string - + */ - + - private + protected function @@ -10765,11 +11771,11 @@ ( ) - + { - + return @@ -10778,53 +11784,53 @@ getStoreConfig ( - + FireGento_Pdf_Helper_Data :: XML_PATH_BOLD_FONT - + ) ; - + } - - + + /** - + * check whether font file exists for bold font - + * - + * @return bool - + */ - + - private + protected function - regularFontFileExists + boldFontFileExists ( ) - + { - + return @@ -10838,30 +11844,30 @@ ) ; - + } - - + + /** - + * get italic font path - + * - + * @return string - + */ - + - private + protected function @@ -10869,11 +11875,11 @@ ( ) - + { - + return @@ -10882,41 +11888,41 @@ getStoreConfig ( - + FireGento_Pdf_Helper_Data :: XML_PATH_ITALIC_FONT - + ) ; - + } - - + + /** - + * check whether italic font file exists - + * - + * @return bool - + */ - + - private + protected function @@ -10924,11 +11930,11 @@ ( ) - + { - + return @@ -10942,30 +11948,30 @@ ) ; - + } - - + + /** - + * get italic font file - + * - + * @return string - + */ - + - private + protected function @@ -10973,11 +11979,11 @@ ( ) - + { - + return @@ -10995,9 +12001,7 @@ . DS - - - + . $this @@ -11007,31 +12011,30 @@ ) ; - + } - - - + + /** - + * get the regular font path - + * - + * @return string - + */ - + - private + protected function @@ -11039,11 +12042,11 @@ ( ) - + { - + return @@ -11052,41 +12055,41 @@ getStoreConfig ( - + FireGento_Pdf_Helper_Data :: XML_PATH_REGULAR_FONT - + ) ; - + } - - + + /** - + * check whether font file exists for regular font - + * - + * @return bool - + */ - + - private + protected function @@ -11094,11 +12097,11 @@ ( ) - + { - + return @@ -11112,30 +12115,30 @@ ) ; - + } - - + + /** - + * get the path to the font file for regular font - + * - + * @return string - + */ - + - private + protected function @@ -11143,11 +12146,11 @@ ( ) - + { - + return @@ -11166,8 +12169,8 @@ DS - - + + . $this @@ -11177,12 +12180,57 @@ ) ; - + + + } + + + + + /** + + + * @return string + + + */ + + + + private + + function + + getPageSize + ( + ) + + + + { + + + + return + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + getPageSizeConfigPath + ( + ) + ; + + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xml index 91d24cf..bcb2b95 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Creditmemo/Default.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,54 +53,36 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Creditmemo model rewrite. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Engine_Creditmemo_Default @@ -109,21 +91,21 @@ FireGento_Pdf_Model_Engine_Abstract - + { - - + + /** - + * constructor to set mode to creditmemo - + */ - + public @@ -133,11 +115,11 @@ ( ) - + { - + parent :: @@ -146,7 +128,7 @@ ) ; - + $this -> @@ -156,34 +138,34 @@ ) ; - + } - - + + /** - + * Return PDF document - + * - + * @param array $creditmemos creditmemos to generate pdfs for - + * - + * @return Zend_Pdf - + */ - + public @@ -200,11 +182,32 @@ ) ) - + { - + + + $currentStore + + = + + Mage + :: + app + ( + ) + -> + getStore + ( + ) + -> + getCode + ( + ) + ; + + $this -> @@ -213,7 +216,7 @@ ) ; - + $this -> @@ -223,8 +226,8 @@ ) ; - - + + $pdf @@ -237,7 +240,7 @@ ) ; - + $this -> @@ -247,8 +250,8 @@ ) ; - - + + foreach @@ -262,11 +265,11 @@ { - + // pagecounter is 0 at the beginning, because it is incremented in newPage() - + $this -> @@ -277,7 +280,7 @@ 0 ; - + if @@ -291,7 +294,7 @@ { - + Mage :: @@ -313,7 +316,7 @@ ) ; - + Mage :: @@ -331,11 +334,12 @@ ) ; - + } - + + $order @@ -348,7 +352,7 @@ ) ; - + $this -> @@ -358,8 +362,8 @@ ) ; - - + + $page @@ -375,8 +379,8 @@ ) ; - - + + $this -> @@ -392,8 +396,8 @@ ) ; - - + + $this -> @@ -406,7 +410,7 @@ ) ; - + $this -> @@ -416,8 +420,8 @@ ) ; - - + + $this -> @@ -428,8 +432,8 @@ 20 ; - - + + $position @@ -438,8 +442,8 @@ 0 ; - - + + foreach @@ -457,7 +461,7 @@ { - + if @@ -475,26 +479,27 @@ { - + continue ; - + } - + + /* Draw item */ - + $position ++ ; - + $this -> @@ -513,7 +518,7 @@ ) ; - + $page @@ -527,16 +532,16 @@ ) ; - + } - - + + /* add line after items */ - + $page -> @@ -577,12 +582,12 @@ ) ; - - + + /* Add totals */ - + $page @@ -599,12 +604,12 @@ ) ; - - + + /* add note */ - + $page @@ -624,12 +629,12 @@ ) ; - - + + // Add footer - + $this -> @@ -646,23 +651,9 @@ ) ; - - - } - - - - - $this - -> - _afterGetPdf - ( - ) - ; - - - - + + + if ( @@ -675,8 +666,8 @@ { - - + + Mage :: app @@ -692,45 +683,79 @@ ) ; - + + + } + + } - + + + + // Revert back to the original current store + + + + Mage + :: + app + ( + ) + -> + setCurrentStore + ( + $currentStore + ) + ; + + + + + $this + -> + _afterGetPdf + ( + ) + ; + + + return $pdf ; - + } - - + + /** - + * Draw table header for product items - + * - + * @param Zend_Pdf_Page $page page to draw on - + * - + * @return void - + */ - + protected @@ -743,11 +768,11 @@ $page ) - + { - + $page -> @@ -757,12 +782,12 @@ -> colors [ - 'grey1' + 'header' ] ) ; - + $page -> @@ -772,12 +797,12 @@ -> colors [ - 'grey1' + 'header' ] ) ; - + $page -> @@ -787,7 +812,7 @@ ) ; - + $page -> @@ -824,8 +849,8 @@ ) ; - - + + $page -> @@ -840,7 +865,7 @@ ) ; - + $font @@ -857,8 +882,8 @@ ) ; - - + + $this -> @@ -869,15 +894,12 @@ 11 ; - + $page -> drawText ( - - - Mage :: helper @@ -890,9 +912,7 @@ 'Pos' ) , - - - + $this -> margin @@ -904,33 +924,26 @@ 3 , - - - + $this -> y , - - - + $this -> encoding - - - ) ; - + $page -> drawText ( - + Mage :: @@ -944,9 +957,7 @@ 'No.' ) , - - - + $this -> margin @@ -958,33 +969,29 @@ 25 , - - - + $this -> y , - - - + $this -> encoding - + ) ; - + $page -> drawText ( - + Mage :: @@ -998,9 +1005,7 @@ 'Description' ) , - - - + $this -> margin @@ -1010,34 +1015,53 @@ + - 120 + 130 , - - - + $this -> y , - - - + $this -> encoding - + ) ; - - + + + + $columns + + = + + array + ( + ) + ; + + - $singlePrice + $columns + [ + 'price' + ] = + array + ( + + + + 'label' + + => + Mage :: helper @@ -1047,79 +1071,173 @@ -> __ ( - 'Price (excl. tax)' + 'Price' + ) + , + + + + '_width' + + => + + 60 + + + ) ; - + - $page - -> - drawText + $columns + [ + 'price_incl_tax' + ] + + = + + array ( - + - $singlePrice + 'label' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Price (incl. tax)' + ) , - + - $this - -> - margin + '_width' + + => + + 60 + + + + ) + ; + + + + $columns [ - 'right' + 'qty' ] - - - - 153 + = - - + array + ( + + + + 'label' + + => - $this + Mage + :: + helper + ( + 'firegento_pdf' + ) -> - widthForStringUsingFontSize + __ ( - $singlePrice + 'Qty' + ) , + + + + '_width' - $font - , + => - 9 + 40 + + + ) - , + ; + + + + $columns + [ + 'tax' + ] + + = + + array + ( - $this + 'label' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) -> - y + __ + ( + 'Tax' + ) , - $this - -> - encoding + '_width' + + => + + 50 ) ; - - + - $page - -> - drawText + $columns + [ + 'tax_rate' + ] + + = + + array ( - + + 'label' + + => + Mage :: helper @@ -1129,49 +1247,85 @@ -> __ ( - 'Qty' + 'Tax rate' ) , - + - $this - -> - margin + '_width' + + => + + 50 + + + + ) + ; + + + + $columns [ - 'left' + 'subtotal' ] - + + = - 360 - , + array + ( - + - $this + 'label' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) -> - y + __ + ( + 'Total' + ) , - + - $this - -> - encoding + '_width' + + => + + 50 - + ) ; - - $taxLabel + $columns + [ + 'subtotal_incl_tax' + ] = + array + ( + + + + 'label' + + => + Mage :: helper @@ -1181,103 +1335,166 @@ -> __ ( - 'Tax' + 'Total (incl. tax)' ) - ; - - - - $page - -> - drawText - ( - - - - $taxLabel , - + - $this - -> - margin - [ - 'right' - ] + '_width' - - + => - 65 + 70 + + + + ) + ; + + + + // draw price, tax, and subtotal in specified order + + + + $columnsOrder - - + = - $this - -> - widthForStringUsingFontSize + explode ( - $taxLabel + ',' , - $font - , - - 9 + Mage + :: + getStoreConfig + ( + 'sales_pdf/invoice/item_price_column_order' ) - , - - - - $this - -> - y - , - - - - $this - -> - encoding + ) + ; + // draw starting from right + + + + $columnsOrder + + = + + array_reverse + ( + $columnsOrder ) ; - - $totalLabel + $columnOffset = - Mage - :: - helper + 0 + ; + + + + foreach + ( - 'firegento_pdf' + $columnsOrder + + as + + $columnName + ) + + { + + + + $columnName + + = + + trim + ( + $columnName ) + ; + + + + if + + ( + array_key_exists + ( + $columnName + , + + $columns + ) + ) + + { + + + + $column + + = + + $columns + [ + $columnName + ] + ; + + + + $labelWidth + + = + + $this -> - __ + widthForStringUsingFontSize ( - 'Total' + $column + [ + 'label' + ] + , + + $font + , + + 9 ) ; - - + + $page -> drawText ( - - - $totalLabel + + + $column + [ + 'label' + ] , - - + + $this -> margin @@ -1287,70 +1504,79 @@ - - 10 + $columnOffset - - $this - -> - widthForStringUsingFontSize - ( - $totalLabel - , - - $font - , - - 10 - ) + $labelWidth , - - + + $this -> y , - - + + $this -> encoding - - + + ) ; - + + + $columnOffset + + += + + $column + [ + '_width' + ] + ; + + + + } + + + + } + + } - - + + /** - + * Initialize renderer process. - + * - + * @param string $type renderer type to initialize - + * - + * @return void - + */ - + protected @@ -1361,11 +1587,11 @@ $type ) - + { - + parent :: @@ -1375,8 +1601,8 @@ ) ; - - + + $this -> @@ -1390,7 +1616,7 @@ array ( - + 'model' @@ -1399,7 +1625,7 @@ 'firegento_pdf/items_default' , - + 'renderer' @@ -1407,12 +1633,12 @@ null - + ) ; - + $this -> @@ -1426,7 +1652,7 @@ array ( - + 'model' @@ -1435,7 +1661,7 @@ 'firegento_pdf/items_grouped' , - + 'renderer' @@ -1443,12 +1669,12 @@ null - + ) ; - + $this -> @@ -1462,7 +1688,7 @@ array ( - + 'model' @@ -1471,7 +1697,7 @@ 'firegento_pdf/items_bundle' , - + 'renderer' @@ -1479,12 +1705,12 @@ null - + ) ; - + $this -> @@ -1498,7 +1724,7 @@ array ( - + 'model' @@ -1507,7 +1733,7 @@ 'firegento_pdf/items_downloadable' , - + 'renderer' @@ -1515,18 +1741,54 @@ null - + ) ; - + + + $this + -> + _renderers + [ + 'ugiftcert' + ] + + = + + array + ( + + + + 'model' + + => + + 'firegento_pdf/items_unirgy_default' + , + + + + 'renderer' + + => + + null + + + + ) + ; + + } - - + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xml index c5b990b..4518e18 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Invoice/Default.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,54 +53,36 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Default invoice rendering engine. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Engine_Invoice_Default @@ -109,21 +91,21 @@ FireGento_Pdf_Model_Engine_Abstract - + { - - + + /** - + * constructor to set mode to invoice - + */ - + public @@ -133,11 +115,11 @@ ( ) - + { - + parent :: @@ -146,7 +128,7 @@ ) ; - + $this -> @@ -156,34 +138,34 @@ ) ; - + } - - + + /** - + * Return PDF document - + * - + * @param array $invoices invoices to render pdfs for - + * - + * @return Zend_Pdf - + */ - + public @@ -200,11 +182,32 @@ ) ) - + { - + + + $currentStore + + = + + Mage + :: + app + ( + ) + -> + getStore + ( + ) + -> + getCode + ( + ) + ; + + $this -> @@ -213,7 +216,7 @@ ) ; - + $this -> @@ -223,8 +226,8 @@ ) ; - - + + $pdf @@ -237,7 +240,7 @@ ) ; - + $this -> @@ -247,8 +250,8 @@ ) ; - - + + foreach @@ -262,11 +265,11 @@ { - + // pagecounter is 0 at the beginning, because it is incremented in newPage() - + $this -> @@ -277,7 +280,7 @@ 0 ; - + if @@ -291,7 +294,7 @@ { - + Mage :: @@ -313,7 +316,7 @@ ) ; - + Mage :: @@ -331,11 +334,12 @@ ) ; - + } - + + $order @@ -348,7 +352,7 @@ ) ; - + $this -> @@ -358,8 +362,8 @@ ) ; - - + + $page @@ -372,8 +376,8 @@ ) ; - - + + $this -> @@ -389,8 +393,8 @@ ) ; - - + + $this -> @@ -403,7 +407,7 @@ ) ; - + $this -> @@ -413,8 +417,8 @@ ) ; - - + + $this -> @@ -425,8 +429,8 @@ 20 ; - - + + $position @@ -435,8 +439,8 @@ 0 ; - - + + foreach @@ -454,7 +458,7 @@ { - + if @@ -472,17 +476,17 @@ { - + continue ; - + } - - + + $showFooter @@ -496,7 +500,7 @@ ) ; - + if @@ -532,7 +536,7 @@ { - + $page @@ -548,18 +552,18 @@ ) ; - + } - - + + $position ++ ; - + $page @@ -582,16 +586,16 @@ ) ; - + } - - + + /* add line after items */ - + $page -> @@ -632,12 +636,12 @@ ) ; - - + + /* add totals */ - + $page @@ -654,12 +658,12 @@ ) ; - - + + /* add note */ - + $page @@ -679,12 +683,12 @@ ) ; - - + + // Add footer - + $this -> @@ -701,12 +705,67 @@ ) ; + + + + if + + ( + $invoice + -> + getStoreId + ( + ) + ) + + { + + + + Mage + :: + app + ( + ) + -> + getLocale + ( + ) + -> + revert + ( + ) + ; + + + + } + } + + // Revert back to the original current store + + + + Mage + :: + app + ( + ) + -> + setCurrentStore + ( + $currentStore + ) + ; + + + $this -> @@ -715,42 +774,42 @@ ) ; - - + + return $pdf ; - + } - - + + /** - + * Insert Table Header for Items - + * - - * @param Zend_Pdf_Page &$page current page object of Zend_PDF + + * @param Zend_Pdf_Page $page current page object of Zend_PDF - + * - + * @return void - + */ - + protected @@ -758,15 +817,14 @@ insertTableHeader ( - & $page ) - + { - + $page -> @@ -776,12 +834,12 @@ -> colors [ - 'grey1' + 'header' ] ) ; - + $page -> @@ -791,12 +849,12 @@ -> colors [ - 'grey1' + 'header' ] ) ; - + $page -> @@ -806,7 +864,7 @@ ) ; - + $page -> @@ -843,8 +901,8 @@ ) ; - - + + $page -> @@ -859,7 +917,7 @@ ) ; - + $font @@ -876,8 +934,8 @@ ) ; - - + + $this -> @@ -888,7 +946,7 @@ 11 ; - + $page -> @@ -930,14 +988,14 @@ ) ; - + $page -> drawText ( - + Mage :: @@ -973,19 +1031,19 @@ -> encoding - + ) ; - + $page -> drawText ( - + Mage :: @@ -1021,13 +1079,13 @@ -> encoding - + ) ; - - + + $columns @@ -1038,7 +1096,7 @@ ) ; - + $columns [ @@ -1050,7 +1108,7 @@ array ( - + 'label' @@ -1069,7 +1127,7 @@ ) , - + '_width' @@ -1077,12 +1135,12 @@ 60 - + ) ; - + $columns [ @@ -1094,7 +1152,7 @@ array ( - + 'label' @@ -1113,7 +1171,7 @@ ) , - + '_width' @@ -1121,12 +1179,12 @@ 60 - + ) ; - + $columns [ @@ -1138,7 +1196,7 @@ array ( - + 'label' @@ -1157,7 +1215,7 @@ ) , - + '_width' @@ -1165,12 +1223,12 @@ 40 - + ) ; - + $columns [ @@ -1182,7 +1240,7 @@ array ( - + 'label' @@ -1201,7 +1259,7 @@ ) , - + '_width' @@ -1209,12 +1267,12 @@ 50 - + ) ; - + $columns [ @@ -1226,7 +1284,7 @@ array ( - + 'label' @@ -1245,7 +1303,7 @@ ) , - + '_width' @@ -1253,12 +1311,12 @@ 50 - + ) ; - + $columns [ @@ -1270,7 +1328,7 @@ array ( - + 'label' @@ -1289,7 +1347,7 @@ ) , - + '_width' @@ -1297,12 +1355,12 @@ 50 - + ) ; - + $columns [ @@ -1314,7 +1372,7 @@ array ( - + 'label' @@ -1333,7 +1391,7 @@ ) , - + '_width' @@ -1341,16 +1399,16 @@ 70 - + ) ; - + // draw price, tax, and subtotal in specified order - + $columnsOrder @@ -1370,11 +1428,11 @@ ) ; - + // draw starting from right - + $columnsOrder @@ -1386,7 +1444,7 @@ ) ; - + $columnOffset @@ -1395,7 +1453,7 @@ 0 ; - + foreach @@ -1409,7 +1467,7 @@ { - + $columnName @@ -1421,7 +1479,7 @@ ) ; - + if @@ -1437,7 +1495,7 @@ { - + $column @@ -1449,7 +1507,7 @@ ] ; - + $labelWidth @@ -1472,14 +1530,14 @@ ) ; - + $page -> drawText ( - + $column [ @@ -1487,7 +1545,7 @@ ] , - + $this -> @@ -1505,25 +1563,25 @@ $labelWidth , - + $this -> y , - + $this -> encoding - + ) ; - + $columnOffset @@ -1535,42 +1593,42 @@ ] ; - + } - + } - + } - - + + /** - + * Initialize renderer process - + * - + * @param string $type renderer type to be initialized - + * - + * @return void - + */ - + protected @@ -1581,11 +1639,11 @@ $type ) - + { - + parent :: @@ -1595,8 +1653,8 @@ ) ; - - + + $this -> @@ -1610,7 +1668,7 @@ array ( - + 'model' @@ -1619,7 +1677,7 @@ 'firegento_pdf/items_default' , - + 'renderer' @@ -1627,12 +1685,12 @@ null - + ) ; - + $this -> @@ -1646,7 +1704,7 @@ array ( - + 'model' @@ -1655,7 +1713,7 @@ 'firegento_pdf/items_grouped' , - + 'renderer' @@ -1663,12 +1721,12 @@ null - + ) ; - + $this -> @@ -1682,7 +1740,7 @@ array ( - + 'model' @@ -1691,7 +1749,7 @@ 'firegento_pdf/items_bundle' , - + 'renderer' @@ -1699,12 +1757,12 @@ null - + ) ; - + $this -> @@ -1718,7 +1776,7 @@ array ( - + 'model' @@ -1727,7 +1785,7 @@ 'firegento_pdf/items_downloadable' , - + 'renderer' @@ -1735,18 +1793,54 @@ null - + ) ; - + + + $this + -> + _renderers + [ + 'ugiftcert' + ] + + = + + array + ( + + + + 'model' + + => + + 'firegento_pdf/items_unirgy_default' + , + + + + 'renderer' + + => + + null + + + + ) + ; + + } - - + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xml index 54e2a2a..d7d3f38 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Engine/Shipment/Default.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,80 +53,61 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - - + /** - + * Shipment model rewrite. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Engine_Shipment_Default - + extends FireGento_Pdf_Model_Engine_Abstract - + { - - + + /** - + * constructor to set shipping mode - + */ - + public @@ -136,11 +117,11 @@ ( ) - + { - + parent :: @@ -149,7 +130,7 @@ ) ; - + $this -> @@ -159,34 +140,34 @@ ) ; - + } - - + + /** - + * Return PDF document - + * - + * @param array $shipments list of shipments to generate pdfs for - + * - + * @return Zend_Pdf - + */ - + public @@ -203,11 +184,32 @@ ) ) - + { - + + + $currentStore + + = + + Mage + :: + app + ( + ) + -> + getStore + ( + ) + -> + getCode + ( + ) + ; + + $this -> @@ -216,7 +218,7 @@ ) ; - + $this -> @@ -226,8 +228,8 @@ ) ; - - + + $pdf @@ -240,7 +242,7 @@ ) ; - + $this -> @@ -250,8 +252,8 @@ ) ; - - + + foreach @@ -265,11 +267,11 @@ { - + // pagecounter is 0 at the beginning, because it is incremented in newPage() - + $this -> @@ -280,7 +282,7 @@ 0 ; - + if @@ -294,7 +296,7 @@ { - + Mage :: @@ -316,7 +318,7 @@ ) ; - + Mage :: @@ -334,11 +336,12 @@ ) ; - + } - + + $order @@ -351,7 +354,7 @@ ) ; - + $this -> @@ -361,8 +364,8 @@ ) ; - - + + $page @@ -378,8 +381,8 @@ ) ; - - + + $this -> @@ -395,8 +398,8 @@ ) ; - - + + $this -> @@ -409,7 +412,7 @@ ) ; - + $this -> @@ -419,8 +422,8 @@ ) ; - - + + $this -> @@ -431,8 +434,8 @@ 20 ; - - + + $position @@ -441,8 +444,8 @@ 0 ; - - + + foreach @@ -460,7 +463,7 @@ { - + if @@ -478,17 +481,17 @@ { - + continue ; - + } - - + + if @@ -501,7 +504,7 @@ 50 - + || @@ -513,13 +516,13 @@ 'sales_pdf/firegento_pdf/show_footer' ) - + == 1 - + && @@ -532,13 +535,13 @@ 100 ) - + ) { - + $page @@ -554,18 +557,18 @@ ) ; - + } - - + + $position ++ ; - + $page @@ -588,16 +591,41 @@ ) ; - + } - - + + + + /* add shipment tracks */ + + + + $page + + = + + $this + -> + _printShipmentTracks + ( + $page + , + + $order + , + + $shipment + ) + ; + + + /* add note */ - + $page @@ -617,12 +645,12 @@ ) ; - - + + // Add footer - + $this -> @@ -639,12 +667,67 @@ ) ; + + + + if + + ( + $shipment + -> + getStoreId + ( + ) + ) + + { + - + + Mage + :: + app + ( + ) + -> + getLocale + ( + ) + -> + revert + ( + ) + ; + + + } - + + } + + + + + // Revert back to the original current store + + + + Mage + :: + app + ( + ) + -> + setCurrentStore + ( + $currentStore + ) + ; + + + $this -> @@ -653,45 +736,45 @@ ) ; - - + + return $pdf ; - + } - - + + /** - + * Inserts the customer's shipping address. - + * - - * @param Zend_Pdf_Page &$page current page object of Zend_Pdf + + * @param Zend_Pdf_Page $page current page object of Zend_Pdf - + * @param Mage_Sales_Model_Order $order order object - + * - + * @return void - + */ - + protected @@ -699,18 +782,17 @@ _insertCustomerAddress ( - & $page , $order ) - + { - + $this -> @@ -723,7 +805,7 @@ ) ; - + $shipping @@ -738,9 +820,6 @@ getShippingAddress ( ) - - - -> format ( @@ -749,7 +828,7 @@ ) ; - + foreach @@ -763,7 +842,7 @@ { - + $page -> @@ -785,9 +864,7 @@ 'left' ] , - - - + $this -> y @@ -799,7 +876,7 @@ ) ; - + $this -> @@ -809,32 +886,32 @@ ) ; - + } - + } - - + + /** - + * insert the table header of the shipment - + * - + * @param Zend_Pdf_Page $page page to write on - + */ - + protected @@ -845,11 +922,11 @@ $page ) - + { - + $page -> @@ -859,12 +936,12 @@ -> colors [ - 'grey1' + 'header' ] ) ; - + $page -> @@ -874,12 +951,12 @@ -> colors [ - 'grey1' + 'header' ] ) ; - + $page -> @@ -889,7 +966,7 @@ ) ; - + $page -> @@ -907,9 +984,7 @@ -> y , - - - + $this -> margin @@ -932,8 +1007,8 @@ ) ; - - + + $page -> @@ -948,7 +1023,7 @@ ) ; - + $this -> @@ -961,8 +1036,8 @@ ) ; - - + + $this -> @@ -973,14 +1048,14 @@ 11 ; - + $page -> drawText ( - + Mage :: @@ -995,7 +1070,7 @@ ) , - + $this -> @@ -1005,32 +1080,32 @@ ] , - + $this -> y , - + $this -> encoding - + ) ; - + $page -> drawText ( - + Mage :: @@ -1045,7 +1120,7 @@ ) , - + $this -> @@ -1059,33 +1134,33 @@ 105 , - + $this -> y , - + $this -> encoding - + ) ; - - + + $page -> drawText ( - + Mage :: @@ -1100,7 +1175,7 @@ ) , - + $this -> @@ -1114,49 +1189,49 @@ 450 , - + $this -> y , - + $this -> encoding - + ) ; - + } - - + + /** - + * insert address into pdf - + * - + * @param Zend_Pdf_Page $page to insert addres into - + * @param Mage_Sales_Model_Order $order order to get address from - + */ - + protected @@ -1170,11 +1245,11 @@ $order ) - + { - + $this -> @@ -1187,8 +1262,8 @@ ) ; - - + + $billing @@ -1203,9 +1278,6 @@ getShippingAddress ( ) - - - -> format ( @@ -1214,8 +1286,8 @@ ) ; - - + + foreach @@ -1229,7 +1301,7 @@ { - + $page -> @@ -1251,9 +1323,7 @@ 'left' ] , - - - + $this -> y @@ -1289,128 +1359,693 @@ /** - * Initialize renderer process. + * This will print all the shipment tracks. * - * @param string $type type to be initialized + * @param Zend_Pdf_Page $page - * + * @param Mage_Sales_Model_Order $order - * @return void + * @param Mage_Sales_Model_Order_Shipment $shipment - */ + * + * @return Zend_Pdf_Page + + + */ + + protected function - _initRenderer + _printShipmentTracks ( - $type + $page + , + + $order + , + + $shipment ) - + { - + - parent + if + + ( + ! + Mage :: - _initRenderer + getStoreConfigFlag ( - $type + 'sales_pdf/shipment/show_tracking_numbers' ) - ; - - - - - $this - -> - _renderers - [ - 'default' - ] - = + || - array + $order + -> + getIsVirtual ( + ) + ) + + { - 'model' - - => + return - 'firegento_pdf/items_shipment_default' - , + $page + ; - - 'renderer' - - => - - null - - - ) - ; + } + - $this - -> - _renderers - [ - 'bundle' - ] + $tracks = array ( + ) + ; - - 'model' - - => + + if - 'firegento_pdf/items_shipment_bundle' - , + ( + $shipment + ) + + { - 'renderer' + $tracks - => + = - null + $shipment + -> + getAllTracks + ( + ) + ; + } + + + + + if + + ( + empty + ( + $tracks + ) ) + + { + + + + return + + $page ; - - + + } - - + + + + $this + -> + y + + -= + + 20 + ; + + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'header' + ] + ) + ; + + + + $page + -> + setLineColor + ( + $this + -> + colors + [ + 'header' + ] + ) + ; + + + + $page + -> + setLineWidth + ( + 1 + ) + ; + + + + $page + -> + drawRectangle + ( + $this + -> + margin + [ + 'left' + ] + , + + $this + -> + y + , + + $this + -> + margin + [ + 'right' + ] + + - + + 10 + , + + $this + -> + y + + - + + 15 + ) + ; + + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'black' + ] + ) + ; + + + + $this + -> + _setFontRegular + ( + $page + , + + 9 + ) + ; + + + + $this + -> + y + + -= + + 11 + ; + + + + $page + -> + drawText + ( + Mage + :: + helper + ( + 'sales' + ) + -> + __ + ( + 'Carrier' + ) + , + + $this + -> + margin + [ + 'left' + ] + , + + $this + -> + y + , + + 'UTF-8' + ) + ; + + + + $page + -> + drawText + ( + Mage + :: + helper + ( + 'sales' + ) + -> + __ + ( + 'Number' + ) + , + + 290 + , + + $this + -> + y + , + + 'UTF-8' + ) + ; + + + + $page + -> + setFillColor + ( + $this + -> + colors + [ + 'text' + ] + ) + ; + + + + $this + -> + y + + -= + + 18 + ; + + + + foreach + + ( + $tracks + + as + + $track + ) + + { + + + + $maxTitleLen + + = + + 45 + ; + + + + $endOfTitle + + = + + strlen + ( + $track + -> + getTitle + ( + ) + ) + + > + + $maxTitleLen + + ? + + '...' + + : + + '' + ; + + + + $truncatedTitle + + = + + substr + ( + $track + -> + getTitle + ( + ) + , + + 0 + , + + $maxTitleLen + ) + + . + + $endOfTitle + ; + + + + $page + -> + drawText + ( + $truncatedTitle + , + + $this + -> + margin + [ + 'left' + ] + , + + $this + -> + y + , + + 'UTF-8' + ) + ; + + + + $page + -> + drawText + ( + $track + -> + getNumber + ( + ) + , + + 290 + , + + $this + -> + y + , + + 'UTF-8' + ) + ; + + + + $this + -> + y + + -= + + 18 + ; + + + + } + + + + + return + + $page + ; + + + + } + + + + + /** + + + * Initialize renderer process. + + + * + + + * @param string $type type to be initialized + + + * + + + * @return void + + + */ + + + + protected + + function + + _initRenderer + ( + $type + ) + + + + { + + + + parent + :: + _initRenderer + ( + $type + ) + ; + + + + + $this + -> + _renderers + [ + 'default' + ] + + = + + array + ( + + + + 'model' + + => + + 'firegento_pdf/items_shipment_default' + , + + + + 'renderer' + + => + + null + + + + ) + ; + + + + $this + -> + _renderers + [ + 'bundle' + ] + + = + + array + ( + + + + 'model' + + => + + 'firegento_pdf/items_shipment_bundle' + , + + + + 'renderer' + + => + + null + + + + ) + ; + + + + $this + -> + _renderers + [ + 'ugiftcert' + ] + + = + + array + ( + + + + 'model' + + => + + 'firegento_pdf/items_unirgy_shipment_default' + , + + + + 'renderer' + + => + + null + + + + ) + ; + + + + } + + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Invoice.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Invoice.php.xml index de08d59..7788d61 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Invoice.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Invoice.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,112 +53,98 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Invoice model rewrite. - + * - + * The invoice model serves as a proxy to the actual PDF engine as set via - + * backend configuration. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Invoice + + extends + + Mage_Sales_Model_Order_Pdf_Invoice - + { - - + + /** - + * The actual PDF engine responsible for rendering the file. - + * - + * @var Mage_Sales_Model_Order_Pdf_Abstract - + */ - + - private + protected $_engine ; - - + + /** - + * get pdf rendering engine - + * - + * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Invoice - + */ - + protected @@ -168,11 +154,11 @@ ( ) - + { - + if @@ -185,7 +171,7 @@ { - + $modelClass @@ -199,7 +185,7 @@ ) ; - + $engine @@ -213,23 +199,35 @@ ) ; - - + + if ( ! $engine + + || + + $engine + + instanceof + + FireGento_Pdf_Model_Invoice ) { - + // Fallback to Magento standard invoice layout. - + + + // use new here to circumvent our own rewrite + + $engine @@ -242,12 +240,12 @@ ) ; - + } - - + + $this -> @@ -258,12 +256,12 @@ $engine ; - + } - - + + return @@ -272,34 +270,34 @@ _engine ; - + } - - + + /** - + * get pdf for invoices - + * - + * @param array|Varien_Data_Collection $invoices invoices to render pdfs for - + * - + * @return mixed - + */ - + public @@ -316,11 +314,11 @@ ) ) - + { - + return @@ -336,13 +334,13 @@ ) ; - + } - - + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xml index 6a6dd82..b124272 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Bundle.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,54 +53,36 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Bundle item model rewrite. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Items_Bundle @@ -109,32 +91,32 @@ Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice - + { - + /** - + * Draw item line. - + * - + * @param int $position position of the product - + * - + * @return void - + */ - + public @@ -149,11 +131,11 @@ 1 ) - + { - + $order @@ -166,7 +148,7 @@ ) ; - + $item @@ -179,7 +161,7 @@ ) ; - + $pdf @@ -192,7 +174,7 @@ ) ; - + $page @@ -205,8 +187,8 @@ ) ; - - + + $fontSize @@ -215,17 +197,8 @@ 9 ; - - - - $this - -> - _setFontRegular - ( - ) - ; - - + + $items @@ -239,8 +212,8 @@ ) ; - - + + $_prevOptionId @@ -249,7 +222,7 @@ '' ; - + $drawItems @@ -260,8 +233,8 @@ ) ; - - + + foreach @@ -275,7 +248,7 @@ { - + $line @@ -286,8 +259,8 @@ ) ; - - + + $attributes @@ -301,7 +274,7 @@ ) ; - + if @@ -314,7 +287,7 @@ { - + $optionId @@ -326,7 +299,7 @@ ] ; - + } @@ -334,7 +307,7 @@ { - + $optionId @@ -343,12 +316,12 @@ 0 ; - + } - - + + if @@ -365,7 +338,7 @@ { - + $drawItems [ @@ -377,7 +350,7 @@ array ( - + 'lines' @@ -388,7 +361,7 @@ ) , - + 'height' @@ -396,17 +369,17 @@ 15 - + ) ; - + } - - + + if @@ -424,7 +397,7 @@ { - + if @@ -441,7 +414,7 @@ { - + $line [ @@ -453,7 +426,7 @@ array ( - + 'font' @@ -462,7 +435,7 @@ 'italic' , - + 'text' @@ -493,7 +466,7 @@ ) , - + 'feed' @@ -511,7 +484,7 @@ 130 , - + 'font_size' @@ -519,13 +492,13 @@ $fontSize - + ) ; - - + + $drawItems [ @@ -537,7 +510,7 @@ array ( - + 'lines' @@ -549,7 +522,7 @@ ) , - + 'height' @@ -557,13 +530,13 @@ 15 - + ) ; - - + + $line @@ -574,8 +547,8 @@ ) ; - - + + $_prevOptionId @@ -587,20 +560,20 @@ ] ; - + } - + } - - + + // draw SKUs - + if @@ -619,7 +592,7 @@ { - + $text @@ -630,7 +603,7 @@ ) ; - + foreach @@ -661,7 +634,7 @@ { - + $text [ @@ -672,16 +645,16 @@ $part ; - + } - - + + // draw Position Number - + $line [ @@ -692,7 +665,7 @@ array ( - + 'text' @@ -701,7 +674,7 @@ $position , - + 'feed' @@ -719,7 +692,7 @@ 10 , - + 'align' @@ -728,7 +701,7 @@ 'right' , - + 'font_size' @@ -736,13 +709,13 @@ $fontSize - + ) ; - - + + $line [ @@ -753,7 +726,7 @@ array ( - + 'text' @@ -762,7 +735,7 @@ $text , - + 'feed' @@ -780,7 +753,7 @@ 25 , - + 'font_size' @@ -788,21 +761,21 @@ $fontSize - + ) ; - + } - - + + /* in case Product name is longer than 80 chars - it is written in a few lines */ - + if @@ -820,7 +793,7 @@ { - + $name @@ -834,7 +807,7 @@ ) ; - + } @@ -842,7 +815,7 @@ { - + $name @@ -855,11 +828,12 @@ ) ; - + } - + + $line [ @@ -870,7 +844,7 @@ array ( - + 'text' @@ -898,7 +872,7 @@ ) , - + 'feed' @@ -916,7 +890,7 @@ 130 , - + 'font_size' @@ -924,17 +898,17 @@ $fontSize - + ) ; - - + + // draw prices - + if @@ -949,7 +923,7 @@ { - + $columns @@ -960,11 +934,11 @@ ) ; - + // prepare qty - + $columns [ @@ -976,13 +950,13 @@ array ( - + 'text' => - $item + $_item -> getQty ( @@ -993,7 +967,7 @@ 1 , - + 'align' @@ -1002,7 +976,7 @@ 'right' , - + 'font_size' @@ -1011,7 +985,7 @@ $fontSize , - + '_width' @@ -1019,17 +993,17 @@ 30 - + ) ; - - + + // prepare price - + $columns [ @@ -1041,7 +1015,7 @@ array ( - + 'text' @@ -1051,7 +1025,7 @@ -> formatPriceTxt ( - $item + $_item -> getPrice ( @@ -1059,7 +1033,7 @@ ) , - + 'align' @@ -1068,7 +1042,7 @@ 'right' , - + 'font_size' @@ -1077,7 +1051,7 @@ $fontSize , - + '_width' @@ -1085,17 +1059,17 @@ 60 - + ) ; - - + + // prepare price_incl_tax - + $columns [ @@ -1107,7 +1081,7 @@ array ( - + 'text' @@ -1117,7 +1091,7 @@ -> formatPriceTxt ( - $item + $_item -> getPriceInclTax ( @@ -1125,7 +1099,7 @@ ) , - + 'align' @@ -1134,7 +1108,7 @@ 'right' , - + 'font_size' @@ -1143,7 +1117,7 @@ $fontSize , - + '_width' @@ -1151,17 +1125,17 @@ 60 - + ) ; - - + + // prepare tax - + $columns [ @@ -1173,7 +1147,7 @@ array ( - + 'text' @@ -1183,7 +1157,7 @@ -> formatPriceTxt ( - $item + $_item -> getTaxAmount ( @@ -1191,7 +1165,7 @@ + - $item + $_item -> getHiddenTaxAmount ( @@ -1199,7 +1173,7 @@ ) , - + 'align' @@ -1208,7 +1182,7 @@ 'right' , - + 'font_size' @@ -1217,7 +1191,7 @@ $fontSize , - + '_width' @@ -1225,17 +1199,17 @@ 50 - + ) ; - - + + // prepare tax_rate - + $columns [ @@ -1247,7 +1221,7 @@ array ( - + 'text' @@ -1255,7 +1229,7 @@ round ( - $item + $_item -> getOrderItem ( @@ -1274,7 +1248,7 @@ '%' , - + 'align' @@ -1283,7 +1257,7 @@ 'right' , - + 'font_size' @@ -1292,7 +1266,7 @@ $fontSize , - + '_width' @@ -1300,17 +1274,17 @@ 50 - + ) ; - - + + // prepare subtotal - + $columns [ @@ -1322,7 +1296,7 @@ array ( - + 'text' @@ -1332,7 +1306,7 @@ -> formatPriceTxt ( - $item + $_item -> getRowTotal ( @@ -1340,7 +1314,7 @@ ) , - + 'align' @@ -1349,7 +1323,7 @@ 'right' , - + 'font_size' @@ -1358,7 +1332,7 @@ $fontSize , - + '_width' @@ -1366,17 +1340,17 @@ 50 - + ) ; - - + + // prepare subtotal_incl_tax - + $columns [ @@ -1388,7 +1362,7 @@ array ( - + 'text' @@ -1398,7 +1372,7 @@ -> formatPriceTxt ( - $item + $_item -> getRowTotalInclTax ( @@ -1406,7 +1380,7 @@ ) , - + 'align' @@ -1415,7 +1389,7 @@ 'right' , - + 'font_size' @@ -1424,7 +1398,7 @@ $fontSize , - + '_width' @@ -1432,17 +1406,17 @@ 70 - + ) ; - - + + // draw columns in specified order - + $columnsOrder @@ -1462,11 +1436,11 @@ ) ; - + // draw starting from right - + $columnsOrder @@ -1478,7 +1452,7 @@ ) ; - + $columnOffset @@ -1487,7 +1461,7 @@ 0 ; - + foreach @@ -1501,7 +1475,7 @@ { - + $columnName @@ -1513,7 +1487,7 @@ ) ; - + if @@ -1529,7 +1503,7 @@ { - + $column @@ -1541,7 +1515,7 @@ ] ; - + $column [ @@ -1562,7 +1536,7 @@ $columnOffset ; - + $columnOffset @@ -1574,7 +1548,7 @@ ] ; - + unset ( @@ -1585,7 +1559,7 @@ ) ; - + $line [ @@ -1596,20 +1570,20 @@ $column ; - + } - + } - + } - - + + $drawItems [ @@ -1626,16 +1600,16 @@ $line ; - + } - - + + // custom options - + $options @@ -1652,7 +1626,7 @@ ) ; - + if @@ -1662,7 +1636,7 @@ { - + if @@ -1678,7 +1652,7 @@ { - + foreach @@ -1695,7 +1669,7 @@ { - + $lines @@ -1706,7 +1680,7 @@ ) ; - + $lines [ @@ -1719,7 +1693,7 @@ array ( - + 'text' @@ -1753,7 +1727,7 @@ ) , - + 'font' @@ -1762,7 +1736,7 @@ 'italic' , - + 'feed' @@ -1770,26 +1744,29 @@ 35 - + ) ; - - + + if ( + isset + ( $option [ 'value' ] ) + ) { - + $text @@ -1800,7 +1777,7 @@ ) ; - + $_printValue @@ -1814,7 +1791,7 @@ ] ) - + ? @@ -1823,7 +1800,7 @@ 'print_value' ] - + : @@ -1836,7 +1813,7 @@ ) ; - + $values @@ -1851,7 +1828,7 @@ ) ; - + foreach @@ -1865,7 +1842,7 @@ { - + foreach @@ -1898,7 +1875,7 @@ { - + $text [ @@ -1909,16 +1886,16 @@ $_value ; - + } - + } - - + + $lines [ @@ -1931,7 +1908,7 @@ array ( - + 'text' @@ -1940,7 +1917,7 @@ $text , - + 'feed' @@ -1948,17 +1925,17 @@ 40 - + ) ; - + } - - + + $drawItems [ @@ -1969,7 +1946,7 @@ array ( - + 'lines' @@ -1978,7 +1955,7 @@ $lines , - + 'height' @@ -1986,25 +1963,25 @@ 15 - + ) ; - + } - + } - + } - - + + $page @@ -2031,7 +2008,7 @@ ) ; - + $this -> @@ -2041,12 +2018,12 @@ ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Default.php.xml index 07b9de4..03fd839 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Default.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Default.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,54 +53,36 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Default item model rewrite. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Items_Default @@ -109,32 +91,32 @@ Mage_Sales_Model_Order_Pdf_Items_Invoice_Default - + { - + /** - + * Draw item line. - + * - + * @param int $position position of the product - + * - + * @return void - + */ - + public @@ -149,11 +131,11 @@ 1 ) - + { - + $order @@ -166,7 +148,7 @@ ) ; - + $item @@ -179,7 +161,7 @@ ) ; - + $pdf @@ -192,7 +174,7 @@ ) ; - + $page @@ -205,7 +187,21 @@ ) ; - + + + $helper + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + ; + + $lines @@ -216,8 +212,8 @@ ) ; - - + + $fontSize @@ -226,12 +222,12 @@ 9 ; - - + + // draw Position Number - + $lines [ @@ -243,12 +239,12 @@ array ( - + array ( - + 'text' @@ -257,7 +253,7 @@ $position , - + 'feed' @@ -275,7 +271,7 @@ 10 , - + 'align' @@ -284,7 +280,7 @@ 'right' , - + 'font_size' @@ -292,21 +288,21 @@ $fontSize - + ) - + ) ; - - + + // draw SKU - + $lines [ @@ -320,7 +316,7 @@ array ( - + 'text' @@ -347,7 +343,7 @@ ) , - + 'feed' @@ -365,7 +361,7 @@ 25 , - + 'font_size' @@ -373,17 +369,17 @@ $fontSize - + ) ; - - + + // draw Product name - + $lines [ @@ -397,7 +393,7 @@ array ( - + 'text' @@ -429,7 +425,7 @@ ) , - + 'feed' @@ -447,7 +443,7 @@ 130 , - + 'font_size' @@ -455,13 +451,13 @@ $fontSize - + ) ; - - + + $options @@ -474,7 +470,7 @@ ) ; - + if @@ -484,7 +480,7 @@ { - + foreach @@ -498,7 +494,7 @@ { - + $optionTxt @@ -514,24 +510,27 @@ ': ' ; - + // append option value - + if ( + isset + ( $option [ 'value' ] ) + ) { - + $optionTxt @@ -563,11 +562,12 @@ ) ; - + } - + + $optionArray @@ -597,7 +597,7 @@ ) ; - + $lines [ @@ -610,19 +610,19 @@ array ( - + 'text' - + => $optionArray , - + 'feed' - + => $pdf @@ -635,22 +635,36 @@ + 135 + , + + + + 'color' + + => + + $helper + -> + getLabelColor + ( + ) + , - + ) ; - + } - + } - - + + $columns @@ -661,11 +675,11 @@ ) ; - + // prepare qty - + $columns [ @@ -677,7 +691,7 @@ array ( - + 'text' @@ -694,7 +708,7 @@ 1 , - + 'align' @@ -703,7 +717,7 @@ 'right' , - + 'font_size' @@ -712,7 +726,7 @@ $fontSize , - + '_width' @@ -720,17 +734,17 @@ 30 - + ) ; - - + + // prepare price - + $columns [ @@ -742,7 +756,7 @@ array ( - + 'text' @@ -760,7 +774,7 @@ ) , - + 'align' @@ -769,7 +783,7 @@ 'right' , - + 'font_size' @@ -778,7 +792,7 @@ $fontSize , - + '_width' @@ -786,17 +800,17 @@ 60 - + ) ; - - + + // prepare price_incl_tax - + $columns [ @@ -808,7 +822,7 @@ array ( - + 'text' @@ -826,7 +840,7 @@ ) , - + 'align' @@ -835,7 +849,7 @@ 'right' , - + 'font_size' @@ -844,7 +858,7 @@ $fontSize , - + '_width' @@ -852,17 +866,17 @@ 60 - + ) ; - - + + // prepare tax - + $columns [ @@ -874,7 +888,7 @@ array ( - + 'text' @@ -900,7 +914,7 @@ ) , - + 'align' @@ -909,7 +923,7 @@ 'right' , - + 'font_size' @@ -918,7 +932,7 @@ $fontSize , - + '_width' @@ -926,17 +940,17 @@ 50 - + ) ; - - + + // prepare tax_rate - + $columns [ @@ -948,7 +962,7 @@ array ( - + 'text' @@ -975,7 +989,7 @@ '%' , - + 'align' @@ -984,7 +998,7 @@ 'right' , - + 'font_size' @@ -993,7 +1007,7 @@ $fontSize , - + '_width' @@ -1001,17 +1015,17 @@ 50 - + ) ; - - + + // prepare subtotal - + $columns [ @@ -1023,7 +1037,7 @@ array ( - + 'text' @@ -1041,7 +1055,7 @@ ) , - + 'align' @@ -1050,7 +1064,7 @@ 'right' , - + 'font_size' @@ -1059,7 +1073,7 @@ $fontSize , - + '_width' @@ -1067,17 +1081,17 @@ 50 - + ) ; - - + + // prepare subtotal_incl_tax - + $columns [ @@ -1089,7 +1103,7 @@ array ( - + 'text' @@ -1107,7 +1121,7 @@ ) , - + 'align' @@ -1116,7 +1130,7 @@ 'right' , - + 'font_size' @@ -1125,7 +1139,7 @@ $fontSize , - + '_width' @@ -1133,17 +1147,17 @@ 70 - + ) ; - - + + // draw columns in specified order - + $columnsOrder @@ -1163,11 +1177,11 @@ ) ; - + // draw starting from right - + $columnsOrder @@ -1179,7 +1193,7 @@ ) ; - + $columnOffset @@ -1188,7 +1202,7 @@ 0 ; - + foreach @@ -1202,7 +1216,7 @@ { - + $columnName @@ -1214,7 +1228,7 @@ ) ; - + if @@ -1230,7 +1244,7 @@ { - + $column @@ -1242,7 +1256,7 @@ ] ; - + $column [ @@ -1263,7 +1277,7 @@ $columnOffset ; - + $columnOffset @@ -1275,7 +1289,7 @@ ] ; - + unset ( @@ -1286,7 +1300,7 @@ ) ; - + $lines [ @@ -1300,16 +1314,16 @@ $column ; - + } - + } - - + + if @@ -1336,11 +1350,11 @@ { - + // print discount - + $text @@ -1356,12 +1370,12 @@ __ ( - + 'You get a discount of %s.' , - + $order -> @@ -1374,12 +1388,12 @@ ) ) - + ) ; - + $lines [ @@ -1392,7 +1406,7 @@ array ( - + 'text' @@ -1401,7 +1415,7 @@ $text , - + 'align' @@ -1410,7 +1424,7 @@ 'right' , - + 'feed' @@ -1427,17 +1441,17 @@ $columnOffset - + ) ; - + } - - + + $lineBlock @@ -1446,7 +1460,7 @@ array ( - + 'lines' @@ -1455,7 +1469,7 @@ $lines , - + 'height' @@ -1463,13 +1477,13 @@ 15 - + ) ; - - + + $page @@ -1499,7 +1513,7 @@ ) ; - + $this -> @@ -1509,12 +1523,12 @@ ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xml index c1da529..f284da1 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Downloadable.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -61,65 +61,64 @@ */ - - + /** - + * Class FireGento_Pdf_Model_Items_Downloadable - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - + */ - + class FireGento_Pdf_Model_Items_Downloadable - + extends Mage_Downloadable_Model_Sales_Order_Pdf_Items_Invoice - + { - + /** - + * Draw item line. - + * - + * @param int $position position of the product - + * - + * @return void - + */ - + public @@ -134,11 +133,11 @@ 1 ) - + { - + $order @@ -151,7 +150,7 @@ ) ; - + $item @@ -164,7 +163,7 @@ ) ; - + $pdf @@ -177,7 +176,7 @@ ) ; - + $page @@ -190,6 +189,20 @@ ) ; + + + $helper + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + ; + $lines @@ -514,11 +527,14 @@ if ( + isset + ( $option [ 'value' ] ) + ) { @@ -535,9 +551,6 @@ 'print_value' ] ) - - - ? $option @@ -556,10 +569,11 @@ ) ; - + } + $optionArray @@ -575,9 +589,7 @@ $page , - - - + $pdf -> getFontRegular @@ -592,7 +604,7 @@ ) ; - + $lines [ @@ -605,19 +617,19 @@ array ( - + 'text' - + => $optionArray , - + 'feed' - + => $pdf @@ -630,6 +642,20 @@ + 135 + , + + + + 'color' + + => + + $helper + -> + getLabelColor + ( + ) + , @@ -1157,15 +1183,13 @@ 2 ) - - - + . '%' , - + 'align' @@ -1174,7 +1198,7 @@ 'right' , - + 'font_size' @@ -1183,7 +1207,7 @@ $fontSize , - + '_width' @@ -1191,17 +1215,17 @@ 50 - + ) ; - - + + // prepare subtotal - + $columns [ @@ -1213,7 +1237,7 @@ array ( - + 'text' @@ -1228,9 +1252,7 @@ getPrice ( ) - - - + * $item @@ -1245,7 +1267,7 @@ ) , - + 'align' @@ -1254,7 +1276,7 @@ 'right' , - + 'font_size' @@ -1263,7 +1285,7 @@ $fontSize , - + '_width' @@ -1271,17 +1293,17 @@ 50 - + ) ; - - + + // prepare subtotal_incl_tax - + $columns [ @@ -1293,7 +1315,7 @@ array ( - + 'text' @@ -1309,9 +1331,7 @@ getPrice ( ) - - - + * $item @@ -1335,7 +1355,7 @@ ) , - + 'align' @@ -1344,7 +1364,7 @@ 'right' , - + 'font_size' @@ -1353,7 +1373,7 @@ $fontSize , - + '_width' @@ -1361,17 +1381,17 @@ 70 - + ) ; - - + + // draw columns in specified order - + $columnsOrder @@ -1381,9 +1401,7 @@ ( ',' , - - - + Mage :: getStoreConfig @@ -1393,11 +1411,11 @@ ) ; - + // draw starting from right - + $columnsOrder @@ -1409,7 +1427,7 @@ ) ; - + $columnOffset @@ -1418,7 +1436,7 @@ 0 ; - + foreach @@ -1432,7 +1450,7 @@ { - + $columnName @@ -1444,7 +1462,7 @@ ) ; - + if @@ -1460,7 +1478,7 @@ { - + $column @@ -1472,7 +1490,7 @@ ] ; - + $column [ @@ -1493,7 +1511,7 @@ $columnOffset ; - + $columnOffset @@ -1505,7 +1523,7 @@ ] ; - + unset ( @@ -1516,7 +1534,7 @@ ) ; - + $lines [ @@ -1530,16 +1548,16 @@ $column ; - + } - + } - - + + if @@ -1551,7 +1569,7 @@ 'sales_pdf/invoice/show_item_discount' ) - + && @@ -1565,17 +1583,17 @@ ( ) - + ) { - + // print discount - + $text @@ -1591,12 +1609,12 @@ __ ( - + 'You get a discount of %s.' , - + $order -> @@ -1609,12 +1627,12 @@ ) ) - + ) ; - + $lines [ @@ -1627,7 +1645,7 @@ array ( - + 'text' @@ -1636,7 +1654,7 @@ $text , - + 'align' @@ -1645,7 +1663,7 @@ 'right' , - + 'feed' @@ -1662,17 +1680,17 @@ $columnOffset - + ) ; - + } - - + + $lineBlock @@ -1681,7 +1699,7 @@ array ( - + 'lines' @@ -1690,7 +1708,7 @@ $lines , - + 'height' @@ -1698,13 +1716,13 @@ 15 - + ) ; - - + + $page @@ -1722,9 +1740,7 @@ $lineBlock ) , - - - + array ( 'table_header' @@ -1736,7 +1752,7 @@ ) ; - + $this -> @@ -1746,12 +1762,12 @@ ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xml index 9379a05..14a9442 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Grouped.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -80,15 +80,9 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - */ - + class FireGento_Pdf_Model_Items_Grouped @@ -97,32 +91,32 @@ Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped - + { - + /** - + * Draw item line. - + * - + * @param int $position position of the product - + * - + * @return void - + */ - + public @@ -137,11 +131,11 @@ 1 ) - + { - + $type @@ -162,7 +156,7 @@ ) ; - + $renderer @@ -180,7 +174,7 @@ ) ; - + $renderer -> @@ -194,7 +188,7 @@ ) ; - + $renderer -> @@ -208,7 +202,7 @@ ) ; - + $renderer -> @@ -222,7 +216,7 @@ ) ; - + $renderer -> @@ -236,8 +230,8 @@ ) ; - - + + $renderer -> @@ -247,7 +241,7 @@ ) ; - + $this -> @@ -261,12 +255,12 @@ ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xml index f598bd1..6ef2301 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Bundle.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -80,21 +80,9 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - */ - + class FireGento_Pdf_Model_Items_Shipment_Bundle @@ -103,26 +91,26 @@ Mage_Bundle_Model_Sales_Order_Pdf_Items_Shipment - + { - + /** - + * Draw item line. - + * - + * @return void - + */ - + public @@ -132,11 +120,11 @@ ( ) - + { - + $item @@ -149,7 +137,7 @@ ) ; - + $pdf @@ -162,7 +150,7 @@ ) ; - + $page @@ -175,18 +163,8 @@ ) ; - - - - $this - -> - _setFontRegular - ( - ) - ; - - - + + $shipItems @@ -200,7 +178,7 @@ ) ; - + $items @@ -230,8 +208,8 @@ ) ; - - + + $_prevOptionId @@ -240,7 +218,7 @@ '' ; - + $drawItems @@ -251,8 +229,8 @@ ) ; - - + + foreach @@ -266,7 +244,7 @@ { - + $line @@ -277,8 +255,8 @@ ) ; - - + + $attributes @@ -292,7 +270,7 @@ ) ; - + if @@ -305,7 +283,7 @@ { - + $optionId @@ -317,7 +295,7 @@ ] ; - + } @@ -325,7 +303,7 @@ { - + $optionId @@ -334,12 +312,12 @@ 0 ; - + } - - + + if @@ -356,7 +334,7 @@ { - + $drawItems [ @@ -368,7 +346,7 @@ array ( - + 'lines' @@ -379,7 +357,7 @@ ) , - + 'height' @@ -387,17 +365,17 @@ 15 - + ) ; - + } - - + + if @@ -411,7 +389,7 @@ { - + if @@ -428,7 +406,7 @@ { - + $line [ @@ -440,7 +418,7 @@ array ( - + 'font' @@ -449,7 +427,7 @@ 'italic' , - + 'text' @@ -480,7 +458,7 @@ ) , - + 'feed' @@ -488,13 +466,13 @@ 150 - + ) ; - - + + $drawItems [ @@ -506,7 +484,7 @@ array ( - + 'lines' @@ -518,7 +496,7 @@ ) , - + 'height' @@ -526,13 +504,13 @@ 15 - + ) ; - - + + $line @@ -543,8 +521,8 @@ ) ; - - + + $_prevOptionId @@ -556,20 +534,20 @@ ] ; - + } - + } - - + + // draw SKUs - + if @@ -584,7 +562,7 @@ { - + $text @@ -595,7 +573,7 @@ ) ; - + foreach @@ -626,7 +604,7 @@ { - + $text [ @@ -637,11 +615,12 @@ $part ; - + } - + + $line [ @@ -652,7 +631,7 @@ array ( - + 'text' @@ -661,7 +640,7 @@ $text , - + 'feed' @@ -670,7 +649,7 @@ 45 , - + 'width' @@ -678,21 +657,21 @@ 85 - + ) ; - + } - - + + // draw Name - + if @@ -706,7 +685,7 @@ { - + $name @@ -720,7 +699,7 @@ ) ; - + } @@ -728,7 +707,7 @@ { - + $name @@ -741,11 +720,12 @@ ) ; - + } - + + $text @@ -756,7 +736,7 @@ ) ; - + foreach @@ -789,7 +769,7 @@ { - + $text [ @@ -800,11 +780,12 @@ $part ; - + } - + + $line [ @@ -815,7 +796,7 @@ array ( - + 'text' @@ -824,7 +805,7 @@ $text , - + 'feed' @@ -833,7 +814,7 @@ 150 , - + 'align' @@ -842,7 +823,7 @@ 'left' , - + 'width' @@ -850,13 +831,13 @@ 375 - + ) ; - - + + if @@ -877,7 +858,7 @@ ) ) - + || @@ -899,13 +880,13 @@ ) ) - + ) { - + if @@ -925,7 +906,7 @@ { - + $qty @@ -947,7 +928,7 @@ 1 ; - + } @@ -963,7 +944,7 @@ { - + $qty @@ -982,7 +963,7 @@ ) ; - + } @@ -990,7 +971,7 @@ { - + $qty @@ -999,11 +980,11 @@ 0 ; - + } - + } @@ -1011,7 +992,7 @@ { - + $qty @@ -1020,12 +1001,12 @@ '' ; - + } - - + + $line [ @@ -1036,7 +1017,7 @@ array ( - + 'text' @@ -1045,7 +1026,7 @@ $qty , - + 'feed' @@ -1054,7 +1035,7 @@ 505 , - + 'align' @@ -1063,7 +1044,7 @@ 'left' , - + 'width' @@ -1071,13 +1052,13 @@ 10 - + ) ; - - + + $drawItems [ @@ -1094,16 +1075,16 @@ $line ; - + } - - + + // custom options - + $options @@ -1120,7 +1101,7 @@ ) ; - + if @@ -1130,7 +1111,7 @@ { - + if @@ -1146,7 +1127,7 @@ { - + foreach @@ -1163,7 +1144,7 @@ { - + $lines @@ -1174,7 +1155,7 @@ ) ; - + $lines [ @@ -1187,7 +1168,7 @@ array ( - + 'text' @@ -1221,7 +1202,7 @@ ) , - + 'font' @@ -1230,7 +1211,7 @@ 'italic' , - + 'feed' @@ -1238,26 +1219,29 @@ 60 - + ) ; - - + + if ( + isset + ( $option [ 'value' ] ) + ) { - + $text @@ -1268,7 +1252,7 @@ ) ; - + $_printValue @@ -1282,7 +1266,7 @@ ] ) - + ? @@ -1291,7 +1275,7 @@ 'print_value' ] - + : @@ -1304,7 +1288,7 @@ ) ; - + $values @@ -1319,7 +1303,7 @@ ) ; - + foreach @@ -1333,7 +1317,7 @@ { - + foreach @@ -1366,7 +1350,7 @@ { - + $text [ @@ -1377,16 +1361,16 @@ $_value ; - + } - + } - - + + $lines [ @@ -1399,7 +1383,7 @@ array ( - + 'text' @@ -1408,7 +1392,7 @@ $text , - + 'feed' @@ -1416,17 +1400,17 @@ 65 - + ) ; - + } - - + + $drawItems [ @@ -1437,7 +1421,7 @@ array ( - + 'lines' @@ -1446,7 +1430,7 @@ $lines , - + 'height' @@ -1454,25 +1438,25 @@ 15 - + ) ; - + } - + } - + } - - + + $page @@ -1499,7 +1483,7 @@ ) ; - + $this -> @@ -1509,12 +1493,12 @@ ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xml index 237d79d..7927f2e 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Shipment/Default.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,54 +53,36 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Shipment default item model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Items_Shipment_Default @@ -109,26 +91,26 @@ Mage_Sales_Model_Order_Pdf_Items_Shipment_Default - + { - + /** - + * Draw item line. - + * - + * @return void - + */ - + public @@ -138,11 +120,11 @@ ( ) - + { - + $item @@ -155,7 +137,7 @@ ) ; - + $pdf @@ -168,7 +150,7 @@ ) ; - + $page @@ -181,7 +163,7 @@ ) ; - + $lines @@ -192,8 +174,8 @@ ) ; - - + + $fontSize @@ -202,12 +184,12 @@ 9 ; - - + + // draw SKU - + $lines [ @@ -221,7 +203,7 @@ array ( - + 'text' @@ -248,7 +230,7 @@ ) , - + 'feed' @@ -257,7 +239,7 @@ 45 , - + 'width' @@ -266,7 +248,7 @@ 85 , - + 'font_size' @@ -274,18 +256,18 @@ $fontSize - + ) ) ; - - + + // draw Product name - + $lines [ @@ -299,7 +281,7 @@ array ( - + 'text' @@ -331,7 +313,7 @@ ) , - + 'feed' @@ -340,7 +322,7 @@ 150 , - + 'align' @@ -349,7 +331,7 @@ 'left' , - + 'width' @@ -358,7 +340,7 @@ 375 , - + 'font_size' @@ -366,17 +348,17 @@ $fontSize - + ) ; - - + + // draw QTY - + $lines [ @@ -390,7 +372,7 @@ array ( - + 'text' @@ -405,7 +387,7 @@ 1 , - + 'feed' @@ -414,7 +396,7 @@ 505 , - + 'align' @@ -423,7 +405,7 @@ 'left' , - + 'width' @@ -432,7 +414,7 @@ 10 , - + 'font_size' @@ -440,13 +422,13 @@ $fontSize - + ) ; - - + + $options @@ -459,7 +441,7 @@ ) ; - + if @@ -469,7 +451,7 @@ { - + foreach @@ -483,11 +465,11 @@ { - + // draw options label - + $lines [ @@ -500,7 +482,7 @@ array ( - + 'text' @@ -534,7 +516,7 @@ ) , - + 'font' @@ -543,7 +525,7 @@ 'bold' , - + 'feed' @@ -560,30 +542,33 @@ 130 - + ) ; - - + + // draw options value - + if ( + isset + ( $option [ 'value' ] ) + ) { - + $_printVal @@ -615,7 +600,7 @@ ) ; - + $values @@ -630,7 +615,7 @@ ) ; - + foreach @@ -644,7 +629,7 @@ { - + $lines [ @@ -657,7 +642,7 @@ array ( - + 'text' @@ -685,7 +670,7 @@ ) , - + 'feed' @@ -702,29 +687,29 @@ 130 - + ) ; - + } - + } - + } - + } - - + + $lineBlock @@ -733,7 +718,7 @@ array ( - + 'lines' @@ -742,7 +727,7 @@ $lines , - + 'height' @@ -750,13 +735,13 @@ 15 - + ) ; - - + + $page @@ -786,7 +771,7 @@ ) ; - + $this -> @@ -796,12 +781,12 @@ ) ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xml new file mode 100644 index 0000000..cd707fc --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Default.php.xml @@ -0,0 +1,163 @@ + + + + + <?php + + + /** + + + * This file is part of a FireGento e.V. module. + + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Default item model rewrite. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + + class + + FireGento_Pdf_Model_Items_Unirgy_Default + + extends + + FireGento_Pdf_Model_Items_Default + + + { + + + + + public + + function + + getItemOptions + ( + ) + + + + { + + + + $result + + = + + parent + :: + getItemOptions + ( + ) + ; + + + + Mage + :: + helper + ( + 'ugiftcert' + ) + -> + addOrderItemCertOptions + ( + $result + , + + $this + -> + getItem + ( + ) + ) + ; + + + + return + + $result + ; + + + + } + + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xml new file mode 100644 index 0000000..f59a2bf --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Items/Unirgy/Shipment/Default.php.xml @@ -0,0 +1,163 @@ + + + + + <?php + + + /** + + + * This file is part of a FireGento e.V. module. + + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Default item model rewrite. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + + class + + FireGento_Pdf_Model_Items_Unirgy_Shipment_Default + + extends + + FireGento_Pdf_Model_Items_Shipment_Default + + + { + + + + + public + + function + + getItemOptions + ( + ) + + + + { + + + + $result + + = + + parent + :: + getItemOptions + ( + ) + ; + + + + Mage + :: + helper + ( + 'ugiftcert' + ) + -> + addOrderItemCertOptions + ( + $result + , + + $this + -> + getItem + ( + ) + ) + ; + + + + return + + $result + ; + + + + } + + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Observer.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Observer.php.xml index 963fd0e..7686247 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Observer.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Observer.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,84 +53,66 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * FireGento Pdf observer. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Observer - + { - + /** - + * Add notes to invoice document. - + * - + * @param Varien_Event_Observer $observer observer object - + * - + * @return FireGento_Pdf_Model_Observer - + */ - + public @@ -143,144 +125,176 @@ $observer ) - + { - + $this -> - addInvoiceDateNotice + _addShippingCountryNotes ( $observer ) ; - + $this -> - addInvoiceMaturity + _addInvoiceDateNotice ( $observer ) ; - + $this -> - addPaymentMethod + _addInvoiceMaturity ( $observer ) ; - + $this -> - addShippingMethod + _addPaymentMethod ( $observer + , + + 'invoice' ) ; - + $this -> - addInvoiceComments + _addShippingMethod ( $observer ) ; - - + + + $this + -> + _addInvoiceComments + ( + $observer + ) + ; + + + return $this ; - + } - - + + /** - - * add invoice date notice to pdf + + * Add notes based on shipping country - + * - + * @param Varien_Event_Observer $observer observer object - + * - + * @return $this - + */ - + - public + protected function - addInvoiceDateNotice + _addShippingCountryNotes ( Varien_Event_Observer $observer ) - + { - + - if + $order + + = + $observer + -> + getOrder ( - ! + ) + ; + + + + $shippingCountryNotes + + = + Mage :: - getStoreConfigFlag + helper ( - 'sales_pdf/invoice/show_date_notice' + 'firegento_pdf/invoice' ) + -> + getShippingCountryNotes + ( + $order ) - - { - - - - return - - $this ; - + + - } + if + + ( + ! + empty + ( + $shippingCountryNotes + ) + ) + + { - - - + + $result - + = $observer @@ -290,10 +304,10 @@ ) ; - - + + $notes - + = $result @@ -303,29 +317,23 @@ ) ; - - + + $notes - [ - ] = - Mage - :: - helper + array_merge ( - 'firegento_pdf' - ) - -> - __ - ( - 'Invoice date is equal to delivery date.' + $notes + , + + $shippingCountryNotes ) ; - - + + $result -> setNotes @@ -334,58 +342,91 @@ ) ; - + + + } + + + return $this ; - + } - - + + /** - - * Add maturity to invoice notes. + + * add invoice date notice to pdf - + * - + * @param Varien_Event_Observer $observer observer object - + * - - * @return FireGento_Pdf_Model_Observer + + * @return $this - + */ - + - public + protected function - addInvoiceMaturity + _addInvoiceDateNotice ( Varien_Event_Observer $observer ) - + { - + + + if + + ( + ! + Mage + :: + getStoreConfigFlag + ( + 'sales_pdf/invoice/show_date_notice' + ) + ) + + { + + + + return + + $this + ; + + + + } + + + $result @@ -398,7 +439,7 @@ ) ; - + $notes @@ -411,44 +452,152 @@ ) ; - - $maturity + $notes + [ + ] = Mage :: - getStoreConfig + helper ( - 'sales_pdf/invoice/maturity' + 'firegento_pdf' + ) + -> + __ + ( + 'Invoice date is equal to delivery date.' ) ; - if - - ( - ! - empty + $result + -> + setNotes ( - $maturity + $notes ) + ; + + + + return + + $this + ; + + + + } + + + + + /** + + + * Add maturity to invoice notes. + + + * + + + * @param Varien_Event_Observer $observer observer object + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + protected + + function + + _addInvoiceMaturity + ( + Varien_Event_Observer + + $observer + ) + + + + { + + + + $result + + = + + $observer + -> + getResult + ( + ) + ; + + + + $notes + + = + + $result + -> + getNotes + ( + ) + ; + + + + + $maturity + + = + + Mage + :: + getStoreConfig + ( + 'sales_pdf/invoice/maturity' + ) + ; + + + + if + + ( + ! + empty + ( + $maturity + ) + + || + + 0 + + < - || - - 0 - - < - $maturity ) { - + $maturity @@ -464,7 +613,7 @@ __ ( - + 'Invoice maturity: %s days' , @@ -476,12 +625,12 @@ 'sales_pdf/invoice/maturity' ) - + ) ; - + } @@ -497,7 +646,7 @@ { - + $maturity @@ -516,12 +665,12 @@ ) ; - + } - - + + $notes [ @@ -532,7 +681,7 @@ $maturity ; - + $result -> @@ -542,58 +691,61 @@ ) ; - + return $this ; - + } - - + + /** - - * Add payment method to invoice notes. + + * Add payment method to invoice / creditmemo notes. - + * - + * @param Varien_Event_Observer $observer observer object - + * - + * @return FireGento_Pdf_Model_Observer - + */ - + - public + protected function - addPaymentMethod + _addPaymentMethod ( Varien_Event_Observer $observer + , + + $mode ) - + { - + if @@ -602,10 +754,18 @@ :: getStoreConfig ( - 'sales_pdf/invoice/payment_method_position' + 'sales_pdf/' + + . + + $mode + + . + + '/payment_method_position' ) - + != @@ -613,25 +773,25 @@ :: POSITION_NOTE - + ) { - + return $this ; - + } - - + + $result @@ -644,7 +804,7 @@ ) ; - + $notes @@ -657,7 +817,7 @@ ) ; - + $notes [ @@ -675,7 +835,7 @@ __ ( - + 'Payment method: %s' , @@ -698,12 +858,12 @@ ( ) - + ) ; - + $result -> @@ -713,58 +873,58 @@ ) ; - + return $this ; - + } - - + + /** - + * Add shipping method to invoice notes. - + * - + * @param Varien_Event_Observer $observer observer object - + * - + * @return FireGento_Pdf_Model_Observer - + */ - + - public + protected function - addShippingMethod + _addShippingMethod ( Varien_Event_Observer $observer ) - + { - + $invoice @@ -777,7 +937,7 @@ ) ; - + $shipment @@ -790,7 +950,7 @@ ) ; - + if @@ -807,7 +967,7 @@ $shipment ) - + || @@ -826,7 +986,7 @@ 'sales_pdf/invoice/shipping_method_position' ) - + != @@ -834,7 +994,7 @@ :: POSITION_NOTE - + || @@ -853,7 +1013,7 @@ 'sales_pdf/shipment/shipping_method_position' ) - + != @@ -861,25 +1021,25 @@ :: POSITION_NOTE - + ) { - + return $this ; - + } - - + + $result @@ -892,120 +1052,664 @@ ) ; - + + + $notes + + = + + $result + -> + getNotes + ( + ) + ; + + $notes + [ + ] = + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + + + + 'Shipping method: %s' + , + + $observer + -> + getOrder + ( + ) + -> + getShippingDescription + ( + ) + + + + ) + ; + + + + $result + -> + setNotes + ( + $notes + ) + ; + + + + return + + $this + ; + + + + } + + + + + /** + + + * Add the invoice comments + + + * + + + * @param Varien_Event_Observer $observer observer object + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + protected + + function + + _addInvoiceComments + ( + Varien_Event_Observer + + $observer + ) + + + + { + + + + if + + ( + ! + Mage + :: + getStoreConfigFlag + ( + 'sales_pdf/invoice/show_comments' + ) + ) + + { + + + + return + + $this + ; + + + + } + + + + + /** @var Mage_Sales_Model_Order_Invoice $invoice */ + + + + $invoice + + = + + $observer + -> + getInvoice + ( + ) + ; + + + + + /** @var Mage_Sales_Model_Resource_Order_Invoice_Comment_Collection $commentsCollection */ + + + + $commentsCollection + + = + + $invoice + -> + getCommentsCollection + ( + ) + ; + + + + $commentsCollection + -> + addVisibleOnFrontFilter + ( + ) + ; + + + + + $result + + = + + $observer + -> + getResult + ( + ) + ; + + + + $notes + + = + + $result + -> + getNotes + ( + ) + ; + + + + + foreach + + ( + $commentsCollection + + as + + $comment + ) + + { + + + + /** @var $comment Mage_Sales_Model_Order_Invoice_Comment */ + + + + $notes + [ + ] + + = + + $comment + -> + getComment + ( + ) + ; + + + + } + + + + + $result + -> + setNotes + ( + $notes + ) + ; + + + + return + + $this + ; + + + + } + + + + + /** + + + * Add notes to shipment document. + + + * + + + * @param Varien_Event_Observer $observer observer object + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + public + + function + + addShipmentNotes + ( + Varien_Event_Observer + + $observer + ) + + + + { + + + + $this + -> + _addShippingMethod + ( + $observer + ) + ; + + + + $this + -> + _addShipmentComments + ( + $observer + ) + ; + + + + + return + + $this + ; + + + + } + + + + + /** + + + * Add the shipment comments + + + * + + + * @param Varien_Event_Observer $observer observer object + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + protected + + function + + _addShipmentComments + ( + Varien_Event_Observer + + $observer + ) + + + + { + + + + if + + ( + ! + Mage + :: + getStoreConfigFlag + ( + 'sales_pdf/shipment/show_comments' + ) + ) + + { + + + + return + + $this + ; + + + + } + + + + + /** @var Mage_Sales_Model_Order_Shipment $shipment */ + + + + $shipment + + = + + $observer + -> + getShipment + ( + ) + ; + + + + + /** @var Mage_Sales_Model_Resource_Order_Shipment_Comment_Collection $commentsCollection */ + + + + $commentsCollection + + = + + $shipment + -> + getCommentsCollection + ( + ) + ; + + + + $commentsCollection + -> + addVisibleOnFrontFilter + ( + ) + ; + + + + + $result + + = + + $observer + -> + getResult + ( + ) + ; + + + + $notes + + = + + $result + -> + getNotes + ( + ) + ; + + + + + foreach + + ( + $commentsCollection + + as + + $comment + ) + + { + + + + /** @var $comment Mage_Sales_Model_Order_Shipment_Comment */ + + + + $notes + [ + ] + + = + + $comment + -> + getComment + ( + ) + ; + + + + } + + + + $result -> - getNotes + setNotes ( + $notes ) ; - + - $notes - [ - ] + return - = + $this + ; + + + + } + + + + + /** + + + * Add notes to credit memo document. + + + * + + + * @param Varien_Event_Observer $observer observer object + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + public - Mage - :: - helper - ( - 'firegento_pdf' - ) - -> - __ + function + + addCreditmemoNotes ( - - - - 'Shipping method: %s' - , + Varien_Event_Observer $observer - -> - getOrder - ( - ) - -> - getShippingDescription - ( ) - + + + { + + + $this + -> + _addPaymentMethod + ( + $observer + , + + 'creditmemo' ) ; - + - $result + $this -> - setNotes + _addCreditmemoComments ( - $notes + $observer ) ; - + + return $this ; - + } - - - + + /** - - * Add the invoice comments + + * Add the credit memo comments - + * - + * @param Varien_Event_Observer $observer observer object - + * - + * @return FireGento_Pdf_Model_Observer - + */ - + - public + protected function - addInvoiceComments + _addCreditmemoComments ( Varien_Event_Observer $observer ) - + { - + if @@ -1015,60 +1719,60 @@ :: getStoreConfigFlag ( - 'sales_pdf/invoice/show_comments' + 'sales_pdf/creditmemo/show_comments' ) ) { - + return $this ; - + } - - + + - /** @var Mage_Sales_Model_Order_Invoice $invoice */ + /** @var Mage_Sales_Model_Order_Creditmemo $creditmemo */ - + - $invoice + $creditmemo = $observer -> - getInvoice + getCreditmemo ( ) ; - - + + - /** @var Mage_Sales_Model_Resource_Order_Invoice_Comment_Collection $commentsCollection */ + /** @var Mage_Sales_Model_Resource_Order_Creditmemo_Comment_Collection $commentsCollection */ - + $commentsCollection = - $invoice + $creditmemo -> getCommentsCollection ( ) ; - + $commentsCollection -> @@ -1077,8 +1781,8 @@ ) ; - - + + $result @@ -1091,7 +1795,7 @@ ) ; - + $notes @@ -1104,8 +1808,8 @@ ) ; - - + + foreach @@ -1119,11 +1823,11 @@ { - + - /** @var $comment Mage_Sales_Model_Order_Invoice_Comment */ + /** @var $comment Mage_Sales_Model_Order_Creditmemo_Comment */ - + $notes [ @@ -1138,12 +1842,12 @@ ) ; - + } - - + + $result -> @@ -1153,58 +1857,142 @@ ) ; - + return $this ; - + } - - + + /** - - * Adds a barcode representing the order number to the shipment if activated. + + * Adds a barcode representing the order number to the invoice if activated - + * - - * @param Varien_Event_Observer $observer observer which is passed by magento + + * @param Varien_Event_Observer $observer observer which is passed by magento - + * - + * @return FireGento_Pdf_Model_Observer - + */ - + public function - addBarcode + addInvoiceBarcode ( Varien_Event_Observer $observer ) - + { - + + + if + + ( + ! + Mage + :: + getStoreConfigFlag + ( + 'sales_pdf/invoice/order_id_as_barcode' + ) + ) + + { + + + + return + + $this + ; + + + + } + + + + + return + + $this + -> + _addBarcode + ( + $observer + ) + ; + + + + } + + + + + /** + + + * Adds a barcode representing the order number to the shipment if activated + + + * + + + * @param Varien_Event_Observer $observer observer which is passed by magento + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + public + + function + + addShipmentBarcode + ( + Varien_Event_Observer + + $observer + ) + + + + { + + if @@ -1220,18 +2008,75 @@ { - + return $this ; - + } - + + + + return + + $this + -> + _addBarcode + ( + $observer + ) + ; + + + + } + + + + + /** + + + * Adds a barcode representing the order number to a PDF + + + * + + + * @param Varien_Event_Observer $observer observer which is passed by magento + + + * + + + * @return FireGento_Pdf_Model_Observer + + + */ + + + + protected + + function + + _addBarcode + ( + Varien_Event_Observer + + $observer + ) + + + + { + + $page @@ -1244,7 +2089,7 @@ ) ; - + $order @@ -1257,8 +2102,8 @@ ) ; - - + + $barcodeConfig @@ -1267,7 +2112,7 @@ array ( - + 'drawText' @@ -1276,7 +2121,7 @@ false , - + 'orientation' @@ -1285,7 +2130,16 @@ 90 , - + + + 'barHeight' + + => + + 25 + , + + 'text' @@ -1297,12 +2151,12 @@ ( ) - + ) ; - + $rendererConfig @@ -1311,37 +2165,33 @@ array ( - + 'verticalPosition' => - 'middle' + 'top' , - + 'moduleSize' => - 0.9 + 1 - + ) ; - + // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in - - - // Zend_Barcode_Renderer_Pdf->setResource() - - + $pdf @@ -1354,7 +2204,7 @@ ) ; - + $pdf -> @@ -1367,11 +2217,11 @@ $page ; - + /** @var $renderer Zend_Barcode_Renderer_Pdf */ - + $renderer @@ -1402,11 +2252,11 @@ ) ; - + // calculate left offset so that barcode is printed on the right with a little margin - + $leftOffset @@ -1444,7 +2294,7 @@ 10 ; - + $renderer -> @@ -1454,7 +2304,17 @@ ) ; - + + + $renderer + -> + setTopOffset + ( + 50 + ) + ; + + $renderer -> @@ -1463,19 +2323,19 @@ ) ; - + return $this ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Shipment.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Shipment.php.xml index 1614fee..4862f1d 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Shipment.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Shipment.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,103 +53,89 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Shipment model rewrite. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_Shipment + + extends + + Mage_Sales_Model_Order_Pdf_Shipment - + { - - + + /** - + * The actual PDF engine responsible for rendering the file. - + * - + * @var Mage_Sales_Model_Order_Pdf_Abstract - + */ - + - private + protected $_engine ; - - + + /** - + * get pdf rendering engine - + * - + * @return Mage_Sales_Model_Order_Pdf_Abstract|Mage_Sales_Model_Order_Pdf_Shipment - + */ - + protected @@ -159,11 +145,11 @@ ( ) - + { - + if @@ -176,7 +162,7 @@ { - + $modelClass @@ -190,7 +176,7 @@ ) ; - + $engine @@ -204,23 +190,35 @@ ) ; - - + + if ( ! $engine + + || + + $engine + + instanceof + + FireGento_Pdf_Model_Shipment ) { - + // Fallback to Magento standard shipment layout. - + + + // use new here to circumvent our own rewrite + + $engine @@ -233,12 +231,12 @@ ) ; - + } - - + + $this -> @@ -249,12 +247,12 @@ $engine ; - + } - - + + return @@ -263,34 +261,34 @@ _engine ; - + } - - + + /** - + * get PDF object - + * - + * @param array|Varien_Data_Collection $shipments shipments to generate pdfs for - + * - + * @return mixed - + */ - + public @@ -307,11 +305,11 @@ ) ) - + { - + return @@ -327,13 +325,13 @@ ) ; - + } - - + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xml index 857fb54..ec5869f 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Backend/Font.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -61,88 +61,87 @@ */ - - + /** - + * Class FireGento_Pdf_Model_System_Config_Backend_Font - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - + */ - + class FireGento_Pdf_Model_System_Config_Backend_Font - + extends Mage_Adminhtml_Model_System_Config_Backend_File - + { - + - private + protected $_allowedExtensions - + = array ( - + 'otf' , - + 'ttf' , - + ) ; - - + + /** - + * Returns the allowed font extensions. - + * - + * @return array containing the allowed font extensions - + */ - + protected @@ -152,11 +151,11 @@ ( ) - + { - + return @@ -165,12 +164,12 @@ _allowedExtensions ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xml index 2e49c23..2c33cfb 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Creditmemo/Engine.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,75 +53,57 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Pdf creation engine source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Creditmemo_Engine - + { - + /** - + * Config xpath to pdf engine node - + * - + */ - + const @@ -132,24 +114,24 @@ 'global/pdf/firegento_creditmemo_engines' ; - - + + /** - + * Return array of possible engines. - + * - + * @return array - + */ - + public @@ -159,15 +141,15 @@ ( ) - + { - + // load default engines shipped with Mage_Sales and FireGento_Pdf - + $engines @@ -176,7 +158,7 @@ array ( - + '' @@ -195,7 +177,7 @@ ) , - + 'firegento_pdf/engine_creditmemo_default' @@ -210,20 +192,20 @@ -> __ ( - 'Standard Germany' + 'Standard FireGento' ) - + ) ; - - + + // load additional engines provided by third party extensions - + $engineNodes @@ -247,7 +229,7 @@ ) ; - + if @@ -265,7 +247,7 @@ { - + foreach @@ -287,7 +269,7 @@ { - + $className @@ -300,7 +282,7 @@ class ; - + $engineLabel @@ -323,7 +305,7 @@ ) ; - + $engines [ @@ -335,16 +317,16 @@ $engineLabel ; - + } - + } - - + + $options @@ -355,7 +337,7 @@ ) ; - + foreach @@ -373,7 +355,7 @@ { - + $options [ @@ -384,7 +366,7 @@ array ( - + 'value' @@ -393,7 +375,7 @@ $k , - + 'label' @@ -401,28 +383,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xml new file mode 100644 index 0000000..e6751f5 --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Customer/Number.php.xml @@ -0,0 +1,288 @@ + + + + + <?php + + + /** + + + * This file is part of the FIREGENTO project. + + + * + + + * FireGento_Pdf is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2015 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Customer number source model. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2015 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + class + + FireGento_Pdf_Model_System_Config_Source_Customer_Number + + + { + + + + /** + + + * Databasefield name for customers increment_id + + + */ + + + + const + + CUSTOMER_NUMBER_FIELD_INCREMENT_ID + + = + + 'increment_id' + ; + + + + /** + + + * Return array of possible positions. + + + * + + + * @return array + + + */ + + + + public + + function + + toOptionArray + ( + ) + + + + { + + + + $selectOptions + + = + + array + ( + + + + '' + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Standard (entity_id)' + ) + , + + + + self + :: + CUSTOMER_NUMBER_FIELD_INCREMENT_ID + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + __ + ( + 'Customer Increment ID (increment_id)' + ) + + + + ) + ; + + + + $options + + = + + array + ( + ) + ; + + + + foreach + + ( + $selectOptions + + as + + $k + + => + + $v + ) + + { + + + + $options + [ + ] + + = + + array + ( + + + + 'value' + + => + + $k + , + + + + 'label' + + => + + $v + + + + ) + ; + + + + } + + + + + return + + $options + ; + + + + } + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xml index 2076343..acd4511 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Headerblocks.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,62 +53,44 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Logo position source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Headerblocks - + { - + const @@ -119,7 +101,7 @@ 'left' ; - + const @@ -130,24 +112,24 @@ 'right' ; - - + + /** - + * Return array of possible positions. - + * - + * @return array - + */ - + public @@ -157,11 +139,11 @@ ( ) - + { - + $positions @@ -170,7 +152,7 @@ array ( - + self :: @@ -191,7 +173,7 @@ ) , - + self :: @@ -212,12 +194,12 @@ ) , - + ) ; - + $options @@ -228,7 +210,7 @@ ) ; - + foreach @@ -246,7 +228,7 @@ { - + $options [ @@ -257,7 +239,7 @@ array ( - + 'value' @@ -266,7 +248,7 @@ $k , - + 'label' @@ -274,28 +256,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xml index 1fd3414..d8452d5 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Invoice/Engine.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,75 +53,57 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Pdf creation engine source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Invoice_Engine - + { - + /** - + * Config xpath to pdf engine node - + * - + */ - + const @@ -132,24 +114,24 @@ 'global/pdf/firegento_invoice_engines' ; - - + + /** - + * Return array of possible engines. - + * - + * @return array - + */ - + public @@ -159,15 +141,15 @@ ( ) - + { - + // load default engines shipped with Mage_Sales and FireGento_Pdf - + $engines @@ -176,7 +158,7 @@ array ( - + '' @@ -195,7 +177,7 @@ ) , - + 'firegento_pdf/engine_invoice_default' @@ -210,20 +192,20 @@ -> __ ( - 'Standard Germany' + 'Standard FireGento' ) - + ) ; - - + + // load additional engines provided by third party extensions - + $engineNodes @@ -247,7 +229,7 @@ ) ; - + if @@ -265,7 +247,7 @@ { - + foreach @@ -287,7 +269,7 @@ { - + $className @@ -300,7 +282,7 @@ class ; - + $engineLabel @@ -323,7 +305,7 @@ ) ; - + $engines [ @@ -335,16 +317,16 @@ $engineLabel ; - + } - + } - - + + $options @@ -355,7 +337,7 @@ ) ; - + foreach @@ -373,7 +355,7 @@ { - + $options [ @@ -384,7 +366,7 @@ array ( - + 'value' @@ -393,7 +375,7 @@ $k , - + 'label' @@ -401,28 +383,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xml index e9530a1..059bd65 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Logo.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,62 +53,44 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Logo position source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Logo - + { - + const @@ -119,7 +101,7 @@ 'left' ; - + const @@ -130,7 +112,7 @@ 'center' ; - + const @@ -141,7 +123,7 @@ 'right' ; - + const @@ -152,24 +134,24 @@ 'full_width' ; - - + + /** - + * Return array of possible positions. - + * - + * @return array - + */ - + public @@ -179,11 +161,11 @@ ( ) - + { - + $positions @@ -192,7 +174,7 @@ array ( - + self :: @@ -213,7 +195,7 @@ ) , - + self :: @@ -234,7 +216,7 @@ ) , - + self :: @@ -255,7 +237,7 @@ ) , - + self :: @@ -275,12 +257,12 @@ 'Full width' ) - + ) ; - + $options @@ -291,7 +273,7 @@ ) ; - + foreach @@ -309,7 +291,7 @@ { - + $options [ @@ -320,7 +302,7 @@ array ( - + 'value' @@ -329,7 +311,7 @@ $k , - + 'label' @@ -337,28 +319,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xml new file mode 100644 index 0000000..8280fc9 --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/PageSize.php.xml @@ -0,0 +1,262 @@ + + + + + <?php + + + /** + + + * This file is part of a FireGento e.V. module. + + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2015 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + + /** + + + * Page size source model. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + + class + + FireGento_Pdf_Model_System_Config_Source_PageSize + + + { + + + + /** + + + * Return array of possible sizes. + + + * + + + * @return array + + + */ + + + + public + + function + + toOptionArray + ( + ) + + + + { + + + + $positions + + = + + array + ( + + + + Zend_Pdf_Page + :: + SIZE_A4 + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'DIN A4' + ) + , + + + + Zend_Pdf_Page + :: + SIZE_LETTER + + => + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + __ + ( + 'Letter' + ) + + + + ) + ; + + + + + $options + + = + + array + ( + ) + ; + + + + foreach + + ( + $positions + + as + + $k + + => + + $v + ) + + { + + + + $options + [ + ] + + = + + array + ( + + + + 'value' + + => + + $k + , + + + + 'label' + + => + + $v + + + + ) + ; + + + + } + + + + + return + + $options + ; + + + + } + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xml index 14ad408..c6e3d07 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Payment.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,62 +53,44 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Payment method position source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Payment - + { - + const @@ -119,7 +101,7 @@ 'header' ; - + const @@ -130,24 +112,24 @@ 'note' ; - - + + /** - + * Return array of possible positions. - + * - + * @return array - + */ - + public @@ -157,11 +139,11 @@ ( ) - + { - + $positions @@ -170,7 +152,7 @@ array ( - + '' @@ -189,7 +171,7 @@ ) , - + self :: @@ -210,7 +192,7 @@ ) , - + self :: @@ -230,12 +212,12 @@ 'Notes area' ) - + ) ; - + $options @@ -246,7 +228,7 @@ ) ; - + foreach @@ -264,7 +246,7 @@ { - + $options [ @@ -275,7 +257,7 @@ array ( - + 'value' @@ -284,7 +266,7 @@ $k , - + 'label' @@ -292,28 +274,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xml index d9f0988..853661c 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipment/Engine.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,75 +53,57 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Pdf creation engine source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Shipment_Engine - + { - + /** - + * Config xpath to pdf engine node - + * - + */ - + const @@ -132,24 +114,24 @@ 'global/pdf/firegento_shipment_engines' ; - - + + /** - + * Return array of possible engines. - + * - + * @return array - + */ - + public @@ -159,15 +141,15 @@ ( ) - + { - + // load default engines shipped with Mage_Sales and FireGento_Pdf - + $engines @@ -176,7 +158,7 @@ array ( - + '' @@ -195,7 +177,7 @@ ) , - + 'firegento_pdf/engine_shipment_default' @@ -210,20 +192,20 @@ -> __ ( - 'Standard Germany' + 'Standard FireGento' ) - + ) ; - - + + // load additional engines provided by third party extensions - + $engineNodes @@ -247,7 +229,7 @@ ) ; - + if @@ -265,7 +247,7 @@ { - + foreach @@ -287,7 +269,7 @@ { - + $className @@ -300,7 +282,7 @@ class ; - + $engineLabel @@ -323,7 +305,7 @@ ) ; - + $engines [ @@ -335,16 +317,16 @@ $engineLabel ; - + } - + } - - + + $options @@ -355,7 +337,7 @@ ) ; - + foreach @@ -373,7 +355,7 @@ { - + $options [ @@ -384,7 +366,7 @@ array ( - + 'value' @@ -393,7 +375,7 @@ $k , - + 'label' @@ -401,28 +383,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xml index 8cf0fc5..bcbc217 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/System/Config/Source/Shipping.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,62 +53,44 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - + /** - + * Shipping method position source model. - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Model_System_Config_Source_Shipping - + { - + const @@ -119,7 +101,7 @@ 'header' ; - + const @@ -130,24 +112,24 @@ 'note' ; - - + + /** - + * Return array of possible positions. - + * - + * @return array - + */ - + public @@ -157,11 +139,11 @@ ( ) - + { - + $positions @@ -170,7 +152,7 @@ array ( - + '' @@ -189,7 +171,7 @@ ) , - + self :: @@ -210,7 +192,7 @@ ) , - + self :: @@ -230,12 +212,12 @@ 'Notes area' ) - + ) ; - + $options @@ -246,7 +228,7 @@ ) ; - + foreach @@ -264,7 +246,7 @@ { - + $options [ @@ -275,7 +257,7 @@ array ( - + 'value' @@ -284,7 +266,7 @@ $k , - + 'label' @@ -292,28 +274,29 @@ $v - + ) ; - + } - + + return $options ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xml index b10ac1e..687fe3b 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Model/Tax/Sales/Pdf/Grandtotal.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -80,21 +80,9 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - */ - + class FireGento_Pdf_Model_Tax_Sales_Pdf_Grandtotal @@ -103,11 +91,11 @@ Mage_Tax_Model_Sales_Pdf_Grandtotal - + { - - + + const @@ -118,7 +106,7 @@ 'tax/sales_display/no_sum_on_details' ; - + const @@ -129,45 +117,45 @@ 'tax/sales_display/hide_grandtotal_excl_tax' ; - - + + /** - + * Check if tax amount should be included to grandtotals block - + * array( - + * $index => array( - + * 'amount' => $amount, - + * 'label' => $label, - + * 'font_size'=> $font_size - + * ) - + * ) - + * - + * @return array - + */ - + public @@ -177,11 +165,11 @@ ( ) - + { - + $store @@ -198,7 +186,7 @@ ) ; - + $config @@ -212,7 +200,7 @@ ) ; - + $noDisplaySumOnDetails @@ -231,7 +219,7 @@ ) ; - + $hideGrandTotalExclTax @@ -250,7 +238,7 @@ ) ; - + if @@ -266,7 +254,7 @@ { - + return @@ -277,11 +265,12 @@ ) ; - + } - + + $amount @@ -303,7 +292,7 @@ ) ; - + $amountExclTax @@ -328,7 +317,7 @@ ) ; - + $amountExclTax @@ -351,7 +340,7 @@ 0 ; - + $amountExclTax @@ -369,7 +358,7 @@ ) ; - + $tax @@ -395,7 +384,7 @@ ) ; - + $fontSize @@ -420,8 +409,8 @@ 7 ; - - + + $totals @@ -432,7 +421,7 @@ ) ; - + if @@ -443,7 +432,7 @@ { - + $totals [ @@ -454,7 +443,7 @@ array ( - + 'amount' @@ -471,7 +460,7 @@ $amountExclTax , - + 'label' @@ -494,7 +483,7 @@ ':' , - + 'font_size' @@ -502,36 +491,36 @@ $fontSize - + ) ; - + } - - + + /** - + * if display_sales_full_summary = 1 - + * display each tax group - + * if no_sum_on_details is = 1 display tax total additionally - + * else display only tax total - + */ - + if @@ -546,7 +535,7 @@ { - + $totals @@ -565,7 +554,7 @@ ) ; - + if @@ -576,7 +565,7 @@ { - + $totals [ @@ -587,7 +576,7 @@ array ( - + 'amount' @@ -604,7 +593,7 @@ $tax , - + 'label' @@ -627,7 +616,7 @@ ':' , - + 'font_size' @@ -635,16 +624,16 @@ $fontSize - + ) ; - + } - + } @@ -652,7 +641,7 @@ { - + $totals [ @@ -663,7 +652,7 @@ array ( - + 'amount' @@ -680,7 +669,7 @@ $tax , - + 'label' @@ -703,7 +692,7 @@ ':' , - + 'font_size' @@ -711,17 +700,17 @@ $fontSize - + ) ; - + } - - + + $totals [ @@ -732,7 +721,7 @@ array ( - + 'amount' @@ -749,7 +738,7 @@ $amount , - + 'label' @@ -772,7 +761,7 @@ ':' , - + 'font_size' @@ -780,24 +769,24 @@ $fontSize - + ) ; - + return $totals ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xml index ac200b6..94ab706 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/CreditmemoTest.php.xml @@ -1,12 +1,88 @@ - + <?php - - + + /** + + + * This file is part of a FireGento e.V. module. + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Test class for creditmemos. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + class FireGento_Pdf_Test_Model_CreditmemoTest @@ -15,24 +91,24 @@ FireGento_Pdf_Test_Model_SalesObjectTestAbstract - + { - + protected - $class + $_class = 'FireGento_Pdf_Model_Creditmemo' ; - + - + public @@ -42,25 +118,25 @@ ( ) - + { - + return 'sales_pdf/creditmemo/engine' ; - + } - + - + public @@ -70,23 +146,23 @@ ( ) - + { - + return 'Mage_Sales_Model_Order_Pdf_Creditmemo' ; - + } - - + + public @@ -96,23 +172,23 @@ ( ) - + { - + return 'Mage_Sales_Model_Order_Creditmemo' ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xml index 2c07dce..e37bfc1 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/InvoiceTest.php.xml @@ -1,12 +1,88 @@ - + <?php - - + + /** + + + * This file is part of a FireGento e.V. module. + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Test class for invoices. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + class FireGento_Pdf_Test_Model_InvoiceTest @@ -15,24 +91,24 @@ FireGento_Pdf_Test_Model_SalesObjectTestAbstract - + { - + protected - $class + $_class = 'FireGento_Pdf_Model_Invoice' ; - + - + public @@ -42,25 +118,25 @@ ( ) - + { - + return 'sales_pdf/invoice/engine' ; - + } - + - + public @@ -70,23 +146,23 @@ ( ) - + { - + return 'Mage_Sales_Model_Order_Pdf_Invoice' ; - + } - - + + public @@ -96,23 +172,23 @@ ( ) - + { - + return 'Mage_Sales_Model_Order_Invoice' ; - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xml index e1ae6b8..6f6f9a0 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/SalesObjectTestAbstract.php.xml @@ -1,50 +1,126 @@ - + <?php - - + + /** + + + * This file is part of a FireGento e.V. module. + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Abstract test class for the different engines. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + abstract class FireGento_Pdf_Test_Model_SalesObjectTestAbstract - + extends EcomDev_PHPUnit_Test_Case - + { - + protected - $class + $_class = '' ; - - + + /** - + * @test - + */ - + public @@ -54,11 +130,11 @@ ( ) - + { - + $this -> @@ -68,30 +144,30 @@ ( $this -> - class + _class ) ) ; - + } - - + + /** - + * @test - + * @depends itShouldExist - + */ - + public @@ -101,17 +177,17 @@ ( ) - + { - + try { - + new @@ -119,14 +195,14 @@ ( $this -> - class + _class , 'getEngine' ) ; - + } @@ -140,7 +216,7 @@ { - + $this -> @@ -154,21 +230,23 @@ ) ; - + } - + } - + - + abstract + public + function getEngineXmlConfigPath @@ -176,13 +254,15 @@ ) ; - + - + abstract + public + function getExpectedDefaultEngineClass @@ -190,8 +270,8 @@ ) ; - - + + abstract @@ -204,21 +284,21 @@ ) ; - - + + /** - + * @test - + * @depends itShouldHaveAMethodGetEngine - + */ - + public @@ -228,14 +308,14 @@ ( ) - + { - + - $this - -> + static + :: app ( ) @@ -257,7 +337,7 @@ ) ; - + $instance @@ -267,10 +347,10 @@ $this -> - class + _class ; - + $result @@ -287,7 +367,7 @@ ) ; - + $this -> @@ -304,25 +384,25 @@ ) ; - + } - - + + /** - + * @test - + * @depends itShouldExist - + */ - + public @@ -332,11 +412,11 @@ ( ) - + { - + $instance @@ -346,10 +426,10 @@ $this -> - class + _class ; - + $this -> @@ -368,25 +448,25 @@ ) ; - + } - - + + /** - + * @test - + * @depends itShouldhaveAMethodGetPdf - + */ - + public @@ -396,11 +476,11 @@ ( ) - + { - + $instance @@ -410,13 +490,11 @@ $this -> - class + _class ; - - - - + + $mockAddress @@ -430,8 +508,8 @@ ) ; - - + + $mockPaymentMethod @@ -439,16 +517,49 @@ $this -> - getMockForAbstractClass + getMock ( 'Mage_Payment_Model_Method_Abstract' ) ; - + + $mockPaymentMethod + -> + expects + ( + $this + -> + any + ( + ) + ) - + + + -> + method + ( + 'getInfoBlockType' + ) + + + + -> + will + ( + $this + -> + returnValue + ( + 'payment/info' + ) + ) + ; + + + $mockPaymentInfo @@ -462,7 +573,7 @@ ) ; - + $mockPaymentInfo -> @@ -475,7 +586,7 @@ ) ) - + -> method @@ -483,7 +594,7 @@ 'getMethodInstance' ) - + -> will @@ -497,8 +608,8 @@ ) ; - - + + $mockOrder @@ -512,7 +623,7 @@ ) ; - + $mockOrder -> @@ -525,7 +636,7 @@ ) ) - + -> method @@ -533,7 +644,7 @@ 'getBillingAddress' ) - + -> will @@ -547,7 +658,7 @@ ) ; - + $mockOrder -> @@ -560,7 +671,7 @@ ) ) - + -> method @@ -568,7 +679,7 @@ 'getShippingAddress' ) - + -> will @@ -582,10 +693,8 @@ ) ; - - - - + + $mockOrder -> @@ -598,7 +707,7 @@ ) ) - + -> method @@ -606,7 +715,7 @@ 'getPayment' ) - + -> will @@ -620,10 +729,10 @@ ) ; - + - + $mockObj @@ -640,14 +749,14 @@ ) ) - + -> disableOriginalConstructor ( ) - + -> getMock @@ -655,7 +764,7 @@ ) ; - + $mockObj -> @@ -668,7 +777,7 @@ ) ) - + -> method @@ -676,7 +785,7 @@ 'getOrder' ) - + -> will @@ -690,7 +799,7 @@ ) ; - + $mockObj -> @@ -703,7 +812,7 @@ ) ) - + -> method @@ -711,7 +820,7 @@ 'getAllItems' ) - + -> will @@ -727,10 +836,39 @@ ) ; - + + + + $currentArea + + = + + Mage + :: + getDesign + ( + ) + -> + getArea + ( + ) + ; + + + Mage + :: + getDesign + ( + ) + -> + setArea + ( + 'adminhtml' + ) + ; - + $result @@ -747,7 +885,21 @@ ) ; - + + + Mage + :: + getDesign + ( + ) + -> + setArea + ( + $currentArea + ) + ; + + $this -> @@ -760,13 +912,13 @@ ) ; - + } - - - + + + protected @@ -789,11 +941,11 @@ null ) - + { - + $method @@ -810,7 +962,7 @@ ) ; - + $method -> @@ -820,7 +972,7 @@ ) ; - + if @@ -833,7 +985,7 @@ { - + return @@ -848,7 +1000,7 @@ ) ; - + } @@ -856,7 +1008,7 @@ { - + return @@ -868,16 +1020,16 @@ ) ; - + } - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xml index 001d9bd..34823c7 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/Test/Model/ShipmentTest.php.xml @@ -1,12 +1,88 @@ - + <?php - - + + /** + + + * This file is part of a FireGento e.V. module. + + * + + + * This FireGento e.V. module is free software; you can redistribute it and/or + + + * modify it under the terms of the GNU General Public License version 3 as + + + * published by the Free Software Foundation. + + + * + + + * This script is distributed in the hope that it will be useful, but WITHOUT + + + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + + + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + + * + + + * PHP version 5 + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + * @copyright 2014 FireGento Team (http://www.firegento.com) + + + * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) + + + */ + + + /** + + + * Test class for shipments. + + + * + + + * @category FireGento + + + * @package FireGento_Pdf + + + * @author FireGento Team <team@firegento.com> + + + */ + + class FireGento_Pdf_Test_Model_ShipmentTest @@ -15,22 +91,22 @@ FireGento_Pdf_Test_Model_SalesObjectTestAbstract - + { - + protected - $class + $_class = 'FireGento_Pdf_Model_Shipment' ; - - + + public @@ -40,23 +116,23 @@ ( ) - + { - + return - 'sales_pdf/invoice/shipment' + 'sales_pdf/shipment/engine' ; - + } - - + + public @@ -66,25 +142,25 @@ ( ) - + { - + return 'Mage_Sales_Model_Order_Pdf_Shipment' ; - + } - + - + public @@ -94,22 +170,23 @@ ( ) - + { - + return 'Mage_Sales_Model_Order_Shipment' ; - + } - + } + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xml new file mode 100644 index 0000000..048819f --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/CreditmemoController.php.xml @@ -0,0 +1,416 @@ + + + + + <?php + + + + require + ( + 'Mage/Adminhtml/controllers/Sales/CreditmemoController.php' + ) + ; + + + + class + + FireGento_Pdf_Adminhtml_Sales_CreditmemoController + + + + extends + + Mage_Adminhtml_Sales_CreditmemoController + + + { + + + + public + + function + + pdfcreditmemosAction + ( + ) + + + + { + + + + $creditmemosIds + + = + + $this + -> + getRequest + ( + ) + -> + getPost + ( + 'creditmemo_ids' + ) + ; + + + + if + + ( + count + ( + $creditmemosIds + ) + + > + + 1 + ) + + { + + + + $invoices + + = + + Mage + :: + getResourceModel + ( + 'sales/order_creditmemo_collection' + ) + + + + -> + addAttributeToSelect + ( + '*' + ) + + + + -> + addAttributeToFilter + ( + 'entity_id' + , + + array + ( + 'in' + + => + + $creditmemosIds + ) + ) + + + + -> + load + ( + ) + ; + + + + if + + ( + ! + isset + ( + $pdf + ) + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_creditmemo' + ) + -> + getPdf + ( + $invoices + ) + ; + + + + } + + else + + { + + + + $pages + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_creditmemo' + ) + -> + getPdf + ( + $invoices + ) + ; + + + + $pdf + -> + pages + + = + + array_merge + ( + $pdf + -> + pages + , + + $pages + -> + pages + ) + ; + + + + } + + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilenameForMultipleDocuments + ( + 'creditmemo' + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + else + + if + + ( + count + ( + $creditmemosIds + ) + + == + + 1 + ) + + { + + + + $creditmemoId + + = + + $creditmemosIds + [ + 0 + ] + ; + + + + if + + ( + $invoice + + = + + Mage + :: + getModel + ( + 'sales/order_creditmemo' + ) + + + + -> + load + ( + $creditmemoId + ) + + + + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_creditmemo' + ) + + + + -> + getPdf + ( + array + ( + $invoice + ) + ) + ; + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + 'creditmemo' + , + + $invoice + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + + + } + + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xml new file mode 100644 index 0000000..7c8045d --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/InvoiceController.php.xml @@ -0,0 +1,416 @@ + + + + + <?php + + + + require + ( + 'Mage/Adminhtml/controllers/Sales/InvoiceController.php' + ) + ; + + + + class + + FireGento_Pdf_Adminhtml_Sales_InvoiceController + + + + extends + + Mage_Adminhtml_Sales_InvoiceController + + + { + + + + public + + function + + pdfinvoicesAction + ( + ) + + + + { + + + + $invoicesIds + + = + + $this + -> + getRequest + ( + ) + -> + getPost + ( + 'invoice_ids' + ) + ; + + + + if + + ( + count + ( + $invoicesIds + ) + + > + + 1 + ) + + { + + + + $invoices + + = + + Mage + :: + getResourceModel + ( + 'sales/order_invoice_collection' + ) + + + + -> + addAttributeToSelect + ( + '*' + ) + + + + -> + addAttributeToFilter + ( + 'entity_id' + , + + array + ( + 'in' + + => + + $invoicesIds + ) + ) + + + + -> + load + ( + ) + ; + + + + if + + ( + ! + isset + ( + $pdf + ) + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_invoice' + ) + -> + getPdf + ( + $invoices + ) + ; + + + + } + + else + + { + + + + $pages + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_invoice' + ) + -> + getPdf + ( + $invoices + ) + ; + + + + $pdf + -> + pages + + = + + array_merge + ( + $pdf + -> + pages + , + + $pages + -> + pages + ) + ; + + + + } + + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilenameForMultipleDocuments + ( + 'invoice' + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + else + + if + + ( + count + ( + $invoicesIds + ) + + == + + 1 + ) + + { + + + + $invoiceId + + = + + $invoicesIds + [ + 0 + ] + ; + + + + if + + ( + $invoice + + = + + Mage + :: + getModel + ( + 'sales/order_invoice' + ) + + + + -> + load + ( + $invoiceId + ) + + + + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_invoice' + ) + + + + -> + getPdf + ( + array + ( + $invoice + ) + ) + ; + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + 'invoice' + , + + $invoice + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + + + } + + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xml index 315cea6..a8dc3ec 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/CreditmemoController.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) @@ -61,61 +61,62 @@ */ - + + require ( 'Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php' ) ; - - + + /** - + * Class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - + */ - + class FireGento_Pdf_Adminhtml_Sales_Order_CreditmemoController - + extends Mage_Adminhtml_Sales_Order_CreditmemoController - + { - - + + /** - + * Create pdf for current creditmemo - + */ - + public @@ -125,11 +126,11 @@ ( ) - + { - + $this -> @@ -138,11 +139,11 @@ ) ; - + /** @see Mage_Adminhtml_Sales_Order_InvoiceController */ - + if @@ -165,7 +166,7 @@ { - + if @@ -181,7 +182,7 @@ 'sales/order_creditmemo' ) - + -> load @@ -189,13 +190,13 @@ $creditmemoId ) - + ) { - + $pdf @@ -208,7 +209,7 @@ 'sales/order_pdf_creditmemo' ) - + -> getPdf @@ -220,14 +221,14 @@ ) ; - + $this -> _prepareDownloadResponse ( - + Mage :: @@ -236,7 +237,7 @@ 'firegento_pdf' ) - + -> getExportFilename @@ -248,7 +249,7 @@ ) , - + $pdf -> @@ -259,16 +260,16 @@ 'application/pdf' - + ) ; - + } - + } @@ -276,7 +277,7 @@ { - + $this -> @@ -286,17 +287,17 @@ ) ; - + } - + } - - + + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xml index 4c35e85..73ca3fb 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/InvoiceController.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xml index e8dff30..9457152 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/Order/ShipmentController.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -53,7 +53,7 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xml new file mode 100644 index 0000000..2c7f4e4 --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/OrderController.php.xml @@ -0,0 +1,1419 @@ + + + + + <?php + + + + require + ( + 'Mage/Adminhtml/controllers/Sales/OrderController.php' + ) + ; + + + + class + + FireGento_Pdf_Adminhtml_Sales_OrderController + + + + extends + + Mage_Adminhtml_Sales_OrderController + + + { + + + + public + + function + + pdfinvoicesAction + ( + ) + + + + { + + + + $orderIds + + = + + $this + -> + getRequest + ( + ) + -> + getPost + ( + 'order_ids' + ) + ; + + + + $flag + + = + + false + ; + + + + if + + ( + ! + empty + ( + $orderIds + ) + ) + + { + + + + $invoice + + = + + null + ; + + + + foreach + + ( + $orderIds + + as + + $orderId + ) + + { + + + + $invoices + + = + + Mage + :: + getResourceModel + ( + 'sales/order_invoice_collection' + ) + + + + -> + setOrderFilter + ( + $orderId + ) + + + + -> + load + ( + ) + ; + + + + if + + ( + $invoices + -> + getSize + ( + ) + + == + + 1 + ) + + { + + + + $invoice + + = + + $invoices + -> + getFirstItem + ( + ) + ; + + + + } + + + + + if + + ( + $invoices + -> + getSize + ( + ) + + > + + 0 + ) + + { + + + + $flag + + = + + true + ; + + + + if + + ( + ! + isset + ( + $pdf + ) + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_invoice' + ) + -> + getPdf + ( + $invoices + ) + ; + + + + } + + else + + { + + + + $pages + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_invoice' + ) + -> + getPdf + ( + $invoices + ) + ; + + + + $pdf + -> + pages + + = + + array_merge + ( + $pdf + -> + pages + , + + $pages + -> + pages + ) + ; + + + + // there is more than one invoice + + + + $invoice + + = + + null + ; + + + + } + + + + } + + + + } + + + + + if + + ( + $flag + ) + + { + + + + if + + ( + $invoice + + != + + null + ) + + { + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + 'invoice' + , + + $invoice + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilenameForMultipleDocuments + ( + 'invoice' + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + else + + { + + + + $this + -> + _getSession + ( + ) + -> + addError + ( + + + + $this + -> + __ + ( + 'There are no printable documents related to selected orders.' + ) + + + + ) + ; + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + + } + + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + + + public + + function + + pdfshipmentsAction + ( + ) + + + + { + + + + $orderIds + + = + + $this + -> + getRequest + ( + ) + -> + getPost + ( + 'order_ids' + ) + ; + + + + $flag + + = + + false + ; + + + + if + + ( + ! + empty + ( + $orderIds + ) + ) + + { + + + + $shipment + + = + + null + ; + + + + foreach + + ( + $orderIds + + as + + $orderId + ) + + { + + + + $shipments + + = + + Mage + :: + getResourceModel + ( + 'sales/order_shipment_collection' + ) + + + + -> + setOrderFilter + ( + $orderId + ) + + + + -> + load + ( + ) + ; + + + + if + + ( + $shipments + -> + getSize + ( + ) + + == + + 1 + ) + + { + + + + $shipment + + = + + $shipments + -> + getFirstItem + ( + ) + ; + + + + } + + + + + if + + ( + $shipments + -> + getSize + ( + ) + + > + + 0 + ) + + { + + + + $flag + + = + + true + ; + + + + if + + ( + ! + isset + ( + $pdf + ) + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_shipment' + ) + -> + getPdf + ( + $shipments + ) + ; + + + + } + + else + + { + + + + $pages + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_shipment' + ) + -> + getPdf + ( + $shipments + ) + ; + + + + $pdf + -> + pages + + = + + array_merge + ( + $pdf + -> + pages + , + + $pages + -> + pages + ) + ; + + + + // there is more than one invoice + + + + $shipment + + = + + null + ; + + + + } + + + + } + + + + } + + + + + if + + ( + $flag + ) + + { + + + + if + + ( + $shipment + + != + + null + ) + + { + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + 'shipment' + , + + $shipment + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilenameForMultipleDocuments + ( + 'shipment' + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + else + + { + + + + $this + -> + _getSession + ( + ) + -> + addError + ( + + + + $this + -> + __ + ( + 'There are no printable documents related to selected orders.' + ) + + + + ) + ; + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + + } + + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + + + public + + function + + pdfcreditmemosAction + ( + ) + + + + { + + + + $orderIds + + = + + $this + -> + getRequest + ( + ) + -> + getPost + ( + 'order_ids' + ) + ; + + + + $flag + + = + + false + ; + + + + if + + ( + ! + empty + ( + $orderIds + ) + ) + + { + + + + $creditmemo + + = + + null + ; + + + + foreach + + ( + $orderIds + + as + + $orderId + ) + + { + + + + $creditmemos + + = + + Mage + :: + getResourceModel + ( + 'sales/order_creditmemo_collection' + ) + + + + -> + setOrderFilter + ( + $orderId + ) + + + + -> + load + ( + ) + ; + + + + if + + ( + $creditmemos + -> + getSize + ( + ) + + == + + 1 + ) + + { + + + + $creditmemo + + = + + $creditmemos + -> + getFirstItem + ( + ) + ; + + + + } + + + + + if + + ( + $creditmemos + -> + getSize + ( + ) + + > + + 0 + ) + + { + + + + $flag + + = + + true + ; + + + + if + + ( + ! + isset + ( + $pdf + ) + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_creditmemo' + ) + -> + getPdf + ( + $creditmemos + ) + ; + + + + } + + else + + { + + + + $pages + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_creditmemo' + ) + -> + getPdf + ( + $creditmemos + ) + ; + + + + $pdf + -> + pages + + = + + array_merge + ( + $pdf + -> + pages + , + + $pages + -> + pages + ) + ; + + + + // there is more than one invoice + + + + $creditmemo + + = + + null + ; + + + + } + + + + } + + + + } + + + + + if + + ( + $flag + ) + + { + + + + if + + ( + $creditmemo + + != + + null + ) + + { + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + 'creditmemo' + , + + $creditmemo + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilenameForMultipleDocuments + ( + 'creditmemo' + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + else + + { + + + + $this + -> + _getSession + ( + ) + -> + addError + ( + + + + $this + -> + __ + ( + 'There are no printable documents related to selected orders.' + ) + + + + ) + ; + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + + } + + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xml new file mode 100644 index 0000000..140195d --- /dev/null +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Adminhtml/Sales/ShipmentController.php.xml @@ -0,0 +1,416 @@ + + + + + <?php + + + + require + ( + 'Mage/Adminhtml/controllers/Sales/ShipmentController.php' + ) + ; + + + + class + + FireGento_Pdf_Adminhtml_Sales_ShipmentController + + + + extends + + Mage_Adminhtml_Sales_ShipmentController + + + { + + + + public + + function + + pdfshipmentsAction + ( + ) + + + + { + + + + $shipmentIds + + = + + $this + -> + getRequest + ( + ) + -> + getPost + ( + 'shipment_ids' + ) + ; + + + + if + + ( + count + ( + $shipmentIds + ) + + > + + 1 + ) + + { + + + + $shipments + + = + + Mage + :: + getResourceModel + ( + 'sales/order_shipment_collection' + ) + + + + -> + addAttributeToSelect + ( + '*' + ) + + + + -> + addAttributeToFilter + ( + 'entity_id' + , + + array + ( + 'in' + + => + + $shipmentIds + ) + ) + + + + -> + load + ( + ) + ; + + + + if + + ( + ! + isset + ( + $pdf + ) + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_shipment' + ) + -> + getPdf + ( + $shipments + ) + ; + + + + } + + else + + { + + + + $pages + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_shipment' + ) + -> + getPdf + ( + $shipments + ) + ; + + + + $pdf + -> + pages + + = + + array_merge + ( + $pdf + -> + pages + , + + $pages + -> + pages + ) + ; + + + + } + + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilenameForMultipleDocuments + ( + 'shipment' + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + else + + if + + ( + count + ( + $shipmentIds + ) + + == + + 1 + ) + + { + + + + $shipmentId + + = + + $shipmentIds + [ + 0 + ] + ; + + + + if + + ( + $shipment + + = + + Mage + :: + getModel + ( + 'sales/order_shipment' + ) + + + + -> + load + ( + $shipmentId + ) + + + + ) + + { + + + + $pdf + + = + + Mage + :: + getModel + ( + 'sales/order_pdf_shipment' + ) + + + + -> + getPdf + ( + array + ( + $shipment + ) + ) + ; + + + + return + + $this + -> + _prepareDownloadResponse + ( + + + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + 'shipment' + , + + $shipment + ) + , + + + + $pdf + -> + render + ( + ) + , + + 'application/pdf' + + + + ) + ; + + + + } + + + + } + + + + + $this + -> + _redirect + ( + '*/*/' + ) + ; + + + + } + + + } + + + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xml index 5cbbf51..03bc2e9 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/controllers/Sales/OrderController.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,62 +53,44 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - - + + require_once 'Mage/Sales/controllers/OrderController.php' ; - - + + /** - + * Sales orders controller - + * - + * @category FireGento - + * @package FireGento_Pdf - + * @author FireGento Team <team@firegento.com> - - * @copyright 2013 FireGento Team (http://www.firegento.com) - - - * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - - - * @version $Id:$ - - - * @since 0.1.0 - - + */ - + class FireGento_Pdf_Sales_OrderController @@ -117,23 +99,23 @@ Mage_Sales_OrderController - + { - + protected $_types - + = array ( - + 'invoice' , @@ -143,35 +125,35 @@ 'shipment' - + ) ; - - + + /** - + * Print PDF Invoice Action - + * - + * it changes the standard action with html output to pdf output - + * - + * @return void - + */ - + public @@ -181,11 +163,11 @@ ( ) - + { - + $this -> @@ -195,35 +177,35 @@ ) ; - + } - - + + /** - + * Print PDF Creditmemo action - + * - + * it changes the standard action with html output to pdf output - + * - + * @return void - + */ - - + + public @@ -233,11 +215,11 @@ ( ) - + { - + $this -> @@ -247,34 +229,34 @@ ) ; - + } - - + + /** - + * Print PDF Shipment Action - + * - + * it changes the standard action with html output to pdf output - + * - + * @return void - + */ - + public @@ -284,11 +266,11 @@ ( ) - + { - + $this -> @@ -298,28 +280,28 @@ ) ; - + } - - + + /** - + * Create invoice, creditmemo or shipment pdf - + * - + * @param string $type which document should be created? invoice, creditmemo or shipment - + */ - + public @@ -330,11 +312,11 @@ $type ) - + { - + if @@ -353,7 +335,7 @@ { - + Mage :: @@ -363,15 +345,16 @@ ) ; - + } - + + /* @var $order Mage_Sales_Model_Order */ - + $documentId @@ -394,7 +377,7 @@ ) ; - + $document @@ -403,7 +386,7 @@ null ; - + if @@ -413,11 +396,11 @@ { - + /* @var $document Mage_Sales_Model_Abstract */ - + $document @@ -435,7 +418,7 @@ ) ; - + $document -> @@ -445,7 +428,7 @@ ) ; - + $order @@ -458,7 +441,7 @@ ) ; - + } @@ -466,7 +449,7 @@ { - + $orderId @@ -485,7 +468,7 @@ ) ; - + $order @@ -504,12 +487,12 @@ ) ; - + } - - + + if @@ -524,7 +507,7 @@ { - + if @@ -537,15 +520,15 @@ { - + // Create a pdf file from all $type s of requested order. - + /* @var $documentsCollection Mage_Sales_Model_Resource_Order_Collection_Abstract */ - + $documentsCollection @@ -567,11 +550,11 @@ ) ; - + $documentsCollection - + -> addAttributeToSelect @@ -579,7 +562,7 @@ '*' ) - + -> addAttributeToFilter @@ -590,7 +573,7 @@ $orderId ) - + -> load @@ -598,7 +581,84 @@ ) ; + + + if + + ( + count + ( + $documentsCollection + ) + + == + + 1 + ) + + { + + + + $filename + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + + + + -> + getExportFilename + ( + $type + , + + $documentsCollection + -> + getFirstItem + ( + ) + ) + ; + + + + } + + else + + { + + + + $filename + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + getExportFilenameForMultipleDocuments + ( + $type + ) + ; + + + } + + } @@ -606,11 +666,11 @@ { - + // Create a single $type pdf. - + $documentsCollection @@ -622,16 +682,38 @@ ) ; - + + + $filename + + = + + Mage + :: + helper + ( + 'firegento_pdf' + ) + -> + getExportFilename + ( + $type + , + + $document + ) + ; + + } - - + + // Store current area and set to adminhtml for $type generation. - + $currentArea @@ -648,7 +730,7 @@ ) ; - + Mage :: @@ -662,12 +744,12 @@ ) ; - - + + /* @var $pdfGenerator Mage_Sales_Model_Order_Pdf_Abstract */ - + $pdfGenerator @@ -685,7 +767,7 @@ ) ; - + $pdf @@ -699,29 +781,16 @@ ) ; - + $this -> _prepareDownloadResponse ( - + - Mage - :: - helper - ( - 'firegento_pdf' - ) - -> - getExportFilename - ( - $type - , - - $document - ) + $filename , $pdf @@ -733,17 +802,17 @@ 'application/pdf' - + ) ; - - + + // Restore area. - + Mage :: @@ -757,8 +826,7 @@ ) ; - - + } @@ -766,7 +834,7 @@ { - + if @@ -785,7 +853,7 @@ { - + $this -> @@ -795,7 +863,7 @@ ) ; - + } @@ -803,7 +871,7 @@ { - + $this -> @@ -813,20 +881,20 @@ ) ; - + } - + } - + } - + } - + diff --git a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xml b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xml index 649763a..6b516eb 100644 --- a/docs/api/xml/tokens/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xml +++ b/docs/api/xml/tokens/app/code/community/FireGento/Pdf/sql/firegento_pdf_setup/upgrade-1.0.0-1.1.0.php.xml @@ -1,6 +1,6 @@ - + <?php @@ -8,13 +8,13 @@ /** - * This file is part of the FIREGENTO project. + * This file is part of a FireGento e.V. module. * - * FireGento_Pdf is free software; you can redistribute it and/or + * This FireGento e.V. module is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3 as @@ -53,25 +53,19 @@ * @author FireGento Team <team@firegento.com> - * @copyright 2013 FireGento Team (http://www.firegento.com) + * @copyright 2014 FireGento Team (http://www.firegento.com) * @license http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3) - * @version $Id:$ - - - * @since 0.1.0 - - */ - - + + /* @var $this Mage_Eav_Model_Entity_Setup */ - + $installer = @@ -79,7 +73,7 @@ $this ; - + $installer -> startSetup @@ -87,8 +81,8 @@ ) ; - - + + $installer -> deleteConfigData @@ -97,8 +91,8 @@ ) ; - - + + $installer -> endSetup @@ -106,5 +100,5 @@ ) ; - +