$class_jc->processCommentAction(); } //CHECK WHETHER PRODUCTS IS REMOVED OR NOT $loadform = '<div style="margin-bottom:20px;"><form name="open_product" action="?open=sp-product" method="post">'; $loadform .= 'Product ID <input type="text" name="product_id" value="" /><input type="submit" name="submit" value="Load Product" />'; $loadform .= '</form></div>'; $products_removed = productIsRemoved($product_id); if ($products_removed['is_removed']) { $content .= $loadform; $content .= $products_removed['msg_removed']; } else { //START TEMPLATE $show_product_status_box = true; if (isset($product_id) && intval($product_id > 0)) { $product = $class_pm->retrieveDetail($product_id, 'p,pc'); $spinfo = $class_jc->retrieveDetail(null, $jng_sp_id, $product_id); if (is_array($product) || is_array($spinfo)) { $show_product_status_box = false; } } $content = ''; if ($show_product_status_box) { $content .= $loadform; } if (isset($product) && is_array($product)) { $image = webImage($product['p']['products_image'], '500', '', '', 'img-border img-padding'); if (!is_array($spinfo)) { $article_number = $product['p']['products_model']; $suppliers_products_id = ''; $content .= '<div style="float:left;margin: 0px 10px 20px 0px;">' . $image . '</div>'; $content .= '<div class="form"><form name="addtocat" action="?open=sp-product" method="post">';
function sp_addProductToCatalog($jng_sp_id, $product_id) { use_class('Product'); use_class('jng_sp'); use_class('products_minierp'); use_class('jng_sp_catalog'); use_class('jng_sp_catalog_params'); $class_sp = new jng_sp(); $class_pm = new products_minierp(); $class_jc = new jng_sp_catalog(); $class_jcp = new jng_sp_catalog_params(); $sp_detail = $class_sp->retrieveDetail($jng_sp_id); $sp_used_selling_points = getSalesPartnerUseSellingPoint(); $sp_used_selling_points_amde = getSalesPartnerUseSellingPoint(true); if (!is_array($product_id)) { $product_id = explode(',', $product_id); } $new_id = array(); foreach ($product_id as $pid) { $check_exist = $class_jc->retrieveDetail(null, $jng_sp_id, $pid); if ($check_exist === false) { $obj_product = new Product($pid); $product_data_raw = $class_pm->retrieveDetail($pid); $products_selling_points = ''; $psp = $product_data_raw['pd'][2]['products_selling_points']; $pspa = $product_data_raw['pd'][2]['products_selling_points_amde']; if (in_array($jng_sp_id, $sp_used_selling_points)) { $products_selling_points = $psp; } elseif (in_array($jng_sp_id, $sp_used_selling_points_amde)) { $products_selling_points = $pspa; } if (!is_null($obj_product->id)) { $desc = $product_data_raw['pd'][$sp_detail['languages_id']]; $product = array(); $product['products_length'] = $product_data_raw['pnc']['products_length']; $product['products_name'] = $desc['products_name']; $product['products_description'] = $desc['products_description']; $product['products_head_keywords_tag'] = $desc['products_head_keywords_tag']; $article_number = str_replace('-', '_', $obj_product->code); $price_uvp = $obj_product->getPriceUVP(); $price_default = $obj_product->getPriceDefault(); //TODO: USE B2B FLAG if ($jng_sp_id == '5') { $product_price = $obj_product->getPriceSellingDefaultB2B($price_uvp, $jng_sp_id); $product_price_old = 0; $product_price_new = 0; $active_status = '1'; } else { $product_price = $price_default; $product_price_old = $price_uvp > $price_default ? $price_uvp : 0; $product_price_new = 0; $active_status = '0'; } $product_name = $product['products_name']; $product_desc = $product['products_description']; $keywords_ok = array(); $keywords_temp = str_replace('|||', ',', $product['products_head_keywords_tag']); $keywords_split = explode(',', $keywords_temp); foreach ($keywords_split as $kws) { $kws = trim($kws); if ($kws != '') { $rule1 = strpos($product_name, $kws) === false; $rule2 = strpos($product_desc, $kws) === false; $rule3 = strpos($kws, 'cm') === false; if ($rule1 && $rule2 && $rule3) { $keywords_ok[] = $kws; } } } $product_keywords = count($keywords_ok) > 0 ? implode(', ', $keywords_ok) : ''; $product_length = $product['products_length'] == '' ? '0' : $product['products_length']; //Retrieve Products Color and connect it with SP Colors $color_pattern_id = $class_pm->loadColorPattern($obj_product->id); $sp_params_raw = $class_jcp->load($jng_sp_id, 'C'); $sp_params = array(); foreach ($sp_params_raw as $spr) { if (in_array($spr['param_id'], $color_pattern_id)) { $sp_params[] = $spr['param_value']; } } $product_color = implode(', ', $sp_params); //Retrieve Products Materials and connect it with SP Materials $products_materials_id = $class_pm->loadProductMaterials($obj_product->id); $sp_params_raw = $class_jcp->load($jng_sp_id, 'M'); $sp_params = array(); foreach ($sp_params_raw as $spr) { if (in_array($spr['param_id'], $products_materials_id)) { $sp_params[] = $spr['param_value']; } } $product_material = implode(', ', $sp_params); $date_added = date('Y-m-d H:i:s'); //Retrieve Max Resourcing Days $elmax_rd_query = "SELECT pe.products_id, MAX(es.resourcing_day) AS max_res_day"; $elmax_rd_query .= " FROM products_use_elements pe"; $elmax_rd_query .= " LEFT JOIN elements_stock es ON es.elements_id=pe.elements_id"; $elmax_rd_query .= " WHERE pe.products_id = {$obj_product->id}"; $elmax_rd_query .= " GROUP BY pe.products_id"; $elmax_rd_result = tep_db_query($elmax_rd_query); $elmax_rd = tep_db_fetch_array($elmax_rd_result); $resplacement_days = $elmax_rd['max_res_day'] == '' ? '0' : $elmax_rd['max_res_day']; //INSERT DATA $sda = array('jng_sp_id' => $jng_sp_id, 'products_id' => $obj_product->id, 'article_number' => $article_number, 'price' => $product_price, 'price_old' => $product_price_old, 'price_new' => $product_price_new, 'name' => $product_name, 'description' => $product_desc, 'keywords' => $product_keywords, 'length' => $product_length, 'color' => $product_color, 'material' => $product_material, 'use_logo' => '1', 'status_image' => '0', 'date_added' => $date_added, 'replacement_days' => $resplacement_days, 'products_selling_points' => $products_selling_points, 'active_status' => $active_status); tep_db_perform('jng_sp_catalog', $sda); $new_id[] = tep_db_insert_id(); } } } return $new_id; }
<?php if (!class_exists('jng_sp')) { use_class('jng_sp'); $class_sp = new jng_sp(); use_class('jng_sp_catalog'); $class_jc = new jng_sp_catalog(); use_class('products_brand'); $class_pb = new products_brand(); $jng_sp_id = tep_db_prepare_input($_GET['sp']); $products_id = tep_db_prepare_input($_GET['id']); $sp_info = $class_sp->retrieveDetail($jng_sp_id); $catalog = $class_jc->retrieveDetail(null, $jng_sp_id, $products_id); $title = "Total VC Prediction"; } $SCENARIO_STEP_MARGIN = 3; $SCENARIO_STEP_PRICE = 5; $SCENARIO_STEP_RETURN_RATE = 10; $cat_query = "SELECT p.products_image"; $cat_query .= ", MAX(jo.order_date) AS latest_date"; $cat_query .= ", IFNULL(AVG(joi.price), 0) AS selling_price"; $cat_query .= ", IFNULL(SUM(joi.order_quantity),0) AS total_sold"; $cat_query .= ", IFNULL(SUM(joi.return_quantity),0) AS total_returns"; $cat_query .= ", IFNULL(SUM(joi.order_quantity-joi.return_quantity),0) AS total_net_sold"; $cat_query .= ", IFNULL(SUM((joi.order_quantity-joi.return_quantity)*joi.net_sales),0) AS total_net_sales"; $cat_query .= ", IFNULL(AVG(joi.net_sales),0) AS average_net_sales"; $cat_query .= ", IFNULL(SUM((joi.order_quantity-joi.return_quantity)*joi.material_expenses),0) AS total_material_expenses"; $cat_query .= ", IFNULL(AVG(joi.material_expenses),0) AS average_material_expenses"; $cat_query .= ", IFNULL(SUM(joi.order_quantity*joi.cost_logistic),0) AS total_cost_logistic"; $cat_query .= ", IFNULL(AVG(joi.cost_logistic),0) AS average_cost_logistic"; $cat_query .= ", IFNULL(SUM(joi.order_quantity*joi.cost_distribution),0) AS total_cost_distribution";
if ($_POST['me_action'] == 'SAVECOGSMANUAL') { $cogs_value = tep_db_prepare_input($_POST['cogs']); $obj_product = new Product($pid); $obj_product->saveCOGSManual($cogs_value); echo utf8_encode($obj_product->getProductCOGSObject()->drawDetailTable()); exit; } elseif ($_POST['me_action'] == 'FINALIZETRADEBYTE') { //Update table 'products' $sda = array(); $sda['products_gender'] = tep_db_prepare_input($_POST['products_gender']); $sda['products_agegroup'] = tep_db_prepare_input($_POST['products_agegroup']); tep_db_perform('products', $sda, 'update', "products_id={$pid}"); //Update table 'jng_sp_catalog' $update_tb_status = false; //ZADE UPDATE $catalog = $class_jc->retrieveDetail(null, '8', $pid); if ($catalog !== false) { $sda = array(); $sda['navigation3'] = tep_db_prepare_input($_POST['zade_season']); //$sda['status_price'] = tep_db_prepare_input($_POST['zade_price']); $class_jc->updateField($catalog['jng_sp_catalog_id'], $sda); if (isset($_POST['zade_active']) && $_POST['zade_active'] == '1') { if ($catalog['active_status'] != '1') { $class_jc->activateProduct($catalog['jng_sp_catalog_id']); if ($catalog['last_active_status'] == '0') { $update_tb_status = true; } } } else { if ($catalog['active_status'] != '0') { $class_jc->deactivateProduct($catalog['jng_sp_catalog_id']);
$brandnames = array(); $brandnames[0] = '... Select a Brand'; foreach ($brands as $b) { $brandnames[$b['products_brand_id']] = $b['brand_name']; } $products_id = isset($_GET['id']) && $_GET['id'] != '' ? tep_db_prepare_input($_GET['id']) : null; if (is_null($products_id)) { exit; } $draft = new design_draft(null, $products_id); $product = $class_pm->retrieveDetail($products_id, 'p,pd,pnc,pei,pci,cat'); $spid_filter = implode(',', $default_SP); $sp_active_default = $class_sp->retrieveList("jng_sp_id IN ({$spid_filter}) AND active_status=1"); $pcat_collection = array(); foreach ($sp_active_default as $jng_sp_id => $spdetail) { $pcat = $class_jc->retrieveDetail(null, $jng_sp_id, $products_id); if ($pcat === false) { $catid = $class_jc->addProduct($jng_sp_id, $products_id); $pcat = $class_jc->retrieveDetail($catid[0]); } $pcat_collection[$jng_sp_id] = $pcat; } $sops = array(); $sops[] = 'Set <strong>Name</strong> and <strong>Color</strong>|Check|checkname'; $sops[] = 'Set <strong>Sub Category</strong>|Set|setsubcat'; $sops[] = 'Set <strong>Brand</strong>|Set|setbrand'; $sops[] = 'Set <strong>Product Lengths/Size</strong>|Set|setlength'; $sops[] = 'Check <strong>Elements Used</strong> & <strong>Qty</strong>|Update|addelements'; $sops[] = 'Add <strong>Product Finishing</strong> (optional)|Add|setprofin'; $sops[] = 'Add <strong>Manual PI</strong> (optional)|Add|manpi'; $sops[] = 'Set <strong>Materials Info (Description 2)</strong>|Set|setdesc2';
$keywords = ''; $filter_query = " WHERE jc.jng_sp_id={$jng_sp_id} AND jc.active_status!='1' AND pr.products_id IS NULL"; if (isset($_POST['me_action'])) { if ($_POST['me_action'] == 'SEARCHPRODUCTS') { $keywords = tep_db_prepare_input($_POST['keywords']); if ($keywords == '') { unset($_SESSION['sp-products-finalize']['keywords']); } else { $_SESSION['sp-products-finalize']['keywords'] = $keywords; } } elseif ($_POST['me_action'] == 'UPDATEACTIVESTATUS') { //first deactivate all products in the current page $all_cids = explode(',', tep_db_prepare_input($_POST['cids'])); $cids_to_activate = isset($_POST['cb_product']) && is_array($_POST['cb_product']) ? $_POST['cb_product'] : array(); foreach ($all_cids as $cid) { $catalog = $class_jc->retrieveDetail($cid); if (in_array($cid, $cids_to_activate)) { if ($catalog['active_status'] != '1') { $class_jc->activateProduct($cid); } } else { if ($catalog['active_status'] != '0') { $class_jc->deactivateProduct($cid); } } } } } if (isset($_GET['delete']) && $_GET['delete'] != '') { $jng_sp_catalog_id = tep_db_prepare_input($_GET['delete']); $delete_check = tep_db_query("SELECT jng_sp_catalog_id FROM jng_sp_catalog WHERE jng_sp_catalog_id={$jng_sp_catalog_id}");
$spq = tep_db_query("SELECT jc.jng_sp_id FROM jng_sp_catalog jc INNER JOIN jng_sp ON jng_sp.jng_sp_id=jc.jng_sp_id AND jng_sp.active_status=1 WHERE products_id={$products_id}"); if (tep_db_num_rows($spq) > 0) { $spall = $class_sp->retrieveList(); $spname = array(); foreach ($spall as $sp) { $spname[$sp['jng_sp_id']] = $sp['package_prefix']; if ($sp['jng_sp_id'] == '5') { $amvd_provision = $sp['provision_rate']; } } $spadded_arr = array(); while ($row = tep_db_fetch_array($spq)) { $spadded_arr[] = $spname[$row['jng_sp_id']]; if ($row['jng_sp_id'] == '5') { $added_to_amvd = true; $amvd_catalog = $class_jc->retrieveDetail(null, '5', $products_id); } } $spadded = implode(' / ', $spadded_arr); } else { $spadded = '<span class="notice">None</span>'; } if (!$added_to_amvd) { // USETABLE // $spadded = '<table class="form" border="0" cellpadding="0" cellspacing="0"><tr><td>'.$spadded.' / </td>'; // $spadded .= '<td><input type="checkbox" id="addtoamvd" name="addtoamvd" value="1" /></td>'; // $spadded .= '<td><label for="addtoamvd">AM.DE</label></td>'; // $spadded .= '</td></tr></table>'; //NOTABLE $spadded = $spadded . ' / <input type="checkbox" id="addtoamvd" name="addtoamvd" value="1" /><label for="addtoamvd">AM.DE</label>'; }