Dodano obsługę duplikatów zamówień w Apilo oraz zaktualizowano dokumentację i wersję do 0.236

This commit is contained in:
2026-02-04 22:30:36 +01:00
parent 43aebc166f
commit 16cccac782
6 changed files with 74 additions and 9 deletions

View File

@@ -1,7 +1,8 @@
{
"permissions": {
"allow": [
"Bash(powershell -Command \"Compress-Archive -Path ''*'' -DestinationPath ''../ver_0.234.zip'' -Force\")"
"Bash(powershell -Command \"Compress-Archive -Path ''*'' -DestinationPath ''../ver_0.234.zip'' -Force\")",
"Bash(powershell -Command:*)"
]
}
}

View File

@@ -7,6 +7,7 @@ Aktualizacje znajdują się w folderze `updates/0.XX/` gdzie XX oznacza dziesią
### Pliki aktualizacji:
- `ver_X.XXX.zip` - paczka ZIP ze zmienionymi plikami (BEZ folderu wersji, bezpośrednio struktura katalogów)
- `ver_X.XXX_sql.txt` - opcjonalny plik z zapytaniami SQL (jeśli wymagane zmiany w bazie)
- `ver_X.XXX_files.txt` - opcjonalny plik z listą plików do **USUNIĘCIA** przy aktualizacji (format: `F: ../sciezka/do/pliku.php`)
- `changelog.php` - historia zmian
- `versions.php` - konfiguracja wersji (zmienna `$current_ver`)
@@ -61,6 +62,14 @@ $current_ver = 234; // dla wersji 0.234
### 8. (Opcjonalnie) Utwórz plik SQL
Jeśli aktualizacja wymaga zmian w bazie danych, utwórz plik `ver_X.XXX_sql.txt` z zapytaniami SQL.
### 9. (Opcjonalnie) Utwórz plik z listą plików do usunięcia
Jeśli aktualizacja wymaga usunięcia przestarzałych plików, utwórz plik `ver_X.XXX_files.txt`:
```
F: ../sciezka/do/pliku1.php
F: ../sciezka/do/pliku2.php
```
**UWAGA:** Pliki wymienione w tym pliku zostaną USUNIĘTE z systemu podczas aktualizacji.
## Przykład - aktualizacja 0.234
Zmienione pliki:

View File

@@ -672,14 +672,66 @@ if ( $apilo_settings['enabled'] and $apilo_settings['sync_orders'] and $apilo_se
}
elseif ( $response['message'] == 'Validation error' )
{
echo '<pre>';
echo print_r( $response, true );
echo print_r( $postData, true );
echo '</pre>';
// sprawdzanie czy błąd dotyczy duplikatu idExternal
$is_duplicate_idexternal = false;
if ( isset( $response['errors'] ) and is_array( $response['errors'] ) )
{
foreach ( $response['errors'] as $error )
{
if ( isset( $error['field'] ) and $error['field'] == 'idExternal' and
( strpos( $error['message'], 'już wykorzystywana' ) !== false or
strpos( $error['message'], 'already' ) !== false ) )
{
$is_duplicate_idexternal = true;
break;
}
}
}
$email_data = print_r( $response, true );
$email_data .= print_r( $postData, true );
\S::send_email( 'biuro@project-pro.pl', 'Błąd wysyłania zamówienia do apilo.com', $email_data );
if ( $is_duplicate_idexternal )
{
// próba pobrania zamówienia z Apilo na podstawie idExternal
$ch_get = curl_init();
curl_setopt( $ch_get, CURLOPT_URL, "https://projectpro.apilo.com/rest/api/orders/?idExternal=" . $order['id'] );
curl_setopt( $ch_get, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch_get, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer " . $access_token,
"Accept: application/json"
));
$get_response = curl_exec( $ch_get );
curl_close( $ch_get );
$get_response_data = json_decode( $get_response, true );
if ( isset( $get_response_data['list'] ) and count( $get_response_data['list'] ) > 0 )
{
$apilo_order_id = $get_response_data['list'][0]['id'];
$mdb -> update( 'pp_shop_orders', [ 'apilo_order_id' => $apilo_order_id ], [ 'id' => $order['id'] ] );
echo '<p>Zamówienie już istnieje w Apilo. Zaktualizowano ID zamówienia: ' . $apilo_order_id . '</p>';
}
else
{
echo '<pre>';
echo print_r( $response, true );
echo print_r( $postData, true );
echo '</pre>';
$email_data = print_r( $response, true );
$email_data .= print_r( $postData, true );
\S::send_email( 'biuro@project-pro.pl', 'Błąd wysyłania zamówienia do apilo.com - nie znaleziono zamówienia', $email_data );
}
}
else
{
echo '<pre>';
echo print_r( $response, true );
echo print_r( $postData, true );
echo '</pre>';
$email_data = print_r( $response, true );
$email_data .= print_r( $postData, true );
\S::send_email( 'biuro@project-pro.pl', 'Błąd wysyłania zamówienia do apilo.com', $email_data );
}
}
else
{

BIN
updates/0.20/ver_0.236.zip Normal file

Binary file not shown.

View File

@@ -1,3 +1,6 @@
<b>ver. 0.236</b><br />
- FIX - zabezpieczenie przed duplikatami zamówień w Apilo - automatyczne pobieranie ID zamówienia przy błędzie "idExternal już wykorzystywany"
<hr>
<b>ver. 0.235</b><br />
- FIX - poprawka funkcji aktualizacji
<hr>

View File

@@ -1,5 +1,5 @@
<?
$current_ver = 235;
$current_ver = 236;
for ($i = 1; $i <= $current_ver; $i++)
{