// Katsotaan onko tuotteelle voimassaolevaa hinnastohintaa $query = "SELECT\n *\n FROM hinnasto\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno = '{$alirow['tuoteno']}'\n AND maa = '{$yhtiorow['maa']}'\n AND laji = ''\n AND ((alkupvm <= current_date and if (loppupvm = '0000-00-00','9999-12-31',loppupvm) >= current_date) or (alkupvm='0000-00-00' and loppupvm='0000-00-00'))\n ORDER BY ifnull(to_days(current_date)-to_days(alkupvm),9999999999999)\n LIMIT 1"; $hinnastoq = pupe_query($query); $hinnastoresult = mysql_fetch_assoc($hinnastoq); // Nollataan tämä jos query lyö tyhjää, muuten vanhentunut tarjoushinta ei ylikirjoitu magentossa if (!isset($hinnastoresult['hinta'])) { $hinnastoresult['hinta'] = ''; } $dnslajitelma[$rowselite["selite"]][] = array('tuoteno' => $alirow["tuoteno"], 'tunnus' => $alirow["tunnus"], 'nimitys' => $alirow["nimitys"], 'kuvaus' => $alirow["kuvaus"], 'lyhytkuvaus' => $alirow["lyhytkuvaus"], 'tuotemassa' => $alirow["tuotemassa"], 'nakyvyys' => $alirow["nakyvyys"], 'try_nimi' => $alirow["try_nimi"], 'nimi_swe' => $alirow["nimi_swe"], 'nimi_eng' => $alirow["nimi_eng"], 'campaign_code' => $alirow["campaign_code"], 'target' => $alirow["target"], 'onsale' => $alirow["onsale"], 'jarjestys' => $alirow["jarjestys"], 'myyntihinta' => $myyntihinta, 'myyntihinta_veroton' => $myyntihinta_veroton, 'myymalahinta' => $myymalahinta, 'myymalahinta_veroton' => $myymalahinta_veroton, 'hinnastohinta' => $hinnastoresult['hinta'], 'kuluprosentti' => $alirow['kuluprosentti'], 'ean' => $alirow["eankoodi"], 'muuta' => $alirow['muuta'], 'tuotemerkki' => $alirow['tuotemerkki'], 'parametrit' => $properties, 'tuotepuun_nodet' => $tuotepuun_nodet); } } $tuote_export_error_count = 0; echo date("d.m.Y @ G:i:s") . " - Aloitetaan päivitys verkkokauppaan.\n"; if (isset($verkkokauppatyyppi) and $verkkokauppatyyppi == "magento") { $time_start = microtime(true); $magento_client = new MagentoClient($magento_api_te_url, $magento_api_te_usr, $magento_api_te_pas); if ($magento_client->getErrorCount() > 0) { exit; } // tax_class_id, magenton API ei anna hakea tätä mistään. Pitää käydä katsomassa magentosta $magento_client->setTaxClassID($magento_tax_class_id); // Verkkokaupan "root" kategorian tunnus, magenton API ei anna hakea tätä mistään. Pitää käydä katsomassa magentosta if (isset($magento_parent_id)) { $magento_client->setParentID($magento_parent_id); } // Verkkokaupanhintakenttä, joko myyntihinta tai myymalahinta if (isset($magento_hintakentta)) { $magento_client->setHintakentta($magento_hintakentta); } // Käytetäänkö tuoteryhminä tuoteryhmiä(default) vai tuotepuuta if (isset($magento_kategoriat)) {
die("Tätä scriptiä voi ajaa vain komentoriviltä!"); } $pupe_root_polku = dirname(dirname(__FILE__)); require "{$pupe_root_polku}/inc/connect.inc"; require "{$pupe_root_polku}/inc/functions.inc"; // Logitetaan ajo cron_log(); // Sallitaan vain yksi instanssi tästä skriptistä kerrallaan pupesoft_flock(); require "{$pupe_root_polku}/rajapinnat/magento_client.php"; require "{$pupe_root_polku}/rajapinnat/edi.php"; if (empty($magento_api_ht_edi) or empty($magento_api_ht_url) or empty($magento_api_ht_usr) or empty($magento_api_ht_pas) or empty($ovt_tunnus) or empty($pupesoft_tilaustyyppi) or empty($verkkokauppa_asiakasnro) or empty($rahtikulu_tuoteno) or empty($rahtikulu_nimitys)) { exit("Parametrejä puuttuu\n"); } // Magenton soap client $magento = new MagentoClient($magento_api_ht_url, $magento_api_ht_usr, $magento_api_ht_pas); // Halutaanko estää tilausten tuplasisäänluku, eli jos tilaushistoriasta löytyy käsittely // 'processing_pupesoft'-tilassa niin tilausta ei lueta sisään jos sisäänluvun esto on päällä // Default on: YES if (isset($magento_sisaanluvun_esto) and !empty($magento_sisaanluvun_esto)) { $magento->setSisaanluvunEsto($magento_sisaanluvun_esto); } if ($magento->getErrorCount() > 0) { exit; } try { // Haetaan maksetut tilaukset magentosta $tilaukset = $magento->hae_tilaukset('Processing'); } catch (Exception $e) { $message = "Tilausten haku epäonnistui"; $magento->log($message, $e, "order");