* @copyright 2007-2019 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ include (dirname(__file__) . '/../../../../config/config.inc.php'); include (dirname(__file__) . '/../../../../init.php'); const CHARSET = 'UTF-8'; const REPLACE_FLAGS = ENT_COMPAT; $geistoken = Tools::getValue('secure_key'); if ($geistoken == 'GeisLogistic') { $apicode = Configuration::get('GEISLOGISTIC_CODE'); // CustomerCode $apikey = Configuration::get('GEISLOGISTIC_API'); //Password $testmode = Configuration::get('GEISLOGISTIC_TEST'); $country = Configuration::get('GEISLOGISTIC_COUNTRY'); $counter = Tools::getValue('geiscounter'); $oidlabel = Configuration::get('GEISLOGISTIC_OID'); if ($oidlabel == '1') {$orderref = Tools::getValue('geisidorder'); }else{$orderref = '0';} $cod = Tools::getValue('geiscod'); $typeservice = Configuration::get('GEISLOGISTIC_TYPE'); $services = array(); if ($cod != '0') { if ($typeservice <= '19') {$typec = '2';}else{$typec = '1002';} $services[] = array( 'Code' => '2', 'Parameter_1' => Tools::getValue('geiscodvalue'), 'Parameter_2' => Tools::getValue('geiscurrencyiso'), 'Parameter_3' => Tools::getValue('geisorder'), 'Parameter_4' => Configuration::get('GEISLOGISTIC_COD_TXT'), ); } $adz = Tools::getValue('geisadz'); if ($adz != '0' && $typeservice <= '19') { $services[] = array( 'Code' => '28', 'Parameter_1' => Configuration::get('GEISLOGISTIC_ADZ_TXT'), ); } $poj = Configuration::get('GEISLOGISTIC_POJ'); if ($poj != 0) { if ($typeservice <= '19') {$typepoj = '3';}else{$typepoj = '1005';} $services[] = array( 'Code' => $typepoj, 'Parameter_1' => Configuration::get('GEISLOGISTIC_POJ_VAL'), 'Parameter_2' => Configuration::get('GEISLOGISTIC_POJ_ISO'), ); } $avi = Tools::getValue('geisavi'); if ($avi != '0' && $typeservice <= '19') { $services[] = array( 'Code' => '9', 'Parameter_1' => Tools::getValue('geisphone'), ); } $avisms = Tools::getValue('geissms'); if ($avisms != '0' && $typeservice <= '19') { $services[] = array( 'Code' => '30', 'Parameter_1' => Tools::getValue('geisphone'), ); } $aviemail = Tools::getValue('geissemail'); if ($aviemail != '0' && $typeservice >= '19') { $services[] = array( 'Code' => '1091', 'Parameter_1' => Tools::getValue('geisemail'), ); } $privperson = Tools::getValue('geisprivate'); if ($privperson != '0' && $typeservice <= '19') { $services[] = array( 'Code' => '31', 'Parameter_1' => Tools::getValue('geisphone'), ); } $addfee = Tools::getValue('geisaddfee'); if ($addfee != '0' && $typeservice <= '19') { $services[] = array( 'Code' => '128', ); } if ($counter == '2'){ $item = array( 'MergedItem' => array( 'Note' => Tools::getValue('geisdecription'), 'PackNumber' => '2', 'Weight' => Tools::getValue('geisweight1'), ), ); } if ($counter == '3'){ $item = array( 'MergedItem' => array( 'Note' => Tools::getValue('geisdecription'), 'PackNumber' => '2', 'Weight' => Tools::getValue('geisweight1'), ), ); $item[] = array( 'MergedItem' => array( 'Note' => Tools::getValue('geisdecription'), 'PackNumber' => '3', 'Weight' => Tools::getValue('geisweight2'), ), ); } if ($testmode == '0') { if ($country == 'PL') { $wsdl = 'https://gclient.geis.pl/GService/GService.svc?wsdl'; }else{ $wsdl = 'https://gclient.geis.cz/GService/GService.svc?wsdl'; } }else{ if ($country == 'PL') { $wsdl = 'https://gclient.geis.pl/GServiceTest/GService.svc?wsdl'; }else{ $wsdl = 'https://gclient.geis.cz/GServiceTest/GService.svc?wsdl'; } } ini_set("soap.wsdl_cache_enabled", "0"); try { $client = new SoapClient($wsdl, array("trace" => 1)); $data['Request']['Header'] = array( 'CustomerCode' => $apicode, 'Language' => $country, 'Password' => $apikey, ); $data['Request']['RequestObject']['DeliveryAddress'] = array( 'City' => Tools::getValue('geiscity'), 'Country' => Tools::getValue('geiscountry'), 'Name' => Tools::getValue('geisnazwa'), 'Street' => Tools::getValue('geisstreet'), 'ZipCode' => Tools::getValue('geiszipcode'), ); $data['Request']['RequestObject']['DeliveryContact'] = array( 'Email' => Tools::getValue('geisemail'), 'FullName' => Tools::getValue('geisname'), 'Phone' => Tools::getValue('geisphone'), ); $data['Request']['RequestObject']['DistributionChannel'] = Tools::getValue('geischannel'); $data['Request']['RequestObject']['Note'] = Tools::getValue('geisnote'); $data['Request']['RequestObject']['NoteDriver'] = Tools::getValue('geisnotedriver'); $pickupdate = Tools::getValue('pickupdate'); $pickupdates = new DateTime($pickupdate); $data['Request']['RequestObject']['PickUpDate'] = $pickupdates->format("Y-m-d"); $data['Request']['RequestObject']['Reference'] = $orderref; $data['Request']['RequestObject']['Weight'] = Tools::getValue('geisweight'); if ($counter != '1') { $data['Request']['RequestObject']['MergedShipment'] = 1; $data['Request']['RequestObject']['MergedPackages'] = $item; } $data['Request']['RequestObject']['ExportServices']['ExportService'] = $services; //var_dump($data); $result = $client->InsertExport($data); } catch (exception $ex) { print "BLAD: .$ex->faultcode .$ex->faultstring. \n\n"; } if ($result->InsertExportResult->ErrorCode != '0000' ){ print_r($result->InsertExportResult->ErrorMessage); }else{ print "Paczka nadana. \n Nr listu przewozowego to: "; $nr = $result->InsertExportResult->ResponseObject->PackNumber; print_r($nr); Db::getInstance()->update('order_carrier',array('tracking_number' => $nr),'`id_order` = '.Tools::getValue('geisorder')); } $url = htmlspecialchars($_SERVER['HTTP_REFERER']); print "\n\n Powrót"; }else{ die(); }