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