\nErreur :
\n".$res['attr']['message']); } else { $index = count($evaluations); $evaluations[$index] = $this->process_result_array($res); } } } else { $res = $xml_array['stack']['result']; if (eregi("error", $res['attr']['retour'])) { fianet_insert_log("fianet_sender.php - process_result()
\nErreur :
\n".$res['attr']['message']); } else { $index = count($evaluations); $evaluations[$index] = $this->process_result_array($res); } } return ($evaluations); } function process_result_array($res) { //debug($res, 'Result'); $eval['refid'] = $res['attr']['refid']; if ( $res['attr']['retour'] == 'absente') { $eval['info'] = 'absente'; } else { if (isset($res['transaction'][0])) { $transaction = end($res['transaction']); } else { $transaction = $res['transaction']; } $etat = $this->process_transaction_array($transaction); $eval['eval'] = $etat['eval']; $eval['info'] = $etat['info']; $eval['cid'] = $etat['cid']; } return ($eval); } function process_transaction_array($transaction) { $eval = array(); //debug($transaction); if ($transaction['attr']['avancement'] == 'error') { $eval['refid'] = $transaction['attr']['refid']; $eval['eval'] = 'error'; $eval['info'] = $transaction['detail']['value']; $eval['cid'] = ''; } elseif ($transaction['attr']['avancement'] == 'encours') { $eval['refid'] = $transaction['attr']['refid']; $eval['eval'] = 'encours'; $eval['info'] = $transaction['detail']['value']; $eval['cid'] = ''; } elseif ($transaction['attr']['avancement'] == 'traitee') { $eval['refid'] = $transaction['attr']['refid']; $eval['eval'] = $transaction['analyse']['eval']['value']; $eval['info'] = $transaction['analyse']['eval']['attr']['info']; $eval['cid'] = $transaction['attr']['cid']; } return ($eval); } function process_stack($stack) { $xml = '' . "\n"; $xml .= '' . "\n"; foreach ($stack as $order) { $xml .= $order->get_xml(); if (!isset($siteid)) { $siteid = $order->info_commande->siteid; } } $xml .= ''; $data['siteid'] = $siteid; $data['controlcallback'] = clean_xml($xml); $this->send_fsock_stacking($data); } function process_result_stacking($xml_data) { $result = array(); $xml_array = xml2array($xml_data); //debug($xml_array); if (isset($xml_array['validstack']['unluck'])) { fianet_insert_log("fianet_sender.php - process_result_stacking()
\nError :
\n".$xml_array['validstack']['unluck']['value']); return ($result); } elseif (isset($xml_array['validstack']['result'])) { $xml_array = $xml_array['validstack']['result']; //debug($xml_array); if (isset($xml_array[0])) { foreach ($xml_array as $transaction_result) { $index = count($result); $result[$index]['refid'] = $transaction_result['attr']['refid']; $result[$index]['etat'] = $transaction_result['attr']['avancement']; $result[$index]['details'] = $transaction_result['detail']['value']; } } else { $index = count($result); $result[$index]['refid'] = $xml_array['attr']['refid']; $result[$index]['etat'] = $xml_array['attr']['avancement']; $result[$index]['details'] = $xml_array['detail']['value']; } } return ($result); } function check_order_data() { $res = true; foreach ($this->orders as $order) { if (!var_is_object_of_class($order, 'fianet_order_xml')) { $res = false; } } return ($res); } function send_fsock_singet($data) { if ($mode == 'production') { $url_action = URL_SAC_PROD; } else { $url_action = URL_SAC_TEST; } $path = URl_SAC_SINGET; $s = new fianet_socket($url_action, $path, 'GET', $data); $res = $s->send(); if ($res === false) { fianet_insert_log("fianet_sender.php - send_fsock_post()
\nError when connecting :
\n".$url_action . $path); return (false); } return (true); } function send_fsock_stacking($data) { if ($this->mode == 'production') { $url_action = URL_SAC_PROD; } else { $url_action = URL_SAC_TEST; } $path = URl_SAC_STACKING; $s = new fianet_socket($url_action, $path, 'POST', $data); $res = $s->send(); if ($res === false) { fianet_insert_log("fianet_sender.php - send_fsock_post()
\nError when connecting :
\n".$url_action . $path); return (false); } else { $result = $this->process_result_stacking($res['data']); //debug($result); return ($result); } } function process_result_nostack($xml_array) { $evaluations = array(); //debug($xml_array, 'xml_array'); if (isset($xml_array['result']['transaction'][0])) { foreach ($xml_array['result']['transaction'] as $res) { $eval = $this->process_transaction_array($res); if ($eval['refid'] != null) { $evaluations[$eval['refid']] = $eval; } } } else { $res = $xml_array['result']['transaction']; $eval = $this->process_transaction_array($res); if ($eval['refid'] != null) { $evaluations[$eval['refid']] = $eval; } } return ($evaluations); }