PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / Onboarding / Setup / PageView.php
give / src / Onboarding / Setup Last commit date
Handlers 4 years ago templates 11 months ago Page.php 5 months ago PageView.php 1 year ago
PageView.php
157 lines
1 <?php
2
3 /**
4 * Onboarding class
5 *
6 * @package Give
7 */
8
9 namespace Give\Onboarding\Setup;
10
11 defined('ABSPATH') || exit;
12
13 use Give\Framework\Http\ConnectServer\Client\ConnectClient;
14 use Give\Helpers\Gateways\Stripe;
15 use Give\Onboarding\FormRepository;
16 use Give\PaymentGateways\PayPalCommerce\Repositories\MerchantDetails;
17
18 /**
19 * @since 2.8.0
20 */
21 class PageView
22 {
23
24 /** @var FormRepository */
25 protected $formRepository;
26
27 /**
28 * @since 2.25.0
29 *
30 * @var ConnectClient
31 */
32 private $connectClient;
33
34 /**
35 * @since 2.25.0 Use 'ConnectClient' class
36 * @since 2.8.0
37 *
38 * @param FormRepository $formRepository
39 *
40 */
41 public function __construct(FormRepository $formRepository, ConnectClient $connectClient)
42 {
43 $this->formRepository = $formRepository;
44 $this->connectClient = $connectClient;
45 }
46
47 public function render()
48 {
49 $settings = wp_parse_args(
50 get_option('give_onboarding', []),
51 [
52 'addons' => [],
53 ]
54 );
55 ob_start();
56 include plugin_dir_path(__FILE__) . 'templates/index.html.php';
57
58 return ob_get_clean();
59 }
60
61 /**
62 * Render templates
63 *
64 * @since 2.8.0
65 *
66 * @param string $template
67 * @param array $data The key/value pairs passed as $data are extracted as variables for use within the template file.
68 *
69 * @return string
70 */
71 public function render_template($template, $data = [])
72 {
73 ob_start();
74 include plugin_dir_path(__FILE__) . "templates/$template.html";
75 $output = ob_get_clean();
76
77 foreach ($data as $key => $value) {
78 if (is_array($value)) {
79 $value = implode('', $value);
80 }
81 $output = preg_replace('/{{\s*' . $key . '\s*}}/', $value, $output);
82 }
83
84 // Stripe unmerged tags.
85 $output = preg_replace('/{{\s*\w*\s*}}/', '', $output);
86
87 return $output;
88 }
89
90 /**
91 * @return bool
92 */
93 public function isFormConfigured()
94 {
95 return ! ! $this->formRepository->getDefaultFormID();
96 }
97
98 /**
99 * @since 2.8.0
100 * @return bool
101 *
102 */
103 public function isStripeSetup()
104 {
105 return Stripe::isAccountConfigured();
106 }
107
108 /**
109 * Return whether ot not PayPal account connected.
110 *
111 * @since 2.8.0
112 * @return bool
113 *
114 */
115 public function isPayPalSetup()
116 {
117 return (bool)give(MerchantDetails::class)->accountIsConnected();
118 }
119
120 /**
121 * Returns a qualified image URL.
122 *
123 * @param string $src
124 *
125 * @return string
126 */
127 public function image($src)
128 {
129 return GIVE_PLUGIN_URL . "build/assets/dist/images/setup-page/$src";
130 }
131
132 /**
133 * Prepared Stripe Connect URL
134 *
135 * Copied from includes/gateways/stripe/includes/admin/admin-helpers.php
136 * See `give_stripe_connect_button()`
137 *
138 * @since 2.25.0 Use 'ConnectClient' class
139 * @since 2.8.0
140 */
141 public function stripeConnectURL()
142 {
143 return add_query_arg(
144 [
145 'stripe_action' => 'connect',
146 'mode' => give_is_test_mode() ? 'test' : 'live',
147 'return_url' => rawurlencode(
148 admin_url('edit.php?post_type=give_forms&page=give-settings&tab=gateways&section=stripe-settings')
149 ),
150 'website_url' => get_bloginfo('url'),
151 'give_stripe_connected' => '0',
152 ],
153 esc_url_raw($this->connectClient->getApiUrl('stripe/connect.php'))
154 );
155 }
156 }
157