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