コード例 #1
0
         $td[$k] = $value;
     }
     $table_data[] = $td;
 }
 $result .= tep_draw_table('', $table_data);
 $result .= '<h3 style="margin:10px 0 20px 0">';
 $result .= '<a href="?open=products-stock-booking-active&amp;hidemenu=true" class="view_webpage">&raquo; Click here to see overview of all Active Bookings</a>';
 $result .= '</h3>';
 $overlap_products = stock_booking::getBookedQuantityOverlap(WAREHOUSE_ID_PRODUCTS_HAMBURG);
 if (count($overlap_products) == 0) {
     $result .= '<h3>No Overlap Products found in Active Booking Order';
 } else {
     use_class('products_minierp');
     use_class('products_articles');
     $class_pm = new products_minierp();
     $class_pa = new products_articles();
     $hn_no = 'No';
     $hn_prod = 'Product';
     $hn_arts = 'Articles';
     $hn_name = 'Overlapping Orders';
     $hn_book = 'Total<br />Booked';
     $hn_stock = 'Stock';
     $header = array();
     $header['0 id'] = $hn_no;
     $header['1 date'] = $hn_prod;
     $header['2 date'] = $hn_arts;
     $header['3 desc'] = $hn_name;
     $header['4 countpro'] = $hn_stock;
     $header['5 countpro'] = $hn_book;
     $result .= '<h2>Overlap Products in Active Booking Order</h2>';
     $table_data = array();
コード例 #2
0
ファイル: design.php プロジェクト: blasiuscosa/manobo-2008
 function isReadyForGraphics()
 {
     use_class('products_articles');
     $class_pa = new products_articles();
     use_class('products_minierp');
     $class_pm = new products_minierp();
     $drafts = $this->retrieveDrafts("approve_status!='R'");
     if (count($drafts) > 0) {
         $products = $this->retrieveProducts();
         $drafts_products = array();
         foreach ($products as $p) {
             if (!in_array($p['drafts_id'], $drafts_products)) {
                 $drafts_products[] = $p['drafts_id'];
             }
         }
     } else {
         return false;
     }
     $rule1 = count($drafts_products) >= count($drafts);
     if (!$rule1) {
         return $rule1;
     }
     foreach ($products as $p) {
         $el_usage = $class_pm->retrieveElementsUsage($p['products_id']);
         $rule2 = count($el_usage) > 0;
         if (!$rule2) {
             return $rule2;
         }
     }
     foreach ($products as $p) {
         $pa = $class_pa->retrieveList($p['products_id']);
         foreach ($pa as $val) {
             $rule3 = $class_pa->haveOverridedElement($val['products_articles_id']);
             if (!$rule3) {
                 return $rule3;
             }
         }
     }
     foreach ($products as $p) {
         $qm = "SELECT is_main FROM products_use_elements WHERE is_main = '1'" . " AND products_id = '" . $p['products_id'] . "'";
         $qm_r = tep_db_query($qm);
         $rule4 = tep_db_num_rows($qm_r);
         if ($rule4 == 0) {
             return $rule4;
         }
     }
     return true;
 }
コード例 #3
0
<?php

use_class('jng_sp');
$class_sp = new jng_sp();
use_class('jng_sp_catalog');
$class_jc = new jng_sp_catalog();
use_class('products_minierp');
$class_pm = new products_minierp();
use_class('products_brand');
$class_pb = new products_brand();
use_class('products_articles');
$class_pa = new products_articles();
//SP SETTING
salesPartnerCombo();
$url_link_path = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (isset($_GET['id'])) {
    $product_id = tep_db_prepare_input($_GET['id']);
} elseif (isset($_POST['product_id'])) {
    $product_id = tep_db_prepare_input($_POST['product_id']);
}
//SUBMIT ACTION
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'ADDTOCATALOGUE') {
        $suppliers_products_id = tep_db_prepare_input($_POST['suppliers_products_id']);
        //sp_addProductToCatalog($jng_sp_id, $product_id, $suppliers_products_id);
        $class_jc->addProduct($jng_sp_id, $product_id, $suppliers_products_id);
        header("Location: ?open=sp-product&id={$product_id}");
        exit;
    } elseif ($_POST['me_action'] == 'UPDATECATALOG') {
        $field_id = null;
        $catalog_id = tep_db_prepare_input($_POST['jng_sp_catalog_id']);
コード例 #4
0
$q = tep_db_query("SELECT invoice_id FROM `payone_invoice` WHERE invoice_date < '{$date_tolerance}' AND invoice_complete_status = '0'");
while ($row = tep_db_fetch_array($q)) {
    $invoice = new payone_invoice('invoice_id', $row['invoice_id']);
    $invoice->recalculate();
}
$logger->write("Task 5 - End");
$logger->write("Task 6 (DOOM TO KILL CHECKER) - Start");
if (SERVER_IS_LOCAL) {
    $logger->write("Skipped! Not to be run in  Manobo Local");
} else {
    use_class('styles');
    use_class('products_minierp');
    use_class('products_articles');
    $class_s = new styles();
    $class_pm = new products_minierp();
    $class_pa = new products_articles();
    $style_id = 680;
    //COLLECTION: DOOMED TO BE KILLED
    $products = $class_s->retrieveProducts($style_id, false);
    $killed = array();
    $logger->write('Total products to check: ' . count($products));
    foreach ($products as $pid => $date_added) {
        //SET INACTIVE FOR DTK ARTICLES WHICH HAVE NO DEPOT STOCK
        $products_articles = $class_pa->retrieveList($pid);
        foreach ($products_articles as $pa) {
            $stock_article = $class_pm->stockRetrieve(WAREHOUSE_ID_PRODUCTS_HAMBURG, $pid, $pa['products_articles_id']);
            if ($stock_article == 0) {
                $class_pa->setActiveStatus($pa['products_articles_id'], 0);
            }
        }
        $stock = $class_pm->stockRetrieve(WAREHOUSE_ID_PRODUCTS_HAMBURG, $pid, '*');
コード例 #5
0
<?php

/**
 * THIS MODULE IS CALLED FROM PRODUCTS ANALYSIS
 *
 * @author IT TEAM BONOFACTUM
 * @created Feb 28, 2013 4:14:49 PM
 */
use_class('stock_booking');
use_class('products_minierp');
use_class('products_articles');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$hn_product = 'Product';
$hn_article = 'Articles';
$hn_custock = 'Current<br />Stock';
$hn_cbooked = 'Total Booked<br />in Active Orders';
$hn_cbohere = 'Booked in<br />This Order';
$product_table_header = array();
$product_table_header['0 long_id'] = $hn_product;
$product_table_header['1 source'] = $hn_article;
$product_table_header['2 source'] = $hn_custock;
$product_table_header['3 source'] = $hn_cbooked;
$product_table_header['4 source'] = $hn_cbohere;
$id = tep_db_prepare_input($_GET['id']);
$booking = new stock_booking($id);
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'UPDATENAME') {
        $new_name = tep_db_prepare_input($_POST['name']);
        $booking->update(null, $new_name);
        echo utf8_encode($booking->name);
コード例 #6
0
<?php

use_class('products_articles');
use_class('products_ean');
use_class('products_minierp');
$class_ean = new products_ean();
$class_pm = new products_minierp();
$class_pa = new products_articles();
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'GETPRODUCTDETAIL') {
        $product_input = tep_db_prepare_input($_POST['product_input']);
        $result = false;
        $elements_datas = array();
        $jng_warehouses_id = 1;
        if (strlen($product_input) == 13) {
            $ean = $product_input;
            $product_info = $class_ean->getProductArticle($ean);
            if (!empty($product_info['products_id']) && !is_null($product_info['products_id'])) {
                $products_id = $product_info['products_id'];
                $articles_id = $product_info['products_articles_id'];
                $product_data = $class_pm->retrieveDetail($products_id, 'p');
                $elements_used = $class_pm->retrieveElementsUsage($products_id, $articles_id);
                foreach ($elements_used as $element) {
                    $element_stock_query = "SELECT es.stock";
                    $element_stock_query .= " FROM elements_stock es";
                    $element_stock_query .= " WHERE es.jng_warehouses_id={$jng_warehouses_id}";
                    $element_stock_query .= " AND es.elements_id=" . $element['elements_id'];
                    $element_stock_result = tep_db_query($element_stock_query);
                    if (tep_db_num_rows($element_stock_result) > 0) {
                        $element_stock = tep_db_fetch_array($element_stock_result);
                        $el_stock = $element_stock[stock];
コード例 #7
0
<?php

use_class('jng_sp');
$class_sp = new jng_sp();
use_class('jng_sp_catalog');
$class_jc = new jng_sp_catalog();
use_class('products_minierp');
$class_pm = new products_minierp();
use_class('products_articles');
$class_pa = new products_articles();
//SUBMIT ACTION
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'UPDATECATALOG') {
        $catalog_id = tep_db_prepare_input($_POST['id']);
        $fieldName = tep_db_prepare_input($_POST['field_name']);
        $fieldValue = tep_db_prepare_input($_POST['field_value']);
        if (strpos($fieldName, '-') === false) {
            $dataArray = array($fieldName => $fieldValue);
            if ($fieldName == 'price') {
                $dataArray['status_price'] = '1';
            }
            $class_jc->updateField($catalog_id, $dataArray);
        } else {
            $data = explode('-', $fieldName);
            if ($data[0] == 'pa') {
                $products_articles_id = $data[2];
                switch ($data[1]) {
                    case 'price':
                        $price = $fieldValue;
                        $price_old = null;
                        break;
コード例 #8
0
<?php

/**
 * Description of sp-preorder
 *
 * @author IT TEAM BONOFACTUM
 * @created Apr 2, 2013 12:23:40 PM
 */
use_class('jng_sp');
use_class('jng_sp_preorders');
use_class('products_minierp');
use_class('products_articles');
$class_sp = new jng_sp();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$id = isset($_GET['id']) ? tep_db_prepare_input($_GET['id']) : null;
$preorder = new jng_sp_preorders($id);
$is_confirmed = $preorder->status != '1';
function drawArticleLine($pid, $aid, $active, $ean, $length, $item_id = null, $last_update = null, $stock = null, $reported = '0', $booked = '0', $preproduce = '0', $ondemand = '0', $realtotal = null, $realondemand = null, $locked = false)
{
    global $class_pm, $tabindex;
    if (!isset($tabindex)) {
        $tabindex = 1;
    }
    $disabled = $locked ? ' disabled="disabled"' : '';
    $inactive = $active == '1' ? '' : ' notice" title="Inactive Article';
    $result = array();
    $result['ao'] = '<div id="' . $pid . '-' . $aid . '-' . $ean . '" class="article aid' . $inactive . '">' . 'EAN ' . $ean . ($length > 0 ? ' &sdot; ' . textLength($length) : '') . '</div>';
    $stock_current = $class_pm->stockRetrieve(WAREHOUSE_ID_PRODUCTS_HAMBURG, $pid, $aid);
    if (!is_null($item_id)) {
        $result['as'] = '<div class="article"><span id="stsaved-' . $pid . '-' . $aid . '" title="Saved on ' . date('d.m', strtotime($last_update)) . '">' . $stock . '</span> (<span id="st-' . $pid . '-' . $aid . '">' . $stock_current . '</span>)</div>';
コード例 #9
0
<?php

//*SPECIAL NOTE: THIS MODULE IS CALLED FROM PRODUCTS ANALYSIS
use_class('jng_sp');
use_class('jng_sp_customers');
use_class('jng_sp_orders');
use_class('products_minierp');
use_class('products_articles');
$class_sp = new jng_sp();
$class_jc = new jng_sp_customers();
$class_jo = new jng_sp_orders();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$jng_sp_id = '6';
$sp_detail = $class_sp->retrieveDetail($jng_sp_id);
$class_col_pimg = 'img';
$class_col_desc = 'product tac';
$class_col_articles = 'name tac';
$clist_headers = array();
$clist_headers['customers'] = 'Store Owner / Name';
$clist_headers['task'] = 'Store / Shipping Address';
$clist_headers['input2'] = 'Billing Address';
$clist_headers['countpro'] = 'Qty per Article';
$clist_headers['act'] = '&nbsp;';
$clist_template = '<tr class="customer">';
foreach ($clist_headers as $k => $v) {
    switch ($k) {
        case 'countpro':
            $value = '<input type="text" name="qty_per_article" value="1" class="tac" style="width:30px;" />';
            break;
        case 'act':
コード例 #10
0
 /**
  * Template for managing override elements used
  */
 function templateOverrideElementsUsed()
 {
     /*===========================================================
       * ADD.INFO  :   o   >> override
       *               or  >> override reset
       *               rd  >> replace default
       =============================================================*/
     use_class("element");
     use_class("products_articles");
     $class_pa = new products_articles();
     $ovr_data = array();
     $ovr_def_data = array();
     $ovr_type = isset($_POST['ovr_type']) && $_POST['ovr_type'] != '' ? $_POST['ovr_type'] : 'o';
     $pid = $_POST['products_id'];
     $pean = $_POST['ovr_pean'];
     $paid = $_POST['ovr_paid'];
     $pueid = $_POST['ovr_pueid'];
     $elid_def = $_POST['ovr_elid_def'];
     $qty_def = $_POST['ovr_qty_def'];
     $elid_old = $_POST['ovr_elid_old'];
     $qty_old = $_POST['ovr_qty_old'];
     $elid_ovr = $_POST['ovr_id'];
     $qty_ovr = $_POST['ovr_qty'];
     $ovr_el_article = $_POST['ovr_el_article'];
     //PREPARE OVERRIDE DATA
     $ovr_data['products_articles_id'] = $paid;
     $ovr_data['products_use_elements_id'] = $pueid;
     $ovr_data['elements_id'] = '0';
     $ovr_data['quantity'] = '';
     $changes = 'elid';
     $ovr_def_data['elements_id'] = '0';
     $ovr_def_data['quantity'] = '';
     $is_override = true;
     $el_ovr_found = false;
     if ($ovr_type == 'o') {
         if ($elid_ovr == $elid_def) {
             //NO ELEMENT CHANGES
             $el_ovr_found = true;
             if ($qty_ovr == $qty_def) {
                 //NO QTY CHANGES
                 $is_override = false;
             } else {
                 $changes = 'qty';
                 $ovr_data['quantity'] = $qty_ovr;
                 $ovr_msg = "Quantity of Article {$pean} Element ID <strong>{$elid_def}</strong> is overrided become {$qty_ovr}.";
             }
         } else {
             //ELEMENT CHANGES
             $e = new element($elid_ovr);
             if (!is_null($e->id)) {
                 $el_ovr_found = true;
                 $ovr_data['elements_id'] = $elid_ovr;
                 $ovr_data['quantity'] = $qty_ovr;
                 $ovr_msg = "Article {$pean} Element ID Default <strong>{$elid_def}</strong> is overrided become {$elid_ovr} with quantity {$qty_ovr}.";
             } else {
                 $is_override = false;
             }
         }
     }
     if ($ovr_type == 'rd') {
         if ($elid_ovr == $elid_def) {
             //NO ELEMENT CHANGES
             $el_ovr_found = true;
             if ($qty_ovr == $qty_def) {
                 //NO QTY CHANGES
                 $is_override = false;
             } else {
                 $changes = 'qty';
                 $ovr_def_data['quantity'] = $qty_ovr;
                 $ovr_msg = "Quantity Element ID <strong>{$elid_def}</strong> is overrided become {$qty_ovr}.";
             }
         } else {
             //ELEMENT CHANGES
             $e = new element($elid_ovr);
             if (!is_null($e->id)) {
                 $el_ovr_found = true;
                 $ovr_def_data['elements_id'] = $elid_ovr;
                 $ovr_def_data['quantity'] = $qty_ovr;
                 $ovr_msg = "Element ID Default <strong>{$elid_def}</strong> is overrided become {$elid_ovr} with quantity {$qty_ovr}.";
             } else {
                 $is_override = false;
             }
         }
     }
     if ($is_override) {
         if ($ovr_type == 'or') {
             $class_pa->overrideReset($paid, $pueid);
             $changes = 'reset';
             $elid = $elid_def;
             $qty = $qty_def;
         } else {
             if ($ovr_type == 'rd') {
                 $ovr_def_data['elements_id'] = $ovr_def_data['elements_id'] == '0' ? $elid_def : $ovr_def_data['elements_id'];
                 if (!is_null($ovr_def_data)) {
                     tep_db_perform('products_use_elements', $ovr_def_data, 'update', "products_use_elements_id={$pueid}");
                     $dbc = tep_db_query("SELECT * FROM products_articles_use_elements WHERE products_use_elements_id = {$pueid}");
                     if (tep_db_num_rows($dbc) > 0 && $ovr_el_article == "true") {
                         while ($row = tep_db_fetch_array($dbc)) {
                             if ($row['quantity'] != $qty_def) {
                                 $ovr_def_data['quantity'] = $row['quantity'];
                             } else {
                                 $ovr_def_data['quantity'] = $ovr_def_data['quantity'];
                             }
                             $id = $row['id'];
                             tep_db_perform('products_articles_use_elements', $ovr_def_data, 'update', "id={$id}");
                         }
                     }
                     $this->setProductDescription2($pid, 'c,s,ch');
                     $e_def = new element($elid_def);
                     //removed replaced element default from product materials
                     $this->unsetProductMaterials($pid, $e_def->attributes['material']['id']);
                     $e_rd = new element($ovr_def_data['elements_id']);
                     //add to product materials for new element replacing the default ones
                     $this->setProductMaterials($pid, $e_rd->attributes['material']['id']);
                     $contain_stones = $e_def->attributes['category']['id'] == 5 || $e_rd->attributes['category']['id'] == 5 ? true : false;
                     if ($contain_stones) {
                         $this->setProductDescription2($pid, 'st');
                     }
                     //Manage this as a function, there some functions need to called this
                     $this->refreshProductDataSupport(array('pid' => $pid, 'contain_stones' => $contain_stones));
                 }
             } else {
                 $elid = $ovr_data['elements_id'] == '0' ? $elid_def : $ovr_data['elements_id'];
                 $qty = $ovr_data['quantity'];
                 $id = $class_pa->overrideElement($paid, $pueid, $ovr_data);
                 //                if(!is_null($id)&&$id>0) $messagebox->add($ovr_msg, 'green');
                 //                else $messagebox->add("Failed overriding Article $pean !", 'red');
             }
         }
         $e = new element($elid);
         $result = array();
         $result['rowid'] = $paid . $elid_def;
         $result['paid'] = $paid;
         $result['pueid'] = $pueid;
         $result['imgdef'] = webImage($e->image, '80', '80');
         $result['elid'] = $changes == 'elid' ? '<a href="?open=element&amp;id=' . $elid . '&amp;hidemenu=true" class="view_webpage">' . $elid . '</a>' : $elid;
         $result['qty'] = $qty;
         $result['changes'] = $changes;
         $result['type'] = $ovr_type;
         $result['ovr_el_article'] = $ovr_el_article;
         ajaxReturn($result);
     } else {
         $result = array();
         $e = new element($elid_old);
         $result['imgdef'] = webImage($e->image, '80', '80');
         $result['rowid'] = $paid . $elid_def;
         $result['paid'] = $paid;
         $result['pueid'] = $pueid;
         $result['elid'] = $elid_old;
         $result['qty'] = $qty_old;
         $result['changes'] = '';
         $result['type'] = $ovr_type;
         if (!$el_ovr_found) {
             $result['elidnotfound'] = $elid_ovr;
             $result['msg'] = 'elementnotfound';
             $result['changes'] = 'nochanges';
         }
         ajaxReturn($result);
     }
 }
コード例 #11
0
<?php

/**
 * Description of productdetaildescription2
 *
 * @author IT TEAM BONOFACTUM
 * @created May 29, 2013 5:11:23 PM
 */
use_class('Product');
use_class('products_articles');
use_class('products_brand');
use_class('ProductMeasurement');
use_class('products_minierp');
use_class('elements_attributes');
$class_pa = new products_articles();
$class_pb = new products_brand();
$class_pmr = new ProductMeasurement();
$class_pm = new products_minierp();
$class_ea = new elements_attributes();
$products_id = tep_db_prepare_input($_GET['id']);
$product = new Product($products_id);
/* TODO: @deprecated Remove this because products description not use this.
$clasp_type = array();
$clasp_type[] = '';
$clasp_type[] = 'Agraffe';
$clasp_type[] = 'Bajonette Clasp';
$clasp_type[] = 'Clasp With Safety';
$clasp_type[] = 'Collier Clasp';
$clasp_type[] = 'Cross Clasp';
$clasp_type[] = 'Fold over clasp';
$clasp_type[] = 'Jewellery box clasp';
コード例 #12
0
set_time_limit(0);
ini_set('memory_limit', '512M');
global $db;
require_once '../confy.php';
require_once '../functions.php';
require_once '../functions-2.php';
require_once DIR_WS_FUNCTIONS . 'html_output.php';
tep_db_connect();
use_class('jng_sp');
use_class('products_minierp');
use_class('products_articles');
use_class('stock_booking');
use_class('ReportCOGS');
$class_sp = new jng_sp();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$amazon = $class_sp->retrieveDetail('5');
//ACTIVATE BELOW LINES FOR AMAZON, COMMENT TO GRAB ALL ARTICLES
//$category_ignore_articles = array('2', '3', '30');
$show_image = isset($_POST['show_image']) && $_POST['show_image'] == '1';
$this_year = date('Y');
$this_year_start = $this_year . '-01-01';
$this_year_end = $this_year . '-12-31';
$last_year_spid = '5';
$last_year_sp = $class_sp->retrieveDetail($last_year_spid);
$last_year = date('Y', strtotime('last year'));
$last_year_start = $last_year . '-01-01';
$last_year_end = $last_year . '-12-31';
$hn = array();
if ($show_image) {
    $hn['image'] = 'Product Image';
コード例 #13
0
<?php

global $db;
require_once '../confy.php';
require_once '../functions.php';
require_once '../functions-2.php';
tep_db_connect();
use_class('jng_sp_preorders');
use_class('products_minierp');
use_class('products_articles');
use_class('products_materials');
use_class('element');
use_class('elements_attributes');
use_class('Product');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_pmat = new products_materials();
$class_ea = new elements_attributes();
function displayMeasurementRule($measurement, $use_decimal = true)
{
    if ($measurement == 0) {
        $result = '';
    } else {
        //change to german regional settings
        $result = $use_decimal ? number_format($measurement, 2, ',', '') : intval($measurement);
    }
    return $result;
}
//RETRIEVE PRODUCT MATERIALS
$materials_name_raw = $class_pmat->retrieveList('', 'material_name');
$materials_name = array();
コード例 #14
0
 function getEANReturnResult($partner_type, $products_data, $sp_id = '0')
 {
     use_class('jng_sp');
     use_class('orders');
     use_class('jng_sp_orders');
     use_class('Product');
     use_class('products_ean');
     use_class('products_minierp');
     use_class('products_articles');
     use_class('products_brand');
     $class_sp = new jng_sp();
     $class_orders = new orders();
     $class_jo = new jng_sp_orders();
     $class_pean = new products_ean();
     $class_pm = new products_minierp();
     $class_pa = new products_articles();
     $class_pb = new products_brand();
     $result = "no data";
     $product_id = $products_data["products_id"];
     $product_article_id = $products_data["products_articles_id"];
     if ($product_article_id > 0) {
         $articles_data = $class_pa->retrieveDetail($product_article_id);
     }
     $p_ean = $class_pean->getEAN($product_id, $product_article_id);
     $p = $class_pm->retrieveDetail($product_id, 'p,pd,cat,pnc');
     //GETTING BRAND NAME
     $p_brand_id = $p['p']['products_brand_id'];
     $brand_data = $class_pb->retrieveDetail($p_brand_id);
     $brand_name = strtoupper(trim($brand_data['brand_name']));
     $p_brand = $brand_name == '' ? 'JULIE & GRACE' : $brand_name;
     $p_code = $p['p']['products_model'];
     $p_category = mb_strtoupper($class_pm->retrieveCategoryName($p['categories_id'], 2));
     //$p_shortname = "925 SILBER";  //it was $label_material
     //$p_shortname = ($sp_id=='5') ? strtoupper($p['pd']['2']['products_short_name']) : "925 SILBER";
     $sp_used_am_logistic = array_keys(getSalesPartnerUseAmazonLogistic());
     if (in_array($sp_id, $sp_used_am_logistic)) {
         $p_shortname = strtoupper($p['pd']['2']['products_short_name']);
     } else {
         $obj_product = new product($product_id);
         $metal_stamp_code = $obj_product->metal_stamp_code;
         $metal_stamp_info = $metal_stamp_code == 925 ? 'SILBER' : $obj_product->metal_stamp_info;
         $metal_stamp_info = $this->convertToGermanHex($metal_stamp_info);
         $p_shortname = strtoupper("{$metal_stamp_code} {$metal_stamp_info}");
     }
     $p_length = $product_article_id > 0 ? $articles_data['length'] : $p['pnc']['products_length'];
     $p_length = $p_length > 0 ? strtoupper(str_replace(' ', '', textLength($p_length))) : '';
     $p_targetaudience = strtoupper(LABEL_TARGET_AUDIENCE);
     //FOR TEMPORARY WE USING ONLY DAMEN
     if ($partner_type == 'sp') {
         $order_qty = intval($products_data["order_quantity"]);
         $p_price = $products_data['price'];
     } elseif ($partner_type == 'jg') {
         $order_qty = $products_data["products_quantity"];
         $p_price = $products_data['final_price'];
     } elseif ($partner_type == 'dp') {
         $order_qty = $products_data["quantity"];
         $p_price = '0';
     } else {
         $order_qty = '';
         $p_price = '';
     }
     if ($p_ean != '') {
         $return_label = $p_ean . ";" . $p_category . ";" . $p_shortname . ";" . $p_price . " EUR;{$order_qty};{$sp_id};{$p_code};{$p_brand};{$p_length};{$p_targetaudience};{$p_brand_id}";
         $result = $return_label;
     }
     return $result;
 }
コード例 #15
0
<?php

global $db;
require_once '../confy.php';
require_once '../functions.php';
require_once '../functions-2.php';
tep_db_connect();
use_class('archive', DIR_WS_CLASSES);
use_class('jng_sp_preorders');
use_class('products_ean');
use_class('products_minierp');
use_class('products_articles');
$class_ean = new products_ean();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$preorder_id = tep_db_prepare_input($_GET['id']);
$preorder = new jng_sp_preorders($preorder_id);
$ean_collection = array();
foreach ($preorder->items as $i) {
    $ean_collection[] = $i['products_ean'];
}
$dest_path = 'BuyVIP-' . date('ymd') . '/';
if (!is_dir($dest_path)) {
    mkdir($dest_path, 0750);
}
foreach ($ean_collection as $ean) {
    $pdata = $class_ean->getProductArticle($ean);
    $pid = $pdata['products_id'];
    $p = $class_pm->retrieveDetail($pid, 'p,pci,pei,pnc,cat');
    $product_images = array();
    if ($p['p']['products_image'] != '' || $p['pci']['products_clear_image'] != '') {
コード例 #16
0
require_once '../functions-2.php';
require_once '../functions-xml.php';
require_once DIR_WS_FUNCTIONS . 'html_output.php';
tep_db_connect();
use_class('logger');
$logger = new logger('cron', 'sp-2-catalog-uploader');
use_class('jng_sp_catalog');
use_class('jng_sp_upload');
use_class('products_minierp');
use_class('products_articles');
use_class('jng_sp');
$sp_specsets = load_config('sp-specific-settings');
$class_jc = new jng_sp_catalog();
$class_ju = new jng_sp_upload();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_sp = new jng_sp();
$deleted_eans_reported = null;
$jng_sp_id = 2;
$sp_detail = $class_sp->retrieveDetail($jng_sp_id);
//echo something after every $echo_steps in the loop
$echo_steps = 100;
//RETRIEVE PRODUCT CATEGORIES
$product_categories_name = array();
$catq = tep_db_query("SELECT c.categories_id, cd.categories_name" . " FROM categories c" . " INNER JOIN categories_description cd" . " ON cd.categories_id=c.categories_id" . " AND cd.language_id={$sp_detail['languages_id']}" . " WHERE c.parent_id=0");
while ($row = tep_db_fetch_array($catq)) {
    $product_categories_name[$row['categories_id']] = $row['categories_name'];
}
function translateOttoCategory($category_id)
{
    //OTTO Warengruppe / ClassOfGoods
コード例 #17
0
<?php

$product_input = tep_db_prepare_input($_POST['product_input']);
$counter_on = !isset($_POST['counter_on']) ? true : tep_db_prepare_input($_POST['counter_on']) == 'true';
use_class('products_minierp');
use_class('products_articles');
use_class('products_ean');
use_class('logger');
$class_ean = new products_ean();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$logger = new logger('mc_functions', 'mod05_get_product_detail');
$logger->write("POST product_input = {$product_input}");
function cleanOiidFromPrefix($oiid)
{
    /* Sometimes when user scan so fast, id scanned would be like this SP-12345SP-12345
     * So this makes oiid taken is 12345SP, this function to clean it from unwanted prefix */
    $oiid = strtoupper($oiid);
    $oiid = str_replace('SP', '', $oiid);
    $oiid = str_replace('JG', '', $oiid);
    $oiid = str_replace('DP', '', $oiid);
    return $oiid;
}
$barcode_id = '';
$spid = '';
$pid = 0;
$aid = '-';
$ean = '';
$qty = 1;
$cancel = false;
$result = array();
コード例 #18
0
require_once DIR_WS_FUNCTIONS . 'html_output.php';
tep_db_connect();
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$start = $time;
use_class('jng_sp_catalog');
use_class('jng_sp_upload');
use_class('products_minierp');
use_class('products_articles');
use_class('products_linking');
use_class('jng_sp');
$class_jc = new jng_sp_catalog();
$class_ju = new jng_sp_upload();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_pl = new products_linking();
$class_sp = new jng_sp();
$jng_sp_id = '1';
$sp_detail = $class_sp->retrieveDetail($jng_sp_id);
$jng_sp_name = $sp_detail["name"];
$timestamp = date('d.m.Y H:i:s');
$datenow = date('ymd');
$HOURSTART = SP_NECKERMANN_CATUPLOAD_HOURSTART;
$HOUREND = SP_NECKERMANN_CATUPLOAD_HOUREND;
$hour_now = date('H');
//$hour_now = 04;
$max_pid_processed_per_run = 2000;
$total_pids_taken_per_run = 0;
$process_runned = 0;
$products_stock = array();
コード例 #19
0
require_once '../functions-xml.php';
require_once DIR_WS_FUNCTIONS . 'html_output.php';
tep_db_connect();
use_class('logger');
$logger = new logger('cron', 'tradebyte-catalog-uploader');
use_class('xml_tools');
use_class('ProductAttribute');
use_class('Category');
use_class('products_minierp');
use_class('products_articles');
use_class('products_materials');
use_class('products_family');
use_class('jng_sp_catalog');
use_class('styles');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_pmat = new products_materials();
$class_jc = new jng_sp_catalog();
$class_s = new styles();
$lid = '2';
$materials_name = array();
$materials_list = $class_pmat->retrieveList();
foreach ($materials_list as $mat) {
    //take only materials in german language
    $tmp_mat_name = explode(',', $mat['material_name']);
    $mat_name = trim($tmp_mat_name[0]);
    $materials_name[$mat['products_materials_id']] = $mat_name;
}
/**
 * Function to send message to responsible PIC
 * @global type $TB_CATUPLOAD_ADD_SUPERVISORS
コード例 #20
0
<?php

//*SPECIAL NOTE: THIS MODULE IS CALLED FROM PRODUCTS ANALYSIS
use_class('jng_sp');
use_class('products_articles');
use_class('ReportCOGS');
$class_sp = new jng_sp();
$class_pa = new products_articles();
$total_periods = 10;
$class_col_product = 'w150 tac';
$class_col_periods = 'w150 tac';
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'LOADPRODUCT') {
        use_class('products_minierp');
        $class_pm = new products_minierp();
        $pid = tep_db_prepare_input($_POST['pid']);
        $rowclass = $_POST['rowclass'];
        $product = $class_pm->retrieveDetail($pid, 'p');
        $product_image = webImage($product['p']['products_image'], IMAGE_SIZE_THUMBNAIL_1, IMAGE_SIZE_THUMBNAIL_1, 'Product ' . $pid, '');
        $ajaxResult = array();
        $ajaxResult['pid'] = $pid;
        $ajaxResult['image'] = $product_image;
        $ajaxResult['info'] = $pid;
        //$ajaxResult['info'] = $pid.' / '.$product['p']['products_model'];
        echo ajaxReturn($ajaxResult);
        exit;
    } elseif ($_POST['me_action'] == 'LOADPERIOD') {
        $spid = tep_db_prepare_input($_POST['spid']);
        $products = tep_db_prepare_input($_POST['products']);
        $period = tep_db_prepare_input($_POST['period']);
        $period_start_raw = tep_db_prepare_input($_POST['period_start']);
<?php

global $db;
require_once '../confy.php';
require_once '../functions.php';
tep_db_connect();
use_class('jng_sp_catalog');
$class_jc = new jng_sp_catalog();
use_class('products_articles');
$class_pa = new products_articles();
use_class('products_ean');
$class_ean = new products_ean();
$jng_sp_id = '1';
$products = $class_jc->retrieveCatalogForUpload($jng_sp_id);
$counter_p = 0;
$counter_a = 0;
foreach ($products as $p) {
    if ($p['products_ean'] == '') {
        $class_ean->attachToProduct($p['products_id']);
        $counter_p++;
    }
    $articles = $class_pa->retrieveList($p['products_id']);
    foreach ($articles as $a) {
        if ($a['length'] != $p['length']) {
            if ($a['products_ean'] == '') {
                $class_ean->attactToArticle($a['products_articles_id']);
                $counter_a++;
            }
        }
    }
    echo '.';
コード例 #22
0
<?php

use_class('ProductAttribute');
use_class('design_draft');
use_class('products_minierp');
use_class('products_articles');
use_class('products_brand');
use_class('element');
use_class('jng_sp');
use_class('jng_sp_catalog');
use_service('color_pattern');
use_class('production_instruction_manual');
use_class('styles');
use_class('design');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_pb = new products_brand();
$class_sp = new jng_sp();
$class_jc = new jng_sp_catalog();
$class_cp = new color_pattern();
$class_s = new styles();
$class_d = new design();
$default_SP = array('1', '2', '3');
$target_group['1'] = $NAV_TARGET_GROUP_NMDE;
$target_group['2'] = $NAV_TARGET_GROUP_OTDE;
$colpaterns = $class_cp->retrieveListGrid(SERVICECLIENTCODE, null, LANGUAGEID);
$colpats = $colpaterns['Data'];
function getDetailData($products_id, $type)
{
    global $class_pm, $class_pa, $class_pb, $class_sp, $target_group, $colpats, $class_s;
    $result = array();
コード例 #23
0
//global $db;
//require_once('../confy.php');
//require_once('../functions.php');
//require_once('../functions-2.php');
//require_once('../functions-xml.php');
//require_once(DIR_WS_FUNCTIONS.'html_output.php');
//tep_db_connect();
require_once DIR_WS_CLASSES . 'archive.php';
use_class('products_minierp');
use_class('products_materials');
use_class('products_family');
use_class('products_articles');
$class_pm = new products_minierp();
$class_pmat = new products_materials();
$class_pa = new products_articles();
function tep_create_csv_for_LAID($data, $separator = ',', $qualifier = '"')
{
    $result = '';
    if (is_array($data)) {
        foreach ($data as $num => $row) {
            foreach ($row as $key => $value) {
                $row[$key] = $qualifier . $value . $qualifier;
            }
            $result .= implode($separator, $row);
            $result .= "\n";
        }
    }
    return $result;
}
function lazadaIDWriteToFile($filename, $content, $writemode)
コード例 #24
0
define('FPDF_FONTPATH', FPDF_IMGPATH . 'fonts/');
require_once DIR_WS_CLASSES . 'fpdf.php';
//RETRIEVE PRODUCT CATEGORIES
$product_categories_name = array();
$catq = tep_db_query("SELECT c.categories_id, cd.categories_name FROM categories c INNER JOIN categories_description cd ON cd.categories_id=c.categories_id AND cd.language_id=1 WHERE c.parent_id=0");
while ($row = tep_db_fetch_array($catq)) {
    $product_categories_name[$row['categories_id']] = $row['categories_name'];
}
use_class('jng_sp');
use_class('jng_sp_orders');
use_class('products_minierp');
use_class('products_articles');
$class_sp = new jng_sp();
$class_jo = new jng_sp_orders();
$class_pm = new products_minierp();
$class_pa = new products_articles();
if (isset($_GET['id'])) {
    $order_id = tep_db_prepare_input($_GET['id']);
}
class PDF extends FPDF
{
    var $ypos = 0;
    var $margin = 10;
    var $order_barcode = '';
    function initPDF()
    {
    }
    //Page header
    function Header()
    {
    }
コード例 #25
0
<?php

/**
 * This module is used to display all current active booking
 *
 * @author IT TEAM BONOFACTUM
 * @created Jun 18, 2013 3:45:28 PM
 */
use_class('stock_booking');
use_class('products_minierp');
use_class('products_articles');
$class_pm = new products_minierp();
$class_pa = new products_articles();
$articles_booked = stock_booking::getBookedQuantityAll(WAREHOUSE_ID_PRODUCTS_HAMBURG);
$articles_stock = $class_pm->stockRetrieveDetailAll(WAREHOUSE_ID_PRODUCTS_HAMBURG, 'booking_active>0');
$ttl_products = 0;
$ttl_articles = 0;
$ttl_qty_booked = 0;
$ttl_cache_error = 0;
$articles_result = array();
foreach ($articles_booked as $id => $book_qty) {
    $id_temp = explode('-', $id);
    $pid = $id_temp[0];
    $aid = $id_temp[1];
    if (!isset($articles_result[$pid])) {
        $articles_result[$pid] = array();
        $ttl_products++;
    }
    if (!isset($articles_result[$pid][$aid])) {
        $articles_result[$pid][$aid] = array();
        $ttl_articles++;
コード例 #26
0
 /**
  * Generate family match key
  * @param Int $products_id
  * @param Int $articles_id
  * @return String
  */
 function refreshFamilyMatchKey($products_id, $articles_id = null)
 {
     //$group_ref_el_cat = array('casting', 'findings', 'handmade', 'chains', 'pearl');
     $group_ref_el_cat = $this->el_cat_searchkey;
     //Old Key formula : brand_id-categories_id-[el_id-qty] >> 13.12.10 changed to exclude brand_id
     //New Key formula : categories_id-[el_id-qty]
     use_class('element');
     use_class('products_minierp');
     use_class('products_articles');
     $class_pa = new products_articles();
     $class_pm = new products_minierp();
     if (is_null($products_id)) {
         $articles = $class_pa->retrieveDetail($articles_id);
         $products_id = $articles['products_id'];
     }
     $family_searchkey = '';
     $key1 = array();
     $key2 = array();
     $el_used = $class_pm->retrieveElementsUsage($products_id, $articles_id);
     if (count($el_used) > 0) {
         //$p_data = $class_pm->retrieveDetail($products_id, 'p,cat');
         $p_data = $class_pm->retrieveDetail($products_id, 'cat');
         //$key1[] = $p_data['p']['products_brand_id'];
         $key1[] = $p_data['categories_id'];
         foreach ($el_used as $dt) {
             $elid = $dt['elements_id'];
             $el = new element($elid);
             if (in_array($el->attributes['category']['id'], $group_ref_el_cat)) {
                 $key2[] = $elid;
                 $key2[] = $dt['quantity'];
             }
         }
         if (count($key2) > 0) {
             $family_searchkey = implode('-', array_merge($key1, $key2));
             if (is_null($articles_id)) {
                 tep_db_perform('products', array('family_searchkey' => $family_searchkey), 'update', "products_id={$products_id}");
                 //update also articles if exist
                 $articles = $class_pa->retrieveList($products_id);
                 foreach ($articles as $article) {
                     $articles_id = $article['products_articles_id'];
                     $this->refreshFamilyMatchKey($products_id, $articles_id);
                 }
             } else {
                 tep_db_perform('products_articles', array('family_searchkey' => $family_searchkey), 'update', "products_articles_id={$articles_id}");
             }
         }
     }
     return $family_searchkey;
 }
コード例 #27
0
require_once '../confy.php';
require_once '../functions.php';
require_once '../functions-2.php';
require_once DIR_WS_FUNCTIONS . 'html_output.php';
tep_db_connect();
$eao = 2;
//element adjust order
use_class('design');
use_class('elements_preorder');
use_class('elements_order');
use_class('elements_stock');
use_class('products_articles');
use_class('products_minierp');
$class_es = new elements_stock();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$ean_eu_collection = array();
$max_el_per_article = 0;
$use_elements = array();
$class_d = new design($_GET['d']);
$products = $class_d->retrieveProducts();
foreach ($products as $p) {
    $query_products_categories = "SELECT * FROM products_to_categories ptc WHERE products_id={$p['products_id']}";
    $tpdbq_products_categories = tep_db_query($query_products_categories);
    $products_categories = tep_db_fetch_array($tpdbq_products_categories);
    // find what use element in this product
    $ean_eu_collection[$p['products_id'] . '-0'] = '';
    $tpdbq_products_use_elements = $class_pm->retrieveElementsUsage($p[products_id]);
    foreach ($tpdbq_products_use_elements as $row_pue) {
        $use_elements[] = array('elements_id' => $row_pue['elements_id'], 'quantity' => (int) $row_pue['quantity'] * $eao);
        $ean_eu_collection[$p['products_id'] . '-0'] .= $row_pue['elements_id'] . ' x ' . $row_pue['quantity'] . '|';
コード例 #28
0
<?php

use_class('Order');
use_class('orders');
use_class('jng_sp_orders');
use_class('depot_orders');
use_class('products_minierp');
use_class('products_articles');
use_class('products_ean');
$class_o = new orders();
$class_do = new depot_orders();
$class_jo = new jng_sp_orders();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_ean = new products_ean();
$source = strtoupper(tep_db_prepare_input($_GET['source']));
$order_id = tep_db_prepare_input($_GET['id']);
if (!isset($_GET['id']) && isset($_GET['item_id']) && $_GET['item_id'] != '') {
    $item_id = tep_db_prepare_input($_GET['item_id']);
    if ($source == Order::ORDER_TYPE_JULIE_GRACE) {
        $item = $class_o->retrieveProductDetail($item_id);
        $order_id = $item['orders_id'];
    } elseif ($source == Order::ORDER_TYPE_SALES_PARTNER) {
        $item = $class_jo->retrieveItemDetail($item_id);
        $order_id = $item['jng_sp_orders_id'];
    }
}
if ($order_id == '' || $order_id == 'undefined') {
    $content .= '<h2 class="red">Manobo can not find related order for this customer</h2>';
    $title .= 'No Order';
} else {
コード例 #29
0
/**
 * This module will replace 2 previous modules:
 * - products-stock-update.php
 * - bin-info.php
 *
 * @author IT TEAM BONOFACTUM
 * @created Apr 12, 2013 6:20:18 PM
 */
use_class('products_minierp');
use_class('products_articles');
use_class('products_ean');
use_class("bins");
use_class("stock_booking");
$class_bin = new bins();
$class_pm = new products_minierp();
$class_pa = new products_articles();
$class_ean = new products_ean();
//GET PAGE & WAREHOUSE OPTIONS
warehouseFGCombo();
$psid = null;
$bin_id = null;
$pid = null;
$aid = null;
$history_options = array();
$history_options[0] = '2 Weeks';
$history_options[1] = '4 Weeks';
$history_options[2] = '1 Month';
$history_options[3] = '2 Months';
$history_options[4] = '3 Months';
$history_options[5] = '6 Months';
$history_options[6] = '1 Year';
コード例 #30
0
<?php

use_class('depot_orders');
$class_do = new depot_orders();
use_class('products_minierp');
$class_pm = new products_minierp();
use_class('products_articles');
$class_pa = new products_articles();
$whid_material = '1';
//1 is default warehuse for elements
$whid_fg_hh = '5';
//5 is default warehouse for depot in HH
$order_id = tep_db_prepare_input($_GET['id']);
if (isset($_POST['me_action'])) {
    if ($_POST['me_action'] == 'SETSTATUS') {
        $newstatus = tep_db_prepare_input($_POST['newstatus']);
        $class_do->updateStatus($order_id, $newstatus, $session_userinfo['username']);
        if ($newstatus == '1') {
            $class_do->updateStockStatus($order_id, '0');
        }
        $newstatus_msg['1'] = 'Order is set back as <strong>' . statusName('1') . '<strong>!';
        $newstatus_msg['8'] = 'Order is set as <strong>' . statusName('8') . '<strong>!';
        $newstatus_msg['10'] = 'Order is <strong>Canceled<strong>!';
        $messagebox->add($newstatus_msg[$newstatus], 'green');
        if ($newstatus == '1' || $newstatus == '10') {
            $subject = 'MISSING PRODUCT!';
            $message = 'A Product from Depot Order has been reported missing (sent to HH but never receive): ';
            $message .= '<a href="http://manobo.de/?open=depot-order&amp;id=' . $order_id . '">DP-' . $order_id . '</a>';
        } elseif ($newstatus == '8') {
            $subject = 'MANUAL SET STATUS!';
            $message = 'A Product from Depot Order has been set manually as received in HH by ' . $session_userinfo['username'] . ': ';