PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.8.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.8.1
4.16.9 4.16.8.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 All 255 releases
give / src / Tracking / TrackingData / GivePluginSettingsData.php

GivePluginSettingsData.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.8.1, at src/Tracking/TrackingData/GivePluginSettingsData.php

96 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\Tracking\TrackingData;
4
5 use Give\BetaFeatures\Facades\FeatureFlag;
6 use Give\Tracking\Contracts\TrackData;
7 use Give\Tracking\Repositories\Settings;
8
9 /**
10 * Class GivePluginSettingsData
11 *
12 * This class represents Give plugin data.
13 *
14 * @package Give\Tracking\TrackingData
15 * @since 2.10.0
16 */
17 class GivePluginSettingsData implements TrackData
18 {
19 /**
20 * Return Give plugin settings data.
21 *
22 * @since 2.10.0
23 * @return array
24 */
25 public function get()
26 {
27 return $this->getGlobalSettings();
28 }
29
30 /**
31 * Returns plugin global settings.
32 *
33 * @since 3.10.0 Add check for Event Tickets beta feature.
34 * @since 2.10.0
35 * @return array
36 */
37 private function getGlobalSettings()
38 {
39 $generalSettings = [
40 'currency',
41 'base_country',
42 'base_state',
43 'currency',
44 'user_type',
45 'cause_type',
46 ];
47
48 $trueFalseSettings = [
49 'is_name_title' => 'name_title_prefix',
50 'is_company' => 'company_field',
51 'is_anonymous_donation' => 'anonymous_donation',
52 'is_donor_comment' => 'donor_comment',
53 'is_anonymous_tracking' => Settings::USAGE_TRACKING_OPTION_KEY,
54 ];
55
56 $data = [];
57 $settings = get_option('give_settings', give_get_default_settings());
58 foreach ($generalSettings as $setting) {
59 $data[$setting] = isset($settings[$setting]) ? $settings[$setting] : '';
60 }
61
62 foreach ($trueFalseSettings as $key => $setting) {
63 $value = isset($settings[$setting]) ? $settings[$setting] : 'disabled';
64 $data[$key] = absint(give_is_setting_enabled($value));
65 }
66
67 $data['active_payment_gateways'] = $this->getGatewaysLabels();
68
69 /**
70 * @since 3.10.0 Add check for Event Tickets beta feature.
71 */
72 $data['is_event_tickets'] = FeatureFlag::eventTickets();
73
74 return $data;
75 }
76
77 /**
78 * Return active gateways labels.
79 *
80 * @since 2.10.2
81 * @return array
82 */
83 private function getGatewaysLabels()
84 {
85 $gateways = give_get_enabled_payment_gateways();
86 $labels = [];
87
88 foreach ($gateways as $id => $data) {
89 $labels[$id]['admin_label'] = $data['admin_label'];
90 $labels[$id]['checkout_label'] = $data['checkout_label'];
91 }
92
93 return $labels;
94 }
95 }
96