Skip to content

Latest commit

 

History

History
149 lines (106 loc) · 3.25 KB

README.md

File metadata and controls

149 lines (106 loc) · 3.25 KB

Authentication for VBulletin users in Laravel 4. Tested with VBulletin 4.x.

Installation

Add pperon/vbauth as a requirement to composer.json:

{
    "require": {
        "pperon/vbauth": "1.*"
    }
}

Update your packages with composer update or install with composer install.

Once Composer has installed or updated your packages you need to register Vbauth with Laravel itself. Open app/config/app.php and find the providers key towards the bottom and add:

'providers' => array(
		...
		...
		'Pperon\Vbauth\VbauthServiceProvider',
),

In order to use shorter class alias add it to alias sections in app/config/app.php:

'aliases' => array(
		...
		...
		'Vbauth'		  => 'Pperon\Vbauth\Facades\Vbauth',
),

Configuration

Default configuration file is located in vendor/pperon/vbauth/src/config/config.php but you should overwrite it with app/config/packages/pperon/vbauth/config.php file.

Usage

Example usage in a controller:

if(Vbauth::isAdmin()){
	// Show administrator page
	View::make('admin.index');
} elseif (Vbauth::isLoggedin()) {
	// Show user page
	View::make('user.index');	
} else {
	// Show guest page
	View::make('guest.index');
}

###Vbulletin User Variables

You may access user information directly by calling Vbauth::get('fieldname'). Fields are defined in config.php (select_columns).

Example:

if(Vbauth::isLoggedin()) {
    $user_id  = Vbauth::get('userid');
    $username = Vbauth::get('username');
    $email    = Vbauth::get('email');
}

###isLoggedIn()

Checks for VBulletin user cookie and returns:

TRUE - user is logged in, FALSE - there is no vbulletin cookie (user not logged in)

###isAdmin()

Checks whether the user belongs to Admin usergroup. Usually this means the user belongs to usergroup with id = 6 but you can modify this in config.php file by changing admin group ids.

TRUE - user belongs to admin usergroup FALSE - user doesn't belong to admin usergroup

###is()

Checks whether the user belongs to specific usergroup. Default available groups: admin, moderator, user, banned, guest. You can add more in config.php.

TRUE - user belongs to specific group

Example:

if(Vbauth::is('moderator')) {
    View::make('moderator.panel');
}

###logoutUrl()

Returns URL to logout script in Vbulletin installation.

Example:

Redirect::to(Vbauth::logoutURL());

###getUserInfo()

Returns user data for any choosen forum user

Example:

$user_id = 8;
$user = Vbauth::getUserInfo($user_id);
echo $user['email']; // displays email for user with user_id = 8
echo $user['username']; // show username

Change Log

###v1.1.2

Added support for separate database connection (when vbulletin forum database is located in different database than laravel):

Set the connection in app/config/database.php and add the connection name to config/packages/pperon/vbauth/config.php:

  'db_connection' => 'vbconn', // vbconn is the connection name in database.php

###v1.0.7

Added getUserInfo() method which returns user information for any forum user

Example:

$user_id = 8;
$user = Vbauth::getUserInfo($user_id);
echo $user['email']; // displays email for user with user_id = 8