Add WordPress auto-update functionality (v0.6.0)

- Add UpdateController REST API endpoint for serving update info to licensed plugins
- Add PluginUpdateChecker singleton for client-side update checking
- Hook into WordPress native plugin update system (pre_set_site_transient_update_plugins, plugins_api)
- Add Auto-Updates settings subtab with enable/disable and check frequency options
- Add authentication headers for secure download requests
- Support configurable cache TTL for update checks (default 12 hours)
- Document /update-check endpoint in OpenAPI specification
- Update German translations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-27 20:14:11 +01:00
parent f8f6434342
commit b670bacf27
9 changed files with 1194 additions and 9 deletions

View File

@@ -3,10 +3,10 @@
# This file is distributed under the GPL-2.0-or-later.
msgid ""
msgstr ""
"Project-Id-Version: WC Licensed Product 0.5.0\n"
"Project-Id-Version: WC Licensed Product 0.6.0\n"
"Report-Msgid-Bugs-To: magdev3.0@gmail.com\n"
"POT-Creation-Date: 2026-01-27 14:41+0100\n"
"PO-Revision-Date: 2026-01-25T18:30:00+00:00\n"
"POT-Creation-Date: 2026-01-27 18:00+0100\n"
"PO-Revision-Date: 2026-01-27T18:00:00+00:00\n"
"Last-Translator: Marco Graetsch <magdev3.0@gmail.com>\n"
"Language-Team: German (Switzerland) <de_CH@li.org>\n"
"Language: de_CH\n"
@@ -1964,3 +1964,39 @@ msgstr ""
#~ msgid "Licensed Domain:"
#~ msgstr "Lizensierte Domain:"
#: src/Api/UpdateController.php:195
msgid "Licensed product not found."
msgstr "Lizenziertes Produkt nicht gefunden."
#: src/Api/UpdateController.php:207
msgid "No versions available for this product."
msgstr "Keine Versionen für dieses Produkt verfügbar."
#: src/Update/PluginUpdateChecker.php:295
msgid "WooCommerce plugin for selling licensed software products with domain-bound license keys."
msgstr "WooCommerce-Plugin zum Verkauf von lizenzierten Softwareprodukten mit domaingebundenen Lizenzschlüsseln."
#: src/Admin/SettingsController.php:163
msgid "Auto-Updates"
msgstr "Auto-Updates"
#: src/Admin/SettingsController.php:165
msgid "Configure automatic plugin updates from the license server."
msgstr "Automatische Plugin-Updates vom Lizenzserver konfigurieren."
#: src/Admin/SettingsController.php:169
msgid "Enable Auto-Updates"
msgstr "Auto-Updates aktivieren"
#: src/Admin/SettingsController.php:172
msgid "Automatically check for and receive plugin updates from the license server."
msgstr "Automatisch auf Plugin-Updates vom Lizenzserver prüfen und diese erhalten."
#: src/Admin/SettingsController.php:177
msgid "Check Frequency (Hours)"
msgstr "Prüfhäufigkeit (Stunden)"
#: src/Admin/SettingsController.php:180
msgid "How often to check for updates (in hours)."
msgstr "Wie oft auf Updates geprüft werden soll (in Stunden)."

View File

@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: WC Licensed Product 0.5.12\n"
"Project-Id-Version: WC Licensed Product 0.6.0\n"
"Report-Msgid-Bugs-To: magdev3.0@gmail.com\n"
"POT-Creation-Date: 2026-01-27 14:41+0100\n"
"POT-Creation-Date: 2026-01-27 18:00+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1869,3 +1869,47 @@ msgstr ""
#: wc-licensed-product.php:119
msgid "WC Licensed Product requires WooCommerce to be installed and active."
msgstr ""
#: src/Api/UpdateController.php:175
msgid "License validation failed."
msgstr ""
#: src/Api/UpdateController.php:185
msgid "License not found."
msgstr ""
#: src/Api/UpdateController.php:195
msgid "Licensed product not found."
msgstr ""
#: src/Api/UpdateController.php:207
msgid "No versions available for this product."
msgstr ""
#: src/Update/PluginUpdateChecker.php:295
msgid "WooCommerce plugin for selling licensed software products with domain-bound license keys."
msgstr ""
#: src/Admin/SettingsController.php:163
msgid "Auto-Updates"
msgstr ""
#: src/Admin/SettingsController.php:165
msgid "Configure automatic plugin updates from the license server."
msgstr ""
#: src/Admin/SettingsController.php:169
msgid "Enable Auto-Updates"
msgstr ""
#: src/Admin/SettingsController.php:172
msgid "Automatically check for and receive plugin updates from the license server."
msgstr ""
#: src/Admin/SettingsController.php:177
msgid "Check Frequency (Hours)"
msgstr ""
#: src/Admin/SettingsController.php:180
msgid "How often to check for updates (in hours)."
msgstr ""