PluginProbe
User Verification by PickPlugins / 2.0.9
User Verification by PickPlugins v2.0.9
trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.19 1.0.2 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.29 1.0.3 1.0.30 1.0.31 1.0.35 1.0.36 All 117 releases
user-verification / user-verification.php

user-verification.php in User Verification by PickPlugins 2.0.9, at user-verification.php

302 lines 11.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: User Verification
4 Plugin URI: http://pickplugins.com
5 Description: Verify user before access on your website.
6 Version: 2.0.9
7 Text Domain: user-verification
8 Domain Path: /languages
9 Author: PickPlugins
10 Author URI: http://pickplugins.com
11 License: GPLv2 or later
12 License URI: http://www.gnu.org/licenses/gpl-2.0.html
13 */
14
15 if (!defined('ABSPATH')) exit; // if direct access
16
17
18 class UserVerification
19 {
20
21 public function __construct()
22 {
23
24 $this->_define_constants();
25
26 $this->_load_functions();
27 $this->_load_classes();
28 $this->_load_script();
29
30
31 add_action('init', array($this, '_textdomain'));
32 register_activation_hook(__FILE__, array($this, '_activation'));
33 register_deactivation_hook(__FILE__, array($this, '_deactivation'));
34 add_filter('cron_schedules', array($this, '_cron_schedules'));
35 add_action('wp_enqueue_scripts', array($this, '_front_scripts'));
36 add_action('login_enqueue_scripts', array($this, '_login_scripts'));
37 }
38
39
40 public function _textdomain()
41 {
42
43 $locale = apply_filters('plugin_locale', get_locale(), 'user-verification');
44 load_textdomain('user-verification', WP_LANG_DIR . '/user-verification/user-verification-' . $locale . '.mo');
45
46 load_plugin_textdomain('user-verification', false, plugin_basename(dirname(__FILE__)) . '/languages/');
47 }
48
49 function _cron_schedules($schedules)
50 {
51
52
53
54 $schedules['10minute'] = array(
55 'interval' => 600,
56 'display' => __('10 Minute', 'user-verification')
57 );
58
59 $schedules['30minute'] = array(
60 'interval' => 1800,
61 'display' => __('30 Minute', 'user-verification')
62 );
63
64 $schedules['6hours'] = array(
65 'interval' => 21600,
66 'display' => __('6 hours', 'user-verification')
67 );
68
69
70
71
72
73 return $schedules;
74 }
75
76
77 public function _activation()
78 {
79
80
81 if (!wp_next_scheduled('user_verification_clean_user_meta')) {
82 wp_schedule_event(time(), 'daily', 'user_verification_clean_user_meta');
83 }
84
85
86 do_action('user_verification_activation');
87 }
88
89
90 public function _deactivation()
91 {
92
93 wp_clear_scheduled_hook('user_verification_clean_user_meta');
94
95
96 /*
97 * Custom action hook for plugin deactivation.
98 * Action hook: user_verification_deactivation
99 * */
100 do_action('user_verification_deactivation');
101 }
102
103
104 public function _load_functions()
105 {
106
107
108 require_once(user_verification_plugin_dir . 'includes/functions.php');
109 require_once(user_verification_plugin_dir . 'includes/functions-ajax.php');
110
111 require_once(user_verification_plugin_dir . 'includes/functions-recaptcha.php');
112 require_once(user_verification_plugin_dir . 'includes/functions-mail-otp.php');
113 //require_once( user_verification_plugin_dir . 'includes/functions-temp-login.php');
114
115 require_once(user_verification_plugin_dir . 'includes/functions-cron-hook.php');
116
117 require_once(user_verification_plugin_dir . 'includes/3rd-party/3rd-party.php');
118
119 require_once(user_verification_plugin_dir . 'includes/functions-user-profile.php');
120 }
121
122
123 public function _load_script()
124 {
125
126 add_action('admin_enqueue_scripts', 'wp_enqueue_media');
127 add_action('admin_enqueue_scripts', array($this, '_admin_scripts'));
128 }
129
130
131 public function _load_classes()
132 {
133 require_once(user_verification_plugin_dir . 'includes/classes/class-manage-verification.php');
134
135
136 require_once(user_verification_plugin_dir . 'includes/classes/class-emails.php');
137 require_once(user_verification_plugin_dir . 'includes/classes/class-settings.php');
138 require_once(user_verification_plugin_dir . 'includes/classes/class-column-users.php');
139 require_once(user_verification_plugin_dir . 'includes/classes/class-settings-tabs.php');
140 require_once(user_verification_plugin_dir . 'includes/settings-hook.php');
141 require_once(user_verification_plugin_dir . 'includes/classes/class-admin-notices.php');
142 }
143
144 public function _define_constants()
145 {
146
147 $this->_define('user_verification_plugin_name', __('User Verification', 'user-verification'));
148 $this->_define('user_verification_plugin_url', plugins_url('/', __FILE__));
149 $this->_define('user_verification_plugin_dir', plugin_dir_path(__FILE__));
150 }
151
152 private function _define($name, $value)
153 {
154 if ($name && $value)
155 if (!defined($name)) {
156 define($name, $value);
157 }
158 }
159
160
161 public function _login_scripts()
162 {
163
164 $user_verification_settings = get_option('user_verification_settings');
165 $sitekey = isset($user_verification_settings['recaptcha']['sitekey']) ? $user_verification_settings['recaptcha']['sitekey'] : '';
166 $recaptcha_version = !empty($user_verification_settings['recaptcha']['version']) ? $user_verification_settings['recaptcha']['version'] : 'v2_checkbox';
167 $default_login_page = isset($user_verification_settings['recaptcha']['default_login_page']) ? $user_verification_settings['recaptcha']['default_login_page'] : 'yes';
168 $default_lostpassword_page = isset($user_verification_settings['recaptcha']['default_lostpassword_page']) ? $user_verification_settings['recaptcha']['default_lostpassword_page'] : 'yes';
169 $default_registration_page = isset($user_verification_settings['recaptcha']['default_registration_page']) ? $user_verification_settings['recaptcha']['default_registration_page'] : 'yes';
170
171
172
173
174 wp_enqueue_script('jquery');
175
176 if ($default_login_page == 'yes') {
177 if ($recaptcha_version == 'v2_checkbox') {
178 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js', [], null);
179 } elseif ($recaptcha_version == 'v3') {
180 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js?render=' . $sitekey, [], null);
181 }
182 }
183
184
185 if ($default_registration_page == 'yes') {
186 if ($recaptcha_version == 'v2_checkbox') {
187 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js', [], null);
188 } elseif ($recaptcha_version == 'v3') {
189 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js?render=' . $sitekey, [], null);
190 }
191 }
192
193
194 if ($default_lostpassword_page == 'yes') {
195 if ($recaptcha_version == 'v2_checkbox') {
196 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js', [], null);
197 } elseif ($recaptcha_version == 'v3') {
198 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js?render=' . $sitekey, [], null);
199 }
200 }
201
202
203
204
205 wp_enqueue_script('scripts-login', plugins_url('/assets/front/js/scripts-login.js', __FILE__), array('jquery'));
206 wp_register_style('font-awesome-5', user_verification_plugin_url . 'assets/global/css/font-awesome-5.css');
207
208 wp_localize_script('scripts-login', 'user_verification_ajax', array('user_verification_ajaxurl' => admin_url('admin-ajax.php')));
209 }
210
211 public function _front_scripts()
212 {
213
214 $user_verification_settings = get_option('user_verification_settings');
215 $sitekey = isset($user_verification_settings['recaptcha']['sitekey']) ? $user_verification_settings['recaptcha']['sitekey'] : '';
216 $recaptcha_version = !empty($user_verification_settings['recaptcha']['version']) ? $user_verification_settings['recaptcha']['version'] : 'v2_checkbox';
217 $default_login_page = isset($user_verification_settings['recaptcha']['default_login_page']) ? $user_verification_settings['recaptcha']['default_login_page'] : '';
218
219
220
221
222 wp_enqueue_script('jquery');
223
224
225
226 wp_register_script('uv_front_js', plugins_url('/assets/front/js/scripts.js', __FILE__), array('jquery'));
227 //wp_localize_script( 'uv_front_js', 'uv_ajax', array( 'uv_ajaxurl' => admin_url( 'admin-ajax.php')));
228
229 wp_register_style('user_verification', user_verification_plugin_url . 'assets/front/css/style.css');
230
231
232 if ($default_login_page == 'yes') {
233 if ($recaptcha_version == 'v2_checkbox') {
234 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js', [], null);
235 } elseif ($recaptcha_version == 'v3') {
236 wp_enqueue_script('recaptcha_js', 'https://www.google.com/recaptcha/api.js?render=' . $sitekey, [], null);
237 }
238 }
239
240
241
242
243 wp_register_script('scripts-otp', plugins_url('/assets/front/js/scripts-otp.js', __FILE__), array('jquery'));
244 //wp_localize_script('scripts-otp', 'user_verification_ajax', array('user_verification_ajaxurl' => admin_url('admin-ajax.php')));
245
246 //global
247 wp_register_style('font-awesome-4', user_verification_plugin_url . 'assets/global/css/font-awesome-4.css');
248 wp_register_style('font-awesome-5', user_verification_plugin_url . 'assets/global/css/font-awesome-5.css');
249 }
250
251 public function _admin_scripts()
252 {
253
254 $screen = get_current_screen();
255
256 wp_enqueue_script('jquery');
257 wp_enqueue_script('jquery-ui-core');
258 wp_enqueue_script('jquery-ui-accordion');
259
260 wp_enqueue_script('uv_admin_js', plugins_url('/assets/admin/js/scripts.js', __FILE__), array('jquery'));
261 wp_localize_script('uv_admin_js', 'uv_ajax', array('uv_ajaxurl' => admin_url('admin-ajax.php')));
262 wp_localize_script('uv_admin_js', 'L10n_user_verification', array(
263 'confirm_text' => __('Are you sure?', 'user-verification'),
264 'reset_confirm_text' => __('Do you really want to reset?', 'user-verification'),
265 'mark_as_verified' => __('Mark as verified', 'user-verification'),
266 'mark_as_unverified' => __('Mark as unverified', 'user-verification'),
267 'updating' => __('Updating user', 'user-verification'),
268 ));
269
270 wp_register_script('jquery.lazy', user_verification_plugin_url . 'assets/admin/js/jquery.lazy.js', array('jquery'));
271
272 wp_register_script('select2', user_verification_plugin_url . 'assets/admin/js/select2.full.js', array('jquery'));
273 wp_register_style('select2', user_verification_plugin_url . 'assets/admin/css/select2.min.css');
274
275 wp_register_style('font-awesome-4', user_verification_plugin_url . 'assets/global/css/font-awesome-4.css');
276 wp_register_style('font-awesome-5', user_verification_plugin_url . 'assets/global/css/font-awesome-5.css');
277
278 wp_register_style('settings-tabs', user_verification_plugin_url . 'assets/settings-tabs/settings-tabs.css');
279 wp_register_script('settings-tabs', user_verification_plugin_url . 'assets/settings-tabs/settings-tabs.js', array('jquery'));
280
281 // Global
282
283 //var_dump($screen);
284
285 if ($screen->id == 'users_page_user_verification') {
286 wp_enqueue_style('uv_admin_style', user_verification_plugin_url . 'assets/admin/css/style.css');
287 wp_enqueue_style('jquery-ui', user_verification_plugin_url . 'assets/global/css/jquery-ui.css');
288
289 wp_enqueue_style('select2');
290 wp_enqueue_script('select2');
291
292 wp_enqueue_style('font-awesome-5');
293
294
295 $settings_tabs_field = new settings_tabs_field();
296 $settings_tabs_field->admin_scripts();
297 }
298 }
299 }
300
301 new UserVerification();
302