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