diff --git a/classes/Tools.php b/classes/Tools.php index 7827d5272..793063dcc 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -666,7 +666,7 @@ class ToolsCore { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['description']); - + // Paginate title if (!empty($row['meta_title'])) $row['meta_title'] = $row['meta_title'].(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME'); diff --git a/modules/cheque/cheque.php b/modules/cheque/cheque.php index fb645bded..066752fe3 100644 --- a/modules/cheque/cheque.php +++ b/modules/cheque/cheque.php @@ -197,6 +197,11 @@ class Cheque extends PaymentModule return false; } + /** + * This action display payment form + * + * @param bool $direct_call For retrocompatibility + */ public function actionPayment($direct_call = false) { if (!$this->active) @@ -224,4 +229,43 @@ class Cheque extends PaymentModule // For retrocompatibility return $this->display(__FILE__, 'payment_execution.tpl'); } + + /** + * This action validate the payment + */ + public function actionValidation($direct_call = false) + { + $cart = $this->context->cart; + + if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->active) + Tools::redirect('index.php?controller=order&step=1'); + + // Check that this payment option is still available in case the customer changed his address just before the end of the checkout process + $authorized = false; + foreach (Module::getPaymentModules() as $module) + if ($module['name'] == 'cheque') + { + $authorized = true; + break; + } + if (!$authorized) + die(Tools::displayError('This payment method is not available.')); + + $customer = new Customer($cart->id_customer); + + if (!Validate::isLoadedObject($customer)) + Tools::redirect('index.php?controller=order&step=1'); + + $currency = Tools::isSubmit('currency_payement') ? new Currency(Tools::getValue('currency_payement')) : $context->currency; + $total = (float)$cart->getOrderTotal(true, Cart::BOTH); + + $mailVars = array( + '{cheque_name}' => Configuration::get('CHEQUE_NAME'), + '{cheque_address}' => Configuration::get('CHEQUE_ADDRESS'), + '{cheque_address_html}' => str_replace("\n", '
', Configuration::get('CHEQUE_ADDRESS'))); + + $this->validateOrder((int)$cart->id, Configuration::get('PS_OS_CHEQUE'), $total, $this->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key); + + Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)($cart->id).'&id_module='.(int)$this->id.'&id_order='.$this->currentOrder.'&key='.$customer->secure_key); + } } diff --git a/modules/cheque/payment.php b/modules/cheque/payment.php index 0d369afa5..f5c391ce5 100644 --- a/modules/cheque/payment.php +++ b/modules/cheque/payment.php @@ -25,10 +25,16 @@ * International Registered Trademark & Property of PrestaShop SA */ +/** + * @deprecated This file is deprecated, use moduleController instead + */ + /* SSL Management */ $useSSL = true; include(dirname(__FILE__).'/../../config/config.inc.php'); +Tools::displayFileAsDeprecated(); + include(dirname(__FILE__).'/../../header.php'); include(dirname(__FILE__).'/cheque.php'); diff --git a/modules/cheque/payment.tpl b/modules/cheque/payment.tpl index 18254dadc..ef76157fd 100644 --- a/modules/cheque/payment.tpl +++ b/modules/cheque/payment.tpl @@ -25,7 +25,7 @@ *}

- + {l s='Pay by cheque' mod='cheque'} {l s='Pay by cheque (order process will be longer)' mod='cheque'} diff --git a/modules/cheque/payment_execution.tpl b/modules/cheque/payment_execution.tpl index bf8425c37..46409092f 100644 --- a/modules/cheque/payment_execution.tpl +++ b/modules/cheque/payment_execution.tpl @@ -1,5 +1,5 @@ {* -* 2007-2011 PrestaShop +* 2007-2011 PrestaShop * * NOTICE OF LICENSE * @@ -37,7 +37,7 @@ {else}

{l s='Cheque payment' mod='cheque'}

-
+

{l s='cheque' mod='cheque'} {l s='You have chosen to pay by cheque.' mod='cheque'} diff --git a/modules/cheque/validation.php b/modules/cheque/validation.php index 13eecb44e..b41cbb872 100644 --- a/modules/cheque/validation.php +++ b/modules/cheque/validation.php @@ -25,7 +25,13 @@ * International Registered Trademark & Property of PrestaShop SA */ +/** + * @deprecated This file is deprecated, use moduleController instead + */ + include(dirname(__FILE__).'/../../config/config.inc.php'); +Tools::displayFileAsDeprecated(); + include(dirname(__FILE__).'/../../header.php'); include(dirname(__FILE__).'/cheque.php');