Affinite_Updater integrace
Plugin používá Affinite_Updater library pro remote update checks a license key handling. Updater je instantiated v affinite-wp-affiliate.php:
require_once __DIR__ . '/updater/Affinite_Updater.php';
new Affinite_Updater('affinite-wp-affiliate');
License key storage
- Option key:
affinite-wp-affiliate-license-key(pomlčky, ne underscores) - Default: prázdné
- Použití: Updater ho posílá při kontrole updatů jako query parameter.
Update check flow
- WP cron volá
pre_set_site_transient_update_plugins. - Updater udělá HTTP GET na
{repository_server}?plugin=affinite-wp-affiliate&license={key}. - Server vrátí JSON s aktuální verzí, download URL a
is_valid_licenseflag. - Pokud je dostupný update, zobrazí se v Plugins admin screen.
Activate plugin API
$updater = new Affinite_Updater('affinite-wp-affiliate');
$success = $updater->activate_plugin('YOUR-LICENSE-KEY');
if ($success) {
// Klíč byl validní, uložil se do option
echo 'License activated';
} else {
echo 'Invalid license key';
}
Stav v aktuální verzi
- ✅ GPL v2 licence v plugin headeru.
- ✅ Affinite_Updater integrace aktivní.
- ✅ License storage + remote check.
- ✅ activate_plugin() API existuje.
- ❌ Admin UI pro license key ještě chybí — kandidát pro budoucí release.
- ❌ Feature gates bez aktivní licence — nejsou implementovány.
Workaround pro license activation
Do té doby, než vznikne admin UI, nastavte license key přes WP CLI:
wp option update affinite-wp-affiliate-license-key "YOUR-KEY"
Nebo přes mu-plugin handler:
// mu-plugins/license-bootstrap.php
add_action('init', function() {
if (!get_option('affinite-wp-affiliate-license-key')) {
update_option('affinite-wp-affiliate-license-key', 'YOUR-KEY');
}
});
Budoucí plány
- Admin UI v Settings tabu pro zadání + validaci klíče.
- Status display — zobrazení valid/invalid + datum expirace.
- Feature gates pro premium funkce (REST API rate limit, multi-site sync, atd.).
- Skill
/plugin-add-license— automatizovaná implementace všech tří.
