PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.3
GiveWP – Donation Plugin and Fundraising Platform v2.22.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 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 / PaymentGateways / PaypalSettingPage.php
give / src / PaymentGateways Last commit date
Actions 3 years ago DataTransferObjects 3 years ago Exceptions 4 years ago Gateways 3 years ago PayPalCommerce 3 years ago Stripe 4 years ago resources 4 years ago PaymentGateway.php 4 years ago PaypalSettingPage.php 4 years ago ServiceProvider.php 4 years ago SettingPage.php 4 years ago
PaypalSettingPage.php
137 lines
1 <?php
2
3 namespace Give\PaymentGateways;
4
5 use Give\PaymentGateways\Gateways\PayPalStandard\PayPalStandard;
6 use Give\PaymentGateways\PayPalCommerce\AdminSettingFields;
7 use Give\PaymentGateways\PayPalCommerce\PayPalCommerce;
8
9 use function give_get_current_setting_section as getCurrentSettingSection;
10
11 /**
12 * Class PaypalSettingSection
13 * @package Give\PaymentGateways
14 *
15 * @sicne 2.9.0
16 */
17 class PaypalSettingPage implements SettingPage
18 {
19 /**
20 * @var PayPalCommerce
21 */
22 private $payPalCommerce;
23
24 /**
25 * @var PayPalStandard
26 */
27 private $paypalStandard;
28
29 /**
30 * Register properties
31 *
32 * @since 2.9.0
33 *
34 * @param PayPalStandard $paypalStandard
35 *
36 * @param PayPalCommerce $payPalCommerce
37 */
38 public function __construct(PayPalCommerce $payPalCommerce, PayPalStandard $paypalStandard)
39 {
40 $this->payPalCommerce = $payPalCommerce;
41 $this->paypalStandard = $paypalStandard;
42 }
43
44 /**
45 * @inheritDoc
46 */
47 public function boot()
48 {
49 add_action('give_get_groups_paypal', [$this, 'getGroups']);
50 add_filter('give_get_settings_gateways', [$this, 'registerPaypalSettings']);
51 add_filter('give_get_sections_gateways', [$this, 'registerPaypalSettingSection'], 5);
52
53 // Load custom setting fields.
54 /* @var AdminSettingFields $adminSettingFields */
55 $adminSettingFields = give(AdminSettingFields::class);
56 $adminSettingFields->boot();
57 }
58
59 /**
60 * @inheritDoc
61 */
62 public function getId()
63 {
64 return 'paypal';
65 }
66
67 /**
68 * @inheritDoc
69 */
70 public function getName()
71 {
72 return esc_html__('PayPal', 'give');
73 }
74
75 /**
76 * @inheritDoc
77 */
78 public function getSettings()
79 {
80 $settings[$this->payPalCommerce->getId()] = $this->payPalCommerce->getOptions();
81 $settings[$this->paypalStandard->getId()] = $this->paypalStandard->getOptions();
82
83 return $settings;
84 }
85
86 /**
87 * Get groups.
88 *
89 * @since 2.9.0
90 *
91 * @return array
92 */
93 public function getGroups()
94 {
95 return [
96 $this->payPalCommerce->getId() => $this->payPalCommerce->getName(),
97 $this->paypalStandard->getId() => $this->paypalStandard->getName(),
98 ];
99 }
100
101 /**
102 * Register settings.
103 *
104 * @since 2.9.0
105 *
106 * @param array $settings
107 *
108 * @return array
109 */
110 public function registerPaypalSettings($settings)
111 {
112 $currentSection = getCurrentSettingSection();
113
114 if ($currentSection === $this->getId()) {
115 $settings = $this->getSettings();
116 }
117
118 return $settings;
119 }
120
121 /**
122 * Register setting section.
123 *
124 * @since 2.9.0
125 *
126 * @param array $sections
127 *
128 * @return array
129 */
130 public function registerPaypalSettingSection($sections)
131 {
132 $sections[$this->getId()] = $this->getName();
133
134 return $sections;
135 }
136 }
137