/** * Send data to webservice over POST method * * @param void * @return http json response * @throws GlobKurierExceptions */ public function sendData() { $fields_string = null; foreach ($this->getData() as $key => $value) { $fields_string .= $key . '=' . $value . '&'; } if (GlobKurierTools::isCurl()) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, GlobKurierConfig::PS_GK_URL_ADDONS . '?' . $fields_string); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $page = curl_exec($c); curl_close($c); return $page; } else { die('ERROR: You need to enable curl php extension to use GlobKurier module.'); } }
/** * Login action * * @param string $login * @param string $password * @param string $apikey * @return void */ private function loginAction($login, $password, $apikey) { // Validate if (Tools::isSubmit('gk_save')) { // Validate forms over PrestaShop $arr_login_err = array(); if (GlobKurierValidator::isEmpty(Tools::getValue('gk_login'))) { $this->arr_login_err[] = $this->l('Invalid login.'); } if (GlobKurierValidator::isEmpty(Tools::getValue('gk_password'))) { $this->arr_login_err[] = $this->l('Incorrect password.'); } if (GlobKurierValidator::isEmpty(Tools::getValue('gk_api_key'))) { $this->arr_login_err[] = $this->l('Invalid API key.'); } // Validate data over GlobKurier if (count($this->arr_login_err) == 0) { $obj_globkurier = new GlobKurierLogin(GlobKurierTools::gkEncryptString(Tools::getValue('gk_login')), GlobKurierTools::gkEncryptString(Tools::getValue('gk_password')), GlobKurierTools::gkEncryptString(Tools::getValue('gk_api_key'))); $obj_json_login = Tools::jsonDecode($obj_globkurier->sendData()); } if (isset($obj_json_login) && $obj_json_login->status == true && $obj_json_login->userParams->get_data == true) { Configuration::updateValue($this->name . '_C_NUMBER', $obj_json_login->userParams->numer_klienta); Configuration::updateValue($this->name . '_S_NAME', $obj_json_login->userParams->imie); Configuration::updateValue($this->name . '_S_SURNAME', $obj_json_login->userParams->nazwisko); Configuration::updateValue($this->name . '_S_COMPANY', $obj_json_login->userParams->firma); Configuration::updateValue($this->name . '_S_NIP', $obj_json_login->userParams->nip); Configuration::updateValue($this->name . '_S_ADDRESS_STREET', $obj_json_login->userParams->adres); Configuration::updateValue($this->name . '_S_ADDRESS_HOME', $obj_json_login->userParams->adres_dom); Configuration::updateValue($this->name . '_S_ADDRESS_LOCAL', $obj_json_login->userParams->adres_lokal); Configuration::updateValue($this->name . '_S_ADDRESS_CITY', $obj_json_login->userParams->miasto); Configuration::updateValue($this->name . '_S_ADDRESS_ZIPCODE', $obj_json_login->userParams->kod); Configuration::updateValue($this->name . '_S_PHONE', $obj_json_login->userParams->telefon); Configuration::updateValue($this->name . '_S_IBAN', $obj_json_login->userParams->nrkonta); Configuration::updateValue($this->name . '_AD_INSURANCE', GlobKurierConfig::PS_GK_AD_INSURANCE); Configuration::updateValue($this->name . '_AD_COD', GlobKurierConfig::PS_GK_AD_COD); Configuration::updateValue($this->name . '_AD_COD3', GlobKurierConfig::PS_GK_AD_COD3); } } if ($login && $password && $apikey) { $obj_globkurier = new GlobKurierLogin($login, $password, $apikey); $json_decode = Tools::jsonDecode($obj_globkurier->sendData()); if (isset($json_decode)) { if ($json_decode->status) { foreach ($json_decode->userParams as $key => $user) { $this->arr_login_result[$key] = $user; } } else { $this->arr_login_err[] = $json_decode->error; } } else { $this->arr_login_err[] = $this->l('Invalid login.'); } } }
/** * Send data to webservice over POST method * * @param void * @return http json response */ public function sendData() { $headers = array('Authorization: Basic ' . base64_encode(GlobKurierConfig::PS_GK_WS_LOGIN . ':' . GlobKurierConfig::PS_GK_WS_PASSWD)); if (GlobKurierTools::isCurl()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, GlobKurierConfig::PS_GK_URL_ORDER); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'DATA=' . $this->getXmlData()); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $output = curl_exec($ch); curl_close($ch); return $output; } else { die('ERROR: You need to enable curl php extension to use GlobKurier module.'); } }