Package Data | |
---|---|
Maintainer Username: | danjme |
Maintainer Contact: | edattore@gmail.com (Eric L. D.) |
Package Create Date: | 2014-03-07 |
Package Last Update: | 2017-05-04 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-26 15:22:44 |
Package Statistics | |
---|---|
Total Downloads: | 41 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 0 |
This package is based off of the pperon/vbauth package and the vb_auth package for CodeIgnitor.
Add eld/bridgevb
as a requirement in composer.json:
{
"require": {
"eld/bridgevb": "1.*"
}
}
Run composer update
to update your packages or composer install
if you haven't already run the command
To use the package, add this line to your providers array contained in the app/config/app.php file:
'providers' => array(
...
...
'Eld\Bridgevb\BridgevbServiceProvider',
),
In order to use the facade, add the following to your aliases array in app/config/app.php:
'aliases' => array(
...
...
'Bridgevb' => 'Eld\Bridgevb\Facades\BridgeVb',
),
The default configuration file is found in vender/eld/bridgevb/src/config/config.php
but you should overwrite it with a app/config/packages/eld/bridgevb/config.php
file.
The configuration file looks like:
array(
'connection' => 'mysql',
'cookie_hash' => 'AdflkjEr90234asdlkj1349SDFkl',
'cookie_prefix' => 'bb_',
'db_prefix' => 'vb_',
'forum_path' => 'http://example.com/',
'user_groups' => array(
'Admin' => array(6),
'Moderator' => array(7),
'Super Moderator' => array(5),
'User' => array(2),
'Banned' => array(8),
'Guest' => array(3),
),
'user_columns' => array(
'userid',
'username',
'password',
'usergroupid',
'membergroupids',
'email',
'salt'
),
);
You need to replace the following fields in the existing config file or the config file in app/config/packages/eld/bridgevb/config.php
file to suit your setup: connection
, cookie_hash
, cookie_prefix
, db_prefix
, db_prefix
, forum_path
, and add your forum's user groups in the user_groups
portion and customize which user info you'd like to fetch with the user_columns
option.
This is what a filter could look like in app/filters.php
if you were to authenticate users on every page they loaded.
Route::filter('vbauth', function()
{
if (!Bridgevb::isLoggedIn()) return Redirect::to('login');
});
If you wanted to log in users externally from the vBulletin site, here's an snippet of how you'd do it:
Route::post('/login', function()
{
$creds = array(
'username' => Input::get('username'),
'password' => Input::get('password'),
'remember_me' => Input::get('remember_me', false),
);
if (Bridgevb::attempt($creds))
return Redirect::to('/');
else
return Redirect::to('/login');
});
Examples of usage are included in each description of the method
The is() function takes in a string parameter an returns whether the user is a member of that user group.
Route::get('/isgroup', function()
{
return (Bridgevb::is('Banned') ? 'You are banned' : 'You are not banned');
});
The attempt method takes in an array of credentials and returns true if the authentication attempt was successful and returns false if the credentials were incorrect.
Route::post('/login', function()
{
$creds = array(
'username' => Input::get('username'),
'password' => Input::get('password'),
'remember_me' => Input::get('remember_me', false),
);
if (Bridgevb::attempt($creds))
return Redirect::to('/');
else
return Redirect::to('/login');
});
The isLoggedIn() function checks to authenticate the current user and retursn a non-zero value if the user is currently authenticated.
Route::get('/login', function()
{
if(Bridgevb::isLoggedIn())
return Redirect::to('/');
return View::make('login');
});
The getUserInfo() function returns a stdClass object representing the user data retrieved from the vBulletin user table as specified in the configuration file.
$user = Bridgevb::getUserInfo();
echo 'Hello, ' . $user->username;
The get method takes in a string and returns the particular piece of information about the user that's passed in.
$username = Bridgevb::get('username');
echo 'Hello, ' . $username;
This function returns the logout hash for the user logged in that allows for you to link to vBulletin's logout function with teh proper logout hash.
return '<a href="http://www.example.com/login.php?do=logout&logouthash=' . Bridgevb::getLogoutHash() . '">Logout</a>';
Logs the user out manually instead of routing through vBulletin's logout function.
Bridgevb::logout();
6/1/2013 (v1.0) - Initial Release
6/2/2013 (v1.0.1) - Revised code to be PSR-2 compliant
6/3/2013 (v1.1) - Patched bug causing multiple rows to be added to the database when the session was being authenticated
6/3/2013 (v1.1.1) - Fixed session creation bugs