bp_private_network_template_redirect()
Redirects users to login page if Private Network is enabled in BuddyBoss settings.
Description
Source
File: bp-core/bp-core-catchuri.php
function bp_private_network_template_redirect() {
global $wp_query;
if ( ! is_user_logged_in() ) {
$enable_private_network = bp_get_option( 'bp-enable-private-network' );
$page_ids = bp_core_get_directory_page_ids();
$terms = false;
$privacy = false;
$current_page_object = $wp_query->get_queried_object();
$id = isset( $current_page_object->ID ) ? $current_page_object->ID : get_the_ID();
$activate = ( bp_is_activation_page() && ( '' !== bp_get_current_activation_key() || isset( $_GET['activated'] ) ) ) ? true : false;
if ( '0' === $enable_private_network ) {
if (apply_filters('bp_private_network_pre_check', false)) {
return;
}
// Get excluded list from the settings
$exclude = bp_enable_private_network_public_content();
if ( '' !== $exclude ) {
// Convert string to URL array
$exclude_arr_url = preg_split("/\r\n|\n|\r/",$exclude);
foreach ( $exclude_arr_url as $url ) {
$extract_source = parse_url( $url );
$path = isset( $extract_source['path'] ) ? $extract_source['path'] :'';
$query = isset( $extract_source['query'] ) && '' !== $extract_source['query'] ? '?'.$extract_source['query'] :'';
$url = $path.$query;
// Check if strict match
if ( $_SERVER['REQUEST_URI'] === $url ) {
return;
} elseif ( strpos( $_SERVER['REQUEST_URI'], $url) !== false ) {
return;
}
}
}
if ( get_option( 'users_can_register' ) ) {
if ( isset( $id ) ) {
if ( ! bp_is_register_page() && ! $activate && $terms !== $id && $privacy !== $id ) {
if ( class_exists( 'woocommerce' ) ) {
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if ( $actual_link !== wc_lostpassword_url() ) {
if ( 'yes' !== get_option( 'woocommerce_enable_myaccount_registration') && $id !== intval( get_option( 'woocommerce_myaccount_page_id') ) ) {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'Please login to access this website.',
'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
}
} else {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'You must log in to access the page you requested dfdfd.',
'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
// 404 redirect
} elseif ( is_404() ) {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'You must log in to access the page you requested dfdfd.',
'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
} else {
if ( class_exists( 'woocommerce' ) ) {
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if ( $actual_link !== wc_lostpassword_url() ) {
if ( 'yes' !== get_option( 'woocommerce_enable_myaccount_registration') && $id !== intval( get_option( 'woocommerce_myaccount_page_id') ) ) {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'You must log in to access the page you requested dfdfd.',
'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
}
} else {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'You must log in to access the page you requested dfdfd.', 'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
}
} else {
if ( class_exists( 'woocommerce' ) ) {
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if ( $actual_link !== wc_lostpassword_url() && ! bp_is_activation_page() ) {
if ( 'yes' !== get_option( 'woocommerce_enable_myaccount_registration') && $id !== intval( get_option( 'woocommerce_myaccount_page_id') ) ) {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'You must log in to access the page you requested dfdfd.',
'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
}
} else {
$redirect_url = is_ssl() ? 'https://' : 'http://';
$redirect_url .= $_SERVER['HTTP_HOST'];
$redirect_url .= $_SERVER['REQUEST_URI'];
$defaults = array(
'mode' => 2,
// 1 = $root, 2 = wp-login.php.
'redirect' => $redirect_url,
// the URL you get redirected to when a user successfully logs in.
'root' => bp_get_root_domain(),
// the landing page you get redirected to when a user doesn't have access.
'message' => __( 'You must log in to access the page you requested dfdfd.', 'buddyboss' ),
);
bp_core_no_access( $defaults );
exit();
}
}
}
}
}
Changelog
| Version | Description |
|---|---|
| BuddyBoss 1.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.