PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 3.2.7
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v3.2.7
4.17.2 4.17.1 4.17.0 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 / GlobalSiteAccess.php
wp-user-avatar / src / Classes Last commit date
Installer 5 years ago AdminNotices.php 4 years ago AjaxHandler.php 4 years ago Autologin.php 4 years ago BuddyPressBbPress.php 5 years ago EditUserProfile.php 4 years ago ExtensionManager.php 4 years ago FileUploader.php 4 years ago FormPreviewHandler.php 5 years ago FormRepository.php 4 years ago FormShortcodeDefaults.php 5 years ago GDPR.php 5 years ago GlobalSiteAccess.php 4 years ago ImageUploader.php 4 years ago LoginAuth.php 4 years ago Miscellaneous.php 5 years ago ModifyRedirectDefaultLinks.php 5 years ago PPRESS_Session.php 4 years ago PROFILEPRESS_sql.php 5 years ago PasswordReset.php 5 years ago ProfileUrlRewrite.php 4 years ago RegistrationAuth.php 4 years ago SendEmail.php 5 years ago ShortcodeThemeFactory.php 5 years ago UserAvatar.php 4 years ago UserSignupLocationListingPage.php 5 years ago UsernameEmailRestrictLogin.php 4 years ago WelcomeEmailAfterSignup.php 5 years ago default-email-template.php 5 years ago index.php 5 years ago
GlobalSiteAccess.php
82 lines
1 <?php
2
3 namespace ProfilePress\Core\Classes;
4
5 class GlobalSiteAccess
6 {
7 public static function init()
8 {
9 // using wp hook because it precedes template_redirect which is used by Content protection redirect rules.
10 add_action('wp', array(__CLASS__, 'global_redirect'), -1);
11 }
12
13
14 /**
15 * Exclude the redirect URL.
16 * strtok() remove all query strings and trailing slash. @see https://stackoverflow.com/a/6975045/2648410
17 *
18 * @param $val
19 *
20 * @return string
21 */
22 public static function remove_query_string_trailing_slash($val)
23 {
24 return untrailingslashit(strtok($val, '?'));
25 }
26
27 public static function global_redirect()
28 {
29 if (is_admin()) return;
30
31 $access = ppress_get_setting('global_site_access', 'everyone', true);
32
33 if ('login' != $access) return;
34
35 $redirect_url = $redirect_url_page_id = ppress_get_setting('global_site_access_redirect_page');
36 $custom_redirect_url = ppress_get_setting('global_site_access_custom_redirect_page');
37
38 $excluded_pages = ppress_get_setting('global_site_access_exclude_pages', [], true);
39
40 $excluded_pages = array_map('absint', array_filter(
41 array_merge($excluded_pages, [
42 ppress_get_setting('set_login_url', false, true),
43 ppress_get_setting('set_registration_url', false, true),
44 ppress_get_setting('set_lost_password_url', false, true),
45 ])
46 )
47 );
48
49 $allow_homepage = ppress_get_setting('global_site_access_allow_homepage');
50
51 if ( ! empty($redirect_url)) {
52
53 $redirect_url = get_permalink(absint($redirect_url));
54
55 if (ppress_get_setting('set_login_url') == $redirect_url_page_id) {
56 $redirect_url = add_query_arg('redirect_to', ppress_get_current_url_query_string(), $redirect_url);
57 }
58 }
59
60 if ( ! empty($custom_redirect_url)) {
61 $redirect_url = $custom_redirect_url;
62 }
63
64 if (empty($redirect_url)) return;
65
66 $current_url = ppress_get_current_url_query_string();
67
68 // skip all wp-login urls.
69 if (strpos($current_url, 'wp-login.php') !== false) return;
70
71 if (self::remove_query_string_trailing_slash($current_url) == self::remove_query_string_trailing_slash($redirect_url)) return;
72
73 if ($allow_homepage == 'yes' && is_front_page()) return;
74
75 if ( ! empty($excluded_pages) && is_page($excluded_pages)) return;
76
77 if ( ! is_user_logged_in()) {
78 wp_safe_redirect($redirect_url);
79 exit;
80 }
81 }
82 }