Documentation

PluginUpdate
in package
Uses UtilsProvider, PluginUpdateLicensePool

Plugin update and license handling. If the plugin is hosted on wordpress.org, this class never does anything. But notice, that wordpress.org plugins also needs to "Complete the setup" and get a "free license" from the RPM license server.

Table of Contents

Constants

ERROR_CODE_BLOG_NOT_FOUND  = 'rpm_wpc_blog_not_found'
ERROR_CODE_INVALID_KEYS  = 'rpm_wpc_invalid_keys'
ERROR_CODE_INVALID_LICENSES  = 'rpm_wpc_invalid_licenses'
ERROR_CODE_INVALID_NEWSLETTER  = 'rpm_wpc_invalid_newsletter'
ERROR_CODE_NONE_IN_USAGE  = 'rpm_wpc_none_in_usage'
OPTION_NAME_FIRST_INITIALIZATION_PREFIX  = RPM_WP_CLIENT_OPT_PREFIX . '-puFirst_'

Properties

$suppressGetLicensesWpDie  : mixed
$announcementPool  : AnnouncementPool
Announcement pool
$initiator  : AbstractInitiator
Initiator for this plugin.
$licenseActivationClient  : LicenseActivation
License activation client.
$licenseCache  : array<string|int, License>
License instances cached, can be also partial within a multisite (not all subsites).
$licenses  : array<string|int, License>
License instances of the complete multisite.
$pluginUpdateChecker  : PluginUpdateChecker
Plugin Update Checker instance.
$view  : PluginUpdateView
View handler.

Methods

auto_update_plugin()  : bool|null
Check for auto updates and do not update major versions.
enableAutoUpdates()  : mixed
Enable auto updates for this plugin.
getAnnouncementPool()  : mixed
Get announcement pool.
getCurrentBlogLicense()  : License
Get the license for the current blog id.
getDaysSinceFirstInitialization()  : mixed
Get the days since the first initialization. See `#getFirstInitializationTimestamp`. Imagine, you install the plugin today, you will get `1` for today, `2` for tomorrow, and so on.
getFirstFoundLicense()  : mixed
Get first found license as we can not update per-site in multisite (?).
getFirstInitializationTimestamp()  : int
Get the timestamp which represents the existence of the first time this plugin updater was used.
getInitiator()  : mixed
Get initiator.
getLicenseActivationClient()  : mixed
Get license activation client.
getLicensedBlogIds()  : array<string|int, mixed>|false
Get a list of licensed blog IDs.
getLicenses()  : array<string|int, License>
Get all licenses for each blog (when multisite is enabled). Attention: If a blog uses the same hostname as a previous known blog, they share the same `License` instance.
getPluginConstantPrefix()  : string
Get the prefix of this package so we can utils package natively.
getPluginUpdateChecker()  : mixed
Get Plugin Update Checker.
getUniqueLicenses()  : array<string|int, License>
The same as `getLicenses`, but only get unique `License` instances.
getView()  : mixed
Get view.
init()  : mixed
`init` hook which does e.g. automatically activate licenses depending on a WordPress hook.
initialize()  : mixed
Initialize PRO updates for this plugin. This is before the `init` hook was called!
instance()  : mixed
New instance.
language_packs()  : mixed
For licensed plugin installations, endable the download from assets.devowl.io for language packs.
setupConstants()  : mixed
Make sure the RPM_WP_CLIENT constants are available.
updateLicenseSettings()  : mixed
Update license settings for this plugin.
constructPluginUpdateLicensePool()  : mixed
C'tor.
getPotentialBlogIds()  : array<string|int, int>
Get all blog ids for this WordPress instance (Multisite) which needs a license.
validateLicenseCodes()  : mixed
Validate license codes.
__construct()  : mixed
C'tor.

Constants

ERROR_CODE_BLOG_NOT_FOUND

public mixed ERROR_CODE_BLOG_NOT_FOUND = 'rpm_wpc_blog_not_found'

ERROR_CODE_INVALID_KEYS

public mixed ERROR_CODE_INVALID_KEYS = 'rpm_wpc_invalid_keys'

ERROR_CODE_INVALID_LICENSES

public mixed ERROR_CODE_INVALID_LICENSES = 'rpm_wpc_invalid_licenses'

ERROR_CODE_INVALID_NEWSLETTER

public mixed ERROR_CODE_INVALID_NEWSLETTER = 'rpm_wpc_invalid_newsletter'

ERROR_CODE_NONE_IN_USAGE

public mixed ERROR_CODE_NONE_IN_USAGE = 'rpm_wpc_none_in_usage'

OPTION_NAME_FIRST_INITIALIZATION_PREFIX

public mixed OPTION_NAME_FIRST_INITIALIZATION_PREFIX = RPM_WP_CLIENT_OPT_PREFIX . '-puFirst_'

Properties

$licenseCache

License instances cached, can be also partial within a multisite (not all subsites).

private array<string|int, License> $licenseCache = []

Methods

auto_update_plugin()

Check for auto updates and do not update major versions.

public auto_update_plugin(bool|null $update, object|array<string|int, mixed> $item) : bool|null
Parameters
$update : bool|null
$item : object|array<string|int, mixed>
Return values
bool|null

enableAutoUpdates()

Enable auto updates for this plugin.

public enableAutoUpdates() : mixed

getAnnouncementPool()

Get announcement pool.

public getAnnouncementPool() : mixed
Tags
codeCoverageIgnore

getDaysSinceFirstInitialization()

Get the days since the first initialization. See `#getFirstInitializationTimestamp`. Imagine, you install the plugin today, you will get `1` for today, `2` for tomorrow, and so on.

public getDaysSinceFirstInitialization() : mixed

getFirstFoundLicense()

Get first found license as we can not update per-site in multisite (?).

public getFirstFoundLicense() : mixed

getFirstInitializationTimestamp()

Get the timestamp which represents the existence of the first time this plugin updater was used.

public getFirstInitializationTimestamp() : int
Return values
int

getInitiator()

Get initiator.

public getInitiator() : mixed
Tags
codeCoverageIgnore

getLicenseActivationClient()

Get license activation client.

public getLicenseActivationClient() : mixed
Tags
codeCoverageIgnore

getLicensedBlogIds()

Get a list of licensed blog IDs.

public getLicensedBlogIds([bool|string $invalidate = false ][, bool $returnCurrentOnNonMultisite = false ]) : array<string|int, mixed>|false
Parameters
$invalidate : bool|string = false

If true it will invalidate the transient, or "never" to get the value independent of cache expiration

$returnCurrentOnNonMultisite : bool = false
Return values
array<string|int, mixed>|false

Array with hostname as key and blog IDs as value. If it is not multisite, it returns false (see also $returnCurrentOnNonMultisite)

getLicenses()

Get all licenses for each blog (when multisite is enabled). Attention: If a blog uses the same hostname as a previous known blog, they share the same `License` instance.

public getLicenses([bool $checkRemoteStatus = false ][, array<string|int, int> $inBlogIds = null ]) : array<string|int, License>
Parameters
$checkRemoteStatus : bool = false
$inBlogIds : array<string|int, int> = null

If set only return the list of this blog IDs

Return values
array<string|int, License>

getPluginConstantPrefix()

Get the prefix of this package so we can utils package natively.

public getPluginConstantPrefix() : string
Return values
string

getPluginUpdateChecker()

Get Plugin Update Checker.

public getPluginUpdateChecker() : mixed
Tags
codeCoverageIgnore

getUniqueLicenses()

The same as `getLicenses`, but only get unique `License` instances.

public getUniqueLicenses([bool $skipNoUsage = false ]) : array<string|int, License>

Use this with caution as it leads to iterate all subsites within your multisite!

Parameters
$skipNoUsage : bool = false

Pass true to skip licenses which are not in usage

Return values
array<string|int, License>

getView()

Get view.

public getView() : mixed
Tags
codeCoverageIgnore

init()

`init` hook which does e.g. automatically activate licenses depending on a WordPress hook.

public init() : mixed

initialize()

Initialize PRO updates for this plugin. This is before the `init` hook was called!

public initialize() : mixed

language_packs()

For licensed plugin installations, endable the download from assets.devowl.io for language packs.

public language_packs(array<string|int, mixed> $urls, bool $isPrereleaseVersion) : mixed
Parameters
$urls : array<string|int, mixed>
$isPrereleaseVersion : bool

setupConstants()

Make sure the RPM_WP_CLIENT constants are available.

public static setupConstants() : mixed

updateLicenseSettings()

Update license settings for this plugin.

public updateLicenseSettings(array<string|int, mixed> $licenses[, bool $telemetry = false ][, bool $newsletterOptIn = false ][, string $firstName = '' ][, string $email = '' ]) : mixed
Parameters
$licenses : array<string|int, mixed>

Pass null to activate all unlicensed, free sites

$telemetry : bool = false
$newsletterOptIn : bool = false
$firstName : string = ''
$email : string = ''

getPotentialBlogIds()

Get all blog ids for this WordPress instance (Multisite) which needs a license.

protected getPotentialBlogIds([array<string|int, int> $inBlogIds = null ]) : array<string|int, int>
Parameters
$inBlogIds : array<string|int, int> = null

If set only return the list of this blog IDs

Return values
array<string|int, int>

validateLicenseCodes()

Validate license codes.

protected validateLicenseCodes(array<string|int, mixed> $licenses, bool $telemetry, bool $newsletterOptIn, string $firstName, string $email) : mixed
Parameters
$licenses : array<string|int, mixed>
$telemetry : bool
$newsletterOptIn : bool
$firstName : string
$email : string

        
On this page

Search results