updated plugin Easy Digital Downloads
version 3.1.1.4.2
This commit is contained in:
@ -1,74 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* License Registry
|
||||
*
|
||||
* Responsible for holding information about premium EDD extensions in use on this site.
|
||||
*
|
||||
* @package easy-digital-downloads
|
||||
* @copyright Copyright (c) 2021, Easy Digital Downloads
|
||||
* @license GPL2+
|
||||
* @since 2.11.4
|
||||
*/
|
||||
|
||||
namespace EDD\Extensions;
|
||||
|
||||
class ExtensionRegistry extends \ArrayObject {
|
||||
|
||||
/**
|
||||
* Adds an extension to the registry.
|
||||
*
|
||||
* @since 2.11.4
|
||||
*
|
||||
* @param string $pluginFile Path to the plugin's main file.
|
||||
* @param string $pluginName Display name of the plugin.
|
||||
* @param int $pluginId EDD product ID for the plugin.
|
||||
* @param string $currentVersion Current version number.
|
||||
* @param string|null $optionName Option name where the license key is stored. If omitted, automatically generated.
|
||||
*/
|
||||
public function addExtension( $pluginFile, $pluginName, $pluginId, $currentVersion, $optionName = null ) {
|
||||
if ( $this->offsetExists( $pluginId ) ) {
|
||||
throw new \InvalidArgumentException( sprintf(
|
||||
'The extension %d is already registered.',
|
||||
$pluginId
|
||||
) );
|
||||
}
|
||||
|
||||
$this->offsetSet(
|
||||
$pluginId,
|
||||
new \EDD_License( $pluginFile, $pluginName, $currentVersion, 'Easy Digital Downloads', $optionName, null, $pluginId )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all registered extensions, regardless of whether they have licenses activated.
|
||||
*
|
||||
* At some point we could make this public, just making it private for now so that we have
|
||||
* flexibility to change exactly what it returns in the future.
|
||||
*
|
||||
* @since 2.11.4
|
||||
*
|
||||
* @return \EDD_License[]
|
||||
*/
|
||||
private function getExtensions() {
|
||||
return $this->getArrayCopy();
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of licensed extensions active on this site.
|
||||
* Note: This only looks at extensions registered via this registry, then filters down
|
||||
* to those that have a license key entered. It does not check to verify if the license
|
||||
* key is actually valid / not expired.
|
||||
*
|
||||
* @since 2.11.4
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function countLicensedExtensions() {
|
||||
$licensedExtensions = array_filter( $this->getExtensions(), function ( \EDD_License $license ) {
|
||||
return ! empty( $license->license );
|
||||
} );
|
||||
|
||||
return count( $licensedExtensions );
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user