*  @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);