Files
2024-11-11 18:46:54 +01:00

97 lines
3.5 KiB
PHP

<?php
/**
* Plik umożliwiający zdefiniowanie własnego kodu do przetwarzania danych wymienianych przez API FirmesLink
* dostępne uchwyty: afterProductAdd, afterProductUpdate
* API inicjuje silnik presty, mozna normalnie korzystac z jej obiektow
*
*/
if (!defined('_FL_GET_ADDRESS_FROM_CUSTOM_FIELD'))
define('_FL_GET_ADDRESSES_FROM_CUSTOM_FIELD', 0);
if (!defined('_FL_SET_ORIGINAL_ADDRESS_AS_DELIVERY_ADDRESS'))
define('_FL_SET_ORIGINAL_ADDRESS_AS_DELIVERY_ADDRESS', 0);
if (!defined('_FL_ADD_INVOICE_INFO_TO_ORDER_NOTE'))
define('_FL_ADD_INVOICE_INFO_TO_ORDER_NOTE', 0);
class FirmesLinkCustomActions {
public static function beforeOrderSend($orderId, $orderData = array()) {
if(_FL_GET_ADDRESS_FROM_CUSTOM_FIELD)
{
$q = "SELECT * FROM "._FL_DB_PREFIX."custom_field_userdata WHERE id_order = ".$orderId. " AND id_cart = (SELECT id_cart FROM "._FL_DB_PREFIX."orders where id_order = ".$orderId.")";
LogWrite("Custom SQL: ".$q);
$result = db_query($q);
if($result)
{
if($result->num_rows>0)
{
if(!isset($orderData['orderAddresses'][1]['address']) && _FL_SET_ORIGINAL_ADDRESS_AS_DELIVERY_ADDRESS)
{
$orderData['orderAddresses'][1]['address'] = $orderData['orderAddresses'][0]['address'];
$orderData['orderAddresses'][1]['address']['type'] = 2;
// $orderData['orderAddresses'][1]['address']['orderAddressId'] = 1;
// $orderData['orderAddresses'][1]['address']['customerAddressId'] = 1;
}
while($row = db_fetch_array($result))
{
switch ($row['id_custom_field'])
{
case '1':
// Chcę otrzymać fakturę
if(_FL_ADD_INVOICE_INFO_TO_ORDER_NOTE)
{
$orderData['note'] .= " Faktura: ".$row['field_value']."\r\n";
}
break;
case '2':
// Firma
$orderData['orderAddresses'][0]['address']['name'] = $row['field_value'];
$orderData['orderAddresses'][0]['address']['fullName'] = $row['field_value'];
break;
case '3':
// NIP
$orderData['orderAddresses'][0]['address']['taxNumber'] = $row['field_value'];
if(strlen($row['field_value'])>4)
{
$orderData['orderAddresses'][0]['address']['customerType'] = 2;
}
break;
case '4':
// Adres (Ulica)
$orderData['orderAddresses'][0]['address']['street'] = $row['field_value'];
break;
case '5':
// Miasto
$orderData['orderAddresses'][0]['address']['city'] = $row['field_value'];
break;
case '6':
// Kod pocztowy
$orderData['orderAddresses'][0]['address']['postCode'] = $row['field_value'];
break;
default:
# code...
break;
}
}
}
}
else
{
LogWrite("Custom SQL: Blad wykonania zapuytania SQL");
}
}
return $orderData;
}
}