Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Kexsoap extends CI_Model {
- function __construct()
- {
- parent::__construct();
- }
- /**
- * [var_dump]
- * @param [ARRAY] Zwraca tablicę zapytania
- * @return [STRING] array();
- */
- private function var_dump($result)
- {
- echo "<pre>";
- print_r($result);
- echo "</pre>";
- exit();
- }
- /**
- * [objectToArray]
- * @param [stdClass] Opowiedź SOAP
- * @return [ARRAY]
- */
- private function objectToArray($object)
- {
- if((!is_object($object)) && (!is_array($object)))
- {
- return $object;
- }
- if(is_object($object))
- {
- $object = get_object_vars($object);
- }
- return array_map(array($this, 'objectToArray'), $object);
- }
- /**
- * [sprawdzWartosci]
- * @param [$_POST] Sprawdzanie czy $_POST posiada jakąkolwiek wartość
- * @return [STRING] "T" lub "N"
- */
- private function sprawdzWartosci($post)
- {
- if(isset($_POST[$post])) {
- if($_POST[$post] != 'T') {
- $value = 'N';
- } else {
- $value = 'T';
- }
- } else {
- $value = 'N';
- }
- return $value;
- }
- /**
- * [sprawdzWage]
- * @param [$_POST] Ustalenie maksymalnej wagi dla przesyki
- * @return [STRING] "1"~"1000"
- */
- private function sprawdzWage($post)
- {
- if($post <= 1) {
- $WagaDo = 1;
- } elseif($post <= 5) {
- $WagaDo = 5;
- } elseif($post <= 10) {
- $WagaDo = 10;
- } elseif($post <= 15) {
- $WagaDo = 15;
- } elseif($post <= 20) {
- $WagaDo = 20;
- } elseif($post <= 30) {
- $WagaDo = 30;
- } elseif($post <= 40) {
- $WagaDo = 40;
- } elseif($post <= 60) {
- $WagaDo = 60;
- } elseif($post <= 80) {
- $WagaDo = 80;
- } elseif($post <= 100) {
- $WagaDo = 100;
- } elseif($post <= 150) {
- $WagaDo = 150;
- } elseif($post <= 200) {
- $WagaDo = 200;
- } elseif($post <= 250) {
- $WagaDo = 250;
- } elseif($post <= 300) {
- $WagaDo = 300;
- } elseif($post <= 350) {
- $WagaDo = 350;
- } elseif($post <= 400) {
- $WagaDo = 400;
- } elseif($post <= 450) {
- $WagaDo = 450;
- } elseif($post <= 500) {
- $WagaDo = 500;
- } elseif($post <= 600) {
- $WagaDo = 600;
- } elseif($post <= 700) {
- $WagaDo = 700;
- } elseif($post <= 800) {
- $WagaDo = 800;
- } elseif($post <= 900) {
- $WagaDo = 900;
- } elseif($post <= 1000) {
- $WagaDo = 1000;
- } else {
- $WagaDo = 0;
- }
- return $WagaDo;
- }
- /**
- * [DodajPrzesylki]
- * @param [ARRAY] Dodanie nowej przesyki dla K-EX
- */
- public function DodajPrzesylki($array)
- {
- try {
- /**
- * [$WartUbezp]
- * Uwarunkowanie dla Wartości ubezpieczenia
- */
- if(isset($_POST['WartUbezp']) && $_POST['WartUbezp'] != '') {
- $Ubezpieczenie = array('Ubezp' => 'T', 'WartUbezp' => $_POST['WartUbezp']);
- } else {
- $Ubezpieczenie = array('Ubezp' => 'N', 'WartUbezp' => 'N');
- }
- /**
- * [$WartUbezp]
- * Uwarunkowanie dla Wartości ubezpieczenia
- */
- if(isset($_POST['Pobranie']) && $_POST['Pobranie'] != 'N') {
- $Pobranie = array(
- 'Pobranie' => $_POST['Pobranie'],
- 'WartPobrania' => $_POST['WartPobrania'],
- 'RachPobrania' => str_replace(' ', '', $_POST['RachPobrania'])
- );
- } else {
- $Pobranie = array(
- 'Pobranie' => 'N',
- 'WartPobrania' => '',
- 'RachPobrania' => ''
- );
- }
- /**
- * [$pominCkNadawca]
- * Uwarunkowanie dla wartości firma/osoba fizyczna
- */
- if(isset($_POST['n_OsPryw']) && $_POST['n_OsPryw'] == 'T') {
- $pominCkNadawca = array('Nazwa' => $_POST['n_OsNadajaca'], 'OsNadajaca' => $_POST['n_OsNadajaca'], 'OsPryw' => 'T');
- } else {
- $pominCkNadawca = array('Nazwa' => $_POST['n_Firma'], 'OsNadajaca' => $_POST['n_OsNadajaca'], 'OsPryw' => 'N');
- }
- /**
- * [$pominCkOdbiorca]
- * Uwarunkowanie dla wartości firma/osoba fizyczna
- */
- if(isset($_POST['o_OsPryw']) && $_POST['o_OsPryw'] == 'T') {
- $pominCkOdbiorca = array('Nazwa' => $_POST['o_OsNadajaca'], 'OsNadajaca' => $_POST['o_OsNadajaca'], 'OsPryw' => 'T');
- } else {
- $pominCkOdbiorca = array('Nazwa' => $_POST['o_Firma'], 'OsNadajaca' => $_POST['o_OsNadajaca'], 'OsPryw' => 'N');
- }
- /**
- * [$DokumentyZwrotne]
- * Zbieranie informacji o dokumentach zwrotnych
- * RAN, RDW, DW, ROD, RIN, RUM, RUA, WZ, RWZ
- */
- if(isset($_POST['DokumentyZwrotneRAN'])) {
- $DokumentyZwrotneRAN = array('Typ' => 'RAN', 'Opis' => 'Aneks');
- } else {
- $DokumentyZwrotneRAN = false;
- }
- if(isset($_POST['DokumentyZwrotneRDW'])) {
- $DokumentyZwrotneRDW = array('Typ' => 'RDW', 'Opis' => 'DW');
- } else {
- $DokumentyZwrotneRDW = false;
- }
- if(isset($_POST['DokumentyZwrotneROD'])) {
- $DokumentyZwrotneROD = array('Typ' => 'ROD', 'Opis' => 'Faktura');
- } else {
- $DokumentyZwrotneROD = false;
- }
- if(isset($_POST['DokumentyZwrotneRUA'])) {
- $DokumentyZwrotneRUA = array('Typ' => 'RUA', 'Opis' => 'Aneks');
- } else {
- $DokumentyZwrotneRUA = false;
- }
- if(isset($_POST['DokumentyZwrotneRUM'])) {
- $DokumentyZwrotneRUM = array('Typ' => 'RUM', 'Opis' => 'Umowa');
- } else {
- $DokumentyZwrotneRUM = false;
- }
- if(isset($_POST['DokumentyZwrotneRWZ'])) {
- $DokumentyZwrotneRWZ = array('Typ' => 'RWZ', 'Opis' => 'WZ');
- } else {
- $DokumentyZwrotneRWZ = false;
- }
- if($DokumentyZwrotneRAN || $DokumentyZwrotneRDW || $DokumentyZwrotneROD || $DokumentyZwrotneRUA || $DokumentyZwrotneRUM || $DokumentyZwrotneRWZ) {
- $dokumenty = array(
- 'DokumentyZwrotne' => array($DokumentyZwrotneRAN, $DokumentyZwrotneRDW, $DokumentyZwrotneROD, $DokumentyZwrotneRUA, $DokumentyZwrotneRUM, $DokumentyZwrotneRWZ),
- 'DokumentyZwrotneAdres' => array(
- 'Nazwa' => $pominCkNadawca['Nazwa'],
- 'Ulica' => $_POST['n_Ulica'],
- 'Miejscowosc' => $_POST['n_Miejscowosc'],
- 'KodPocztowy' => $_POST['n_KodPocztowy'],
- 'NrDomu' => $_POST['n_NrDomu'],
- 'NrLok' => $_POST['n_NrLok'],
- 'OsPryw' => $pominCkNadawca['OsPryw'],
- 'NIP' => $_POST['n_NIP'],
- 'OsNadajaca' => $pominCkNadawca['OsNadajaca'],
- 'TelSt' => $_POST['n_TelSt'],
- 'TelGsm' => $_POST['n_TelGsm'],
- 'Email' => $_POST['n_Email']
- )
- );
- } else {
- $dokumenty = false;
- }
- /**
- * [$DluzycaIlosc]
- * Sprawdzanie, czy przesyłka jest jako Dłużyca
- */
- if($_POST['Dlugosc'] >= 200 && $_POST['Dlugosc'] <= 300) {
- $DluzycaIlosc = 'T';
- } else {
- $DluzycaIlosc = 'N';
- }
- /**
- * Warunki dla daty nadania paczki i odbioru
- */
- if(isset($_POST['DataN']) && isset($_POST['DataD']))
- {
- $data = array(
- 'DataN' => $_POST['DataN'],
- 'DataD' => $_POST['DataD']
- );
- }
- else
- {
- if(date('H') < 16)
- {
- $data = array(
- 'DataN' => date('Y-m-d'),
- 'DataD' => date('Y-m-d', date(strtotime("+1 day", strtotime($DataN))))
- );
- }
- else
- {
- $now = date('Y-m-d');
- $data = array(
- 'DataN' => date('Y-m-d', date(strtotime("+1 day", strtotime($now)))),
- 'DataD' => date('Y-m-d', date(strtotime("+2 day", strtotime($now))))
- );
- }
- }
- /**
- * [$params description]
- * Tworzenie Caej tablicy do zapytania SOAP
- */
- $params = array(
- 'wsKey' => $this->config->item('kex_api'),
- 'Przesylki' => array(
- array(
- 'Usluga' => $_POST['usluga'],
- 'Zleceniodawca' => $this->config->item('kex_client'),
- 'Eplus' => 'N',
- 'DataN' => $data['DataN'],
- 'DataD' => $data['DataD'],
- 'Platnik' => 'ZL',
- 'Nadawca' => array(
- 'Nazwa' => $pominCkNadawca['Nazwa'],
- 'Ulica' => $_POST['n_Ulica'],
- 'Miejscowosc' => $_POST['n_Miejscowosc'],
- 'KodPocztowy' => $_POST['n_KodPocztowy'],
- 'NrDomu' => $_POST['n_NrDomu'],
- 'NrLok' => $_POST['n_NrLok'],
- 'OsPryw' => $pominCkNadawca['OsPryw'],
- 'NIP' => $_POST['n_NIP'],
- 'OsNadajaca' => $pominCkNadawca['OsNadajaca'],
- 'TelSt' => $_POST['n_TelSt'],
- 'TelGsm' => $_POST['n_TelGsm'],
- 'Email' => $_POST['n_Email']
- ),
- 'Odbiorca' => array(
- 'Nazwa' => $pominCkOdbiorca['Nazwa'],
- 'Ulica' => $_POST['o_Ulica'],
- 'Miejscowosc' => $_POST['o_Miejscowosc'],
- 'KodPocztowy' => $_POST['o_KodPocztowy'],
- 'NrDomu' => $_POST['o_NrDomu'],
- 'NrLok' => $_POST['o_NrLok'],
- 'OsPryw' => $pominCkOdbiorca['OsPryw'],
- 'NIP' => $_POST['o_NIP'],
- 'OsNadajaca' => $pominCkOdbiorca['OsNadajaca'],
- 'TelSt' => $_POST['o_TelSt'],
- 'TelGsm' => $_POST['o_TelGsm'],
- 'Email' => $_POST['o_Email']
- ),
- 'PrzesylkiIlosc' => array(
- array(
- 'WagaDo' => $this->sprawdzWage($_POST['WagaDo']),
- 'Ilosc' => $_POST['WagaIlosc']
- )
- ),
- 'DokumentyZwrotne' => $dokumenty['DokumentyZwrotne'],
- 'DokumentyZwrotneAdres' => $dokumenty['DokumentyZwrotneAdres'],
- 'UslugiDodatkowe' => array(
- 'Pod' => $this->sprawdzWartosci('Pod'),
- 'Ubezp' => $Ubezpieczenie['Ubezp'],
- 'WartUbezp' => $Ubezpieczenie['WartUbezp'],
- 'Pobranie' => $Pobranie['Pobranie'],
- 'WartPobrania' => $Pobranie['WartPobrania'],
- 'RachPobrania' => $Pobranie['RachPobrania'],
- 'Nad17' => $this->sprawdzWartosci('Nad17'),
- 'NadAwTel' => $this->sprawdzWartosci('NadAwTel'),
- 'NadAwSms' => $this->sprawdzWartosci('NadAwSms'),
- 'NadAwMail' => $this->sprawdzWartosci('NadAwMail'),
- 'DostAwTel' => $this->sprawdzWartosci('DostAwTel'),
- 'DostAwSms' => $this->sprawdzWartosci('DostAwSms'),
- 'DostAwMail' => $this->sprawdzWartosci('DostAwMail'),
- 'DostNstd' => $this->sprawdzWartosci('DostNstd'),
- 'DostGodz' => $this->sprawdzWartosci('DostGodz'),
- 'DostDrw' => $this->sprawdzWartosci('DostDrw'),
- 'DostPotwMail' => $this->sprawdzWartosci('DostPotwMail'),
- 'DostPotwSms' => $this->sprawdzWartosci('DostPotwSms'),
- 'BrakPalet' => $this->sprawdzWartosci('BrakPalet'),
- 'Rozladunek' => $this->sprawdzWartosci('Rozladunek'),
- 'Adr' => $this->sprawdzWartosci('Adr'),
- 'DluzycaIlosc' => $DluzycaIlosc,
- 'Szpo' => $this->sprawdzWartosci('Szpo')
- ),
- 'Opis' => $_POST['Opis'],
- 'Uwagi' => $_POST['Uwagi'],
- 'IloscNiestandard' => '',
- 'NiestWysokosc' => '',
- 'NiestDlugosc' => '',
- 'NiestSzerokosc' => '',
- 'LP' => '',
- 'EmailDlaWpr' => '',
- ),
- ),
- );
- $soapClient = new SoapClient($this->config->item('kex_url'));
- $result = $soapClient->DodajPrzesylki($params);
- /**
- * Wyciąganie samego ID przesyki
- */
- $strArray = $this->objectToArray($result); // <--- Opowiedź SOAP
- $strArrayID = $this->objectToArray($strArray['ListaPrzesylek']);
- return array('Params' => $params,'ID' => $this->objectToArray($strArrayID['Przesylka']));
- //$this->var_dump(array('RESPONSE' => $result, 'SEND' =>$params));
- } catch(SoapFault $ex) {
- header('Content-Type:text/html; charset=utf-8');
- $this->var_dump(array('ERROR' => $ex->faultcode, $ex->faultstring, $ex->detail, 'POST' =>$params));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement