Advertisement
Remote

Untitled

Sep 17th, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.09 KB | None | 0 0
  1. <?php
  2.  
  3. class Kexsoap extends CI_Model {
  4.  
  5.     function __construct()
  6.     {
  7.         parent::__construct();
  8.     }
  9.     /**
  10.      * [var_dump]
  11.      * @param  [ARRAY] Zwraca tablicę zapytania
  12.      * @return [STRING] array();
  13.      */
  14.     private function var_dump($result)
  15.     {
  16.         echo "<pre>";
  17.             print_r($result);
  18.         echo "</pre>";
  19.         exit();
  20.     }
  21.     /**
  22.      * [objectToArray]
  23.      * @param  [stdClass] Opowiedź SOAP
  24.      * @return [ARRAY]
  25.      */
  26.     private function objectToArray($object)
  27.     {
  28.         if((!is_object($object)) && (!is_array($object)))
  29.         {
  30.             return $object;
  31.         }
  32.         if(is_object($object))
  33.         {
  34.             $object = get_object_vars($object);
  35.         }
  36.         return array_map(array($this, 'objectToArray'), $object);
  37.     }
  38.     /**
  39.      * [sprawdzWartosci]
  40.      * @param  [$_POST] Sprawdzanie czy $_POST posiada jakąkolwiek wartość
  41.      * @return [STRING] "T" lub "N"
  42.      */
  43.     private function sprawdzWartosci($post)
  44.     {
  45.         if(isset($_POST[$post])) {
  46.             if($_POST[$post] != 'T') {
  47.                 $value = 'N';
  48.             } else {
  49.                 $value = 'T';
  50.             }
  51.         } else {
  52.             $value = 'N';
  53.         }
  54.         return $value;
  55.     }
  56.     /**
  57.      * [sprawdzWage]
  58.      * @param  [$_POST] Ustalenie maksymalnej wagi dla przesyki
  59.      * @return [STRING] "1"~"1000"
  60.      */
  61.     private function sprawdzWage($post)
  62.     {
  63.         if($post <= 1) {
  64.             $WagaDo = 1;
  65.         } elseif($post <= 5) {
  66.             $WagaDo = 5;
  67.         } elseif($post <= 10) {
  68.             $WagaDo = 10;
  69.         } elseif($post <= 15) {
  70.             $WagaDo = 15;
  71.         } elseif($post <= 20) {
  72.             $WagaDo = 20;
  73.         } elseif($post <= 30) {
  74.             $WagaDo = 30;
  75.         } elseif($post <= 40) {
  76.             $WagaDo = 40;
  77.         } elseif($post <= 60) {
  78.             $WagaDo = 60;
  79.         } elseif($post <= 80) {
  80.             $WagaDo = 80;
  81.         } elseif($post <= 100) {
  82.             $WagaDo = 100;
  83.         } elseif($post <= 150) {
  84.             $WagaDo = 150;
  85.         } elseif($post <= 200) {
  86.             $WagaDo = 200;
  87.         } elseif($post <= 250) {
  88.             $WagaDo = 250;
  89.         } elseif($post <= 300) {
  90.             $WagaDo = 300;
  91.         } elseif($post <= 350) {
  92.             $WagaDo = 350;
  93.         } elseif($post <= 400) {
  94.             $WagaDo = 400;
  95.         } elseif($post <= 450) {
  96.             $WagaDo = 450;
  97.         } elseif($post <= 500) {
  98.             $WagaDo = 500;
  99.         } elseif($post <= 600) {
  100.             $WagaDo = 600;
  101.         } elseif($post <= 700) {
  102.             $WagaDo = 700;
  103.         } elseif($post <= 800) {
  104.             $WagaDo = 800;
  105.         } elseif($post <= 900) {
  106.             $WagaDo = 900;
  107.         } elseif($post <= 1000) {
  108.             $WagaDo = 1000;
  109.         } else {
  110.             $WagaDo = 0;
  111.         }
  112.         return $WagaDo;
  113.     }
  114.     /**
  115.      * [DodajPrzesylki]
  116.      * @param [ARRAY] Dodanie nowej przesyki dla K-EX
  117.      */
  118.     public function DodajPrzesylki($array)
  119.     {
  120.         try {
  121.             /**
  122.              * [$WartUbezp]
  123.              * Uwarunkowanie dla Wartości ubezpieczenia
  124.              */
  125.             if(isset($_POST['WartUbezp']) && $_POST['WartUbezp'] != '') {
  126.                 $Ubezpieczenie = array('Ubezp' => 'T', 'WartUbezp' => $_POST['WartUbezp']);
  127.             } else {
  128.                 $Ubezpieczenie = array('Ubezp' => 'N', 'WartUbezp' => 'N');
  129.             }
  130.             /**
  131.              * [$WartUbezp]
  132.              * Uwarunkowanie dla Wartości ubezpieczenia
  133.              */
  134.             if(isset($_POST['Pobranie']) && $_POST['Pobranie'] != 'N') {
  135.                 $Pobranie = array(
  136.                     'Pobranie' => $_POST['Pobranie'],
  137.                     'WartPobrania' => $_POST['WartPobrania'],
  138.                     'RachPobrania' => str_replace(' ', '', $_POST['RachPobrania'])
  139.                     );
  140.             } else {
  141.                 $Pobranie = array(
  142.                     'Pobranie' => 'N',
  143.                     'WartPobrania' => '',
  144.                     'RachPobrania' => ''
  145.                     );
  146.             }
  147.             /**
  148.              * [$pominCkNadawca]
  149.              * Uwarunkowanie dla wartości firma/osoba fizyczna
  150.              */
  151.             if(isset($_POST['n_OsPryw']) && $_POST['n_OsPryw'] == 'T') {
  152.                 $pominCkNadawca = array('Nazwa' => $_POST['n_OsNadajaca'], 'OsNadajaca' => $_POST['n_OsNadajaca'], 'OsPryw' => 'T');
  153.             } else {
  154.                 $pominCkNadawca = array('Nazwa' => $_POST['n_Firma'], 'OsNadajaca' => $_POST['n_OsNadajaca'], 'OsPryw' => 'N');
  155.             }
  156.             /**
  157.              * [$pominCkOdbiorca]
  158.              * Uwarunkowanie dla wartości firma/osoba fizyczna
  159.              */
  160.             if(isset($_POST['o_OsPryw']) && $_POST['o_OsPryw'] == 'T') {
  161.                 $pominCkOdbiorca = array('Nazwa' => $_POST['o_OsNadajaca'], 'OsNadajaca' => $_POST['o_OsNadajaca'], 'OsPryw' => 'T');
  162.             } else {
  163.                 $pominCkOdbiorca = array('Nazwa' => $_POST['o_Firma'], 'OsNadajaca' => $_POST['o_OsNadajaca'], 'OsPryw' => 'N');
  164.             }
  165.             /**
  166.              * [$DokumentyZwrotne]
  167.              * Zbieranie informacji o dokumentach zwrotnych
  168.              * RAN, RDW, DW, ROD, RIN, RUM, RUA, WZ, RWZ
  169.              */
  170.             if(isset($_POST['DokumentyZwrotneRAN'])) {
  171.                 $DokumentyZwrotneRAN = array('Typ' => 'RAN', 'Opis' => 'Aneks');
  172.             } else {
  173.                 $DokumentyZwrotneRAN = false;
  174.             }
  175.             if(isset($_POST['DokumentyZwrotneRDW'])) {
  176.                 $DokumentyZwrotneRDW = array('Typ' => 'RDW', 'Opis' => 'DW');
  177.             } else {
  178.                 $DokumentyZwrotneRDW = false;
  179.             }
  180.             if(isset($_POST['DokumentyZwrotneROD'])) {
  181.                 $DokumentyZwrotneROD = array('Typ' => 'ROD', 'Opis' => 'Faktura');
  182.             } else {
  183.                 $DokumentyZwrotneROD = false;
  184.             }
  185.             if(isset($_POST['DokumentyZwrotneRUA'])) {
  186.                 $DokumentyZwrotneRUA = array('Typ' => 'RUA', 'Opis' => 'Aneks');
  187.             } else {
  188.                 $DokumentyZwrotneRUA = false;
  189.             }
  190.             if(isset($_POST['DokumentyZwrotneRUM'])) {
  191.                 $DokumentyZwrotneRUM = array('Typ' => 'RUM', 'Opis' => 'Umowa');
  192.             } else {
  193.                 $DokumentyZwrotneRUM = false;
  194.             }
  195.             if(isset($_POST['DokumentyZwrotneRWZ'])) {
  196.                 $DokumentyZwrotneRWZ = array('Typ' => 'RWZ', 'Opis' => 'WZ');
  197.             } else {
  198.                 $DokumentyZwrotneRWZ = false;
  199.             }
  200.             if($DokumentyZwrotneRAN || $DokumentyZwrotneRDW || $DokumentyZwrotneROD || $DokumentyZwrotneRUA || $DokumentyZwrotneRUM || $DokumentyZwrotneRWZ) {
  201.                 $dokumenty = array(
  202.                     'DokumentyZwrotne'      => array($DokumentyZwrotneRAN, $DokumentyZwrotneRDW, $DokumentyZwrotneROD, $DokumentyZwrotneRUA, $DokumentyZwrotneRUM, $DokumentyZwrotneRWZ),
  203.                     'DokumentyZwrotneAdres' => array(
  204.                         'Nazwa'             => $pominCkNadawca['Nazwa'],
  205.                         'Ulica'             => $_POST['n_Ulica'],
  206.                         'Miejscowosc'       => $_POST['n_Miejscowosc'],
  207.                         'KodPocztowy'       => $_POST['n_KodPocztowy'],
  208.                         'NrDomu'            => $_POST['n_NrDomu'],
  209.                         'NrLok'             => $_POST['n_NrLok'],
  210.                         'OsPryw'            => $pominCkNadawca['OsPryw'],
  211.                         'NIP'               => $_POST['n_NIP'],
  212.                         'OsNadajaca'        => $pominCkNadawca['OsNadajaca'],
  213.                         'TelSt'             => $_POST['n_TelSt'],
  214.                         'TelGsm'            => $_POST['n_TelGsm'],
  215.                         'Email'             => $_POST['n_Email']
  216.                     )
  217.                 );
  218.             } else {
  219.                 $dokumenty = false;
  220.             }
  221.             /**
  222.              * [$DluzycaIlosc]
  223.              * Sprawdzanie, czy przesyłka jest jako Dłużyca
  224.              */
  225.             if($_POST['Dlugosc'] >= 200 && $_POST['Dlugosc'] <= 300) {
  226.                 $DluzycaIlosc = 'T';
  227.             } else {
  228.                 $DluzycaIlosc = 'N';
  229.             }
  230.             /**
  231.              * Warunki dla daty nadania paczki i odbioru
  232.              */
  233.             if(isset($_POST['DataN']) && isset($_POST['DataD']))
  234.             {
  235.                 $data = array(
  236.                         'DataN' => $_POST['DataN'],
  237.                         'DataD' => $_POST['DataD']
  238.                     );
  239.             }
  240.             else
  241.             {
  242.                 if(date('H') < 16)
  243.                 {
  244.                     $data = array(
  245.                             'DataN' => date('Y-m-d'),
  246.                             'DataD' => date('Y-m-d', date(strtotime("+1 day", strtotime($DataN))))
  247.                         );
  248.                 }
  249.                 else
  250.                 {
  251.                     $now = date('Y-m-d');
  252.                     $data = array(
  253.                             'DataN' => date('Y-m-d', date(strtotime("+1 day", strtotime($now)))),
  254.                             'DataD' => date('Y-m-d', date(strtotime("+2 day", strtotime($now))))
  255.                         );
  256.                 }
  257.             }
  258.             /**
  259.              * [$params description]
  260.              * Tworzenie Caej tablicy do zapytania SOAP
  261.              */
  262.             $params = array(
  263.                 'wsKey'                     => $this->config->item('kex_api'),
  264.                 'Przesylki'                 => array(
  265.                     array(
  266.                     'Usluga'                => $_POST['usluga'],
  267.                     'Zleceniodawca'         => $this->config->item('kex_client'),
  268.                     'Eplus'                 => 'N',
  269.                     'DataN'                 => $data['DataN'],
  270.                     'DataD'                 => $data['DataD'],
  271.                     'Platnik'               => 'ZL',
  272.                     'Nadawca'               => array(
  273.                         'Nazwa'             => $pominCkNadawca['Nazwa'],
  274.                         'Ulica'             => $_POST['n_Ulica'],
  275.                         'Miejscowosc'       => $_POST['n_Miejscowosc'],
  276.                         'KodPocztowy'       => $_POST['n_KodPocztowy'],
  277.                         'NrDomu'            => $_POST['n_NrDomu'],
  278.                         'NrLok'             => $_POST['n_NrLok'],
  279.                         'OsPryw'            => $pominCkNadawca['OsPryw'],
  280.                         'NIP'               => $_POST['n_NIP'],
  281.                         'OsNadajaca'        => $pominCkNadawca['OsNadajaca'],
  282.                         'TelSt'             => $_POST['n_TelSt'],
  283.                         'TelGsm'            => $_POST['n_TelGsm'],
  284.                         'Email'             => $_POST['n_Email']
  285.                     ),
  286.                     'Odbiorca'              => array(
  287.                         'Nazwa'             => $pominCkOdbiorca['Nazwa'],
  288.                         'Ulica'             => $_POST['o_Ulica'],
  289.                         'Miejscowosc'       => $_POST['o_Miejscowosc'],
  290.                         'KodPocztowy'       => $_POST['o_KodPocztowy'],
  291.                         'NrDomu'            => $_POST['o_NrDomu'],
  292.                         'NrLok'             => $_POST['o_NrLok'],
  293.                         'OsPryw'            => $pominCkOdbiorca['OsPryw'],
  294.                         'NIP'               => $_POST['o_NIP'],
  295.                         'OsNadajaca'        => $pominCkOdbiorca['OsNadajaca'],
  296.                         'TelSt'             => $_POST['o_TelSt'],
  297.                         'TelGsm'            => $_POST['o_TelGsm'],
  298.                         'Email'             => $_POST['o_Email']
  299.                     ),
  300.                     'PrzesylkiIlosc'        => array(
  301.                         array(
  302.                             'WagaDo'        => $this->sprawdzWage($_POST['WagaDo']),
  303.                             'Ilosc'         => $_POST['WagaIlosc']
  304.                         )
  305.                     ),
  306.                     'DokumentyZwrotne'      => $dokumenty['DokumentyZwrotne'],
  307.                     'DokumentyZwrotneAdres' => $dokumenty['DokumentyZwrotneAdres'],
  308.                     'UslugiDodatkowe'       => array(
  309.                         'Pod'               => $this->sprawdzWartosci('Pod'),
  310.                         'Ubezp'             => $Ubezpieczenie['Ubezp'],
  311.                         'WartUbezp'         => $Ubezpieczenie['WartUbezp'],
  312.                         'Pobranie'          => $Pobranie['Pobranie'],
  313.                         'WartPobrania'      => $Pobranie['WartPobrania'],
  314.                         'RachPobrania'      => $Pobranie['RachPobrania'],
  315.                         'Nad17'             => $this->sprawdzWartosci('Nad17'),
  316.                         'NadAwTel'          => $this->sprawdzWartosci('NadAwTel'),
  317.                         'NadAwSms'          => $this->sprawdzWartosci('NadAwSms'),
  318.                         'NadAwMail'         => $this->sprawdzWartosci('NadAwMail'),
  319.                         'DostAwTel'         => $this->sprawdzWartosci('DostAwTel'),
  320.                         'DostAwSms'         => $this->sprawdzWartosci('DostAwSms'),
  321.                         'DostAwMail'        => $this->sprawdzWartosci('DostAwMail'),
  322.                         'DostNstd'          => $this->sprawdzWartosci('DostNstd'),
  323.                         'DostGodz'          => $this->sprawdzWartosci('DostGodz'),
  324.                         'DostDrw'           => $this->sprawdzWartosci('DostDrw'),
  325.                         'DostPotwMail'      => $this->sprawdzWartosci('DostPotwMail'),
  326.                         'DostPotwSms'       => $this->sprawdzWartosci('DostPotwSms'),
  327.                         'BrakPalet'         => $this->sprawdzWartosci('BrakPalet'),
  328.                         'Rozladunek'        => $this->sprawdzWartosci('Rozladunek'),
  329.                         'Adr'               => $this->sprawdzWartosci('Adr'),
  330.                         'DluzycaIlosc'      => $DluzycaIlosc,
  331.                         'Szpo'              => $this->sprawdzWartosci('Szpo')
  332.                     ),
  333.                     'Opis'                  => $_POST['Opis'],
  334.                     'Uwagi'                 => $_POST['Uwagi'],
  335.                     'IloscNiestandard'      => '',
  336.                     'NiestWysokosc'         => '',
  337.                     'NiestDlugosc'          => '',
  338.                     'NiestSzerokosc'        => '',
  339.                     'LP'                    => '',
  340.                     'EmailDlaWpr'           => '',
  341.                     ),
  342.                 ),
  343.             );
  344.  
  345.             $soapClient = new SoapClient($this->config->item('kex_url'));
  346.             $result = $soapClient->DodajPrzesylki($params);
  347.  
  348.             /**
  349.              * Wyciąganie samego ID przesyki
  350.              */
  351.             $strArray = $this->objectToArray($result); // <--- Opowiedź SOAP
  352.             $strArrayID = $this->objectToArray($strArray['ListaPrzesylek']);
  353.             return array('Params' => $params,'ID' => $this->objectToArray($strArrayID['Przesylka']));
  354.  
  355.             //$this->var_dump(array('RESPONSE' => $result, 'SEND' =>$params));
  356.  
  357.         } catch(SoapFault $ex) {
  358.             header('Content-Type:text/html; charset=utf-8');
  359.             $this->var_dump(array('ERROR' => $ex->faultcode, $ex->faultstring, $ex->detail, 'POST' =>$params));
  360.         }
  361.     }
  362. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement