";
$status = 0;
}
if (!is_writable("$inpost_data_dir/time1.dat")) {
if ($verbose)
echo "Paczkomaty API: file " . $inpost_data_dir . "/time1.dat must be writable!
";
$status = 0;
}
if (!is_writable("$inpost_data_dir/time2.dat")) {
if ($verbose)
echo "Paczkomaty API: file " . $inpost_data_dir . "/time2.dat must be writable!
";
$status = 0;
}
if (!is_writable("$inpost_data_dir/cache1.dat")) {
if ($verbose)
echo "Paczkomaty API: file " . $inpost_data_dir . "/cache1.dat must be writable!
";
$status = 0;
}
if (!is_writable("$inpost_data_dir/cache2.dat")) {
if ($verbose)
echo "Paczkomaty API: file " . $inpost_data_dir . "/cache2.dat must be writable!
";
$status = 0;
}
if (!function_exists('xml_parser_create')) {
if ($verbose)
echo "Paczkomaty API: PHP xml_parser_create() function is required!
";
$status = 0;
}
return $status;
}
function inpost_get_params() {
global $inpost_data_dir, $inpost_api_url;
if ($Contents = file_get_contents("$inpost_api_url/?do=getparams")) {
$parsedXML = inpost_xml2array($Contents);
$wynik = array();
foreach ($parsedXML['paczkomaty'] as $name => $array)
$wynik[$name] = $array['value'];
$wynik['current_api_version'] = '2.1.1';
return $wynik;
}
return 0;
}
function inpost_get_machine_list($town='', $paymentavailable='') {
global $inpost_data_dir;
if (inpost_cache_is_valid(1) == 0) {
inpost_download_machines();
}
if ($cache = @file_get_contents("$inpost_data_dir/cache1.dat")) {
$machineList = unserialize($cache);
if (count($machineList)) {
if ($town) {
foreach ($machineList as $machine) {
if ($machine[4] == $town)
$resultList[] = $machine;
}
$machineList = $resultList;
}
if (count($machineList)) {
$resultList = array();
$i = 0;
foreach ($machineList as $machine) {
if (!$paymentavailable || ($paymentavailable == 't' && $machine[7] == 't') || ($paymentavailable == 'f' && $machine[7] == 'f')) {
$resultList[$i]['name'] = $machine[0];
$resultList[$i]['street'] = $machine[1];
$resultList[$i]['buildingnumber'] = $machine[2];
$resultList[$i]['postcode'] = $machine[3];
$resultList[$i]['town'] = $machine[4];
$resultList[$i]['latitude'] = $machine[5];
$resultList[$i]['longitude'] = $machine[6];
if ($machine[7] == 't')
$resultList[$i]['paymentavailable'] = 1;
else
$resultList[$i]['paymentavailable'] = 0;
$resultList[$i]['operatinghours'] = $machine[8];
$resultList[$i]['locationdescription'] = $machine[9];
$resultList[$i]['paymentpointdescr'] = $machine[10];
$resultList[$i]['partnerid'] = $machine[11];
$resultList[$i]['paymenttype'] = $machine[12];
$i++;
}
}
usort($resultList, 'inpost_machine_sort');
return $resultList;
}
}
}
return 0;
}
function inpost_get_pricelist() {
global $inpost_data_dir;
if (inpost_cache_is_valid(2) == 0) {
inpost_download_pricelist();
}
if ($cache = @file_get_contents("$inpost_data_dir/cache2.dat")) {
return unserialize($cache);
}
return 0;
}
function inpost_get_pack_status($packcode) {
global $inpost_api_url;
if ($statusContents = @file_get_contents("$inpost_api_url/?do=getpackstatus&packcode=$packcode")) {
$parsedXML = inpost_xml2array($statusContents);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
$parsedXML = $parsedXML['paczkomaty'];
$packStatus = $parsedXML['status']['value'];
return $packStatus;
}
return 0;
}
function inpost_find_customer($email) {
global $inpost_api_url;
if ($customerContents = @file_get_contents("$inpost_api_url/?do=findcustomer&email=$email")) {
$parsedXML = inpost_xml2array($customerContents);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'], 'message' => $parsedXML['paczkomaty']['error']['value']));
}
$parsedXML = $parsedXML['paczkomaty']['customer'];
if (isset($parsedXML['email']['value']) AND $parsedXML['email']['value'] == $email) {
$preferedBoxMachineName = $parsedXML['preferedBoxMachineName']['value'];
if (isset($parsedXML['alternativeBoxMachineName']['value']))
$alternativeBoxMachineName = $parsedXML['alternativeBoxMachineName']['value'];
else
$alternativeBoxMachineName = '';
return array('preferedBoxMachineName' => $preferedBoxMachineName, 'alternativeBoxMachineName' => $alternativeBoxMachineName);
}
}
return 0;
}
function inpost_create_customer_partner($email, $password, $customerData) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (count($customerData)) {
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$customerXML = "\n";
$customerXML .= "\n";
$customerXML .= "" . $customerData['email'] . "\n";
$customerXML .= "" . $customerData['mobileNumber'] . "\n";
$customerXML .= "" . $customerData['preferedBoxMachineName'] . "\n";
$customerXML .= "" . $customerData['alternativeBoxMachineName'] . "\n";
$customerXML .= "" . $customerData['phoneNum'] . "\n";
$customerXML .= "" . $customerData['street'] . "\n";
$customerXML .= "" . $customerData['town'] . "\n";
$customerXML .= "" . $customerData['postCode'] . "\n";
$customerXML .= "" . $customerData['building'] . "\n";
$customerXML .= "" . $customerData['flat'] . "\n";
$customerXML .= "\n";
$customerXML .= "\n";
$customerXML .= "\n";
$customerXML .= "" . $customerData['regon'] . "\n";
$customerXML .= "" . $customerData['nip'] . "\n";
$customerXML .= "\n";
$customerXML .= "\n";
$customerEmail = $customerData['email'];
$customerData = array('email' => $email, 'digest' => $digest, 'content' => $customerXML);
$postData = http_build_query($customerData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=createcustomerpartner", $postData)) {
$parsedXML = inpost_xml2array($customerResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'], 'message' => $parsedXML['paczkomaty']['error']['value']));
}
$parsedXML = $parsedXML['paczkomaty']['customer'];
if (isset($parsedXML['email']['value']) AND $parsedXML['email']['value'] == $customerEmail) {
return array('email' => $parsedXML['email']['value']);
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_send_packs($email, $password, $packsData, $autoLabels=1, $selfSend=0) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (count($packsData)) {
$packsXML = "\n";
$packsXML .= "$autoLabels\n";
$packsXML .= "$selfSend\n";
foreach ($packsData as $packId => $packData) {
$packsXML .= "\n";
$packsXML .= "" . $packId . "\n";
$packsXML .= "" . $packData['adreseeEmail'] . "\n";
$packsXML .= "" . $packData['senderEmail'] . "\n";
$packsXML .= "" . $packData['phoneNum'] . "\n";
if (array_key_exists('dispatchPointName', $packData))
$packsXML .= "" . $packData['dispatchPointName'] . "\n";
if (array_key_exists('boxMachineName', $packData))
$packsXML .= "" . $packData['boxMachineName'] . "\n";
if (array_key_exists('alternativeBoxMachineName', $packData))
$packsXML .= "" . $packData['alternativeBoxMachineName'] . "\n";
if (array_key_exists('packType', $packData))
$packsXML .= "" . $packData['packType'] . "\n";
if (array_key_exists('customerDelivering', $packData))
$packsXML .= "" . $packData['customerDelivering'] . "\n";
else
$packsXML .= "false\n";
if ( isset( $packData['insuranceAmount'] ) ) {
$packsXML .= "" . $packData['insuranceAmount'] . "\n";
}
if ( isset( $packData['onDeliveryAmount'] ) ) {
$packsXML .= "" . $packData['onDeliveryAmount'] . "\n";
}
if (array_key_exists('customerRef', $packData))
$packsXML .= "" . $packData['customerRef'] . "\n";
if (array_key_exists('senderBoxMachineName', $packData))
$packsXML .= "" . $packData['senderBoxMachineName'] . "\n";
if (array_key_exists('senderAddress', $packData) and !empty($packData['senderAddress'])) {
$packsXML .= "\n";
$tmpFieldsArray = array('name', 'surName', 'email', 'phoneNum', 'street', 'buildingNo', 'flatNo', 'town', 'zipCode', 'province');
foreach ($tmpFieldsArray as $tmpField) {
if (array_key_exists($tmpField, $packData['senderAddress']) && !empty($packData['senderAddress'][$tmpField])) {
$packsXML .= "<$tmpField>" . $packData['senderAddress'][$tmpField] . "$tmpField>\n";
}
}
$packsXML .= "\n";
}
if (array_key_exists('receiverAddress', $packData) and !empty($packData['receiverAddress'])) {
$packsXML .= "\n";
$tmpFieldsArray = array('name', 'surName', 'companyName', 'email', 'phoneNum', 'street', 'buildingNo', 'flatNo', 'town', 'zipCode', 'province');
foreach ($tmpFieldsArray as $tmpField) {
if (array_key_exists($tmpField, $packData['receiverAddress']) && !empty($packData['receiverAddress'][$tmpField])) {
$packsXML .= "<$tmpField>$tmpField>\n";
}
}
$packsXML .= "\n";
}
if (array_key_exists('allegro', $packData)) {
$allegro = "" . $packData['allegro']['userId'] . "\n";
$allegro .= "" . $packData['allegro']['transactionId'] . "\n";
$packsXML .= "" . $allegro . "\n";
}
$packsXML .= "\n";
}
$packsXML .= "\n";
$packsData = array('email' => $email, 'digest' => $digest, 'content' => $packsXML);
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$postData = http_build_query($packsData);
if ( $packsResponse = inpost_post_request("$inpost_api_url/?do=createdeliverypacks", $postData ) ) {
$parsedXML = inpost_xml2array($packsResponse);
if ( isset( $parsedXML['error'] ) ) {
return array('error' => array('key' => $parsedXML['error']['key'], 'message' => $parsedXML['error']['message']));
}
if ( isset( $parsedXML['paczkomaty']['error'] ) ) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'], 'message' => $parsedXML['paczkomaty']['error']['value']));
}
if (isset($parsedXML['paczkomaty']['pack']))
$packsData = $parsedXML['paczkomaty']['pack'];
if (!isset($packsData[0])) {
$temp = $packsData;
$packsData = array();
$packsData[0] = $temp;
}
if (count($packsData)) {
foreach ($packsData as $packData) {
if (isset($packData['packcode']['value']))
$resultData[$packData['id']['value']]['packcode'] = $packData['packcode']['value'];
if (isset($packData['customerdeliveringcode']['value']))
$resultData[$packData['id']['value']]['customerdeliveringcode'] = $packData['customerdeliveringcode']['value'];
if (isset($packData['error']['attr']['key']))
$resultData[$packData['id']['value']]['error_key'] = $packData['error']['attr']['key'];
if (isset($packData['error']['value']))
$resultData[$packData['id']['value']]['error_message'] = $packData['error']['value'];
if (isset($packData['pack']['error']['value']))
$resultData[$packData['id']['value']]['error_message'] = $packData['pack']['error']['value'];
}
if (isset($resultData))
return $resultData;
else
return array( 'error' => array( 'key' => 'error', 'message' => $json['message'] = __( 'Wystąpił błąd podczas przetwarzania żądania: ', 'woocommerce-paczkomaty-inpost' ) . print_r( $parsedXML, true ) ) );
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_send_letters($email, $password, $packsData, $autoLabels=0 ) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (count($packsData)) {
$packsXML = "\n";
$packsXML .= "$autoLabels\n";
foreach ($packsData as $packId => $packData) {
$packsXML .= "\n";
$packsXML .= "" . $packData['adreseeEmail'] . "\n";
$packsXML .= "" . $packId . "\n";
$packsXML .= "" . $packData['senderEmail'] . "\n";
$packsXML .= "" . $packData['phoneNum'] . "\n";
//$packsXML .= "" . $packData['senderBoxMachineName'] . "\n";
$packsXML .= "" . $packData['senderBoxMachineName'] . "\n";
//$packsXML .= "" . $packData['insuranceAmount'] . "\n";
//$packsXML .= "" . $packData['onDeliveryAmount'] . "\n";
if (array_key_exists('customerRef', $packData))
$packsXML .= "" . $packData['customerRef'] . "\n";
if (array_key_exists('senderAddress', $packData) and !empty($packData['senderAddress'])) {
$packsXML .= "\n";
$tmpFieldsArray = array('name', 'surName', 'companyName', 'email', 'phoneNum', 'street', 'buildingNo', 'flatNo', 'town', 'zipCode', 'province');
foreach ($tmpFieldsArray as $tmpField) {
if (array_key_exists($tmpField, $packData['senderAddress']) && !empty($packData['senderAddress'][$tmpField])) {
$packsXML .= "<$tmpField>$tmpField>\n";
}
}
$packsXML .= "\n";
}
if (array_key_exists('receiverAddress', $packData) and !empty($packData['receiverAddress'])) {
$packsXML .= "\n";
$tmpFieldsArray = array('name', 'surName', 'companyName', 'email', 'phoneNum', 'street', 'buildingNo', 'flatNo', 'town', 'zipCode', 'province');
foreach ($tmpFieldsArray as $tmpField) {
if (array_key_exists($tmpField, $packData['receiverAddress']) && !empty($packData['receiverAddress'][$tmpField])) {
$packsXML .= "<$tmpField>$tmpField>\n";
}
}
$packsXML .= "\n";
}
if (array_key_exists('allegro', $packData)) {
$allegro = "" . $packData['allegro']['userId'] . "\n";
$allegro .= "" . $packData['allegro']['transactionId'] . "\n";
$packsXML .= "" . $allegro . "\n";
}
$packsXML .= "\n";
}
$packsXML .= "\n";
$packsData = array('email' => $email, 'digest' => $digest, 'content' => $packsXML);
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$postData = http_build_query($packsData);
if ($packsResponse = inpost_post_request("$inpost_api_url/?do=createdeliveryletters", $postData)) {
$parsedXML = inpost_xml2array($packsResponse);
if ( isset( $parsedXML['error'] ) ) {
return array('error' => array('key' => $parsedXML['error']['key'], 'message' => $parsedXML['error']['message']));
}
if (isset($parsedXML['letters']['error'])) {
return array('error' => array('key' => $parsedXML['letters']['error']['attr']['key'], 'message' => $parsedXML['letters']['error']['value']));
}
if ( isset( $parsedXML['paczkomaty'] ) && isset( $parsedXML['paczkomaty']['error'] ) ) {
return array( 'error' => array( 'key' => $parsedXML['paczkomaty']['error']['attr']['key'], 'message' => $parsedXML['paczkomaty']['error']['value'] ) );
}
if (isset($parsedXML['letters']['letter'])) {
$packsData = $parsedXML['letters']['letter'];
}
if (!isset($packsData[0])) {
$temp = $packsData;
$packsData = array();
$packsData[0] = $temp;
}
if (count($packsData)) {
foreach ($packsData as $packData) {
if (isset($packData['parcelCode']['value'])) {
$resultData[$packData['tmpId']['value']]['packcode'] = $packData['parcelCode']['value'];
}
if (isset($packData['customerDeliveringCode']['value']))
$resultData[$packData['tmpId']['value']]['customerdeliveringcode'] = $packData['customerDeliveringCode']['value'];
if (isset($packData['error']['attr']['key']))
$resultData[$packData['tmpId']['value']]['error_key'] = $packData['error']['attr']['key'];
if (isset($packData['error']['value']))
$resultData[$packData['tmpId']['value']]['error_message'] = $packData['error']['value'];
}
if (isset($resultData))
return $resultData;
else
return array( 'error' => array( 'key' => 'error', 'message' => $json['message'] = __( 'Wystąpił błąd podczas przetwarzania żądania: ', 'woocommerce-paczkomaty-inpost' ) . print_r( $parsedXML, true ) ) );
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_get_sticker($email, $password, $packCode, $labelType='', $labelFormat = '') {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (isset($packCode)) {
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$customerData = array('email' => $email, 'digest' => $digest, 'packcode' => $packCode, 'labelType' => $labelType, 'labelFormat' => $labelFormat);
$postData = http_build_query($customerData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=getsticker", $postData)) {
if (strpos($customerResponse, ' array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_cancel_pack($email, $password, $packCode) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (isset($packCode)) {
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$customerData = array('email' => $email, 'digest' => $digest, 'packcode' => $packCode);
$postData = http_build_query($customerData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=cancelpack", $postData)) {
$parsedXML = inpost_xml2array($customerResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
else
return $customerResponse;
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_change_packsize($email, $password, $packCode, $packSize) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (isset($packCode) && isset($packSize)) {
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$customerData = array('email' => $email, 'digest' => $digest, 'packcode' => $packCode, 'packsize' => $packSize);
$postData = http_build_query($customerData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=change_packsize", $postData)) {
$parsedXML = inpost_xml2array($customerResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
else
return $customerResponse;
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_get_stickers($email, $password, $packCodes, $labelType='') {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (is_array($packCodes)) {
//$customerEmail = $customerData['email'];
$customerData = array('email' => $email, 'digest' => $digest, 'packcodes' => $packCodes, 'labeltype' => $labelType);
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$postData = http_build_query($customerData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=getstickers", $postData)) {
if (strpos($customerResponse, 'PDF'))
return $customerResponse;
$parsedXML = inpost_xml2array($customerResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_set_customer_ref($email, $password, $packCode, $customerRef) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (isset($packCode)) {
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
//$customerEmail = $customerData['email'];
$customerData = array('email' => $email, 'digest' => $digest, 'packcode' => $packCode,
'customerref' => $customerRef);
$postData = http_build_query($customerData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=setcustomerref", $postData)) {
if (strpos($customerResponse, 'Set'))
return 1;
$parsedXML = inpost_xml2array($customerResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_get_confirm_printout($email, $password, $packCodes, $testPrintout=0) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
if (is_array($packCodes)) {
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$packsXML = "\n";
$packsXML .= "$testPrintout\n";
foreach ($packCodes as $packCode) {
$packsXML .= "\n";
$packsXML .= "" . $packCode . "\n";
$packsXML .= "\n";
}
$packsXML .= "\n";
$packsData = array('email' => $email, 'digest' => $digest, 'content' => $packsXML);
$postData = http_build_query($packsData);
if ($customerResponse = inpost_post_request("$inpost_api_url/?do=getconfirmprintout", $postData)) {
if (strpos($customerResponse, 'PDF'))
return $customerResponse;
$parsedXML = inpost_xml2array($customerResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
}
return 0;
}
function inpost_get_packs_by_sender($email, $password, $parameters=array()) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
$paramData = array('email' => $email, 'digest' => $digest);
if (isset($parameters['status']))
$paramData['status'] = $parameters['status'];
if (isset($parameters['startdate']))
$paramData['startdate'] = $parameters['startdate'];
if (isset($parameters['enddate']))
$paramData['enddate'] = $parameters['enddate'];
if (isset($parameters['is_conf_printed']))
$paramData['is_conf_printed'] = $parameters['is_conf_printed'];
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$postData = http_build_query($paramData);
if ($packsResponse = inpost_post_request("$inpost_api_url/?do=getpacksbysender", $postData)) {
$parsedXML = inpost_xml2array($packsResponse);
$packsData = $parsedXML['paczkomaty']['pack'];
if (!isset($packsData[0])) {
$temp = $packsData;
$packsData = array();
$packsData[0] = $temp;
}
if (count($packsData)) {
$i = 0;
foreach ($packsData as $packData) {
foreach ($packData as $param => $value) {
if (isset($value['value']))
$resultData[$i][$param] = $value['value']; else
$resultData[$i][$param] = '';
}
$i++;
}
return $resultData;
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
return 0;
}
function inpost_get_cod_report($email, $password, $parameters=array()) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
$paramData = array('email' => $email, 'digest' => $digest);
if (isset($parameters['startdate']))
$paramData['startdate'] = $parameters['startdate'];
if (isset($parameters['enddate']))
$paramData['enddate'] = $parameters['enddate'];
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$postData = http_build_query($paramData);
if ($packsResponse = inpost_post_request("$inpost_api_url/?do=getcodreport", $postData)) {
$parsedXML = inpost_xml2array($packsResponse);
$packsData = $parsedXML['paczkomaty']['payment'];
if (!isset($packsData[0])) {
$temp = $packsData;
$packsData = array();
$packsData[0] = $temp;
}
if (count($packsData)) {
$i = 0;
foreach ($packsData as $packData) {
foreach ($packData as $param => $value) {
if (isset($value['value']))
$resultData[$i][$param] = $value['value']; else
$resultData[$i][$param] = '';
}
$i++;
}
return $resultData;
}
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
return 0;
}
function inpost_pay_for_pack($email, $password, $packcode) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
$paramData = array('email' => $email, 'digest' => $digest, 'packcode' => $packcode);
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$postData = http_build_query($paramData);
if ($packsResponse = inpost_post_request("$inpost_api_url/?do=payforpack", $postData)) {
$parsedXML = inpost_xml2array($packsResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
else
return 1;
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
return 0;
}
function inpost_get_dispatch_points($email, $password) {
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$digest = inpost_digest($password);
$_lastArgSeparatorOutput = ini_get('arg_separator.output');
ini_set('arg_separator.output', '&');
$packsXML = "\n";
$packsXML .= "";
$packsXML .= "";
$packsXML .= "ACTIVE";
$packsXML .= "\n";
$packsData = array('email' => $email, 'digest' => $digest, 'content' => $packsXML);
$postData = http_build_query($packsData);
if ($packsResponse = inpost_post_request("$inpost_api_url/?do=getdispatchpoints", $postData)) {
$parsedXML = inpost_xml2array($packsResponse);
if (isset($parsedXML['paczkomaty']['error'])) {
return array('error' => array('key' => $parsedXML['paczkomaty']['error']['attr']['key'],
'message' => $parsedXML['paczkomaty']['error']['value']));
}
else
return $parsedXML;
}
ini_set('arg_separator.output', $_lastArgSeparatorOutput);
return 0;
}
function inpost_listmachines( $pickuppoint = '', $paymentavailable = '' ) {
$transient_name = 'paczkomaty_paczkomaty_p'.$pickuppoint.'_p.'.$paymentavailable;
$paczkomaty = get_transient( $transient_name );
if ( !$paczkomaty )
{
global $inpost_api_url;
$inpost_api_url = str_replace('http://', 'https://', $inpost_api_url);
$url = "$inpost_api_url/?do=listmachines_xml&pickuppoint=$pickuppoint&paymentavailable=$paymentavailable";
$args = array( 'timeout' => 50, 'sslverify' => false );
$response = wp_remote_get( $url, $args );
if ( is_wp_error( $response ) )
{
return array( '0' => 'Błąd przy pobieraniu listy paczkomatów: ' . $response->get_error_message() );
}
else {
$paczkomaty = array();
$response = inpost_xml2array( $response['body'] );
if ( isset( $response['paczkomaty']['machine'] ) ) {
foreach ( $response['paczkomaty']['machine'] as $paczkomat ) {
$paczkomaty[ $paczkomat['name']['value'] ] =
'[' . $paczkomat['name']['value'] . '] ' .
$paczkomat['town']['value'] . ', ';
if ( isset( $paczkomat['street'] ) && isset( $paczkomat['street']['value'] ) ) {
$paczkomaty[ $paczkomat['name']['value'] ] .= $paczkomat['street']['value'] . ' ';
}
if ( isset( $paczkomat['buildingnumber'] ) && isset( $paczkomat['buildingnumber']['value'] ) ) {
$paczkomaty[ $paczkomat['name']['value'] ] .= $paczkomat['buildingnumber']['value'];
}
}
}
else {
return $paczkomaty;
}
}
set_transient( $transient_name, $paczkomaty, DAY_IN_SECONDS );
}
return $paczkomaty;
}