feat: enhance SitiWebUpdater2 with global license management and automatic updates
All checks were successful
Build & Release Plugin / release (push) Successful in 12s
All checks were successful
Build & Release Plugin / release (push) Successful in 12s
This commit is contained in:
@@ -10,10 +10,12 @@ class SitiLicenseValidator {
|
||||
private $api_base_url = 'https://plugins.robert.ooo';
|
||||
private $license_key;
|
||||
private $hostname;
|
||||
private $plugin_version;
|
||||
|
||||
public function __construct( $license_key = null, $hostname = null ) {
|
||||
public function __construct( $license_key = null, $hostname = null, $plugin_version = null ) {
|
||||
$this->license_key = $license_key ?: get_option( 'siti_license_key' );
|
||||
$this->hostname = $hostname ?: parse_url( home_url(), PHP_URL_HOST );
|
||||
$this->plugin_version = $plugin_version;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,6 +39,13 @@ class SitiLicenseValidator {
|
||||
$this->hostname = $hostname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the plugin version for reporting purposes
|
||||
*/
|
||||
public function set_plugin_version( $version ) {
|
||||
$this->plugin_version = $version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify the license
|
||||
*
|
||||
@@ -56,8 +65,9 @@ class SitiLicenseValidator {
|
||||
'Content-Type' => 'application/json',
|
||||
),
|
||||
'body' => wp_json_encode( array(
|
||||
'key' => $this->license_key,
|
||||
'hostname' => $this->hostname,
|
||||
'key' => $this->license_key,
|
||||
'hostname' => $this->hostname,
|
||||
'currentVersion' => $this->plugin_version,
|
||||
) ),
|
||||
'timeout' => 15,
|
||||
) );
|
||||
@@ -127,4 +137,4 @@ class SitiLicenseValidator {
|
||||
// In practice, you might want to proxy this through WordPress
|
||||
return $this->api_base_url . '/api/licenses/download?key=' . urlencode( $this->license_key ) . '&hostname=' . urlencode( $this->hostname ) . '&version=' . urlencode( $version );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user