if (!$return['TRRETURNURLKO']) { $return['TRRETURNURLKO'] = Tools::getValue('TRRETURNURLKO'); } /* api 4.0 */ foreach ($so->getFields(SCFields::REQUIRED) as $field) { if (!isset($return[$field])) { $errors_list[] = $so->l('This key is required for Socolissimo:') . $field; } } } else { foreach ($errors_codes as $code) { $errors_list[] = $so->l('Error code:') . ' ' . $so->getError($code); } } if (empty($errors_list)) { if ($so->isCorrectSignKey($return['SIGNATURE'], $return) && $so->context->cart->id && saveOrderShippingDetails($so->context->cart->id, (int) $return['TRCLIENTNUMBER'], $return, $so)) { $trparamplus = explode('|', $return['TRPARAMPLUS']); if (count($trparamplus) > 1) { $so->context->cart->id_carrier = (int) $trparamplus[0]; if ($trparamplus[1] == 'checked' || $trparamplus[1] == 1) { /* value can be "undefined" or "not checked" */ $so->context->cart->gift = 1; } else { $so->context->cart->gift = 0; } } elseif (count($trparamplus) == 1) { $so->context->cart->id_carrier = (int) $trparamplus[0]; } if ((int) $so->context->cart->gift && Validate::isMessage($trparamplus[2])) { $so->context->cart->gift_message = strip_tags($trparamplus[2]); }
require_once _PS_MODULE_DIR_ . 'socolissimo/classes/SCFields.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 $nonBlockingError = array(133, 131, 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, 501); $so = new Socolissimo(); $so_fields = new SCFields(Tools::getValue('DELIVERYMODE')); $return = array(); foreach ($_POST as $key => $val) { if ($so_fields->isAvailableFields($key)) { $return[strtoupper($key)] = stripslashes($val); } } $return['TRRETURNURLKO'] = Tools::getValue('TRRETURNURLKO'); 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 ($so_fields->isCorrectSignKey($return['SIGNATURE'], $return)) { global $cookie; if (isset($cookie) or is_object($cookie)) { if (saveOrderShippingDetails(intval($cookie->id_cart), intval($return['TRCLIENTNUMBER']), $return, $so_fields)) { $TRPARAMPLUS = explode('|', $return['TRPARAMPLUS']); if (count($TRPARAMPLUS) > 1) { $cart->id_carrier = (int) $TRPARAMPLUS[0]; if ($TRPARAMPLUS[1] == "true" || $TRPARAMPLUS[1] == 1) { // value can be "undefined" or "not checked" $cart->gift = 1; } else { $cart->gift = 0; } } elseif (count($TRPARAMPLUS) == 1) { $cart->id_carrier = (int) $TRPARAMPLUS[0]; }