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 / GiveLoginWidget.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
GiveLoginWidget.php
201 lines
1 <?php
2
3 namespace Give\ThirdPartySupport\Elementor\Widgets\V1;
4
5 use Elementor\Widget_Base;
6
7 /**
8 * Elementor Give Login Widget.
9 *
10 * Elementor widget that inserts the GiveWP [give_login] shortcode to output a login form.
11 *
12 * @since 4.7.0 migrated from givewp-elementor-widgets
13 */
14
15 class GiveLoginWidget extends Widget_Base
16 {
17 /**
18 * Get widget name.
19 *
20 * Retrieve Give Login 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 Login';
30 }
31
32 /**
33 * Get widget title.
34 *
35 * Retrieve Give Login 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 Login (Legacy)', 'give');
45 }
46
47 /**
48 * Get widget icon.
49 *
50 * Retrieve Give Login 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 Login 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 * Login Give Login 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_login_settings',
102 [
103 'label' => __('GiveWP Login Widget', 'give'),
104 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
105 ]
106 );
107
108 $this->add_control(
109 'login_url',
110 [
111 'label' => __('Redirect URL', 'give'),
112 'type' => \Elementor\Controls_Manager::URL,
113 'show_external' => false,
114 ]
115 );
116
117 $this->add_control(
118 'give_form_info',
119 [
120 'label' => '',
121 'type' => \Elementor\Controls_Manager::RAW_HTML,
122 'content_classes' => 'give-info',
123 'raw' => '
124 <div class="give">
125 <p class="info-head">
126 ' . __('GIVEWP LOGIN WIDGET', 'give') . '</p>
127 <p class="info-message">' . __('This is the GiveWP Login widget.', 'give') . '</p>
128 <p class="info-message">' . __('This is a sample Login 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>
129 <p class="give-docs-links">
130 <a href="https://givewp.com/documentation/core/shortcodes/give_login/?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 Login.', 'give') . '</a>
131 </p>
132 </div>'
133 ]
134 );
135
136 $this->end_controls_section();
137 }
138
139 /**
140 * Render the [give_login] output on the frontend.
141 *
142 * Written in PHP and used to generate the final HTML.
143 *
144 * @since 4.7.0 migrated from givewp-elementor-widgets
145 * @access protected
146 */
147 protected function render()
148 {
149 $settings = $this->get_settings_for_display();
150
151 $link = esc_url($settings['login_url']['url']);
152
153 $html = do_shortcode(
154 '[give_login login_redirect="' . $link . '"]'
155 );
156
157 ob_start(); ?>
158 <div class="givewp-elementor-widget give-login-shortcode-wrap">
159 <form id="give-login-form" class="give-form">
160 <fieldset>
161 <legend><?php _e('Log into Your Account', 'give'); ?></legend>
162 <div class="give-login-username give-login">
163 <label for="give_user_login"><?php _e('Username or Email Address', 'give'); ?></label>
164 <input name="give_user_login" id="give_user_login" class="give-required give-input" type="text" required="" aria-required="true">
165 </div>
166
167 <div class="give-login-password give-login">
168 <label for="give_user_pass"><?php _e('Password', 'give'); ?></label>
169 <input name="give_user_pass" id="give_user_pass" class="give-password give-required give-input" type="password" required="" aria-required="true">
170 </div>
171
172 <div class="give-login-submit give-login">
173 <input id="give_login_submit" type="submit" class="give_submit" value="Log In">
174 </div>
175
176 <div class="give-lost-password give-login">
177 <a href="<?php echo get_site_url(); ?>/wp-login.php?action=lostpassword">
178 <?php _e('Reset Password', 'give'); ?></a>
179 </div>
180 </fieldset>
181 </form>
182 </div>
183 <?php
184
185 ob_get_contents();
186
187 $preview = ob_get_clean();
188
189 echo '<div class="givewp-elementor-widget give-login-shortcode-wrap">';
190
191 // Conditionally show frontend or preview form
192 if (!\Elementor\Plugin::$instance->editor->is_edit_mode()) {
193 echo $html;
194 } else {
195 echo $preview;
196 }
197
198 echo '</div>';
199 }
200 }
201