PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.11.1
GiveWP – Donation Plugin and Fundraising Platform v2.11.1
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / License / PremiumAddonsListManager.php
give / src / License Last commit date
PremiumAddonsListManager.php 5 years ago
PremiumAddonsListManager.php
69 lines
1 <?php
2 namespace Give\License;
3
4 /**
5 * Class PremiumAddonManager
6 * @package Give\License
7 *
8 * this class we use to manager premium addons list for licensing.
9 *
10 * @since 2.9.2
11 */
12 class PremiumAddonsListManager {
13 /**
14 * Products list api url.
15 *
16 * @since 2.9.2
17 */
18 const PRODUCTS_LIST_API_URL = 'https://givewp.com/edd-api/products';
19
20
21 /**
22 * Get premium addons slugs as addons ids.
23 *
24 * @since 2.9.2
25 * @return array
26 */
27 private function getAddonsIds() {
28 $optionName = 'give_premium_addons_ids';
29 $cachedResult = get_transient( $optionName );
30 if ( $cachedResult ) {
31 return $cachedResult;
32 }
33
34 $response = wp_remote_get( self::PRODUCTS_LIST_API_URL . '?number=-1' );
35 $productsInformation = wp_remote_retrieve_body( $response );
36 if ( ! $productsInformation ) {
37 return [];
38 }
39
40 $productsInformation = json_decode( $productsInformation, true );
41 $productsIds = [];
42 foreach ( $productsInformation['products'] as $product ) {
43 $productsIds[] = $product['info']['slug'];
44 }
45
46 if ( $productsIds ) {
47 set_transient( $optionName, $productsIds, DAY_IN_SECONDS );
48 }
49
50 return $productsIds;
51 }
52
53 /**
54 * Return whether or not addon is premium addon.
55 *
56 * @since 2.9.2
57 *
58 * @param string $pluginURI
59 *
60 * @return bool
61 */
62 public function isPremiumAddons( $pluginURI ) {
63 $addonId = basename( $pluginURI );
64 $addonsIds = $this->getAddonsIds();
65
66 return in_array( $addonId, $addonsIds, true );
67 }
68 }
69