PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.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 / ThirdPartySupport / Elementor / Widgets / V1 / GiveRegisterWidget.php
give / src / ThirdPartySupport / Elementor / Widgets / V1 Last commit date
resources 10 months ago DonationHistoryWidget.php 10 months ago DonationReceiptWidget.php 10 months ago GiveDonorWallWidget.php 10 months ago GiveFormGridWidget.php 9 months ago GiveFormWidget.php 10 months ago GiveGoalWidget.php 10 months ago GiveLoginWidget.php 10 months ago GiveMultiFormGoalWidget.php 10 months ago GiveProfileEditorWidget.php 10 months ago GiveRegisterWidget.php 10 months ago GiveSubscriptionsWidget.php 10 months ago GiveTotalsWidget.php 10 months ago
GiveRegisterWidget.php
222 lines
1 <?php
2
3 namespace Give\ThirdPartySupport\Elementor\Widgets\V1;
4
5 use Elementor\Widget_Base;
6
7 /**
8 * Elementor Give Register Widget.
9 *
10 * Elementor widget that inserts the GiveWP [give_register] shortcode to output a form total with options.
11 *
12 * @since 4.7.0 migrated from givewp-elementor-widgets
13 */
14
15 class GiveRegisterWidget extends Widget_Base
16 {
17 /**
18 * Get widget name.
19 *
20 * Retrieve Give Register widget name.
21 *
22 * @since 4.7.0 migrated from givewp-elementor-widgets
23 * @access public
24 *
25 * @return string Widget name.
26 */
27 public function get_name()
28 {
29 return 'Give Register';
30 }
31
32 /**
33 * Get widget title.
34 *
35 * Retrieve Give Register widget title.
36 *
37 * @since 4.7.0 migrated from givewp-elementor-widgets
38 * @access public
39 *
40 * @return string Widget title.
41 */
42 public function get_title()
43 {
44 return __('Give Register (Legacy)', 'give');
45 }
46
47 /**
48 * Get widget icon.
49 *
50 * Retrieve Give Register widget icon.
51 *
52 * @since 4.7.0 migrated from givewp-elementor-widgets
53 * @access public
54 *
55 * @return string Widget icon.
56 */
57 public function get_icon()
58 {
59 return 'give-icon';
60 }
61
62 /**
63 * Get widget categories.
64 *
65 * Retrieve the list of categories the Give Register widget belongs to.
66 *
67 * @since 4.7.0 migrated from givewp-elementor-widgets
68 * @access public
69 *
70 * @return array Widget categories.
71 */
72 public function get_categories()
73 {
74 return ['givewp-category-legacy'];
75 }
76
77 /**
78 * Widget inner wrapper.
79 *
80 * Use optimized DOM structure, without the inner wrapper.
81 *
82 * @since 4.7.0 migrated from givewp-elementor-widgets
83 * @access public
84 */
85 public function has_widget_inner_wrapper(): bool
86 {
87 return false;
88 }
89
90 /**
91 * Register Give Register widget controls.
92 *
93 * Adds different input fields to allow the user to change and customize the widget settings.
94 *
95 * @since 4.7.0 migrated from givewp-elementor-widgets
96 * @access protected
97 */
98 protected function register_controls()
99 {
100 $this->start_controls_section(
101 'give_register_settings',
102 [
103 'label' => __('GiveWP Register Widget', 'give'),
104 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
105 ]
106 );
107
108 $this->add_control(
109 'link',
110 [
111 'label' => __('Link', 'give'),
112 'type' => \Elementor\Controls_Manager::URL,
113 'description' => __('The url you want to redirect users to after they submit the registration form.', 'give'),
114 'show_external' => false,
115 'default' => [
116 'url' => '',
117 'is_external' => false,
118 'nofollow' => false,
119 ],
120 ]
121 );
122
123 $this->add_control(
124 'give_register_info',
125 [
126 'label' => '',
127 'type' => \Elementor\Controls_Manager::RAW_HTML,
128 'content_classes' => 'give-info',
129 'raw' => '
130 <div class="give">
131 <p class="info-head">
132 ' . __('GIVEWP REGISTER WIDGET', 'give') . '</p>
133 <p class="info-message">' . __('This is the GiveWP Register widget. Allow your visitors to register on your website.', 'give') . '</p>
134 <p class="info-message">' . __('This is a sample register form with all fields exposed. This is only to help position and style the form with Elementor. If you want to see the live form, go to this page while logged out or in an Icognito browser.', 'give') . '</p>
135 <p class="give-docs-links">
136 <a href="https://givewp.com/documentation/core/shortcodes/give_register/?utm_source=plugin_settings&utm_medium=referral&utm_campaign=Free_Addons&utm_content=givelementor" rel="noopener noreferrer" target="_blank"><i class="fa fa-book" aria-hidden="true"></i>' . __('Visit the GiveWP Docs for more info on the GiveWP Register feature.', 'give') . '</a>
137 </p>
138 </div>'
139 ]
140 );
141
142 $this->end_controls_section();
143 }
144
145 /**
146 * Render the [give_register] output on the frontend.
147 *
148 * Written in PHP and used to generate the final HTML.
149 *
150 * @since 4.7.0 migrated from givewp-elementor-widgets
151 * @access protected
152 */
153 protected function render()
154 {
155 $settings = $this->get_settings_for_display();
156
157 $link = esc_url($settings['link']['url']);
158
159 $html = do_shortcode('
160 [give_register redirect="' . $link . '"]'
161 );
162
163 ob_start(); ?>
164 <form id="give-register-form" class="give-form">
165
166 <fieldset>
167 <legend>Register a New Account</legend>
168
169
170 <div class="form-row form-row-first form-row-responsive">
171 <label for="give-user-login">Username</label>
172 <input id="give-user-login" class="required give-input" type="text" name="give_user_login" required="" aria-required="true">
173 </div>
174
175 <div class="form-row form-row-last form-row-responsive">
176 <label for="give-user-email">Email</label>
177 <input id="give-user-email" class="required give-input" type="email" name="give_user_email" required="" aria-required="true">
178 </div>
179
180 <div class="form-row form-row-first form-row-responsive">
181 <label for="give-user-pass">Password</label>
182 <input id="give-user-pass" class="password required give-input" type="password" name="give_user_pass" required="" aria-required="true">
183 </div>
184
185 <div class="form-row form-row-last form-row-responsive">
186 <label for="give-user-pass2">Confirm PW</label>
187 <input id="give-user-pass2" class="password required give-input" type="password" name="give_user_pass2" required="" aria-required="true">
188 </div>
189
190
191 <div class="give-hidden">
192 <input type="hidden" name="give_honeypot" value="">
193 <input type="hidden" name="give_action" value="user_register">
194 <input type="hidden" name="give_redirect" value="http://example.org">
195 </div>
196
197 <div class="form-row">
198 <input class="button" name="give_register_submit" type="submit" value="Register">
199 </div>
200
201
202 </fieldset>
203
204 </form>
205 <?php
206
207 ob_get_contents();
208
209 $preview = ob_get_clean();
210
211 echo '<div class="givewp-elementor-widget give-register-shortcode-wrap">';
212
213 if (!\Elementor\Plugin::$instance->editor->is_edit_mode()) {
214 echo $html;
215 } else {
216 echo $preview;
217 }
218
219 echo '</div>';
220 }
221 }
222