PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Classes / BlockRegistrations.php
wp-user-avatar / src / Classes Last commit date
Installer 3 years ago AdminNotices.php 2 months ago AjaxHandler.php 1 year ago Autologin.php 9 months ago BlockRegistrations.php 10 months ago BuddyPressBbPress.php 3 years ago DisableConcurrentLogins.php 2 years ago EditUserProfile.php 5 months ago ExtensionManager.php 1 month ago FileUploader.php 3 months ago FormPreviewHandler.php 5 months ago FormRepository.php 1 year ago FormShortcodeDefaults.php 1 month ago GDPR.php 3 years ago Geolocation.php 3 years ago GlobalSiteAccess.php 3 years ago ImageUploader.php 1 year ago LoginAuth.php 1 year ago Miscellaneous.php 3 years ago ModifyRedirectDefaultLinks.php 18 hours ago PPRESS_Session.php 1 year ago PROFILEPRESS_sql.php 1 year ago PasswordReset.php 1 year ago ProfileUrlRewrite.php 4 years ago RegistrationAuth.php 2 weeks ago SendEmail.php 3 years ago ShortcodeThemeFactory.php 5 years ago UserAvatar.php 1 year ago UserSignupLocationListingPage.php 3 years ago UsernameEmailRestrictLogin.php 4 years ago WPProfileFieldParserTrait.php 1 year ago WelcomeEmailAfterSignup.php 1 year ago default-email-template.php 1 year ago index.php 3 years ago
BlockRegistrations.php
96 lines
1 <?php
2
3 namespace ProfilePress\Core\Classes;
4
5 class BlockRegistrations
6 {
7 public static function init()
8 {
9 add_filter('ppress_registration_validation', [__CLASS__, 'do_action'], 999999, 3);
10 add_filter('ppress_checkout_registration_validation', function ($error_bucket, $user_data) {
11 return self::do_action($error_bucket, 0, $user_data);
12 }, 999999, 2);
13 }
14
15 /**
16 * @param string $user_email the user email
17 * @param array $bucket the array of emails to check against
18 *
19 * @return bool
20 */
21 private static function is_email_matches($user_email, $bucket)
22 {
23 $explode = explode('@', $user_email);
24
25 $email_domain = $explode[1];
26
27 preg_match('/.+@[^.]+\.(.+)/', $user_email, $matches);
28 $domain_pathinfo = pathinfo($email_domain);
29
30 $email_tld = $matches[1] ?? $domain_pathinfo['extension'] ?? '';
31
32 return in_array($user_email, $bucket) ||
33 in_array('@' . $email_domain, $bucket) ||
34 in_array('.' . $email_tld, $bucket);
35 }
36
37 public static function do_action($reg_errors, $form_id, $user_data)
38 {
39 if ( ! empty($user_data['user_email'])) {
40
41 $user_email = $user_data['user_email'];
42
43 $blocked_error_message = apply_filters(
44 'ppress_blocked_user_email_error_message',
45 __('The email address you are registering with is not supported.', 'wp-user-avatar'),
46 $user_data, $form_id
47 );
48
49 $blocked_email_addresses_list = ppress_settings_by_key('blocked_email_addresses', '');
50
51 $allowed_email_addresses_list = ppress_settings_by_key('allowed_email_addresses', '');
52
53 if (empty($blocked_email_addresses_list) && ! empty($allowed_email_addresses_list)) {
54
55 $allowed_email_addresses = array_map(
56 'trim',
57 explode("\n", $allowed_email_addresses_list)
58 );
59
60
61 if ( ! empty($allowed_email_addresses)) {
62
63 if ( ! self::is_email_matches($user_email, $allowed_email_addresses)) {
64 $reg_errors->add('blocked_email_address', $blocked_error_message);
65 }
66 }
67 }
68
69 if ( ! empty($blocked_email_addresses_list) && ! empty($allowed_email_addresses_list)) {
70
71 $allowed_email_addresses = array_map('trim', explode("\n", $allowed_email_addresses_list));
72
73 if ( ! empty($allowed_email_addresses)) {
74
75 if (self::is_email_matches($user_email, $allowed_email_addresses)) {
76 return $reg_errors;
77 }
78 }
79 }
80
81 if ( ! empty($blocked_email_addresses_list)) {
82
83 $blocked_email_addresses = array_map('trim', explode("\n", $blocked_email_addresses_list));
84
85 if ( ! empty($blocked_email_addresses)) {
86
87 if (self::is_email_matches($user_email, $blocked_email_addresses)) {
88 $reg_errors->add('blocked_email_address', $blocked_error_message);
89 }
90 }
91 }
92 }
93
94 return $reg_errors;
95 }
96 }