< ? php
if (!defined('_PS_VERSION_'))
exit;
class Pcalcm
{
protected const CWS = 'http://89.216.27.121:7788/CalculusWebService/';
// protected const CWS = 'http://89.216.27.121:80/CalculusWebService/';
protected const URL0 = 'http://89.216.27.121:7788/CalculusWebService/CalculusWebService.asmx';
protected $wsfunkcija;
protected $postdata;
public function __construct($wsfunkcija = 'DatumVremeDBServera', $postdata = '')
{
$this->wsfunkcija = $wsfunkcija;
$this->postdata = $postdata;
}
public function izvrsi_ccmetod($uarr = false)
{
global $env;
$wsfunkcija = '';
$cllc = new Callcurl(self::URL0 . '/' . $this->wsfunkcija, $this->postdata);
$data = $cllc->call_curl($uarr = false);
return $data;
}
public function xml2arr($data)
{
$xml = new \SimpleXMLElement($data);
$array = json_decode(json_encode((array)$xml), TRUE);
// print_r($array);
return $array;
}
} // end class Pcalcm
class Callcurl
{
protected $url;
protected $postdata;
public function __construct($url, $postdata)
{
$this->url = $url;
$this->postdata = $postdata;
}
public function call_curl($uarr = false)
{
global $env;
$ch = curl_init($this->url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->postdata);
$data = curl_exec($ch);
if ($uarr) {
$res['data'] = $data;
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
}
curl_close($ch);
if ($uarr) {
if (200 == $status_code) {
$res['status_code'] = true;
} else {
$res['status_code'] = false;
}
return $res;
} else {
return $data;
}
}
} // end class Callcurl
class Presta2c extends Module
{
public function __construct()
{
$this->name = 'presta2c';
$this->tab = 'front_office_features';
$this->version = '1.0.0';
$this->author = 'P2C';
$this->need_instance = 0;
$this->secure_key = Tools::encrypt($this->name);
$this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->l('P2C Orders');
$this->description = $this->l('Getting order Details and business system update');
$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');
}
public function install()
{
if (!parent::install() ||
!$this->registerHook('header') ||
!$this->registerHook('invoice') ||
!$this->registerHook('OrderConfirmation')
)
return false;
return true;
}
public function uninstall()
{
if (!parent::uninstall()
)
return false;
return true;
}
public function getContent()
{
$output = null;
$output .= 'Your your configuration data here';
if (Tools::isSubmit('submit' . $this->name)) {
//here is actions for save configuration options
// we don't need it for our example.
}
return $output;
}
// getting data from BO orders page
public function hookDisplayInvoice()
{
$this->context->smarty->assign(array(
'id_order' => $id_order
));
return $this->display(__FILE__, 'templates/hook/p2c_invoice.tpl');
}
/**
* getting data from order confirmation
*
*
*
*/
public function hookDisplayOrderConfirmation($params)
{
set_time_limit(0);
$logfile = fopen(dirname(__FILE__) . '/p2c_log', "a+");
// $logfile = fopen(dirname(__FILE__).'/data.txt', "w");
$log_p2c = false; // Nema logovanja p2c
$log_p2c = true; // Loguje se p2c
$message_mail = '';
$tmp_date = date('dmY'); // tmpcde, 17062023
// $randparam = rand(100, 900);
// $randparam2 = rand(100000, 900000);
$wss_str = ''; // Podaci koji se snimaju u log fajl
$id_order = (int)Tools::getValue('id_order');
$order = $params['order'];
$currency = $params['currency'];
// ///////////////////////////////
// Niz proizvoda iz PrestaShop-a
$products = $order->getProducts();
// ///////////////////////////////
$customer_message = $order->getFirstMessage();
$id_cart = (int)$params['order']->id_cart;
// $komintent['reference'] šifra koju dodeljuje PrestaShop - ALFANUMERIČKA
// ParitetIsporuke u Calculus-u
// $paritetisporuke = (int)$params['order']->reference;
// $paritetisporuke = (int)$order->reference;
$paritetisporuke = (string)$params['order']->reference;
// ------------------------------------
// ------------------------------------
// Podaci komintenta iz porudžbine $komintent niz
// ------------------------------------
$komintent = array();
$komintent['id_cart'] = (int)$params['order']->id_cart;
$komintent['total_shipping'] = (int)$params['order']->total_shipping;
// $komintent['cookie'] = print_r($params['cookie'], true);
$komintent['is_guest'] = (int)$params['cookie']->is_guest;
$komintent['id_guest'] = (int)$params['cookie']->id_guest;
$komintent['id_customer'] = (int)$params['cookie']->id_customer;
$komintent['customer_firstname'] = filter_var($params['cookie']->customer_firstname, FILTER_SANITIZE_STRING);
$komintent['customer_lastname'] = filter_var($params['cookie']->customer_lastname, FILTER_SANITIZE_STRING);
$komintent['email'] = filter_var($params['cookie']->email, FILTER_SANITIZE_EMAIL);
$komintent['date_add'] = filter_var($params['cookie']->date_add, FILTER_SANITIZE_STRING);
// ------------------------------------
$addressobj = new Address(intval($params['cart']->id_address_delivery));
$komintent['company'] = (string)filter_var($addressobj->company, FILTER_SANITIZE_STRING);
$komintent['address1'] = (string)filter_var($addressobj->address1, FILTER_SANITIZE_STRING);
$komintent['vat_number'] = (int)$addressobj->vat_number;
$komintent['postcode'] = (string)filter_var($addressobj->postcode, FILTER_SANITIZE_STRING);
$komintent['country'] = (string)filter_var($addressobj->country, FILTER_SANITIZE_STRING);
$komintent['city'] = (string)filter_var($addressobj->city, FILTER_SANITIZE_STRING);
$komintent['phone'] = (string)filter_var($addressobj->phone, FILTER_SANITIZE_STRING);
$pib = (int)$komintent['vat_number'];
$napomena = ''; // $napomena za metodu UbaciZagDok
$napomena01 = '';
$product_name01 = '';
// Ako nije unet PIB smatra se da je fizičko lice
$napomena = $customer_message;
$wss_str .= "\n\n" . __LINE__ . ' customer_message ' . $customer_message;
$wss_str .= "\n\n" . __LINE__ . ' napomena1 ' . $napomena;
if (!empty($pib)) {
// Firma, proverava da li postoji u kalkulusu
$wsfunkcija12 = 'PodaciKomitenta';
$postdata12 = "sifra=&naziv=&pib=$pib&ID=&email=&tel=&pf=&uslov=";
$pccm12 = new Pcalcm($wsfunkcija12, $postdata12);
$data12 = $pccm12->izvrsi_ccmetod();
$xml12 = str_replace(' xmlns="http://tempuri.org/"', '', $data12);
$dom = new DomDocument();
$dom->loadXML($xml12);
$xpath = new DomXPath($dom);
$p_sifra = (int)$xpath->query("//sifra")->item(0)->nodeValue;
if (!empty($p_sifra)) {
// ///////////////////////////////////////////
//
// Komitent postoji u kalkulusu - PREUZETI PODATKE
//
// ///////////////////////////////////////////
$komitent = $p_sifra;
// ------------------------------------
// Podaci komintenta iz Calculus-a
// ------------------------------------
$komintent['email'] = filter_var((string)$xpath->query("//email")->item(0)->nodeValue, FILTER_SANITIZE_EMAIL);
$komintent['company'] = filter_var((string)$xpath->query("//interninaziv")->item(0)->nodeValue, FILTER_SANITIZE_STRING);
$komintent['address1'] = filter_var((string)$xpath->query("//adresa")->item(0)->nodeValue, FILTER_SANITIZE_STRING);
$komintent['postcode'] = filter_var((string)$xpath->query("//postanskibroj")->item(0)->nodeValue, FILTER_SANITIZE_STRING);
$komintent['country'] = filter_var((string)$xpath->query("//drzava")->item(0)->nodeValue, FILTER_SANITIZE_STRING);
$komintent['city'] = filter_var((string)$xpath->query("//mesto")->item(0)->nodeValue, FILTER_SANITIZE_STRING);
$komintent['phone'] = filter_var((string)$xpath->query("//tel")->item(0)->nodeValue, FILTER_SANITIZE_STRING);
$wss_str .= "\n\n" . __LINE__ . ' PodaciKomitenta-Komintent sifra ' . $p_sifra;
$wss_str .= "\n\n" . __LINE__ . ' PodaciKomitenta- komitent ' . $komitent;
$wss_str .= "\n\n" . __LINE__ . ' postdata12 ' . $postdata12;
$wss_str .= "\n\n" . __LINE__ . ' data12 ' . $data12;
} else {
// Komintent ne postoji - snimiti u Calculus
$wsfunkcija8 = 'UbaciKomitenta';
$pravnofizicko = 'P';
$postdata8 = 'sifra=&naziv=' . $komintent['company'] . '&pib=' . $komintent['vat_number'] . '&adresa=' . $komintent['address1'] . '&postbr=' . $komintent['postcode'] . '&mesto=' . $komintent['city'] . '&tel=' . $komintent['phone'] . '&fax=&mail=' . $komintent['email'] . '&tekuci=&rabatk=&rabatd=&rokplacanjakupcu=&pravnofizicko=' . $pravnofizicko;
$pccm8 = new Pcalcm($wsfunkcija8, $postdata8);
$data8 = $pccm8->izvrsi_ccmetod();
$xml8 = str_replace(' xmlns="http://tempuri.org/"', '', $data8);
$dom = new DomDocument();
$dom->loadXML($xml8);
$xpath = new DomXPath($dom);
// Metoda UbaciKomitenta vraca ID novog komitenta
$p_komintent8 = (int)$xpath->query("//string")->item(0)->nodeValue;
$wss_str .= __LINE__ . ' PodaciKomitenta-postdata8 ' . $postdata8;
$wss_str .= __LINE__ . ' PodaciKomitenta-Komintent sifra ' . $p_sifra;
$wss_str .= "\n\n" . __LINE__ . ' UbaciKomitenta - ID ' . $p_komintent8;
// NOVI KOD ZA PREUZIMANJE SIFE MALOPRE UBACENOG KOMITENTA - PREKONTROLISATI SAV KOD U VEZI OVOGA
$wsfunkcija22 = 'PodaciKomitenta';
$postdata22 = 'sifra=&naziv=&pib=' . $komintent['vat_number'] . '&ID=&email=&tel=&pf=&uslov=';
$pccm22 = new Pcalcm($wsfunkcija22, $postdata22);
$data22 = $pccm22->izvrsi_ccmetod();
$xml22 = str_replace(' xmlns="http://tempuri.org/"', '', $data22);
$dom = new DomDocument();
$dom->loadXML($xml22);
$xpath = new DomXPath($dom);
// sifra
$komitent = (int)$xpath->query("//sifra")->item(0)->nodeValue;
$wss_str .= "\n\n" . __LINE__ . ' postdata22 ' . $postdata22;
$wss_str .= "\n\n" . __LINE__ . ' data22 ' . $data22;
$wss_str .= "\n\n" . __LINE__ . ' PodaciKomitenta- komitent ' . $komitent;
// $komitent = $tmpsifra; // sifra
} // end if (!empty($p_sifra)) {}
} else {
// Nema pib pa se evidentira kao fizicko lice
$napomena01 = ", ".$komintent['customer_firstname'] . ', ' . $komintent['customer_lastname'] . ', ' . $komintent['company'] . ', ' . $komintent['address1'] . ', ' . $komintent['postcode'] . ', ' . $komintent['city'] . ', ' . $komintent['phone'] . ', ' . $komintent['email'] . ', '; // $napomena za metodu UbaciZagDok
$napomena .= filter_var(trim($napomena01), FILTER_SANITIZE_ADD_SLASHES); // $napomena za metodu UbaciZagDok
$wss_str .= "\n\n" . __LINE__ . ' napomena2 ' . $napomena;
$komitent = '0003'; // ako je fizičko lice
} // end if(!empty($pib)) {}
// ------------------------------------
// Ubacivanje zaglavlja dokumenta
// ------------------------------------
$wsfunkcija6 = 'UbaciZagDok'; // KONTROLA: PodaciDokumenata
$vrstadokumenta = 'PFIP';
$datum = date('Y-m-d');
$magacin = 'MP1'; // PROBATI I IP
$kreator = 'MP1'; //
$valuta = 'DIN'; //
$tarifa = ''; // NOVI ARGUMENT MOGUCE
// $napomena je definisana iznad
$wss_str .= "\n\n" . __LINE__ . ' napomena3 ' . $napomena;
$postdata6 = "vrstadokumenta=$vrstadokumenta&datum=$datum&komitent=$komitent&magacin=$magacin&kreator=$kreator&agent=&datumprometa=&valuta=$valuta&valutaplacanja=&ekstdok1=&ekstdok2=&ekstdok3=&status=&prokmag=&prokknj=&zavrsen=&statusdok=&napomena=$napomena&nacinisporuke=&poslat=&delbroj=&magacioner=&poslao=&porn=&poug=&nacpl=&idloyaltykartice=&vasaref=&nasaref=&veza=&sadrzaj=&tarifa=$tarifa&statusumag=";
$pccm6 = new Pcalcm($wsfunkcija6, $postdata6);
$data6 = $pccm6->izvrsi_ccmetod();
$xml6 = str_replace(' xmlns="http://tempuri.org/"', '', $data6);
$dom = new DomDocument();
$dom->loadXML($xml6);
$xpath = new DomXPath($dom);
$dok_id = $xpath->query("//string")->item(0)->nodeValue;
$wss_str .= "\n\n" . __LINE__ . ' UbaciZagDok-dok_id-1- ' . $dok_id;
$wss_str .= "\n\n" . __LINE__ . ' UbaciZagDok-postdata6 ' . $postdata6;
$wss_str .= "\n\n" . __LINE__ . ' UbaciZagDok-data6 ' . $data6;
$wss_str .= "\n\n" . __LINE__ . ' UbaciZagDok - dok_id, ovaj dokument pronaći uz pomoć metode PodaciDokumenata.';
// Kontrola može korišćenjem dok_id na Metodi:
// http://89.216.27.121:7788/CalculusWebService/CalculusWebService.asmx?op=PodaciDokumenata
if($komintent['total_shipping'] > 0) {
// 2. Ubaci stavku dokumenta - 'UbaciStavDok';
// Ubaciti u Calculus 9999 proizvod tj. troškovi isporuke
// Troškovi isporuke u PrestaShop-u
// U Calculus-u artikal 9999
$wsfunkcija24 = 'UbaciStavDok'; // KONTROLA: PodaciStavkiDokumenta
$kljucdok = $dok_id; // '75746';
$magacin = 'IP'; //
$artusl = 'U'; // 'U' ArtUsl - da li (A)rtikal ili (U)sluga
// $sifartusl = $product_reference;
$sifartusl = '9999';
$nazartusl = ''; // (ne)obavezno - MORA ILI OVO ILI sifartusl
$kolicina = '1';
// if ($id_tax_rules_group == '1') {
// $tarifa = 'PDV1'; // to je 20%
// } else if ($id_tax_rules_group == '2') {
//$tarifa = 'PDV2'; // to je 10%
// }
$tarifa = 'PDV1'; // to je 10%
// $vpcena = $price;
// $vpcena = (string)$komintent['total_shipping'];
$mpcena = (string)$komintent['total_shipping'];
// $postdata24 = "kljucdok=$kljucdok&magacin=$magacin&artusl=$artusl&sifartusl=$sifartusl&nazartusl=&tarifa=$tarifa&kolicina=$kolicina&poruceno=&nabcena=&vpcena=&mpcena=$mpcena&popust=&poulazu=&kb=&napomena=&rabatk=&popustk=&lomk=&rabatd=&popustd=&lomd=&cenovniksk=&zaproizvod=";
// Linija 434: NOVI KOD - ZAMENA
$analitickisifra = '001'; // <-- PROVERITE I UNESITE ISPRAVNU VREDNOST!
$postdata24 = "kljucdok=$kljucdok&magacin=$magacin&artusl=$artusl&sifartusl=$sifartusl&nazartusl=&tarifa=$tarifa&kolicina=$kolicina&poruceno=&nabcena=&vpcena=&mpcena=$mpcena&popust=&poulazu=&kb=&napomena=&rabatk=&popustk=&lomk=&rabatd=&popustd=&lomd=&cenovniksk=&zaproizvod=&analitickisifra=$analitickisifra";
$pccm24 = new Pcalcm($wsfunkcija24, $postdata24);
$data24 = $pccm24->izvrsi_ccmetod();
// xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:nil="true"
$xml24 = str_replace(array(' xmlns:xsd="http://tempuri.org/"', ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"', ' xmlns:xsd="http://www.w3.org/2001/XMLSchema"', ' xsi:nil="true"'), '', $data24);
$dom = new DomDocument();
$dom->loadXML($xml24);
$xpath = new DomXPath($dom);
$st_id = $xpath->query("//string")->item(0)->nodeValue;
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-st_id-0 ' . $st_id;
$arr24 = $pccm24->xml2arr($data24);
$st_id = $arr24[0];
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-A9999-st_id ' . $st_id;
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-A9999-postdata24 ' . $postdata24;
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-A9999-data24 ' . $data24;
$wss_str .= "\n\n" . __LINE__ . ' OBRISATI KADA SE st_id SREDI: UbaciZagDok - xml2arr-data24 ' . htmlspecialchars($data24); // tmpcde
}
// //////////////////////////////////////////////////
// Proizvodi narudžbine iz PrestaShop-a $products niz
// //////////////////////////////////////////////////
$pr_ref = '';
$i = 0;
$nproducts = array();
foreach ($products as $product) {
$id_order = (int)$product['id_order'];
$id_order_detail = (int)$product['id_order_detail'];
$product_quantity = (int)$product['product_quantity'];
$id_product = (int)$product['id_product'];
$id_tax_rules_group = (int)$product['id_tax_rules_group'];
$product_ean13 = (int)$product['product_ean13'];
// $price = (int)$product['price'];
$sql = 'SELECT `unit_price_tax_incl`
FROM `' . _DB_PREFIX_ . 'order_detail` WHERE id_order = ' . (int) $id_order . ' AND product_id = ' . (int)$id_product;
$wss_str .= "\n\n" . __LINE__ . ' '.$sql;
$price = Db::getInstance()->getValue($sql);
$product_name = (string)filter_var($product['product_name'], FILTER_SANITIZE_STRING | FILTER_SANITIZE_MAGIC_QUOTES);
$id_shop_default = (int)$product['id_shop_default'];
// /////////////////////////////////
// product_reference iz PrestaShop-a
// Ovaj podatak je iz Calculus-a - proizvod postoji u njemu
$product_reference = (string)filter_var($product['product_reference'], FILTER_SANITIZE_STRING | FILTER_SANITIZE_MAGIC_QUOTES);
// /////////////////////////////////
$nproducts[$i]['id_order'] = $id_order;
$nproducts[$i]['id_order_detail'] = $id_order_detail;
$nproducts[$i]['product_quantity'] = $product_quantity;
$nproducts[$i]['id_product'] = $id_product;
$nproducts[$i]['id_tax_rules_group'] = $id_tax_rules_group;
$nproducts[$i]['product_ean13'] = $product_ean13;
$nproducts[$i]['price'] = $price;
$nproducts[$i]['product_name'] = $product_name;
$nproducts[$i]['id_shop_default'] = $id_shop_default;
$nproducts[$i]['product_reference'] = $product_reference;
$wss_str .= "\n\n" . __LINE__ . ' product_reference2 ' . $product_reference;
$wss_str .= "\n\n" . __LINE__ . ' id_tax_rules_group ' . $id_tax_rules_group;
// /////////////////////////////////////////
// 1.3 Ne postoji artikal u Calculus-u - pocetak
// ubaciti artikal - 'UbaciArtUsl'
// /////////////////////////////////////////
if ($product_reference == 'NULL' or empty($product_reference)) {
$wss_str .= "\n\n" . __LINE__ . ' UBACIVANJE-U-CC.';
} else {
$wss_str .= "\n\n" . __LINE__ . ' $product_reference IMA VREDNOST.';
} // end if ($product_reference == 'NULL' or empty($product_reference)) {}
// Ubacivanje podatka ParitetIsporuke
// $paritetisporuke šifra koju dodeljuje PrestaShop - ALFANUMERIČKA
// ParitetIsporuke u Calculus-u
$wsfunkcija23 = 'AzurDetaljIsporuke';
$kljuc = $dok_id;
$rokisporuke=2;
$postdata23 = "kljuc=$kljuc&ojkom=&skenpocetakmag=&skenzavrsetakmag=&vremeskenvozac=&pibkomitenta=&naruke=&telkomitenta=&mestokomitenta=&adresakomitenta=&mestoisporuke=&adresaisporuke=&nacinisporuke=&paritetisporuke=$paritetisporuke&objekatugovora=&predmetugovora=&rokisporuke=$rokisporuke&datumrokaisporuke=&punaadresaprimaoca=&punaadresaisporuke=&vozacradnik=&brojrataugovora=&vozacime=&vozacbrlk=&voziloregbroj=&tipkoleta=&brojkoleta=&netomasa=&brutomasa=&tippalete=&brojpaleta=&treciucesniknaziv=&treciucesnikmesto=&treciucesnikadresa=&treciucesnikpib=&treciucesnikdostavnica=&primalacrobe=&dokokretotpad=&brojknjcar=&emailzaslanje=&predvidjenidatumotpreme=&kurirskasluzba=";
$pccm23 = new Pcalcm($wsfunkcija23, $postdata23);
$data23 = $pccm23->izvrsi_ccmetod();
$data23 = str_replace(array('xmlns="http://tempuri.org/"', 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"', 'xmlns:xsd="http://www.w3.org/2001/XMLSchema"', 'xsi:nil="true"'), '', $data23);
$xml23 = $data23;
$dom = new DomDocument();
$dom->loadXML($xml23);
$xpath = new DomXPath($dom);
$dok_id = $xpath->query("//string")->item(0)->nodeValue;
$wss_str .= "\n\n" . __LINE__ . ' AzurDetaljIsporuke-dok_id-0 ' . $dok_id;
$wss_str .= "\n\n" . __LINE__ . ' AzurDetaljIsporuke-postdata23 ' . $postdata23;
$wss_str .= "\n\n" . __LINE__ . ' AzurDetaljIsporuke-data23 ' . $data23;
$wss_str .= "\n\n" . __LINE__ . ' AzurDetaljIsporuke - dok_id, ovaj dokument pronaći uz pomoć metode PodaciDokumenata.';
// /////////////////////////////////////////
// 1.3 Ne postoji artikal u Calculus-u - kraj
// ubaciti artikal - 'UbaciArtUsl'
// /////////////////////////////////////////
// /////////////////////////////////////////
// 2. Ubaci stavku dokumenta - 'UbaciStavDok';
// /////////////////////////////////////////
$wsfunkcija10 = 'UbaciStavDok'; // KONTROLA: PodaciStavkiDokumenta
$kljucdok = $dok_id; // '75746';
$magacin = 'IP'; //
$artusl = 'A'; // 'U' ArtUsl - da li (A)rtikal ili (U)sluga
$sifartusl = $product_reference;
$nazartusl = ''; // (ne)obavezno - MORA ILI OVO ILI sifartusl
$kolicina = $product_quantity;
if ($id_tax_rules_group == '1') {
$tarifa = 'PDV1'; // to je 20%
} else if ($id_tax_rules_group == '2') {
$tarifa = 'PDV2'; // to je 10%
}
$mpcena = $price;
$wss_str .= "\n\n" . __LINE__ . ' UbaciZagDok-dok_id-2- ' . $dok_id;
//$postdata10 = "kljucdok=$kljucdok&magacin=$magacin&artusl=$artusl&sifartusl=$sifartusl&nazartusl=&tarifa=$tarifa&kolicina=$kolicina&poruceno=&nabcena=&vpcena=&mpcena=$mpcena&popust=&poulazu=&kb=&napomena=&rabatk=&popustk=&lomk=&rabatd=&popustd=&lomd=&cenovniksk=&zaproizvod=";
// Linija 737: NOVI KOD - ZAMENA
$analitickisifra = '001'; // <-- PROVERITE I UNESITE ISPRAVNU VREDNOST!
$postdata10 = "kljucdok=$kljucdok&magacin=$magacin&artusl=$artusl&sifartusl=$sifartusl&nazartusl=&tarifa=$tarifa&kolicina=$kolicina&poruceno=&nabcena=&vpcena=&mpcena=$mpcena&popust=&poulazu=&kb=&napomena=&rabatk=&popustk=&lomk=&rabatd=&popustd=&lomd=&cenovniksk=&zaproizvod=&analitickisifra=$analitickisifra";
// tmpcde
// $postdata10 = "kljucdok=$kljucdok&magacin=$magacin&artusl=$artusl&sifartusl=$sifartusl&nazartusl=nazivAU&tarifa=$tarifa&kolicina=$kolicina&poruceno=&nabcena=17503.920000&vpcena=17503.920000&mpcena=$mpcena&popust=3&poulazu=&kb=&napomena=&rabatk=1&popustk=1&lomk=1&rabatd=1&popustd=1&lomd=1&cenovniksk=&zaproizvod=";
$pccm10 = new Pcalcm($wsfunkcija10, $postdata10);
$data10 = $pccm10->izvrsi_ccmetod();
$data10 = str_replace(array('xmlns="http://tempuri.org/"', 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"', 'xmlns:xsd="http://www.w3.org/2001/XMLSchema"', 'xsi:nil="true"'), '', $data10);
$xml10 = $data10;
$dom = new DomDocument();
$dom->loadXML($xml10);
$xpath = new DomXPath($dom);
$st_id = $xpath->query("//string")->item(0)->nodeValue;
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-st_id-0 ' . $st_id;
$arr10 = $pccm10->xml2arr($data10);
$st_id = $arr10[0];
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-st_id ' . $st_id;
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-postdata10 ' . $postdata10;
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-data10 ' . $data10;
$wss_str .= "\n\n" . __LINE__ . ' OBRISATI KADA SE st_id SREDI: UbaciZagDok - xml2arr-data10 ' . htmlspecialchars($data10); // tmpcde
$wss_str .= "\n\n" . __LINE__ . ' UbaciStavDok-st_id metoda za prikaz ove stavke PodaciStavkeDokumenta';
$i++;
} // end foreach ($products as $product) {}
$ccdproducts3 = $products;
$ccdproducts = array_shift($products);
$data = array(
'ccdkomintent' => $komintent,
'ccdnproducts' => $nproducts,
);
$data2 = $data;
$data_str = print_r($data2, true) . "\n\n";
// Logovanje u zavisnosti od promenjive $log_p2c
if ($log_p2c) {
// $data_str = $customer_message; //'order params1 '.print_r($params, true);
fwrite($logfile, $data_str);
}
// ========================================
// WEB SERVICE START
$pccm2 = new Pcalcm('DatumVremeDBServera', '');
$data2 = $pccm2->izvrsi_ccmetod();
$xml2 = str_replace(' xmlns="http://tempuri.org/"', '', $data2);
$dom = new DomDocument();
$dom->loadXML($xml2);
$xpath = new DomXPath($dom);
$datum_vreme_db = $xpath->query("//string")->item(0)->nodeValue;
$wss_str .= "\n\n" . __LINE__ . ' DatumVremeDBServera datum_vreme_db-0 ' . $datum_vreme_db;
$wss_str .= "\n\n" . '-TMPCDE-$message_mail-' . $message_mail . "\n\n";
$wss_str .= "\n\n" . '------------------------------' . "\n\n";
// Logovanje u zavisnosti od promenjive $log_p2c
if ($log_p2c) {
// $wss_str = $customer_message; // 'order params2 '.print_r($params, true);
fwrite($logfile, $wss_str);
}
// WEB SERVICE END
// =========================================
// =========================================
// Prikaz podataka na strani
$data_str .= "\n\n" . __LINE__ . '-dvws-' . htmlspecialchars($arr[0]);
$data_str .= "\n\n" . __LINE__ . '-wss_str-' . $wss_str;
$this->context->smarty->assign(array(
'id_order' => $id_order,
// 'id_product' =>$tmp_id_product,
'id_product' => $data_str,
));
return $this->display(__FILE__, 'templates/hook/p2c_orderconfirmation.tpl');
// return $this->display(__FILE__, 'presta2c/templates/hook/p2c_orderconfirmation.tpl');
}
}
?>