// Merge -> revision 9221

This commit is contained in:
rMalie
2011-10-11 12:45:12 +00:00
parent b0cc80ad01
commit eeb5b16112
77 changed files with 1987 additions and 815 deletions
+25 -20
View File
@@ -1,6 +1,6 @@
<?php
/*
* 2007-2011 PrestaShop
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
@@ -34,8 +34,8 @@ require_once(_PS_MODULE_DIR_ . 'socolissimo/socolissimo.php');
$validReturn = array('PUDOFOID','CECIVILITY','CENAME','CEFIRSTNAME', 'CECOMPANYNAME','CEEMAIL','CEPHONENUMBER', 'DELIVERYMODE','CEADRESS1','CEADRESS2','CEADRESS3','CEADRESS4',
'CEZIPCODE','CEDOORCODE1','CEDOORCODE2','CEENTRYPHONE','DYPREPARATIONTIME','DYFORWARDINGCHARGES','ORDERID', 'SIGNATURE','ERRORCODE','TRPARAMPLUS','TRCLIENTNUMBER','PRID','PRNAME',
'PRCOMPLADRESS','PRADRESS1','PRADRESS2','PRZIPCODE', 'PRTOWN','CETOWN','TRADERCOMPANYNAME', 'CEDELIVERYINFORMATION', 'CEDOORCODE1', 'CEDOORCODE2');
//list of non-blocking error
//list of non-blocking error
$nonBlockingError = array(133, 131, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501);
$so = new Socolissimo();
@@ -44,20 +44,27 @@ $return = array();
foreach ($_POST AS $key => $val)
if (in_array(strtoupper($key),$validReturn))
$return[strtoupper($key)] = utf8_encode(urldecode(stripslashes($val)));
if (isset($return['SIGNATURE']) AND isset($return['CENAME']) AND isset($return['DYPREPARATIONTIME']) AND isset($return['DYFORWARDINGCHARGES']) AND isset($return['TRCLIENTNUMBER']) AND isset($return['ORDERID']) AND isset($return['TRCLIENTNUMBER']))
{
if (!isset($return['ERRORCODE']) OR $return['ERRORCODE'] == NULL OR in_array($return['ERRORCODE'],$nonBlockingError))
{
{
if ($return['SIGNATURE'] === socolissimo::make_key($return['CENAME'],(float)($return['DYPREPARATIONTIME']),$return['DYFORWARDINGCHARGES'],$return['TRCLIENTNUMBER'], $return['ORDERID']))
{
if (Context::getContext()->cart->id)
{
if (saveOrderShippingDetails(Context::getContext()->cart->id,(int)($return['TRCLIENTNUMBER']),$return))
{
Context::getContext()->cart->id_carrier = (int)($_POST['TRPARAMPLUS']);
if (!Context::getContext()->cart->update())
{
$cart = Context::getContext()->cart;
$TRPARAMPLUS = explode('|', Tools::getValue('TRPARAMPLUS'));
$cart->id_carrier = $TRPARAMPLUS[0];
$cart->gift = (int)$TRPARAMPLUS[1];
if ((int)$cart->gift)
if (Validate::isMessage($TRPARAMPLUS[2]))
$cart->gift_message = strip_tags($TRPARAMPLUS[2]);
if (!$cart->update())
Tools::redirect();
else
Tools::redirect('index.php?controller=order&step=3');
@@ -81,7 +88,7 @@ if (isset($return['SIGNATURE']) AND isset($return['CENAME']) AND isset($return['
echo '<div class="alert error"><img src="' . _PS_IMG_ . 'admin/forbbiden.gif" alt="nok" />&nbsp;'.$so->displaySoError('999').': ';
$errors = explode(',', str_replace('+',',', $return['ERRORCODE']));
foreach($errors as $error)
echo $so->displaySoError(rtrim($error));
echo $so->displaySoError(rtrim($error));
echo '<p><br/>
<a href="'.Tools::getProtocol().htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'order.php" class="button_small" title="Retour">« Retour
</a></p></div>'; }
@@ -98,15 +105,15 @@ function saveOrderShippingDetails($idCart, $idCustomer, $soParams)
'A2P' => 'Livraison Commerce de proximité', 'MRL' => 'Livraison Commerce de proximité',
'CIT' => 'Livraison en Cityssimo', 'ACP' => 'Agence ColiPoste', 'CDI' => 'Centre de distribution',
'RDV' => 'Livraison sur Rendez-vous');
$db = Db::getInstance();
$db->executeS('SELECT * FROM '._DB_PREFIX_.'socolissimo_delivery_info WHERE id_cart = '.(int)($idCart).' AND id_customer ='.(int)($idCustomer));
$numRows = (int)($db->NumRows());
if ($numRows == 0)
{
{
$sql = 'INSERT INTO '._DB_PREFIX_.'socolissimo_delivery_info
( `id_cart`, `id_customer`, `delivery_mode`, `prid`, `prname`, `prfirstname`, `prcompladress`,
`pradress1`, `pradress2`, `pradress3`, `pradress4`, `przipcode`, `prtown`, `cephonenumber`, `ceemail` , `cecompanyname`, `cedeliveryinformation`, `cedoorcode1`, `cedoorcode2`)
( `id_cart`, `id_customer`, `delivery_mode`, `prid`, `prname`, `prfirstname`, `prcompladress`,
`pradress1`, `pradress2`, `pradress3`, `pradress4`, `przipcode`, `prtown`, `cephonenumber`, `ceemail` , `cecompanyname`, `cedeliveryinformation`, `cedoorcode1`, `cedoorcode2`)
VALUES ('.(int)($idCart).','.(int)($idCustomer).',';
if ($soParams['DELIVERYMODE'] != 'DOM' AND $soParams['DELIVERYMODE'] != 'RDV')
$sql .= '\''.pSQL($soParams['DELIVERYMODE']).'\''.',
@@ -144,11 +151,11 @@ function saveOrderShippingDetails($idCart, $idCustomer, $soParams)
'.(isset($soParams['CEDOORCODE1']) ? '\''.pSQL($soParams['CEDOORCODE1']).'\'' : '\'\'').',
'.(isset($soParams['CEDOORCODE2']) ? '\''.pSQL($soParams['CEDOORCODE2']).'\'' : '\'\'').')';
if (Db::getInstance()->execute($sql))
if (Db::getInstance()->execute($sql))
return true;
}
else
{
{
$table = _DB_PREFIX_.'socolissimo_delivery_info';
$values = array();
$values['delivery_mode'] = pSQL($soParams['DELIVERYMODE']);
@@ -174,6 +181,7 @@ function saveOrderShippingDetails($idCart, $idCustomer, $soParams)
}
else
{
(isset($soParams['PRID']) ? $values['prid'] = pSQL($soParams['PRID']) : $values['prid'] = '');
(isset($soParams['CENAME']) ? $values['prname'] = ucfirst(pSQL($soParams['CENAME'])) : '');
(isset($soParams['CEFIRSTNAME']) ? $values['prfirstname'] = ucfirst(pSQL($soParams['CEFIRSTNAME'])) : '');
(isset($soParams['CECOMPLADRESS']) ? $values['prcompladress'] = pSQL($soParams['CECOMPLADRESS']) : '');
@@ -191,11 +199,8 @@ function saveOrderShippingDetails($idCart, $idCustomer, $soParams)
(isset($soParams['CECOMPANYNAME']) ? $values['cecompanyname'] = pSQL($soParams['CECOMPANYNAME']) : '');
}
$where = ' `id_cart` =\''.(int)($idCart).'\' AND `id_customer` =\''.(int)($idCustomer).'\'';
if (Db::getInstance()->autoExecute($table, $values, 'UPDATE', $where))
return true;
}
}