Package Data | |
---|---|
Maintainer Username: | msvitok |
Maintainer Contact: | mirosvitok@gmail.com (Miroslav Svitok) |
Package Create Date: | 2015-05-02 |
Package Last Update: | 2021-12-17 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-14 15:17:25 |
Package Statistics | |
---|---|
Total Downloads: | 90,232 |
Monthly Downloads: | 157 |
Daily Downloads: | 8 |
Total Stars: | 58 |
Total Watchers: | 5 |
Total Forks: | 24 |
Total Open Issues: | 10 |
Laravel 5 wrapper for Adminer. Adminer is an excellent database management tool in a single PHP file written by Jakub Vrana. It's a great replacement for PhpMyAdmin (also supports PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB).
To include the library, go to your project's folder and run:
composer require "miroc/laravel-adminer"
To add adminer to Laravel routes (e.g. /adminer), update routes/web.php
file with:
Route::any('adminer', '\Miroc\LaravelAdminer\AdminerController@index');
To autologin Adminer with Laravel default connection, add the following controller instead:
Route::any('adminer', '\Miroc\LaravelAdminer\AdminerAutologinController@index');
Adminer doesn't work with VerifyCsrfToken middleware, so it has to be disabled on its route.
In VerifyCsrfToken.php
disable CSRF by adding adminer route to $except
array:
protected $except = [
'adminer'
];
The easiest way is to create a custom VerifyCsrfToken middleware that excludes selected routes:
use Closure;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
class CustomVerifyCsrfToken extends VerifyCsrfToken {
protected $excludedRoutes = ['adminer'];
public function handle($request, Closure $next)
{
if ($this->isExcludedRoute($request)){
return $next($request);
} else {
return parent::handle($request, $next);
}
}
private function isExcludedRoute($request)
{
if (count($request->segments()) > 0
&& in_array($request->segment(1), $this->excludedRoutes)){
return true;
} else {
return false;
}
}
}
And then use that instead of VerifyCsrfToken
in Kernel.php
protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'Path\To\CustomVerifyCsrfToken',
];
Due to function name conflicts of Laravel5 and Adminer, adminer.php file functions 'cookie()', 'redirect()' and 'view()' are prefixed with 'adm_' prefix.
If you find any problem, please let me know.