Пример #1
0
    $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">';
Пример #2
0
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";
Пример #4
0
 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']);
Пример #5
0
$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}");
Пример #7
0
$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>';
}