Currently I have a header file checking to see if users are logged in, and then a “landing” page which allows them to view all the sites they have access to within my multisite network. This functionality is working great – but I can’t seem to figure out how to prohibit them from manually entering the path to the subfolder if they do not have access to it (IE: User A has access to Sites A and B but not C – Currently you can still access it by typing in http://www.example.com/Subfolder-C/ path).
My code is below for header file, which I’m assuming is where I would be going to input the remaining code to prevent them from accessing the site without being a user on the multisite instance.
<?php
/*
Template Name: Brand Home
*/
?>
<?php
//ini_set('display_errors',1);
//error_reporting(E_ALL);
?>
<style type="text/css">
body {background-color:black;}
</style>
<?php global $current_user;
get_currentuserinfo();
?>
<?php
if ( is_user_logged_in() ) {
?>
<?php brand_login($current_user->ID); ?>
And then this is my functions.php code that deals with logins
add_filter( 'login_url', 'mysite_login_url', 10, 2);
function mysite_login_url( $force_reauth, $redirect ){
$login_url = '/';
if ( !empty($redirect) )
$login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
if ( $force_reauth )
$login_url = add_query_arg( 'reauth', '1', $login_url ) ;
return $login_url ;
}
$sitepath = array();
if(is_user_logged_in()) {
global $current_user;
$blogs = get_blogs_of_user( $current_user->id );
if($blogs) {
foreach ( $blogs as $blog ) {
$blogpath = $blog->path;
if ($blogpath == '/diesel/') {
$sitepath[intval($blog->userblog_id)] = 'href="/diesel/" class="opaque" ';
}
if ($blogpath == '/michael-kors/') {
$sitepath[intval($blog->userblog_id)] = 'href="/michael-kors/" class="opaque" ';
}
if ($blogpath == '/marc-by-marc-jacobs/') {
$sitepath[intval($blog->userblog_id)] = 'href="/marc-by-marc-jacobs/" class="opaque" ';
}
}
}
}