function cw_aom_get_doc_storage($type, $info = array(), $prefix = '', $special_info = array()) { $display_id = cw_doc_get_display_id($type); $usertype = 'C'; if (in_array($type, array('P', 'Q', 'R'))) { $usertype = 'S'; } elseif ($type == 'D') { $usertype = 'D'; } $ret = array('doc_id' => 0, 'display_id' => $prefix . $display_id, 'prefix' => $prefix, 'display_doc_id' => $display_id, 'type' => $type, 'date' => cw_core_get_time(), 'status' => 'Q', 'info' => array('total' => 0), 'userinfo' => array('customer_id' => 0, 'usertype' => $usertype, 'current_address' => array('same_as_main' => 1))); if ($info) { $ret['info'] = array_merge($ret['info'], $info); } foreach ($special_info as $tbl => $fields) { $ret[$tbl] = $fields; } return $ret; }
list($profile_sections, $profile_fields, $additional_fields) = cw_profile_fields_get_sections('U', true, $fields_area); $aom_orders[$doc_id]['userinfo']['profile_sections'] = $profile_sections; $aom_orders[$doc_id]['userinfo']['profile_fields'] = $profile_fields; $smarty->assign('orders_data', array($aom_orders[$doc_id])); $smarty->assign('current_section', ''); $smarty->assign('main', 'order_print'); $smarty->assign('home_style', 'iframe'); $smarty->assign('is_printing', true); cw_display('admin/index.tpl', $smarty); exit; } if ($action == 'save') { if ($confirmed == "Y") { $aom_orders[$doc_id]['type'] = $aom_orders[$doc_id]['type'][0]; if ($aom_orders[$doc_id]['new']) { $aom_orders[$doc_id]['display_doc_id'] = cw_doc_get_display_id($aom_orders[$doc_id]['type']); } $display_doc_id = $aom_orders[$doc_id]['display_doc_id']; $prefix = $aom_orders[$doc_id]['prefix']; $year = $aom_orders[$doc_id]['year']; $aom_orders[$doc_id]['display_id'] = ($prefix ? $prefix . ' ' : '') . ($config['docs']['display_id_format'] == 'Y' ? $year . '/' : '') . $display_doc_id; cw_aom_update_order($aom_orders[$doc_id], $doc_data['products']); $aom_orders[$doc_id] = null; if ($notify_customer) { $doc_data = $doc_data_customer = cw_call('cw_doc_get', array($doc_id)); if (!empty($doc_data)) { $to_customer = $userinfo['language'] ? $userinfo['language'] : $config['default_customer_language']; $doc_data_customer['products'] = cw_doc_translate_products($doc_data['products'], $to_customer); $smarty->assign('doc_data', $doc_data_customer); if ($doc_data['info']['layout_id']) { $layout = cw_web_get_layout_by_id($doc_data['info']['layout_id']);
function cw_doc_generate_group($doc_ids) { global $tables; if (is_array($doc_ids)) { $docs_info = array(); $sum_fields = array('subtotal', 'discount', 'giftcert_discount', 'coupon_discount', 'shipping_cost', 'weight', 'shipping_insurance', 'tax', 'total'); $doc_type = 'O'; foreach ($doc_ids as $doc_id) { $fields = cw_query_first("select di.*, d.type from {$tables['docs_info']} as di, {$tables['docs']} as d where d.doc_id='{$doc_id}' and d.doc_info_id=di.doc_info_id"); if ($fields) { foreach ($sum_fields as $k => $v) { $docs_info[$v] += $fields[$v]; } } $doc_type = $fields['type']; } $doc_info_id = cw_array2insert('docs_info', $docs_info); $display_id = cw_doc_get_display_id($doc_type); $doc = array('doc_info_id' => $doc_info_id, 'type' => $doc_type, 'display_id' => $display_id, 'prefix' => '', 'display_doc_id' => $display_id, 'year' => date('Y', cw_core_get_time()), 'date' => cw_core_get_time(), 'status_change' => cw_core_get_time()); $doc_id_new = cw_array2insert('docs', $doc); $first_order_user_info = cw_query_first($sql = "select dui.* from {$tables['docs_user_info']} as dui, {$tables['docs']} as d where dui.doc_info_id=d.doc_info_id and d.doc_id in ('" . implode("', '", $doc_ids) . "') limit 1"); $first_order_user_info['doc_info_id'] = $doc_info_id; cw_array2insert('docs_user_info', $first_order_user_info); foreach ($doc_ids as $doc_id) { $relations = cw_query("select * from {$tables['docs_items_relation']} where doc_id='{$doc_id}'"); if ($relations) { foreach ($relations as $k => $v) { $v['doc_id'] = $doc_id_new; cw_array2insert('docs_items_relation', $v, true); } } } } }