diff --git a/admin-dev/pdf.php b/admin-dev/pdf.php index bb7a826f8..b7e3c0ca7 100644 --- a/admin-dev/pdf.php +++ b/admin-dev/pdf.php @@ -32,7 +32,7 @@ include(_PS_ADMIN_DIR_.'/../config/config.inc.php'); if (!Context::getContext()->employee->id) Tools::redirectAdmin('index.php?controller=AdminLogin'); -$functionArray = array( +$function_array = array( 'pdf' => 'generateInvoicePDF', 'id_order_slip' => 'generateOrderSlipPDF', 'id_delivery' => 'generateDeliverySlipPDF', @@ -44,7 +44,7 @@ $functionArray = array( 'id_supply_order' => 'generateSupplyOrderFormPDF' ); -foreach ($functionArray as $var => $function) +foreach ($function_array as $var => $function) if (isset($_GET[$var])) { call_user_func($function); @@ -53,16 +53,16 @@ foreach ($functionArray as $var => $function) function generateSupplyOrderFormPDF() { - if (!isset($_GET['id_supply_order'])) + if (!Tools::isSubmit('id_supply_order')) die (Tools::displayError('Missing supply order ID')); - $id_supply_order = (int)$_GET['id_supply_order']; + $id_supply_order = (int)Tools::getValue('id_supply_order'); $supply_order = new SupplyOrder($id_supply_order); if (!Validate::isLoadedObject($supply_order)) die(Tools::displayError('Cannot find this supply order in the database')); - generatePDF($supply_order, PDF::TEMPLATE_SUPPLY_ORDER_FORM); + generatePDF($supply_order, PDF::TEMPLATE_SUPPLY_ORDER_FORM); } function generateInvoicePDF() @@ -78,7 +78,7 @@ function generateInvoicePDF() function generateInvoicePDFByIdOrder($id_order) { - $order = new Order($id_order); + $order = new Order((int)$id_order); if (!Validate::isLoadedObject($order)) die(Tools::displayError('Cannot find order in database')); @@ -89,7 +89,7 @@ function generateInvoicePDFByIdOrder($id_order) function generateInvoicePDFByIdOrderInvoice($id_order_invoice) { - $order_invoice = new OrderInvoice($id_order_invoice); + $order_invoice = new OrderInvoice((int)$id_order_invoice); if (!Validate::isLoadedObject($order_invoice)) die(Tools::displayError('Cannot find order invoice in database')); @@ -99,26 +99,25 @@ function generateInvoicePDFByIdOrderInvoice($id_order_invoice) function generateOrderSlipPDF() { - $orderSlip = new OrderSlip((int)($_GET['id_order_slip'])); - $order = new Order((int)($orderSlip->id_order)); + $orderSlip = new OrderSlip((int)Tools::getValue('id_order_slip')); + $order = new Order((int)$orderSlip->id_order); if (!Validate::isLoadedObject($order)) die(Tools::displayError('Cannot find order in database')); $order->products = OrderSlip::getOrdersSlipProducts($orderSlip->id, $order); - $tmp = NULL; - generatePDF($orderSlip, PDF::TEMPLATE_ORDER_SLIP); + generatePDF($orderSlip, PDF::TEMPLATE_ORDER_SLIP); } function generateDeliverySlipPDF() { if (Tools::isSubmit('id_order')) - generateDeliverySlipPDFByIdOrder(Tools::getValue('id_order')); + generateDeliverySlipPDFByIdOrder((int)Tools::getValue('id_order')); elseif (Tools::isSubmit('id_order_invoice')) - generateDeliverySlipPDFByIdOrderInvoice(Tools::getValue('id_order_invoice')); + generateDeliverySlipPDFByIdOrderInvoice((int)Tools::getValue('id_order_invoice')); elseif (Tools::isSubmit('id_delivery')) { - $order = Order::getByDelivery(Tools::getValue('id_delivery')); - generateDeliverySlipPDFByIdOrder($order->id); + $order = Order::getByDelivery((int)Tools::getValue('id_delivery')); + generateDeliverySlipPDFByIdOrder((int)$order->id); } else die (Tools::displayError('Missing order ID or invoice order ID')); @@ -127,7 +126,7 @@ function generateDeliverySlipPDF() function generateDeliverySlipPDFByIdOrder($id_order) { - $order = new Order($id_order); + $order = new Order((int)$id_order); if (!Validate::isLoadedObject($order)) throw new PrestaShopException('Can\'t load Order object'); @@ -137,7 +136,7 @@ function generateDeliverySlipPDFByIdOrder($id_order) function generateDeliverySlipPDFByIdOrderInvoice($id_order_invoice) { - $order_invoice = new OrderInvoice($id_order_invoice); + $order_invoice = new OrderInvoice((int)$id_order_invoice); if (!Validate::isLoadedObject($order_invoice)) throw new PrestaShopException('Can\'t load Order Invoice object'); @@ -146,9 +145,9 @@ function generateDeliverySlipPDFByIdOrderInvoice($id_order_invoice) function generateInvoicesPDF() { - $order_invoice_collection = OrderInvoice::getByDateInterval($_GET['date_from'], $_GET['date_to']); + $order_invoice_collection = OrderInvoice::getByDateInterval(Tools::getValue('date_from'), Tools::getValue('date_to')); - if (!sizeof($order_invoice_collection)) + if (!count($order_invoice_collection)) die(Tools::displayError('No invoices found')); generatePDF($order_invoice_collection, PDF::TEMPLATE_INVOICE); @@ -158,10 +157,10 @@ function generateInvoicesPDF2() { $order_invoice_collection = array(); foreach (explode('-', Tools::getValue('id_order_state')) as $id_order_state) - if (is_array($order_invoices = OrderInvoice::getByStatus($id_order_state))) + if (is_array($order_invoices = OrderInvoice::getByStatus((int)$id_order_state))) $order_invoice_collection = array_merge($order_invoices, $order_invoice_collection); - if (!sizeof($order_invoice_collection)) + if (!count($order_invoice_collection)) die(Tools::displayError('No invoices found')); generatePDF($order_invoice_collection, PDF::TEMPLATE_INVOICE); @@ -169,7 +168,7 @@ function generateInvoicesPDF2() function generateOrderSlipsPDF() { - $id_order_slips_list = OrderSlip::getSlipsIdByDate($_GET['date_from'], $_GET['date_to']); + $id_order_slips_list = OrderSlip::getSlipsIdByDate(Tools::getValue('date_from'), Tools::getValue('date_to')); if (!count($id_order_slips_list)) die (Tools::displayError('No order slips found')); @@ -184,7 +183,7 @@ function generateDeliverySlipsPDF() { $order_invoice_collection = OrderInvoice::getByDeliveryDateInterval(Tools::getValue('date_from'), Tools::getValue('date_to')); - if (!sizeof($order_invoice_collection)) + if (!count($order_invoice_collection)) die(Tools::displayError('No invoices found')); generatePDF($order_invoice_collection, PDF::TEMPLATE_DELIVERY_SLIP); @@ -192,7 +191,6 @@ function generateDeliverySlipsPDF() function generatePDF($object, $template) { - global $smarty; - $pdf = new PDF($object, $template, $smarty); + $pdf = new PDF($object, $template, Context::getContext()->smarty); $pdf->render(); } \ No newline at end of file diff --git a/classes/pdf/HTMLTemplate.php b/classes/pdf/HTMLTemplate.php index bbdda03bf..f496a14dd 100755 --- a/classes/pdf/HTMLTemplate.php +++ b/classes/pdf/HTMLTemplate.php @@ -35,7 +35,7 @@ abstract class HTMLTemplateCore public $date; public $available_in_your_account = true; public $smarty; - public $shop; + public $shop; /** * Returns the template's HTML header @@ -43,9 +43,9 @@ abstract class HTMLTemplateCore */ public function getHeader() { - $shop_name = ''; - if (Validate::isLoadedObject($this->shop)) - $shop_name = $this->shop->name; + $shop_name = ''; + if (Validate::isLoadedObject($this->shop)) + $shop_name = $this->shop->name; $this->smarty->assign(array( 'logo_path' => $this->getLogo(), @@ -65,7 +65,7 @@ abstract class HTMLTemplateCore */ public function getFooter() { - $shop_address = $this->getShopAddress(); + $shop_address = $this->getShopAddress(); $this->smarty->assign(array( 'available_in_your_account' => $this->available_in_your_account, @@ -75,32 +75,33 @@ abstract class HTMLTemplateCore 'shop_details' => Configuration::get('PS_SHOP_DETAILS'), 'free_text' => Configuration::get('PS_INVOICE_FREE_TEXT') )); + return $this->smarty->fetch(_PS_THEME_DIR_.'/pdf/footer.tpl'); } - /** - * Returns the shop address - * @return string - */ - protected function getShopAddress() - { - $shop_address = ''; - if (Validate::isLoadedObject($this->shop)) - { - $shop_address_obj = $this->shop->getAddress(); - if (isset($shop_address_obj) && $shop_address_obj instanceof Address) - $shop_address = AddressFormat::generateAddress($shop_address_obj, array(), ' - ', ' '); - return $shop_address; - } + /** + * Returns the shop address + * @return string + */ + protected function getShopAddress() + { + $shop_address = ''; + if (Validate::isLoadedObject($this->shop)) + { + $shop_address_obj = $this->shop->getAddress(); + if (isset($shop_address_obj) && $shop_address_obj instanceof Address) + $shop_address = AddressFormat::generateAddress($shop_address_obj, array(), ' - ', ' '); + return $shop_address; + } - return $shop_address; - } + return $shop_address; + } - /** + /** * Returns the invoice logo */ - protected function getLogo() - { + protected function getLogo() + { $logo = ''; if (file_exists(_PS_IMG_DIR_.'logo_invoice.jpg')) @@ -109,7 +110,7 @@ abstract class HTMLTemplateCore $logo = _PS_IMG_.'logo.jpg'; return $logo; - } + } /** * Assign hook data @@ -122,7 +123,7 @@ abstract class HTMLTemplateCore $hook_name = 'displayPDF'.$template; $this->smarty->assign(array( - 'HOOK_DISPLAY_PDF' => Hook::exec($hook_name, array('object' => $object)), + 'HOOK_DISPLAY_PDF' => Hook::exec($hook_name, array('object' => $object)) )); } @@ -137,16 +138,13 @@ abstract class HTMLTemplateCore * Returns the template filename * @return string filename */ - abstract public function getFilename(); + abstract public function getFilename(); /** * Returns the template filename when using bulk rendering * @return string filename */ - abstract public function getBulkFilename(); - - - + abstract public function getBulkFilename(); /** * Translatation method @@ -157,15 +155,16 @@ abstract class HTMLTemplateCore { $iso = Context::getContext()->language->iso_code; - if (!Validate::isLangIsoCode($iso)) - die('Invalid iso lang ('.$iso.')'); + if (!Validate::isLangIsoCode($iso)) + Tools::displayError(sprintf('Invalid iso lang (%s)', Tools::safeOutput($iso))); - if (@!include(_PS_THEME_DIR_.'pdf/lang/'.$iso.'.php')) - die('Cannot include PDF translation language file : '._PS_THEME_DIR_.'pdf/lang/'.$iso.'.php'); + $file_name = _PS_THEME_DIR_.'pdf/lang/'.$iso.'.php'; + if (!file_exists($file_name) || !include($file_name)) + Tools::displayError(sprintf('Cannot include PDF translation language file : %s', $file_name)); if (!isset($_LANGPDF) || !is_array($_LANGPDF)) return str_replace('"', '"', $string); - $key = md5(str_replace('\'', '\\\'', $string)); + $key = md5(str_replace('\'', '\\\'', $string)); $str = (key_exists('PDF'.$key, $_LANGPDF) ? $_LANGPDF['PDF'.$key] : $string); return $str; diff --git a/classes/pdf/HTMLTemplateDeliverySlip.php b/classes/pdf/HTMLTemplateDeliverySlip.php index 6e7dda7c0..ad2b331a8 100755 --- a/classes/pdf/HTMLTemplateDeliverySlip.php +++ b/classes/pdf/HTMLTemplateDeliverySlip.php @@ -52,20 +52,16 @@ class HTMLTemplateDeliverySlipCore extends HTMLTemplate */ public function getContent() { - $country = new Country((int)$this->order->id_address_invoice); - $delivery_address = new Address((int)$this->order->id_address_delivery); $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '
', ' '); $formatted_invoice_address = ''; if ($this->order->id_address_delivery != $this->order->id_address_invoice) { - $invoice_address = new Address((int)$id_address_invoice); + $invoice_address = new Address((int)$this->order->id_address_invoice); $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '
', ' '); } - $customer = new Customer($this->order->id_customer); - $this->smarty->assign(array( 'order' => $this->order, 'order_details' => $this->order_invoice->getProducts(), @@ -81,18 +77,18 @@ class HTMLTemplateDeliverySlipCore extends HTMLTemplate * Returns the template filename when using bulk rendering * @return string filename */ - public function getBulkFilename() - { - return 'deliveries.pdf'; - } + public function getBulkFilename() + { + return 'deliveries.pdf'; + } /** * Returns the template filename * @return string filename */ - public function getFilename() - { - return Configuration::get('PS_DELIVERY_PREFIX').sprintf('%06d', $this->order->invoice_number).'.pdf'; - } + public function getFilename() + { + return Configuration::get('PS_DELIVERY_PREFIX').sprintf('%06d', $this->order->invoice_number).'.pdf'; + } } diff --git a/classes/pdf/HTMLTemplateInvoice.php b/classes/pdf/HTMLTemplateInvoice.php index 76a5aa3d9..8a4be8c23 100755 --- a/classes/pdf/HTMLTemplateInvoice.php +++ b/classes/pdf/HTMLTemplateInvoice.php @@ -31,19 +31,19 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate { public $order; - - public $available_in_your_account = false; + public $available_in_your_account = false; public function __construct(OrderInvoice $order_invoice, $smarty) { $this->order_invoice = $order_invoice; - $this->order = new Order($this->order_invoice->id_order); + $this->order = new Order((int)$this->order_invoice->id_order); $this->smarty = $smarty; // header informations $this->date = Tools::displayDate($order_invoice->date_add, (int)$this->order->id_lang); - $this->title = HTMLTemplateInvoice::l('Invoice ').' #'.Configuration::get('PS_INVOICE_PREFIX', Context::getContext()->language->id).sprintf('%06d', $order_invoice->number); + $id_lang = Context::getContext()->language->id; + $this->title = HTMLTemplateInvoice::l('Invoice ').' #'.Configuration::get('PS_INVOICE_PREFIX', $id_lang).sprintf('%06d', $order_invoice->number); // footer informations $this->shop = new Shop((int)$this->order->id_shop); } @@ -61,11 +61,11 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate if ($this->order->id_address_delivery != $this->order->id_address_invoice) { - $delivery_address = new Address((int)$this->order->id_address_delivery); - $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '
', ' '); + $delivery_address = new Address((int)$this->order->id_address_delivery); + $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '
', ' '); } - $customer = new Customer($this->order->id_customer); + $customer = new Customer((int)$this->order->id_customer); $this->smarty->assign(array( 'order' => $this->order, @@ -73,7 +73,7 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'tax_excluded_display' => Group::getPriceDisplayMethod($customer->id_default_group), - 'tax_tab' => $this->getTaxTabContent(), + 'tax_tab' => $this->getTaxTabContent(), 'customer' => $customer )); @@ -83,12 +83,12 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate /** * Returns the tax tab content */ - public function getTaxTabContent() - { + public function getTaxTabContent() + { $invoice_address = new Address((int)$this->order->id_address_invoice); $tax_exempt = Configuration::get('VATNUMBER_MANAGEMENT') - && !empty($invoiceAddress->vat_number) - && $invoiceAddress->id_country != Configuration::get('VATNUMBER_COUNTRY'); + && !empty($invoice_address->vat_number) + && $invoice_address->id_country != Configuration::get('VATNUMBER_COUNTRY'); $this->smarty->assign(array( 'tax_exempt' => $tax_exempt, @@ -101,7 +101,7 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate )); return $this->smarty->fetch(_PS_THEME_DIR_.'/pdf/invoice.tax-tab.tpl'); - } + } /** * Returns the invoice template associated to the country iso_code @@ -123,18 +123,18 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate * Returns the template filename when using bulk rendering * @return string filename */ - public function getBulkFilename() - { - return 'invoices.pdf'; - } + public function getBulkFilename() + { + return 'invoices.pdf'; + } /** * Returns the template filename * @return string filename */ - public function getFilename() - { - return Configuration::get('PS_INVOICE_PREFIX').sprintf('%06d', $this->order_invoice->number).'.pdf'; - } + public function getFilename() + { + return Configuration::get('PS_INVOICE_PREFIX').sprintf('%06d', $this->order_invoice->number).'.pdf'; + } } diff --git a/classes/pdf/HTMLTemplateOrderReturn.php b/classes/pdf/HTMLTemplateOrderReturn.php index 7357d1f07..7621f9be2 100755 --- a/classes/pdf/HTMLTemplateOrderReturn.php +++ b/classes/pdf/HTMLTemplateOrderReturn.php @@ -30,22 +30,22 @@ */ class HTMLTemplateOrderReturnCore extends HTMLTemplate { - public $order_return; - public $order; + public $order_return; + public $order; - public function __construct(OrderReturn $order_return, $smarty) - { + public function __construct(OrderReturn $order_return, $smarty) + { $this->order_return = $order_return; - $this->smarty = $smarty; - $this->order = new Order($order_return->id_order); + $this->smarty = $smarty; + $this->order = new Order($order_return->id_order); // header informations $this->date = Tools::displayDate($this->order->invoice_date, (int)$this->order->id_lang); - $this->title = HTMLTemplateOrderReturn::l('Order Return '.sprintf('%06d', $this->order_return->id)); // TODO + $this->title = HTMLTemplateOrderReturn::l('Order Return '.sprintf('%06d', $this->order_return->id)); // footer informations $this->shop = new Shop((int)$this->order->id_shop); - } + } /** * Returns the template's HTML content @@ -59,37 +59,36 @@ class HTMLTemplateOrderReturnCore extends HTMLTemplate if ($this->order->id_address_delivery != $this->order->id_address_invoice) { - $invoice_address = new Address((int)$id_address_invoice); + $invoice_address = new Address((int)$this->order->id_address_invoice); $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '
', ' '); } $this->smarty->assign(array( - 'order_return' => $this->order_return, + 'order_return' => $this->order_return, 'return_nb_days' => (int)Configuration::get('PS_ORDER_RETURN_NB_DAYS'), - 'products' => OrderReturn::getOrdersReturnProducts($this->order_return->id, $this->order), + 'products' => OrderReturn::getOrdersReturnProducts((int)$this->order_return->id, $this->order), 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, - 'shop_address' => AddressFormat::generateAddress($this->address, array(), '
', ' ') - )); - return $this->smarty->fetch(_PS_THEME_DIR_.'/pdf/order-return.tpl'); + 'shop_address' => AddressFormat::generateAddress($this->address, array(), '
', ' ') + )); + return $this->smarty->fetch(_PS_THEME_DIR_.'/pdf/order-return.tpl'); } /** * Returns the template filename * @return string filename */ - public function getFilename() - { - return sprintf('%06d', $this->order_return->id).'.pdf'; // TODO - } + public function getFilename() + { + return sprintf('%06d', $this->order_return->id).'.pdf'; + } /** * Returns the template filename when using bulk rendering * @return string filename */ - public function getBulkFilename() - { - return 'invoices.pdf'; - } + public function getBulkFilename() + { + return 'invoices.pdf'; + } } - diff --git a/classes/pdf/HTMLTemplateOrderSlip.php b/classes/pdf/HTMLTemplateOrderSlip.php index 09aea3b3e..77514aaa8 100644 --- a/classes/pdf/HTMLTemplateOrderSlip.php +++ b/classes/pdf/HTMLTemplateOrderSlip.php @@ -39,15 +39,15 @@ class HTMLTemplateOrderSlipCore extends HTMLTemplateInvoice $this->order = new Order((int)$order_slip->id_order); $products = OrderSlip::getOrdersSlipProducts($this->order_slip->id, $this->order); - $customizedDatas = Product::getAllCustomizedDatas((int)($this->order->id_cart)); - Product::addCustomizationPrice($products, $customizedDatas); + $customized_datas = Product::getAllCustomizedDatas((int)$this->order->id_cart); + Product::addCustomizationPrice($products, $customized_datas); $this->order->products = $products; $this->smarty = $smarty; // header informations $this->date = Tools::displayDate($this->order->invoice_date, (int)$this->order->id_lang); - $this->title = HTMLTemplateOrderSlip::l('Slip #').sprintf('%06d', $this->order_slip->id); + $this->title = HTMLTemplateOrderSlip::l('Slip #').sprintf('%06d', (int)$this->order_slip->id); // footer informations $this->shop = new Shop((int)$this->order->id_shop); @@ -59,7 +59,6 @@ class HTMLTemplateOrderSlipCore extends HTMLTemplateInvoice */ public function getContent() { - $country = new Country((int)$this->order->id_address_invoice); $invoice_address = new Address((int)$this->order->id_address_invoice); $formatted_invoice_address = AddressFormat::generateAddress($invoice_address, array(), '
', ' '); $formatted_delivery_address = ''; @@ -70,36 +69,34 @@ class HTMLTemplateOrderSlipCore extends HTMLTemplateInvoice $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '
', ' '); } - $customer = new Customer($this->order->id_customer); + $customer = new Customer((int)$this->order->id_customer); - - $this->order->total_products = 0; - $this->order->total_products_wt = 0; - foreach ($this->order->products as $k => $p) + $this->order->total_products = $this->order->total_products_wt = 0; + foreach ($this->order->products as &$product) { - $this->order->products[$k]['total_price_tax_excl'] = $this->order->products[$k]['unit_price_tax_excl'] * $this->order->products[$k]['product_quantity']; - $this->order->products[$k]['total_price_tax_incl'] = $this->order->products[$k]['unit_price_tax_incl'] * $this->order->products[$k]['product_quantity']; + $product['total_price_tax_excl'] = $product['unit_price_tax_excl'] * $product['product_quantity']; + $product['total_price_tax_incl'] = $product['unit_price_tax_incl'] * $product['product_quantity']; if ($this->order_slip->partial == 1) { - $order_slip_detail = Db::getInstance()->getRow('SELECT * FROM `'._DB_PREFIX_.'order_slip_detail` WHERE `id_order_slip` = '.(int)$this->order_slip->id.' AND `id_order_detail` = '.(int)$p['id_order_detail']); - $this->order->products[$k]['total_price_tax_excl'] = $order_slip_detail['amount_tax_excl']; - $this->order->products[$k]['total_price_tax_incl'] = $order_slip_detail['amount_tax_incl']; + $order_slip_detail = Db::getInstance()->getRow(' + SELECT * FROM `'._DB_PREFIX_.'order_slip_detail` + WHERE `id_order_slip` = '.(int)$this->order_slip->id.' + AND `id_order_detail` = '.(int)$product['id_order_detail']); + $product['total_price_tax_excl'] = $order_slip_detail['amount_tax_excl']; + $product['total_price_tax_incl'] = $order_slip_detail['amount_tax_incl']; } - $this->order->total_products += $this->order->products[$k]['total_price_tax_excl']; - $this->order->total_products_wt += $this->order->products[$k]['total_price_tax_incl']; + $this->order->total_products += $product['total_price_tax_excl']; + $this->order->total_products_wt += $product['total_price_tax_incl']; $this->order->total_paid_tax_excl = $this->order->total_products; $this->order->total_paid_tax_incl = $this->order->total_products_wt; } + unset($product); // remove reference if ($this->order_slip->shipping_cost == 0) - { - $this->order->total_shipping_tax_incl = 0; - $this->order->total_shipping_tax_excl = 0; - } + $this->order->total_shipping_tax_incl = $this->order->total_shipping_tax_excl = 0; + if ($this->order_slip->partial == 1 && $this->order_slip->shipping_cost_amount > 0) - { - $this->order->total_shipping_tax_incl = $this->order_slip->shipping_cost_amount; - $this->order->total_shipping_tax_excl = $this->order_slip->shipping_cost_amount; - } + $this->order->total_shipping_tax_incl = $this->order->total_shipping_tax_excl = $this->order_slip->shipping_cost_amount; + $this->order->total_paid_tax_incl += $this->order->total_shipping_tax_incl; $this->order->total_paid_tax_excl += $this->order->total_shipping_tax_excl; @@ -109,8 +106,8 @@ class HTMLTemplateOrderSlipCore extends HTMLTemplateInvoice 'order_details' => $this->order->products, 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, - 'tax_excluded_display' => Group::getPriceDisplayMethod($customer->id_default_group), - 'tax_tab' => '', + 'tax_excluded_display' => Group::getPriceDisplayMethod((int)$customer->id_default_group), + 'tax_tab' => '', )); return $this->smarty->fetch(_PS_THEME_DIR_.'/pdf/order-slip.tpl'); @@ -133,5 +130,4 @@ class HTMLTemplateOrderSlipCore extends HTMLTemplateInvoice { return 'order-slip-'.sprintf('%06d', $this->order_slip->id).'.pdf'; } -} - +} \ No newline at end of file diff --git a/classes/pdf/HTMLTemplateSupplyOrderForm.php b/classes/pdf/HTMLTemplateSupplyOrderForm.php index fe06fe9f4..ba9e967ba 100644 --- a/classes/pdf/HTMLTemplateSupplyOrderForm.php +++ b/classes/pdf/HTMLTemplateSupplyOrderForm.php @@ -39,13 +39,13 @@ class HTMLTemplateSupplyOrderFormCore extends HTMLTemplate public function __construct(SupplyOrder $supply_order, $smarty) { $this->supply_order = $supply_order; - $this->smarty = $smarty; - $this->context = Context::getContext(); - $this->warehouse = new Warehouse($supply_order->id_warehouse); - $this->address_warehouse = new Address($this->warehouse->id_address); - $this->address_supplier = new Address(Address::getAddressIdBySupplierId($supply_order->id_supplier)); + $this->smarty = $smarty; + $this->context = Context::getContext(); + $this->warehouse = new Warehouse((int)$supply_order->id_warehouse); + $this->address_warehouse = new Address((int)$this->warehouse->id_address); + $this->address_supplier = new Address(Address::getAddressIdBySupplierId((int)$supply_order->id_supplier)); - // header informations + // header informations $this->date = Tools::displayDate($supply_order->date_add, (int)$this->supply_order->id_lang); $this->title = HTMLTemplateSupplyOrderForm::l('Supply order form').sprintf(' %s', $supply_order->reference); } @@ -55,13 +55,13 @@ class HTMLTemplateSupplyOrderFormCore extends HTMLTemplate */ public function getContent() { - $supply_order_details = $this->supply_order->getEntriesCollection($this->supply_order->id_lang); + $supply_order_details = $this->supply_order->getEntriesCollection((int)$this->supply_order->id_lang); $this->roundSupplyOrderDetails($supply_order_details); $this->roundSupplyOrder($this->supply_order); $tax_order_summary = $this->getTaxOrderSummary(); - $currency = new Currency($this->supply_order->id_currency); + $currency = new Currency((int)$this->supply_order->id_currency); $this->smarty->assign(array( 'warehouse' => $this->warehouse, @@ -78,46 +78,47 @@ class HTMLTemplateSupplyOrderFormCore extends HTMLTemplate /** * @see HTMLTemplate::getBulkFilename() */ - public function getBulkFilename() - { - return 'supply_order.pdf'; - } + public function getBulkFilename() + { + return 'supply_order.pdf'; + } /** * @see HTMLTemplate::getFileName() */ - public function getFilename() - { - return (self::l('SupplyOrderForm').sprintf('_%s', $this->supply_order->reference).'.pdf'); - } + public function getFilename() + { + return self::l('SupplyOrderForm').sprintf('_%s', $this->supply_order->reference).'.pdf'; + } - protected function getTaxOrderSummary() - { - $query = new DbQuery(); - $query->select(' - SUM(price_with_order_discount_te) as base_te, - tax_rate, - SUM(tax_value_with_order_discount) as total_tax_value - '); - $query->from('supply_order_detail'); - $query->where('id_supply_order = '.(int)$this->supply_order->id); - $query->groupBy('tax_rate'); + protected function getTaxOrderSummary() + { + $query = new DbQuery(); + $query->select(' + SUM(price_with_order_discount_te) as base_te, + tax_rate, + SUM(tax_value_with_order_discount) as total_tax_value + '); + $query->from('supply_order_detail'); + $query->where('id_supply_order = '.(int)$this->supply_order->id); + $query->groupBy('tax_rate'); - $results = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); + $results = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); - foreach ($results as &$result) - { - $result['base_te'] = Tools::ps_round($result['base_te'], 2); - $result['tax_rate'] = Tools::ps_round($result['tax_rate'], 2); - $result['total_tax_value'] = Tools::ps_round($result['total_tax_value'], 2); - } + foreach ($results as &$result) + { + $result['base_te'] = Tools::ps_round($result['base_te'], 2); + $result['tax_rate'] = Tools::ps_round($result['tax_rate'], 2); + $result['total_tax_value'] = Tools::ps_round($result['total_tax_value'], 2); + } + unset($result); // remove reference - return $results; - } + return $results; + } - /** - * @see HTMLTemplate::getFooter() - */ + /** + * @see HTMLTemplate::getFooter() + */ public function getFooter() { $this->address = $this->address_warehouse; diff --git a/classes/pdf/PDF.php b/classes/pdf/PDF.php index a78fd9e4d..a536b2d12 100755 --- a/classes/pdf/PDF.php +++ b/classes/pdf/PDF.php @@ -81,13 +81,13 @@ class PDFCore } if ($render) - return $this->pdf_renderer->render($this->filename, $display); + return $this->pdf_renderer->render($this->filename, $display); } - public function getTemplateObject($object) - { - $class = false; - $classname = 'HTMLTemplate'.$this->template; + public function getTemplateObject($object) + { + $class = false; + $classname = 'HTMLTemplate'.$this->template; if (class_exists($classname)) { @@ -96,7 +96,6 @@ class PDFCore throw new PrestaShopException('Invalid class. It should be an instance of HTMLTemplate'); } - return $class; - } -} - + return $class; + } +} \ No newline at end of file diff --git a/classes/pdf/PDFGenerator.php b/classes/pdf/PDFGenerator.php index 08cde5a29..2b140e54a 100755 --- a/classes/pdf/PDFGenerator.php +++ b/classes/pdf/PDFGenerator.php @@ -94,7 +94,7 @@ class PDFGeneratorCore extends TCPDF */ public function setFontForLang($iso_lang) { - $this->font = self::DEFAULT_FONT; + $this->font = PDFGenerator::DEFAULT_FONT; if (array_key_exists($iso_lang, $this->font_by_lang)) $this->font = $this->font_by_lang[$iso_lang]; @@ -106,7 +106,7 @@ class PDFGeneratorCore extends TCPDF */ public function Header() { - $this->writehtml($this->header); + $this->writeHTML($this->header); } /** @@ -114,7 +114,7 @@ class PDFGeneratorCore extends TCPDF */ public function Footer() { - $this->writehtml($this->footer); + $this->writeHTML($this->footer); } /** @@ -131,8 +131,8 @@ class PDFGeneratorCore extends TCPDF $this->lastPage(); - $output = $display ? 'I' : 'S'; - return $this->output($filename, $output); + $output = $display ? 'I' : 'S'; + return $this->output($filename, $output); } /** @@ -147,7 +147,6 @@ class PDFGeneratorCore extends TCPDF $this->AddPage(); - $this->writehtml($this->content, true, false, true, false, ''); + $this->writeHTML($this->content, true, false, true, false, ''); } -} - +} \ No newline at end of file