} else { fn_set_notification('E', __('notice'), __('shippings.spsr.not_register_save')); } } $error_logout = RusSpsr::WALogout(); if (!$error_logout) { fn_set_notification('E', __('notice'), RusSpsr::$last_error); } } } } elseif ($mode == 'spsr_check_session') { $spsr_check_sessions = $params['spsr_check_session']; RusSpsr::WALogin(); foreach ($spsr_check_sessions as $spsr_check_session) { $session_info = array('session_id' => $spsr_check_session['session_id'], 'session_owner_id' => $spsr_check_session['session_owner_id']); $result = RusSpsr::WAInvSessionInfo($session_info); if (!empty($result['invoices'])) { foreach ($result['invoices'] as $invoice) { $n_invoice = !empty($invoice['InvoiceNumber']) ? $invoice['InvoiceNumber'] : 0; $barcode_invoice = !empty($invoice['Barcodes']) ? $invoice['Barcodes'] : 0; $client_barcodes = !empty($invoice['ClientBarcodes']) ? $invoice['ClientBarcodes'] : 0; $data = array('register_id' => $spsr_check_session['register_id'], 'order_id' => $params['order_id'], 'ship_ref_num' => $invoice['GCNumber'], 'invoice_number' => $n_invoice, 'timestamp' => TIME, 'barcodes' => $barcode_invoice, 'client_barcodes' => $client_barcodes); db_query('UPDATE ?:rus_spsr_invoices SET ?u WHERE order_id = ?i AND ship_ref_num = ?s ', $data, $params['order_id'], $invoice['GCNumber']); $shipment_data = array('tracking_number' => $n_invoice); $a = explode('I', $invoice['GCNumber']); $shipment_id = !empty($a[1]) ? $a[1] : 0; db_query('UPDATE ?:shipments SET ?u WHERE shipment_id = ?i', $shipment_data, $shipment_id); } $save_data = array('status' => 'I'); db_query('UPDATE ?:rus_spsr_register SET ?u WHERE register_id = ?i', $save_data, $spsr_check_session['register_id']); if (!empty($result['message'])) {