public function update($id, $params) { $data = array(); $valid_params = true; $status = Response::STATUS_BAD_REQUEST; unset($params['shipment_id']); list($shipments, ) = fn_get_shipments_info(array('shipment_id' => $id)); $shipment_data = reset($shipments); $order_info = fn_get_order_info($shipment_data['order_id'], false, true, true); if (Settings::instance()->getValue('use_shipments', '', $order_info['company_id']) == 'Y') { $data['message'] = __('api_shipments_not_allow_update'); $valid_params = false; } if ($valid_params) { $shipment_id = fn_update_shipment($params, $id); if ($shipment_id) { $status = Response::STATUS_OK; $data = array('shipment_id' => $shipment_id); } } return array('status' => $status, 'data' => $data); }
* * **************************************************************************** * PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ use Tygh\Pdf; use Tygh\Registry; use Tygh\Payments\RusInvoicePayment; if (!defined('BOOTSTRAP')) { die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $suffix = '.manage'; if ($mode == 'add' && !empty($_REQUEST['shipment_data']) && !fn_allowed_for('ULTIMATE:FREE')) { $force_notification = fn_get_notification_rules($_REQUEST); fn_update_shipment($_REQUEST['shipment_data'], 0, 0, false, $force_notification); $suffix = '.details?order_id=' . $_REQUEST['shipment_data']['order_id']; } if ($mode == 'packing_slip' && !empty($_REQUEST['shipment_ids'])) { fn_print_shipment_packing_slips($_REQUEST['shipment_ids'], Registry::get('runtime.dispatch_extra') == 'pdf'); exit; } if ($mode == 'm_delete' && !empty($_REQUEST['shipment_ids'])) { fn_delete_shipments($_REQUEST['shipment_ids']); if (!empty($_REQUEST['redirect_url'])) { return array(CONTROLLER_STATUS_REDIRECT, $_REQUEST['redirect_url']); } } if ($mode == 'delete' && !empty($_REQUEST['shipment_ids']) && is_array($_REQUEST['shipment_ids'])) { $shipment_ids = implode(',', $_REQUEST['shipment_ids']); fn_delete_shipments($shipment_ids);
fn_trusted_vars('update_order'); // Update customer's email if its changed in customer's account if (!empty($_REQUEST['update_customer_details']) && $_REQUEST['update_customer_details'] == 'Y') { $u_id = db_get_field("SELECT user_id FROM ?:orders WHERE order_id = ?i", $_REQUEST['order_id']); $current_email = db_get_field("SELECT email FROM ?:users WHERE user_id = ?i", $u_id); db_query("UPDATE ?:orders SET email = ?s WHERE order_id = ?i", $current_email, $_REQUEST['order_id']); } // Log order update fn_log_event('orders', 'update', array('order_id' => $_REQUEST['order_id'])); db_query('UPDATE ?:orders SET ?u WHERE order_id = ?i', $_REQUEST['update_order'], $_REQUEST['order_id']); //Update shipping info if (!empty($_REQUEST['update_shipping'])) { foreach ($_REQUEST['update_shipping'] as $group_key => $shipment) { $shipment['shipment_data']['order_id'] = $_REQUEST['order_id']; $shipment_id = isset($shipment['shipment_id']) ? $shipment['shipment_id'] : 0; fn_update_shipment($shipment['shipment_data'], $shipment_id, $group_key, true); } } // Add new shipping info /*if (!empty($_REQUEST['add_shipping'])) { $shipping = db_get_field('SELECT shipping FROM ?:shipping_descriptions WHERE shipping_id = ?i', $_REQUEST['add_shipping']['shipping_id']); $shippings[$_REQUEST['add_shipping']['shipping_id']] = array( 'shipping' => $shipping, 'tracking_number' => $_REQUEST['add_shipping']['tracking_number'], 'carrier' => $_REQUEST['add_shipping']['carrier'], ); $_data = array( 'data' => serialize($shippings), 'order_id' => $_REQUEST['order_id'], 'type' => 'L',
fn_trusted_vars('update_order'); // Update customer's email if its changed in customer's account if (!empty($_REQUEST['update_customer_details']) && $_REQUEST['update_customer_details'] == 'Y') { $u_id = db_get_field("SELECT user_id FROM ?:orders WHERE order_id = ?i", $_REQUEST['order_id']); $current_email = db_get_field("SELECT email FROM ?:users WHERE user_id = ?i", $u_id); db_query("UPDATE ?:orders SET email = ?s WHERE order_id = ?i", $current_email, $_REQUEST['order_id']); } // Log order update fn_log_event('orders', 'update', array('order_id' => $_REQUEST['order_id'])); db_query('UPDATE ?:orders SET ?u WHERE order_id = ?i', $_REQUEST['update_order'], $_REQUEST['order_id']); //Update shipping info if (!empty($_REQUEST['update_shipping'])) { foreach ($_REQUEST['update_shipping'] as $group_key => $shipment_group) { foreach ($shipment_group as $shipment_id => $shipment) { $shipment['order_id'] = $_REQUEST['order_id']; fn_update_shipment($shipment, $shipment_id, $group_key, true); } } } // Add new shipping info /*if (!empty($_REQUEST['add_shipping'])) { $shipping = db_get_field('SELECT shipping FROM ?:shipping_descriptions WHERE shipping_id = ?i', $_REQUEST['add_shipping']['shipping_id']); $shippings[$_REQUEST['add_shipping']['shipping_id']] = array( 'shipping' => $shipping, 'tracking_number' => $_REQUEST['add_shipping']['tracking_number'], 'carrier' => $_REQUEST['add_shipping']['carrier'], ); $_data = array( 'data' => serialize($shippings), 'order_id' => $_REQUEST['order_id'],