$registers = db_get_array("SELECT register_id, order_id, session_id, session_owner_id, timestamp, status FROM ?:rus_spsr_register WHERE order_id = ?i ", $order_info['order_id']); if (!empty($registers)) { foreach ($registers as $register_id => $register) { $spsr_invoices = db_get_array("SELECT * FROM ?:rus_spsr_invoices WHERE order_id = ?i AND register_id = ?i ", $order_info['order_id'], $register['register_id']); if (!empty($spsr_invoices)) { $_invoices = array(); foreach ($spsr_invoices as $invoice) { $_invoices[] = $invoice['invoice_number']; if (!empty($invoice['invoice_number'])) { $spsr_invoice_info[$invoice['invoice_number']] = $invoice; } unset($spsr_shipments[$invoice['shipment_id']]); } $spsr_couriers = RusSpsr::WAGetActiveOrders(); Tygh::$app['view']->assign('spsr_couriers', $spsr_couriers); $invoice_info = RusSpsr::WAGetInvoiceInfo($_invoices); $spsr_invoice_info = fn_array_merge($invoice_info, $spsr_invoice_info); if (!empty($invoice_info)) { $spsr_register = 1; } } if ($register['status'] == 'S') { $register_status = 'Y'; } } Tygh::$app['view']->assign('spsr_invoice_info', $spsr_invoice_info); } Tygh::$app['view']->assign('spsr_register_status', $register_status); Tygh::$app['view']->assign('spsr_register', $spsr_register); foreach ($spsr_shipments as $shipment) { $shipping_data = fn_get_shipping_info($shipment['shipping_id'], DESCR_SL);
function fn_get_spsr_invoice_info($invoice_id) { $invoice_info_db = db_get_row("SELECT * FROM ?:rus_spsr_invoices WHERE invoice_number = ?i", $invoice_id); if (!empty($invoice_info_db)) { $add_about_order = db_get_row("SELECT company_id, timestamp FROM ?:orders WHERE order_id = ?i", $invoice_info_db['order_id']); $invoice_info_db['timestamp'] = $add_about_order['timestamp']; $invoice_info_db['company_id'] = $add_about_order['company_id']; $invoice_info = RusSpsr::WAGetInvoiceInfo(array($invoice_id)); $invoice_info = array_merge($invoice_info_db, $invoice_info[$invoice_id]); $pieces = db_get_array("SELECT * FROM ?:rus_spsr_invoices_items WHERE ship_ref_num = ?s", $invoice_info_db['ship_ref_num']); $invoice_info['products_amount'] = 0; $invoice_info['pieces_amount'] = count($pieces); foreach ($pieces as $key => $piece) { $pieces[$key]['data'] = unserialize($piece['data']); $pieces[$key]['products_amount'] = 0; foreach ($pieces[$key]['data']['products'] as $product) { if (isset($product['product_id'])) { $invoice_info['products_amount'] += $product['amount']; $pieces[$key]['products_amount'] += $product['amount']; } } } return array($invoice_info, $pieces); } }