PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.3
GiveWP – Donation Plugin and Fundraising Platform v2.19.3
4.16.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 / Onboarding / Wizard / FormPreview.php
give / src / Onboarding / Wizard Last commit date
templates 4 years ago FormPreview.php 4 years ago Page.php 4 years ago
FormPreview.php
109 lines
1 <?php
2
3 namespace Give\Onboarding\Wizard;
4
5 defined('ABSPATH') || exit;
6
7 use Give\Onboarding\FormRepository;
8 use Give_Scripts;
9
10 /**
11 * Form Preview page class
12 *
13 * Responsible for setting up and rendering Form Preview page at wp-admin/?page=give-form-preview
14 * This URL is used as the src for an iframe which appears inside the Onboarding Wizard.
15 *
16 * @since 2.8.0
17 */
18 class FormPreview
19 {
20
21 /** @var string $slug Page slug used for displaying form preview */
22 protected $slug = 'give-form-preview';
23
24 /** @var FormRepository */
25 protected $formRepository;
26
27 public function __construct(FormRepository $formRepository)
28 {
29 $this->formRepository = $formRepository;
30 }
31
32 /**
33 * Adds Form Preview as dashboard page
34 *
35 * Register Form Preview as an admin page route
36 *
37 * @since 2.8.0
38 **/
39 public function add_page()
40 {
41 add_submenu_page('', '', '', 'manage_options', $this->slug);
42 }
43
44 /**
45 * Conditionally renders Form Preview markup
46 *
47 * If the current page query matches the form preview's slug, method renders the form preview.
48 *
49 * @since 2.8.0
50 **/
51 public function setup_form_preview()
52 {
53 if (empty($_GET['page']) || $this->slug !== $_GET['page']) { // WPCS: CSRF ok, input var ok.
54 return;
55 } else {
56 $this->render_page();
57 }
58 }
59
60 /**
61 * Renders form preview markup
62 *
63 * Uses an object buffer to display the form preview template
64 *
65 * @since 2.8.0
66 **/
67 public function render_page()
68 {
69 $this->register_scripts();
70 ob_start();
71 include_once plugin_dir_path(__FILE__) . 'templates/form-preview.php';
72 exit;
73 }
74
75 /**
76 * Registers form preview scripts/styles
77 *
78 * @since 2.8.0
79 **/
80 protected function register_scripts()
81 {
82 wp_register_style(
83 'give-styles',
84 (new Give_Scripts)->get_frontend_stylesheet_uri(),
85 [],
86 GIVE_VERSION,
87 'all'
88 );
89
90 wp_register_script(
91 'give',
92 GIVE_PLUGIN_URL . 'assets/dist/js/give.js',
93 ['jquery'],
94 GIVE_VERSION
95 );
96 }
97
98 /**
99 * Returns the ID of the form used for the form preview
100 *
101 * @since 2.8.0
102 **/
103 protected function get_preview_form_id()
104 {
105 return $this->formRepository->getOrMake();
106 }
107
108 }
109