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