Download the PHP package websystems/ws-prestashop-update-package without Composer
On this page you can find all versions of the php package websystems/ws-prestashop-update-package. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download websystems/ws-prestashop-update-package
More information about websystems/ws-prestashop-update-package
Files in websystems/ws-prestashop-update-package
Package ws-prestashop-update-package
Short Description A Composer package for PrestaShop to manage module licensing and updates for Websystems package server.
License proprietary
Informations about the package ws-prestashop-update-package
websystems/ws-prestashop-update-package
Paczka Composer do zarządzania licencjami i aktualizacjami modułów PrestaShop przez serwer UpdatePulse. Zamiast duplikować kod w każdym module, wystarczy dołączyć tę paczkę i użyć gotowego traita.
Wymagania
- PHP >= 7.2
- Rozszerzenia PHP:
ext-curl,ext-zip - PrestaShop 1.7 lub 8.x
- Plik
updatepulse.jsonw katalogu głównym modułu
Instalacja
Następnie upewnij się, że autoload Composera jest ładowany w module (zwykle już jest w vendor/autoload.php).
Plik updatepulse.json
Każdy moduł musi posiadać plik updatepulse.json w swoim katalogu głównym (np. modules/ws_mymodule/updatepulse.json):
Opcjonalnie można dodać pole "Slug" w packageData — jeśli go nie ma, używana jest nazwa modułu ($module->name).
Integracja z modułem
Trait WsLicenseTrait można użyć w dwóch miejscach niezależnie lub razem:
| Miejsce | Do czego |
|---|---|
Klasa modułu (Module) |
Globalny baner powiadomień o aktualizacji |
Kontroler admina (ModuleAdminController) |
Pełna zakładka „Licencja i aktualizacje" |
1. Globalny baner powiadomień (klasa modułu)
Dzięki temu baner o dostępnej aktualizacji pojawia się na każdej stronie admina — wewnątrz #content, tak samo jak natywne komunikaty PrestaShop — a nie tylko w zakładce konfiguracji modułu.
Wariant z hookDisplayBackOfficeHeader — automatyczne sprawdzanie w tle
Jeśli chcesz aby sprawdzanie aktualizacji odbywało się automatycznie w tle na każdej stronie admina (bez renderowania HTML), użyj wsCheckForUpdates(). Metoda odpytuje serwer max raz na 24 h — same zarządza cache w Configuration; nie musisz ręcznie porównywać timestampów ani zapisywać czasu ostatniego sprawdzenia.
2. Zakładka „Licencja i aktualizacje" (kontroler admina)
Jak działa zarządzanie licencjami
- Admin wpisuje klucz licencji w formularzu i klika Aktywuj licencję.
- Paczka wysyła żądanie do serwera UpdatePulse (
updatepulse-server-license-api). - Serwer weryfikuje klucz i domenę sklepu — w odpowiedzi odsyła
license_signature. - Klucz i sygnatura są zapisywane w
ConfigurationPrestaShop (klucze:WS_MYMODULE_LICENSE_KEY,WS_MYMODULE_LICENSE_SIG). - Dezaktywacja usuwa dane z
Configurationi informuje serwer.
Jak działają aktualizacje
- Paczka odpytuje serwer (
updatepulse-server-update-api, akcjaget_metadata) max raz na 24 h (cache wConfiguration). - Wynik jest cache'owany — klucze
WS_MYMODULE_UPDATE_INFO(JSON) iWS_MYMODULE_UPDATE_LAST_CHECK(timestamp). - Baner powiadomienia (
hookDisplayAdminAfterHeader) wyświetla się na każdej stronie admina gdy dostępna jest nowsza wersja; sam baner nie ma żadnego limitu czasowego. - W zakładce „Licencja i aktualizacje" pojawia się przycisk Zainstaluj aktualizację oraz link do pobrania ZIP.
- Instalacja jest wyłącznie ręczna — tylko gdy admin kliknie przycisk. Pobiera ZIP przez cURL (wyłącznie HTTPS), rozpakowuje do
_PS_MODULE_DIR_, uruchamia skrypty upgrade z kataloguupgrade/, aktualizuje wersję wps_module. - Przycisk Sprawdź teraz w zakładce wymusza natychmiastowe odpytanie serwera (pomija cache).
Klucze konfiguracyjne w bazie danych
Klucze są budowane automatycznie z przekazanego prefiksu (np. WS_MYMODULE):
| Klucz | Zawartość |
|---|---|
WS_MYMODULE_LICENSE_KEY |
Klucz licencji |
WS_MYMODULE_LICENSE_SIG |
Sygnatura licencji (z serwera) |
WS_MYMODULE_UPDATE_INFO |
JSON z metadanymi ostatniej odpowiedzi serwera |
WS_MYMODULE_UPDATE_LAST_CHECK |
Timestamp ostatniego sprawdzenia aktualizacji |
Uwaga: Gdy
"RequireLicense": falsewupdatepulse.json, sekcja licencji jest całkowicie ukryta w zakładce admina, a zapytanie o aktualizacje jest wysyłane bez parametrów licencyjnych.
Struktura paczki
Tłumaczenia
Paczka zawiera wbudowane tłumaczenia PL i EN. Język wykrywany jest automatycznie z Context::getContext()->language->iso_code. Można też użyć bezpośrednio:
Autor
Artur Ograbek — [email protected]
Web Systems — https://www.web-systems.pl/
All versions of ws-prestashop-update-package with dependencies
ext-curl Version *
ext-zip Version *