コード例 #1
0
 }
 $ts_counter++;
 $xml_content = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
 $xml_content .= writeXMLopen('ottopartner', 0, 'xmlns="http://www.ottogroupb2b.com/ottopartner"');
 $xml_content .= writeXMLline('LKZ', $temp_sp['jng_id'], 1);
 $xml_content .= writeXMLopen('OrderStates', 1);
 $xml_content .= writeXMLopen('OrderState', 2);
 $xml_content .= writeXMLline('order-no', $o['order_id'], 3);
 $xml_content .= writeXMLopen('product-line-items', 3);
 $items = $class_jo->retrieveItems($o['jng_sp_orders_id']);
 foreach ($items as $i) {
     $xml_content .= writeXMLopen('product-line-item', 4);
     $xml_content .= writeXMLline('position', $i['position'], 5);
     $xml_content .= writeXMLline('order-status', 'entered', 5);
     $xml_content .= writeXMLline('quantity', intval($i['order_quantity']), 5);
     $xml_content .= writeXMLline('ModificationDate', ottodeDateFormat($timestamp), 5);
     $xml_content .= writeXMLclose('product-line-item', 4);
 }
 $xml_content .= writeXMLclose('product-line-items', 3);
 $xml_content .= writeXMLclose('OrderState', 2);
 $xml_content .= writeXMLclose('OrderStates', 1);
 $xml_content .= writeXMLclose('ottopartner', 0);
 //CREATE XML ON SERVER
 $fn_counter = str_pad($ts_counter, 2, '0', STR_PAD_LEFT);
 $xml_filename = $temp_sp['jng_id'] . '_orderstatus_' . $ts_period . $fn_counter . '.xml';
 $xmlfullpath = SP_OTTODE_UPLOAD_PATH_STATES . $xml_filename;
 $file = fopen($xmlfullpath, 'w');
 $success = fwrite($file, $xml_content) !== false;
 fclose($file);
 if ($success) {
     $orders_confirmed++;
コード例 #2
0
function generateXMLarticle($sp_detail, $p, $uselength = false)
{
    global $deleted_eans, $deleted_eans_reported, $jng_sp_id;
    $result = '';
    if (!in_array($p['products_ean'], $deleted_eans_reported)) {
        //only delete product if it is killed
        if ($p['products_active_status'] != '1') {
            $deleted_eans[] = $p['products_ean'];
        } else {
            //kill article if it's deactivated
            if (isset($p['article_status']) && $p['article_status'] == '0') {
                $deleted_eans[] = $p['products_ean'];
            }
        }
        //XML ARTICLES
        $result .= writeXMLopen('SKU', 3);
        if ($p['length'] != '' && $p['length'] != '0') {
            $result .= writeXMLline('Dimension2', textLength($p['length']) . ' Länge', 4);
        }
        $date_inv_start = ottodeDateFormat(date('Y-m-d H:i:s', strtotime($p['date_added'])));
        if ($p['active_status'] == '1' && (!isset($p['article_status']) || $p['article_status'] == '1')) {
            $date_inv_end_time = strtotime('+10 years');
        } else {
            //deactivate products
            $date_inv_end_time = strtotime('+3 days');
        }
        $date_inv_end = ottodeDateFormat(date('Y-m-d H:i:s', $date_inv_end_time));
        $date_updated = ottodeDateFormat(date('Y-m-d H:i:s'));
        $price_old = $p['price_old'] == 0 ? $p['price'] : $p['price_old'];
        $result .= writeXMLline('InvoicingStartDate', $date_inv_start, 4);
        $result .= writeXMLline('InvoicingEndDate', $date_inv_end, 4);
        $result .= writeXMLline('SellingPrice', $p['price'], 4);
        $result .= writeXMLline('SellingPriceOld', $price_old, 4);
        $result .= writeXMLline('BuyingPrice', getPurchasePrice($p['price'], $jng_sp_id, $sp_detail), 4);
        $size = $p['length'] != '' && $p['length'] != '0' ? textLength($p['length'], false) : 'none';
        $result .= writeXMLline('Size', $size, 4);
        $result .= writeXMLline('EAN', $p['products_ean'], 4);
        //In latest Warengruppen it seems that we can only use "neutral"
        //This means we can not use the existing gender information and
        //use a static value "neutral" instad. Updated by sahat on 02.07.2014
        $result .= writeXMLline('Targetgroup', 'neutral', 4);
        //$result .= writeXMLline('ExpressDelivery', $p[''], 4);
        $result .= writeXMLclose('SKU', 3);
    }
    return $result;
}
コード例 #3
0
 $xml_content .= writeXMLline('LKZ', $sp_detail[$jng_sp_id]['jng_id'], 1);
 $xml_content .= writeXMLopen('OrderStates', 1);
 //XML PER ORDER
 $items_confirmed = array();
 foreach ($orders as $counter => $o) {
     $xml_content .= writeXMLopen('OrderState', 2);
     $xml_content .= writeXMLline('order-no', $o['order_id'], 3);
     $xml_content .= writeXMLopen('product-line-items', 3);
     $items = $data_sp['items'][$o['jng_sp_orders_id']];
     foreach ($items as $i) {
         $items_confirmed[] = $i['jng_sp_orders_items_id'];
         $xml_content .= writeXMLopen('product-line-item', 4);
         $xml_content .= writeXMLline('position', $i['position'], 5);
         $status = $class_jo->statusIsCancelled($i['status']) ? 'cancel' : 'sent';
         $xml_content .= writeXMLline('order-status', $status, 5);
         $xml_content .= writeXMLline('ModificationDate', ottodeDateFormat($export_date), 5);
         $xml_content .= writeXMLclose('product-line-item', 4);
     }
     $xml_content .= writeXMLclose('product-line-items', 3);
     $xml_content .= writeXMLclose('OrderState', 2);
 }
 $xml_content .= writeXMLclose('OrderStates', 1);
 $xml_content .= writeXMLclose('ottopartner', 0);
 //CREATE XML ON SERVER
 $xmlfullpath = SP_OTTODE_UPLOAD_PATH_STATES . $xml_filename;
 $file = fopen($xmlfullpath, 'w');
 $success = fwrite($file, $xml_content) !== false;
 fclose($file);
 if ($success) {
     $upload_id = $class_ju->newUpload($jng_sp_id, 'BS', $xml_filename, $session_userinfo['username']);
     $class_jo->confirmOrderDelivery($items_confirmed);
コード例 #4
0
 $class_jc = new jng_sp_catalog();
 $class_ju = new jng_sp_upload();
 $class_pm = new products_minierp();
 $class_pa = new products_articles();
 $sp_detail = $class_sp->retrieveDetail($jng_sp_id);
 $excluded_booked_qty = true;
 $products_stock = $class_pm->stockRetrieveAll(WAREHOUSE_ID_PRODUCTS_HAMBURG, '', $excluded_booked_qty);
 $o_products = $class_jc->retrieveCatalogForUpload($jng_sp_id, true);
 if (count($o_products) == 0) {
     $logger->write('No Products found');
 } else {
     $ean_format = false;
     //use "EAN" or "Product Code + Length" as ID
     //GRAB ALREADY REPORTED EAN
     $deleted_eans_reported = retrieveOTDEremovedEANList();
     $export_date = ottodeDateFormat(date('Y-m-d H:i:s'));
     $xml_content = '<?xml version="1.0" encoding="UTF-8"?>';
     $xml_content .= writeXMLopen('ottopartner', 0, 'xmlns="http://www.ottogroupb2b.com/ottopartner"');
     $xml_content .= writeXMLline('LKZ', $sp_detail['jng_id']);
     $xml_content .= writeXMLopen('Inventories');
     //CREATE XML ON SERVER
     $xml_filename = $sp_detail['jng_id'] . 'bestand' . ($ean_format ? '-per-ean' : 'daten') . '-' . date('YmdHi') . '.xml';
     $file_fullpath = SP_OTTODE_UPLOAD_PATH_INVENTORIES . $xml_filename;
     $file = fopen($file_fullpath, 'w');
     fwrite($file, $xml_content);
     foreach ($o_products as $products_id => $data) {
         if ($data['products_ean'] != '') {
             $product_has_stock = false;
             $reported_data = array();
             //DEFAULT LENGTH
             $actual_stock = $products_stock[$data['products_id'] . '-0'];