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 (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}