I needed desperately a script that would restrict all access to unregistered users so I wrote one. But I am an absolute beginner so don't know no nothin' about elegance or whatnot but I just tested it in my installation and it works.
The thing is naturally bb_press has authentication scripts. but to make all you website protected you need to put this in your header.php. However bb-login.php, which your users need to login also use the header.php, so I had to make sure that this small script runs on all pages EXCEPT the login page.
Here's the script:
<?php
$login_page = $bb->path . 'bb-login.php';
if ($_SERVER['PHP_SELF'] != $login_page) {
if ( !bb_is_user_logged_in() ) {
header('Location: ' . $bb->domain . $bb->path . 'bb-login.php');
} else { }
}
else { }
?>
How to Use it:
1. Copy paste the above code to your my-templates/header.php AT THE VERY TOP of the file. Make sure you leave no empty space before the <?php line (use something like TextPad - it's free). So you header should look like:
<?php
$login_page = $bb->path . 'bb-login.php';
if ($_SERVER['PHP_SELF'] != $login_page) {
if ( !bb_is_user_logged_in() ) {
header('Location: ' . $bb->domain . $bb->path . 'bb-login.php');
} else { }
}
else { }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" ....
That's it. Since I use the values you provided in you BBPRESS setup all the paths should be correct.
Like I said I am complete newbie, so use at your own risk. BACKUP your header.php, or if something goes wrong just delete the script you just added.
Hope it works for you,
Caner