* @version Release: $Revision: 14011 $ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /************************************************************************************************************************* Script destiner à traiter les analyses de secuvad qui ne sont pas renvoyées immédiatement (status 'en attente' ou erreur). *************************************************************************************************************************/ include_once dirname(__FILE__) . '/../../config/config.inc.php'; include_once dirname(__FILE__) . '/secuvad.php'; if (!Tools::isSubmit('transaction_report')) { exit; } $secuvad = new Secuvad(); if (in_array($secuvad->getRemoteIPaddress(), $secuvad->get_secuvad_ip())) { $rep = stripslashes(urldecode(Tools::getValue('transaction_report'))); if (preg_match('#<transaction_report status=.{0,10} idtransaction=.([0-9]+).><score>([0-9]*)<.score><advice>([^<]*)</advice><error>([^<]*)<.error><.transaction_report>#Ui', $rep, $regs)) { $rep = preg_replace('#<transaction_report status=.OK. idtransaction=.' . $regs[1] . '.><score>' . $regs[2] . '<.score><advice>' . $regs[3] . '</advice><error>' . $regs[4] . '<.error><.transaction_report>#Ui', '', $rep); $idtransaction = $regs[1]; $score = $regs[2]; $advice = $regs[3]; $erreur = $regs[4]; if (!empty($erreur)) { $secuvad->secuvad_log('secuvad_response.php ' . "\n\t" . ' Error: ' . $erreur); Db::getInstance()->Execute(' UPDATE `' . _DB_PREFIX_ . 'secuvad_order` SET `secuvad_status` = 4, `error` = ' . pSQL($erreur) . ' WHERE `id_secuvad_order` = ' . (int) $idtransaction); } else { $secuvad->secuvad_log('secuvad_response.php ' . "\n\t" . ' Response: ' . $rep);