PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 2.13.1
GiveWP – Donation Plugin and Fundraising Platform v2.13.1
4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 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 All 253 releases
give / src / Tracking / TrackingData / PluginsData.php
PluginsData.php
69 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Give\Tracking\TrackingData;
3
4 use Give\Tracking\Contracts\TrackData;
5 use Give\License\PremiumAddonsListManager;
6
7 /**
8 * Class ActivePluginsData
9 *
10 * Represents the plugin data.
11 *
12 * @since 2.10.0
13 * @package Give\Tracking\TrackingData
14 */
15 class PluginsData implements TrackData {
16
17 /**
18 * Returns the collection data.
19 *
20 * @since 2.10.0
21 *
22 * @return array The collection data.
23 */
24 public function get() {
25 return $this->getPluginData();
26 }
27
28 /**
29 * Returns all plugins.
30 *
31 * @since 2.10.0
32 *
33 * @return array The formatted plugins.
34 */
35 private function getPluginData() {
36 $plugins = give_get_plugins();
37 $plugins = array_map( [ $this, 'formatPlugin' ], $plugins );
38
39 $plugin_data = [];
40 foreach ( $plugins as $plugin ) {
41 $plugin_data[] = $plugin;
42 }
43
44 return $plugin_data;
45 }
46
47 /**
48 * Formats the plugin array.
49 *
50 * @since 2.10.0
51 *
52 * @param array $plugin The plugin details.
53 *
54 * @return array The formatted array.
55 */
56 private function formatPlugin( $plugin ) {
57 $premiumAddonsListManger = give( PremiumAddonsListManager::class );
58
59 return [
60 'plugin' => $plugin['Path'],
61 'plugin_version' => $plugin['Version'],
62 'plugin_status' => $plugin['Status'],
63 'plugin_type' => $plugin['Type'],
64 'is_premium' => absint( $premiumAddonsListManger->isPremiumAddons( $plugin['PluginURI'] ) ),
65 ];
66 }
67 }
68
69