Commit c0ca03b6 authored by Nicolas Widart's avatar Nicolas Widart

Update to laravel 5.2

parent 3e2f6072
APP_ENV=local
APP_DEBUG=true
APP_CACHE=false
INSTALLED=false
APP_KEY=SomeRandomString
APP_URL=http://localhost
DB_HOST=localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=array
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
/.idea
/vendor
/node_modules
/public/storage
Homestead.yaml
Homestead.json
.env
.DS_Store
Thumbs.db
composer.phar
composer.lock
.vagrant
<?php namespace App\Commands;
abstract class Command {
//
}
<?php namespace App\Console\Commands;
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Foundation\Inspiring;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;
class Inspire extends Command {
class Inspire extends Command
{
/**
* The console command name.
* The name and signature of the console command.
*
* @var string
*/
protected $name = 'inspire';
protected $signature = 'inspire';
/**
* The console command description.
......@@ -30,5 +30,4 @@ class Inspire extends Command {
{
$this->comment(PHP_EOL.Inspiring::quote().PHP_EOL);
}
}
<?php namespace App\Console;
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel {
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
'App\Console\Commands\Inspire',
// Commands\Inspire::class,
];
/**
......@@ -22,8 +24,7 @@ class Kernel extends ConsoleKernel {
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')
->hourly();
// $schedule->command('inspire')
// ->hourly();
}
}
<?php namespace App\Events;
<?php
abstract class Event {
namespace App\Events;
abstract class Event
{
//
}
<?php namespace App\Exceptions;
<?php
namespace App\Exceptions;
use Exception;
use Illuminate\Validation\ValidationException;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Symfony\Component\HttpKernel\Exception\HttpException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
class Handler extends ExceptionHandler
......@@ -11,8 +17,12 @@ class Handler extends ExceptionHandler
* @var array
*/
protected $dontReport = [
'Symfony\Component\HttpKernel\Exception\HttpException'
AuthorizationException::class,
HttpException::class,
ModelNotFoundException::class,
ValidationException::class,
];
/**
* Report or log an exception.
*
......@@ -23,7 +33,7 @@ class Handler extends ExceptionHandler
*/
public function report(Exception $e)
{
return parent::report($e);
parent::report($e);
}
/**
......@@ -35,29 +45,6 @@ class Handler extends ExceptionHandler
*/
public function render($request, Exception $e)
{
if (config('app.debug') && class_exists('\Whoops\Run')) {
return $this->renderExceptionWithWhoops($e);
}
return parent::render($request, $e);
}
/**
* Render an exception using Whoops.
*
* @param \Exception $e
* @return \Illuminate\Http\Response
*/
protected function renderExceptionWithWhoops(Exception $e)
{
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());
return new \Illuminate\Http\Response(
$whoops->handleException($e),
$e->getStatusCode(),
$e->getHeaders()
);
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
protected $redirectTo = '/';
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Create a new password controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesResources;
class Controller extends BaseController
{
use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests;
}
<?php namespace App\Http;
<?php
use Illuminate\Foundation\Http\Kernel as HttpKernel;
namespace App\Http;
class Kernel extends HttpKernel {
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'Maatwebsite\Sidebar\Middleware\ResolveSidebars',
'App\Http\Middleware\VerifyCsrfToken',
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => 'App\Http\Middleware\Authenticate',
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
}
<?php namespace App\Http\Middleware;
<?php
use Closure;
use Illuminate\Contracts\Auth\Guard;
class Authenticate {
namespace App\Http\Middleware;
/**
* The Guard implementation.
*
* @var Guard
*/
protected $auth;
/**
* Create a new filter instance.
*
* @param Guard $auth
* @return void
*/
public function __construct(Guard $auth)
{
$this->auth = $auth;
}
use Closure;
use Illuminate\Support\Facades\Auth;
class Authenticate
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->guest())
{
if ($request->ajax())
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
}
else
{
return redirect()->guest('auth/login');
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
}
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
class EncryptCookies extends BaseEncrypter
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
//
];
}
<?php namespace App\Http\Middleware;
<?php
use Closure;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Http\RedirectResponse;
class RedirectIfAuthenticated {
namespace App\Http\Middleware;
/**
* The Guard implementation.
*
* @var Guard
*/
protected $auth;
/**
* Create a new filter instance.
*
* @param Guard $auth
* @return void
*/
public function __construct(Guard $auth)
{
$this->auth = $auth;
}
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->check())
public function handle($request, Closure $next, $guard = null)
{
return new RedirectResponse(url('/home'));
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
}
<?php namespace App\Http\Middleware;
<?php
use Closure;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
namespace App\Http\Middleware;
class VerifyCsrfToken extends BaseVerifier {
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* Handle an incoming request.
* The URIs that should be excluded from CSRF verification.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
* @var array
*/
public function handle($request, Closure $next)
{
return parent::handle($request, $next);
}
protected $except = [
//
];
}
<?php namespace App\Http\Requests;
<?php
use Illuminate\Foundation\Http\FormRequest;
namespace App\Http\Requests;
abstract class Request extends FormRequest {
use Illuminate\Foundation\Http\FormRequest;
abstract class Request extends FormRequest
{
//
}
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
return view('welcome');
});
......@@ -16,5 +16,6 @@ abstract class Job
| provides access to the "onQueue" and "delay" queue helper methods.
|
*/
use Queueable;
}
<?php namespace App\Providers;
<?php
use Illuminate\Support\ServiceProvider;
namespace App\Providers;
class AppServiceProvider extends ServiceProvider {
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
......@@ -17,22 +19,12 @@ class AppServiceProvider extends ServiceProvider {
/**
* Register any application services.
*
* This service provider is a great spot to register your various container
* bindings with the application. As you can see, we are registering our
* "Registrar" implementation here. You can add your own bindings too!
*
* @return void
*/
public function register()
{
$this->app->bind(
'Illuminate\Contracts\Auth\Registrar',
'App\Services\Registrar'
);
if ($this->app->environment() == 'local') {
$this->app->register('Barryvdh\Debugbar\ServiceProvider');
if ($this->app->environment() === 'local') {
$this->app->register('\Barryvdh\Debugbar\ServiceProvider');
}
}
}
<?php
namespace App\Providers;
use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any application authentication / authorization services.
*
* @param \Illuminate\Contracts\Auth\Access\Gate $gate
* @return void
*/
public function boot(GateContract $gate)
{
$this->registerPolicies($gate);
//
}
}
<?php namespace App\Providers;
use Illuminate\Bus\Dispatcher;
use Illuminate\Support\ServiceProvider;
class BusServiceProvider extends ServiceProvider {
/**
* Bootstrap any application services.
*
* @param \Illuminate\Bus\Dispatcher $dispatcher
* @return void
*/
public function boot(Dispatcher $dispatcher)
{
$dispatcher->mapUsing(function($command)
{
return Dispatcher::simpleMapping(
$command, 'App\Commands', 'App\Handlers\Commands'
);
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ConfigServiceProvider extends ServiceProvider {
/**
* Overwrite any vendor / package configuration.
*
* This service provider is intended to provide a convenient location for you
* to overwrite any "vendor" or package configuration that you may want to
* modify before the application handles the incoming request / command.
*
* @return void
*/
public function register()
{
config([
//
]);
}
}
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider {
class EventServiceProvider extends ServiceProvider
{
/**
* The event handler mappings for the application.
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
'event.name' => [
'EventListener',
'App\Events\SomeEvent' => [
'App\Listeners\EventListener',
],
];
......@@ -28,5 +30,4 @@ class EventServiceProvider extends ServiceProvider {
//
}
}
<?php namespace App\Providers;
<?php
namespace App\Providers;
use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider {
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to the controller routes in your routes file.
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
......@@ -22,9 +24,9 @@ class RouteServiceProvider extends ServiceProvider {
*/
public function boot(Router $router)
{
parent::boot($router);
//
parent::boot($router);
}
/**
......@@ -35,10 +37,25 @@ class RouteServiceProvider extends ServiceProvider {
*/
public function map(Router $router)
{
$router->group(['namespace' => $this->namespace], function($router)
$this->mapWebRoutes($router);
//
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
protected function mapWebRoutes(Router $router)
{
//require app_path('Http/routes.php');
$router->group([
'namespace' => $this->namespace, 'middleware' => 'web',
], function ($router) {
require app_path('Http/routes.php');
});
}
}
<?php namespace App\Services;
use App\User;
use Validator;
use Illuminate\Contracts\Auth\Registrar as RegistrarContract;
class Registrar implements RegistrarContract {
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
public function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
public function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
<?php namespace App;
<?php
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
namespace App;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
use Authenticatable, CanResetPassword;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'email', 'password'];
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes excluded from the model's JSON form.
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
protected $hidden = [
'password', 'remember_token',
];
}
......@@ -28,7 +28,7 @@ $app = require_once __DIR__.'/bootstrap/app.php';
|
*/
$kernel = $app->make('Illuminate\Contracts\Console\Kernel');
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$status = $kernel->handle(
$input = new Symfony\Component\Console\Input\ArgvInput,
......
......@@ -27,18 +27,18 @@ $app = new Illuminate\Foundation\Application(
*/
$app->singleton(
'Illuminate\Contracts\Http\Kernel',
'App\Http\Kernel'
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
'Illuminate\Contracts\Console\Kernel',
'App\Console\Kernel'
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->singleton(
'Illuminate\Contracts\Debug\ExceptionHandler',
'App\Exceptions\Handler'
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
/*
......
......@@ -29,7 +29,6 @@ require __DIR__.'/../vendor/autoload.php';
$compiledPath = __DIR__.'/cache/compiled.php';
if (file_exists($compiledPath))
{
if (file_exists($compiledPath)) {
require $compiledPath;
}
{
"name": "asgardcms/platform",
"description": "The AsgardCms application",
"description": "The AsgardCms application.",
"keywords": [
"cms",
"asgardcms",
......@@ -8,12 +8,13 @@
"laravel",
"laravel5"
],
"version": "2.0",
"license": "MIT",
"version": "1.14.1",
"type": "project",
"require": {
"laravel/framework": "~5.1",
"pingpong/modules": "dev-feature/5.1",
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"nwidart/laravel-modules": "~0.2",
"cartalyst/sentinel": "~2.0",
"asgardcms/core-module": "~2.0",
"asgardcms/dashboard-module": "~2.0",
......@@ -24,20 +25,17 @@
"asgardcms/menu-module": "~2.0",
"asgardcms/workshop-module": "~2.0",
"asgardcms/translation-module": "~2.0",
"asgardcms/flatly-theme": "~1.0",
"asgardcms/adminlte-theme": "~1.0"
"asgardcms/flatly-theme": "~2.0",
"asgardcms/adminlte-theme": "~2.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1",
"barryvdh/laravel-debugbar": "~2.0"
"symfony/css-selector": "2.8.*|3.0.*",
"symfony/dom-crawler": "2.8.*|3.0.*",
"barryvdh/laravel-debugbar": "~2.2"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/nWidart/modules"
}
],
"autoload": {
"classmap": [
"database"
......@@ -53,20 +51,16 @@
]
},
"scripts": {
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan stylist:publish",
"php artisan module:publish",
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan stylist:publish",
"php artisan module:publish",
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan cache:clear"
]
},
"config": {
......
......@@ -4,25 +4,29 @@ return [
/*
|--------------------------------------------------------------------------
| Application Debug Mode
| Application Environment
|--------------------------------------------------------------------------
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services your application utilizes. Set this in your ".env" file.
|
*/
'debug' => env('APP_DEBUG'),
'env' => env('APP_ENV', 'production'),
/*
|--------------------------------------------------------------------------
| Application cache
| Application Debug Mode
|--------------------------------------------------------------------------
| Set this to true to use the cache decorators, this will greatly improve
| the application speed and performance
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
|
*/
'cache' => env('APP_CACHE', false),
'debug' => env('APP_DEBUG', false),
/*
|--------------------------------------------------------------------------
......@@ -35,7 +39,7 @@ return [
|
*/
'url' => 'http://localhost',
'url' => env('APP_URL', 'http://localhost'),
/*
|--------------------------------------------------------------------------
......@@ -96,9 +100,9 @@ return [
|
*/
'key' => env('APP_KEY', 'SomeRandomString'),
'key' => env('APP_KEY'),
'cipher' => MCRYPT_RIJNDAEL_128,
'cipher' => 'AES-256-CBC',
/*
|--------------------------------------------------------------------------
......@@ -113,7 +117,7 @@ return [
|
*/
'log' => 'daily',
'log' => env('APP_LOG', 'single'),
/*
|--------------------------------------------------------------------------
......@@ -131,13 +135,11 @@ return [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Routing\ControllerServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
......@@ -159,11 +161,9 @@ return [
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\BusServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\ConfigServiceProvider::class,
Modules\Core\Providers\AsgardServiceProvider::class,
],
......@@ -180,11 +180,11 @@ return [
*/
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Bus' => Illuminate\Support\Facades\Bus::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
......@@ -195,8 +195,6 @@ return [
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Input' => Illuminate\Support\Facades\Input::class,
'Inspiring' => Illuminate\Foundation\Inspiring::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
......@@ -213,5 +211,7 @@ return [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
],
];
......@@ -19,6 +19,7 @@ return [
'bh' => ['name' => 'Bihari', 'script' => 'Latn', 'native' => 'Bihari'],
'bi' => ['name' => 'Bislama', 'script' => 'Latn', 'native' => 'Bislama'],
'nb' => ['name' => 'Norwegian Bokmål', 'script' => 'Latn', 'native' => 'Bokmål'],
'no' => ['name' => 'Norwegian', 'script' => 'Latn', 'native' => 'norsk'],
'bs' => ['name' => 'Bosnian', 'script' => 'Latn', 'native' => 'bosanski'],
'br' => ['name' => 'Breton', 'script' => 'Latn', 'native' => 'brezhoneg'],
'ca' => ['name' => 'Catalan', 'script' => 'Latn', 'native' => 'català'],
......
......@@ -11,7 +11,7 @@ return [
'dashboard',
'user',
'workshop',
'menu',
'setting',
'media',
],
];
......@@ -43,7 +43,6 @@ return [
'middleware' => [
'backend' => [
'auth.admin',
'permissions',
],
'frontend' => [
],
......@@ -100,6 +99,8 @@ return [
'main.js' => ['theme' => 'js/main.js'],
'chart.js' => ['theme' => 'vendor/admin-lte/plugins/chartjs/Chart.js'],
'pace.js' => ['theme' => 'vendor/admin-lte/plugins/pace/pace.min.js'],
'moment.js' => ['theme' => 'vendor/admin-lte/plugins/daterangepicker/moment.min.js'],
'clipboard.js' => ['theme' => 'vendor/clipboard/dist/clipboard.min.js'],
],
/*
......
......@@ -6,6 +6,11 @@ return [
'view' => 'text',
'translatable' => true,
],
'site-name-mini' => [
'description' => 'core::settings.site-name-mini',
'view' => 'text',
'translatable' => true,
],
'site-description' => [
'description' => 'core::settings.site-description',
'view' => 'textarea',
......@@ -15,8 +20,8 @@ return [
'description' => 'core::settings.template',
'view' => 'core::fields.select-theme',
],
'google-analytics' => [
'description' => 'core::settings.google-analytics',
'analytics-script' => [
'description' => 'core::settings.analytics-script',
'view' => 'textarea',
'translatable' => false,
],
......
<?php
return [
'dashboard.grid' => [
'save',
'reset',
],
'dashboard' => [
'index',
'update',
'reset',
],
];
......@@ -14,6 +14,7 @@ return [
|--------------------------------------------------------------------------
| The path where the media files will be uploaded
|--------------------------------------------------------------------------
| Note: Trailing slash is required
*/
'files-path' => '/assets/media/',
/*
......
<?php
return [
'media.media' => [
'media.medias' => [
'index',
'create',
'store',
'edit',
'update',
'destroy',
],
'media.media-grid' => [
'index',
'ckIndex',
]
];
......@@ -3,17 +3,13 @@ return [
'menu.menus' => [
'index',
'create',
'store',
'edit',
'update',
'destroy',
],
'menu.menuitem' => [
'menu.menuitems' => [
'index',
'create',
'store',
'edit',
'update',
'destroy',
],
];
<?php
return [
/*
|--------------------------------------------------------------------------
| Partials to include on page views
|--------------------------------------------------------------------------
| List the partials you wish to include on the different type page views
| The content of those fields well be caught by the PageWasCreated and PageWasEdited events
*/
'partials' => [
'translatable' => [
'create' => [],
'edit' => [],
],
'normal' => [
'create' => [],
'edit' => [],
],
],
/*
|--------------------------------------------------------------------------
| Dynamic relations
|--------------------------------------------------------------------------
| Add relations that will be dynamically added to the Page entity
*/
'relations' => [
// 'extension' => function ($self) {
// return $self->belongsTo(PageExtension::class, 'id', 'page_id')->first();
// }
],
/*
|--------------------------------------------------------------------------
| Array of middleware that will be applied on the page module front end routes
|--------------------------------------------------------------------------
*/
'middleware' => [],
];
......@@ -3,9 +3,7 @@ return [
'page.pages' => [
'index',
'create',
'store',
'edit',
'update',
'destroy',
],
];
......@@ -2,7 +2,6 @@
return [
'setting.settings' => [
'index',
'getModuleSettings',
'store',
'edit',
],
];
<?php
return array(
return [
/*
|--------------------------------------------------------------------------
| Image Driver
| Revision History Limit
|--------------------------------------------------------------------------
|
| Intervention Image supports "GD Library" and "Imagick" to process images
| internally. You may choose one of them according to your PHP
| configuration. By default PHP's "GD Library" implementation is used.
|
| Supported: "gd", "imagick"
|
| How many revisions need to be kept in database before removing the old ones
*/
'driver' => 'gd'
);
'revision-history-limit' => 100,
];
<?php
return [
'translation.translations' => [
'index',
'edit',
'export',
'import',
],
];
......@@ -3,17 +3,18 @@ return [
'user.users' => [
'index',
'create',
'store',
'edit',
'update',
'destroy',
],
'user.roles' => [
'index',
'create',
'store',
'edit',
'update',
'destroy',
],
'account.api-keys' => [
'index',
'create',
'destroy',
],
];
......@@ -6,7 +6,6 @@ return [
| Define which user driver to use.
|--------------------------------------------------------------------------
| Current default and only option : Sentinel
| Sentry option is outdated
*/
'driver' => 'Sentinel',
/*
......@@ -23,7 +22,12 @@ return [
| only supported by the Sentinel user driver
*/
'login-columns' => ['email'],
/*
|--------------------------------------------------------------------------
| Allow anonymous user registration
|--------------------------------------------------------------------------
*/
'allow_user_registration' => true,
/*
|--------------------------------------------------------------------------
| Fillable user fields
......
......@@ -4,26 +4,12 @@ return [
'workshop.modules' => [
'index',
'show',
'update',
'disable',
'enable',
],
/*'workshop.workbench' => [
'workshop.themes' => [
'index',
'generate',
'migrate',
'install',
'seed',
],
'workshop.generate' => [
'generate',
],
'workshop.install' => [
'install',
],
'workshop.migrate' => [
'migrate',
'show',
],
'workshop.seed' => [
'seed',
],*/
];
......@@ -4,64 +4,104 @@ return [
/*
|--------------------------------------------------------------------------
| Default Authentication Driver
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the authentication driver that will be utilized.
| This driver manages the retrieval and authentication of the users
| attempting to get access to protected areas of your application.
|
| Supported: "database", "eloquent"
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/
'driver' => 'eloquent',
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
/*
|--------------------------------------------------------------------------
| Authentication Model
| Authentication Guards
|--------------------------------------------------------------------------
|
| When using the "Eloquent" authentication driver, we need to know which
| Eloquent model should be used to retrieve your users. Of course, it
| is often just the "User" model but you may use whatever you like.
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session", "token"
|
*/
'model' => 'App\User',
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
/*
|--------------------------------------------------------------------------
| Authentication Table
| User Providers
|--------------------------------------------------------------------------
|
| When using the "Database" authentication driver, we need to know which
| table should be used to retrieve your users. We have chosen a basic
| default value but you may easily change it to any table you like.
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'table' => 'users',
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
/*
|--------------------------------------------------------------------------
| Password Reset Settings
| Resetting Passwords
|--------------------------------------------------------------------------
|
| Here you may set the options for resetting passwords including the view
| that is your password reset e-mail. You can also set the name of the
| that is your password reset e-mail. You may also set the name of the
| table that maintains all of the reset tokens for your application.
|
| You may specify multiple password reset configurations if you have more
| than one user table or model in the application and you want to have
| separate password reset settings based on the specific user types.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'password' => [
'email' => 'emails.password',
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'auth.emails.password',
'table' => 'password_resets',
'expire' => 60,
],
],
];
This diff is collapsed.
......@@ -13,7 +13,7 @@ return [
|
*/
'default' => env('CACHE_DRIVER', 'array'),
'default' => env('CACHE_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------
......@@ -29,11 +29,11 @@ return [
'stores' => [
'apc' => [
'driver' => 'apc'
'driver' => 'apc',
],
'array' => [
'driver' => 'array'
'driver' => 'array',
],
'database' => [
......@@ -44,14 +44,16 @@ return [
'file' => [
'driver' => 'file',
'path' => storage_path().'/framework/cache',
'path' => storage_path('framework/cache'),
],
'memcached' => [
'driver' => 'memcached',
'servers' => [
[
'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
......
......@@ -11,7 +11,7 @@
* bundled with this package in the LICENSE file.
*
* @package Sentinel
* @version 2.0.4
* @version 2.0.12
* @author Cartalyst LLC
* @license BSD License (3-clause)
* @copyright (c) 2011-2015, Cartalyst LLC
......@@ -53,7 +53,7 @@ return [
'users' => [
'model' => 'Modules\User\Entities\Sentinel\User',
'model' => \Modules\User\Entities\Sentinel\User::class,
],
......
......@@ -14,13 +14,7 @@ return [
*/
'files' => [
realpath(__DIR__.'/../app/Providers/AppServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/BusServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/ConfigServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/EventServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/RouteServiceProvider.php'),
//
],
/*
......
......@@ -26,7 +26,7 @@ return [
|
*/
'default' => 'mysql',
'default' => env('DB_CONNECTION', 'mysql'),
/*
|--------------------------------------------------------------------------
......@@ -48,13 +48,14 @@ return [
'sqlite' => [
'driver' => 'sqlite',
'database' => storage_path().'/database.sqlite',
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
......@@ -62,11 +63,13 @@ return [
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
......@@ -75,15 +78,6 @@ return [
'schema' => 'public',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'prefix' => '',
],
],
/*
......@@ -115,8 +109,9 @@ return [
'cluster' => false,
'default' => [
'host' => '127.0.0.1',
'port' => 6379,
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
......
<?php
return array(
/*
|--------------------------------------------------------------------------
| Debugbar Settings
|--------------------------------------------------------------------------
|
| Debugbar is enabled by default, when debug is set to true in app.php.
|
*/
'enabled' => config('app.debug'),
/*
|--------------------------------------------------------------------------
| Storage settings
|--------------------------------------------------------------------------
|
| DebugBar stores data for session/ajax requests.
| You can disable this, so the debugbar stores data in headers/session,
| but this can cause problems with large data collectors.
| By default, file storage (in the storage folder) is used. Redis and PDO
| can also be used. For PDO, run the package migrations first.
|
*/
'storage' => array(
'enabled' => true,
'driver' => 'file', // redis, file, pdo
'path' => storage_path() . '/debugbar', // For file driver
'connection' => null, // Leave null for default connection (Redis/PDO)
),
/*
|--------------------------------------------------------------------------
| Vendors
|--------------------------------------------------------------------------
|
| Vendor files are included by default, but can be set to false.
| This can also be set to 'js' or 'css', to only include javascript or css vendor files.
| Vendor files are for css: font-awesome (including fonts) and highlight.js (css files)
| and for js: jquery and and highlight.js
| So if you want syntax highlighting, set it to true.
| jQuery is set to not conflict with existing jQuery scripts.
|
*/
'include_vendors' => true,
/*
|--------------------------------------------------------------------------
| Capture Ajax Requests
|--------------------------------------------------------------------------
|
| The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors),
| you can use this option to disable sending the data through the headers.
|
*/
'capture_ajax' => true,
/*
|--------------------------------------------------------------------------
| DataCollectors
|--------------------------------------------------------------------------
|
| Enable/disable DataCollectors
|
*/
'collectors' => array(
'phpinfo' => true, // Php version
'messages' => true, // Messages
'time' => true, // Time Datalogger
'memory' => true, // Memory usage
'exceptions' => true, // Exception displayer
'log' => true, // Logs from Monolog (merged in messages if enabled)
'db' => true, // Show database (PDO) queries and bindings
'views' => true, // Views with their data
'route' => true, // Current route information
'laravel' => false, // Laravel version and environment
'events' => false, // All events fired
'default_request' => false, // Regular or special Symfony request logger
'symfony_request' => true, // Only one can be enabled..
'mail' => true, // Catch mail messages
'logs' => false, // Add the latest log messages
'files' => false, // Show the included files
'config' => false, // Display config settings
'auth' => false, // Display Laravel authentication status
'session' => false, // Display session data in a separate tab
),
/*
|--------------------------------------------------------------------------
| Extra options
|--------------------------------------------------------------------------
|
| Configure some DataCollectors
|
*/
'options' => array(
'auth' => array(
'show_name' => false, // Also show the users name/email in the debugbar
),
'db' => array(
'with_params' => true, // Render SQL with the parameters substituted
'timeline' => false, // Add the queries to the timeline
'backtrace' => false, // EXPERIMENTAL: Use a backtrace to find the origin of the query in your files.
'explain' => array( // EXPERIMENTAL: Show EXPLAIN output on queries
'enabled' => false,
'types' => array('SELECT'), // array('SELECT', 'INSERT', 'UPDATE', 'DELETE'); for MySQL 5.6.3+
),
'hints' => true, // Show hints for common mistakes
),
'mail' => array(
'full_log' => false
),
'views' => array(
'data' => false, //Note: Can slow down the application, because the data can be quite large..
),
'route' => array(
'label' => true // show complete route on bar
),
'logs' => array(
'file' => null
),
),
/*
|--------------------------------------------------------------------------
| Inject Debugbar in Response
|--------------------------------------------------------------------------
|
| Usually, the debugbar is added just before <body>, by listening to the
| Response after the App is done. If you disable this, you have to add them
| in your template yourself. See http://phpdebugbar.com/docs/rendering.html
|
*/
'inject' => true,
);
......@@ -11,7 +11,7 @@ return [
| by the framework. A "local" driver, as well as a variety of cloud
| based drivers are available for your choosing. Just store away!
|
| Supported: "local", "s3", "rackspace"
| Supported: "local", "ftp", "s3", "rackspace"
|
*/
......@@ -58,6 +58,12 @@ return [
],
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
......@@ -66,15 +72,6 @@ return [
'bucket' => 'your-bucket',
],
'rackspace' => [
'driver' => 'rackspace',
'username' => 'your-username',
'key' => 'your-key',
'container' => 'your-container',
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
'region' => 'IAD',
],
],
];
......@@ -11,11 +11,12 @@ return [
| sending of e-mail. You may specify which one you're using throughout
| your application here. By default, Laravel is setup for SMTP mail.
|
| Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "log"
| Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill",
| "ses", "sparkpost", "log"
|
*/
'driver' => 'smtp',
'driver' => env('MAIL_DRIVER', 'smtp'),
/*
|--------------------------------------------------------------------------
......@@ -28,7 +29,7 @@ return [
|
*/
'host' => 'smtp.mailgun.org',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
/*
|--------------------------------------------------------------------------
......@@ -41,7 +42,7 @@ return [
|
*/
'port' => 587,
'port' => env('MAIL_PORT', 587),
/*
|--------------------------------------------------------------------------
......@@ -67,7 +68,7 @@ return [
|
*/
'encryption' => 'tls',
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
/*
|--------------------------------------------------------------------------
......@@ -80,7 +81,7 @@ return [
|
*/
'username' => null,
'username' => env('MAIL_USERNAME'),
/*
|--------------------------------------------------------------------------
......@@ -93,7 +94,7 @@ return [
|
*/
'password' => null,
'password' => env('MAIL_PASSWORD'),
/*
|--------------------------------------------------------------------------
......@@ -108,17 +109,4 @@ return [
'sendmail' => '/usr/sbin/sendmail -bs',
/*
|--------------------------------------------------------------------------
| Mail "Pretend"
|--------------------------------------------------------------------------
|
| When this option is enabled, e-mail will not actually be sent over the
| web and will instead be written to your application's logs files so
| you may inspect the message. This is great for local development.
|
*/
'pretend' => false,
];
<?php
return array(
'styles' => array(
'navbar' => 'Pingpong\Menus\Presenters\Bootstrap\NavbarPresenter',
'navbar-right' => 'Pingpong\Menus\Presenters\Bootstrap\NavbarRightPresenter',
'nav-pills' => 'Pingpong\Menus\Presenters\Bootstrap\NavPillsPresenter',
'nav-tab' => 'Pingpong\Menus\Presenters\Bootstrap\NavTabPresenter',
'sidebar' => 'Pingpong\Menus\Presenters\Bootstrap\SidebarMenuPresenter',
'navmenu' => 'Pingpong\Menus\Presenters\Bootstrap\NavMenuPresenter',
),
'ordering' => false,
);
<?php
return array(
'navbar' => 'Pingpong\Menus\Presenters\Bootstrap\NavbarPresenter',
'navbar-right' => 'Pingpong\Menus\Presenters\Bootstrap\NavbarRightPresenter',
'nav-pills' => 'Pingpong\Menus\Presenters\Bootstrap\NavPillsPresenter',
'nav-tab' => 'Pingpong\Menus\Presenters\Bootstrap\NavTabPresenter',
);
\ No newline at end of file
<?php
return [
/*
|--------------------------------------------------------------------------
| Module Namespace
|--------------------------------------------------------------------------
|
| Default module namespace.
|
*/
'namespace' => 'Modules',
/*
|--------------------------------------------------------------------------
| Module Stubs
|--------------------------------------------------------------------------
|
| Default module stubs.
|
*/
'stubs' => [
'enabled' => false,
'path' => base_path() . '/vendor/pingpong/modules/src/Pingpong/Modules/Commands/stubs',
'path' => base_path().'/vendor/nwidart/laravel-modules/src/Commands/stubs',
'files' => [
'start' => 'start.php',
'routes' => 'Http/routes.php',
......@@ -27,7 +47,7 @@ return [
'VENDOR',
'AUTHOR_NAME',
'AUTHOR_EMAIL',
'MODULE_NAMESPACE'
'MODULE_NAMESPACE',
],
],
],
......@@ -42,7 +62,7 @@ return [
|
*/
'modules' => base_path('Modules'),
'modules' => base_path('modules'),
/*
|--------------------------------------------------------------------------
| Modules assets path
......@@ -103,7 +123,7 @@ return [
'scan' => [
'enabled' => false,
'paths' => [
base_path('vendor/*/*')
base_path('vendor/*/*'),
],
],
/*
......@@ -112,16 +132,15 @@ return [
|--------------------------------------------------------------------------
|
| Here is the config for composer.json file, generated by this package
| in every module since version >= 1.2.0.
|
*/
'composer' => [
'vendor' => 'pingpong-modules',
'vendor' => 'nwidart',
'author' => [
"name" => 'Pingpong Labs',
'email' => 'pingpong.labs@gmail.com'
]
'name' => 'Nicolas Widart',
'email' => 'n.widart@gmail.com',
],
],
/*
|--------------------------------------------------------------------------
......@@ -133,8 +152,11 @@ return [
*/
'cache' => [
'enabled' => false,
'key' => 'pingpong-modules',
'lifetime' => 60
]
'key' => 'laravel-modules',
'lifetime' => 60,
],
'register' => [
'translations' => false,
],
];
......@@ -11,8 +11,7 @@ return [
| API, giving you convenient access to each back-end using the same
| syntax for each one. Here you may set the default queue driver.
|
| Supported: "null", "sync", "database", "beanstalkd",
| "sqs", "iron", "redis"
| Supported: "null", "sync", "database", "beanstalkd", "sqs", "redis"
|
*/
......@@ -53,21 +52,14 @@ return [
'driver' => 'sqs',
'key' => 'your-public-key',
'secret' => 'your-secret-key',
'queue' => 'your-queue-url',
'region' => 'us-east-1',
],
'iron' => [
'driver' => 'iron',
'host' => 'mq-aws-us-east-1.iron.io',
'token' => 'your-token',
'project' => 'your-project-id',
'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id',
'queue' => 'your-queue-name',
'encrypt' => true,
'region' => 'us-east-1',
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'expire' => 60,
],
......@@ -86,7 +78,8 @@ return [
*/
'failed' => [
'database' => 'mysql', 'table' => 'failed_jobs',
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],
];
......@@ -15,23 +15,24 @@ return [
*/
'mailgun' => [
'domain' => '',
'secret' => '',
],
'mandrill' => [
'secret' => '',
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
],
'ses' => [
'key' => '',
'secret' => '',
'key' => env('SES_KEY'),
'secret' => env('SES_SECRET'),
'region' => 'us-east-1',
],
'sparkpost' => [
'secret' => env('SPARKPOST_SECRET'),
],
'stripe' => [
'model' => 'User',
'secret' => '',
'model' => App\User::class,
'key' => env('STRIPE_KEY'),
'secret' => env('STRIPE_SECRET'),
],
];
......@@ -57,7 +57,7 @@ return [
|
*/
'files' => storage_path().'/framework/sessions',
'files' => storage_path('framework/sessions'),
/*
|--------------------------------------------------------------------------
......@@ -150,4 +150,17 @@ return [
'secure' => false,
/*
|--------------------------------------------------------------------------
| HTTP Access Only
|--------------------------------------------------------------------------
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
| the HTTP protocol. You are free to modify this option if needed.
|
*/
'http_only' => true,
];
<?php
return [
'themes' => [
/**
* Absolute paths as to where stylist can discover themes.
*/
'paths' => [
base_path('Themes'),
],
/**
* Specify the name of the theme that you wish to activate. This should be the same
* as the theme name that is defined within that theme's json file.
*/
'activate' => null
]
];
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Locales
|--------------------------------------------------------------------------
|
| Contains an array with the applications available locales.
|
*/
'locales' => ['en'],
/*
|--------------------------------------------------------------------------
| Use fallback
|--------------------------------------------------------------------------
|
| Determine if fallback locales are returned by default or not. To add
| more flexibility and configure this option per "translatable"
| instance, this value will be overridden by the property
| $useTranslationFallback when defined
*/
'use_fallback' => false,
/*
|--------------------------------------------------------------------------
| Fallback Locale
|--------------------------------------------------------------------------
|
| A fallback locale is the locale being used to return a translation
| when the requested translation is not existing. To disable it
| set it to false.
|
*/
'fallback_locale' => 'en',
/*
|--------------------------------------------------------------------------
| Translation Suffix
|--------------------------------------------------------------------------
|
| Defines the default 'Translation' class suffix. For example, if
| you want to use CountryTrans instead of CountryTranslation
| application, set this to 'Trans'.
|
*/
'translation_suffix' => 'Translation',
/*
|--------------------------------------------------------------------------
| Locale key
|--------------------------------------------------------------------------
|
| Defines the 'locale' field name, which is used by the
| translation model.
|
*/
'locale_key' => 'locale',
/*
|--------------------------------------------------------------------------
| Make translated attributes always fillable
|--------------------------------------------------------------------------
|
| If true, translatable automatically sets
| translated attributes as fillable.
|
| WARNING!
| Set this to true only if you understand the security risks.
|
*/
'always_fillable' => false,
];
......@@ -14,7 +14,7 @@ return [
*/
'paths' => [
realpath(base_path('resources/views'))
realpath(base_path('resources/views')),
],
/*
......@@ -28,6 +28,6 @@ return [
|
*/
'compiled' => realpath(storage_path().'/framework/views'),
'compiled' => realpath(storage_path('framework/views')),
];
<?php
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/
$factory->define(App\User::class, function (Faker\Generator $faker) {
return [
'name' => $faker->name,
'email' => $faker->safeEmail,
'password' => bcrypt(str_random(10)),
'remember_token' => str_random(10),
];
});
......@@ -11,7 +11,7 @@
* bundled with this package in the LICENSE file.
*
* @package Sentinel
* @version 2.0.4
* @version 2.0.12
* @author Cartalyst LLC
* @license BSD License (3-clause)
* @copyright (c) 2011-2015, Cartalyst LLC
......
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder {
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
......@@ -12,9 +11,6 @@ class DatabaseSeeder extends Seeder {
*/
public function run()
{
Model::unguard();
// $this->call('UserTableSeeder');
// $this->call(UsersTableSeeder::class);
}
}
......@@ -6,11 +6,11 @@ var elixir = require('laravel-elixir');
|--------------------------------------------------------------------------
|
| Elixir provides a clean, fluent API for defining some basic Gulp tasks
| for your Laravel application. By default, we are compiling the Less
| for your Laravel application. By default, we are compiling the Sass
| file for our application, as well as publishing vendor resources.
|
*/
elixir(function(mix) {
mix.less('app.less');
mix.sass('app.scss');
});
{
"private": true,
"scripts": {
"prod": "gulp --production",
"dev": "gulp watch"
},
"devDependencies": {
"gulp": "^3.8.8",
"laravel-elixir": "*"
"gulp": "^3.9.1",
"laravel-elixir": "^5.0.0",
"bootstrap-sass": "^3.0.0"
}
}
suites:
main:
namespace: App
psr4_prefix: App
src_path: app
\ No newline at end of file
......@@ -7,16 +7,24 @@
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false">
stopOnFailure="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory>./tests/</directory>
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
<exclude>
<file>./app/Http/routes.php</file>
</exclude>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>
......@@ -5,11 +5,16 @@
RewriteEngine On
# Redirect Trailing Slashes...
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
This diff is collapsed.
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
......@@ -39,14 +40,14 @@ $app = require_once __DIR__.'/../bootstrap/app.php';
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make('Illuminate\Contracts\Http\Kernel');
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
......
......@@ -11,7 +11,8 @@ $( document ).ready(function() {
location.reload();
}, 1000);
});
myDropzone.on("sending", function(file, fromData) {
myDropzone.on("sending", function(file, xhr, fromData) {
xhr.setRequestHeader("Authorization", AuthorizationHeaderValue);
if ($('.alert-danger').length > 0) {
$('.alert-danger').remove();
}
......
......@@ -33,9 +33,11 @@ footer.main-footer p.text-muted {
.skin-blue .left-side {
background: #202227;
}
.skin-blue .sidebar-menu > li.header {
.skin-blue .sidebar-menu > li.menu-title {
color: #93AFBB;
background: #25272d;
padding: 10px 25px 10px 15px;
font-size: 12px;
}
.sidebar-menu .append {
margin-top: -44px;
......@@ -49,8 +51,9 @@ footer.main-footer p.text-muted {
background: none;
border: 0;
}
.skin-blue .main-header .logo {
border-bottom: 1px solid #202227;
.sidebar-mini.sidebar-collapse .sidebar-menu a.append,
.sidebar-mini.sidebar-collapse .sidebar-menu li.menu-title {
display: none;
}
.checkbox label {
padding-left: 0;
......
{"version":3,"sources":["Asgard/notifications.less","asgard.css","footer.less","skins/blue.less","asgard.less"],"names":[],"mappings":"AAAA;EACE,gCAAA;EAAA,wBAAA;CCCD;ADCD;EACE,gCAAA;EAAA,wBAAA;CCCD;ADCD;EACE,gBAAA;CCCD;ADED;EACE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,WAAA;EACA,WAAA;CCAD;ADGD;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;CCDD;ACrBD;EAEI,gBAAA;CDsBH;ACxBD;EAKI,iBAAA;CDsBH;AEzBD;;;EACE,oBAAA;CF6BD;AEzBD;EACE,eAAA;EACA,oBAAA;CF2BD;AG5BD;EACE,kBAAA;CH8BD;AG5BD;EACE,kBAAA;CH8BD;AG5BD;;EAEE,YAAA;EACA,iBAAA;EACA,UAAA;CH8BD;AG1BD;EACE,iCAAA;CH4BD;AGxBD;EACE,gBAAA;CH0BD;AGxBD;EACE,kBAAA;EACA,iBAAA;CH0BD","file":"asgard.css","sourcesContent":["ul.notifications-list li {\n animation-duration: .5s;\n}\n.notificationsCounter {\n animation-duration: .5s;\n}\n.notificationIcon {\n font-size: 30px;\n}\n\n.removeNotification {\n z-index:999;\n font-size: 12px !important;\n position: absolute;\n top: -35px;\n right: 0px;\n}\n\n.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small {\n position: absolute;\n bottom: -30px;\n right: 0px;\n top: auto;\n}\n","ul.notifications-list li {\n animation-duration: .5s;\n}\n.notificationsCounter {\n animation-duration: .5s;\n}\n.notificationIcon {\n font-size: 30px;\n}\n.removeNotification {\n z-index: 999;\n font-size: 12px !important;\n position: absolute;\n top: -35px;\n right: 0px;\n}\n.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small {\n position: absolute;\n bottom: -30px;\n right: 0px;\n top: auto;\n}\nfooter.main-footer a {\n cursor: pointer;\n}\nfooter.main-footer p.text-muted {\n margin-bottom: 0;\n}\n.skin-blue .wrapper,\n.skin-blue .main-sidebar,\n.skin-blue .left-side {\n background: #202227;\n}\n.skin-blue .sidebar-menu > li.header {\n color: #93AFBB;\n background: #25272d;\n}\n.sidebar-menu .append {\n margin-top: -44px;\n}\n.sidebar-menu .treeview-menu .append {\n margin-top: -30px;\n}\n.skin-blue .sidebar-menu .append:hover,\n.skin-blue .sidebar-menu > li.active > a.append {\n color: #fff;\n background: none;\n border: 0;\n}\n.skin-blue .main-header .logo {\n border-bottom: 1px solid #202227;\n}\n.checkbox label {\n padding-left: 0;\n}\n.checkbox label div {\n margin-right: 5px;\n margin-top: -2px;\n}\n","footer.main-footer {\n a {\n cursor: pointer;\n }\n p.text-muted {\n margin-bottom: 0;\n }\n}\n","@import \"blue/vars\";\n\n.skin-blue .wrapper, .skin-blue .main-sidebar, .skin-blue .left-side {\n background: #202227;\n}\n\n\n.skin-blue .sidebar-menu > li.header {\n color: #93AFBB;\n background: lighten(@sidebar-light-bg, 2%);\n}\n","@import \"Asgard/vars\";\n@import \"Asgard/notifications\";\n@import \"mixins\";\n@import \"footer\";\n\n@import \"skins/blue.less\";\n\n// For the appended elements\n.sidebar-menu .append {\n margin-top: -44px;\n}\n.sidebar-menu .treeview-menu .append {\n margin-top: -30px;\n}\n.skin-blue .sidebar-menu .append:hover,\n.skin-blue .sidebar-menu > li.active > a.append {\n color: #fff;\n background: none;\n border: 0;\n}\n\n// Dark border under the logo area\n.skin-blue .main-header .logo {\n border-bottom: 1px solid #202227;\n}\n\n// Correctly aligning the checkbox labels\n.checkbox label {\n padding-left: 0;\n}\n.checkbox label div {\n margin-right: 5px;\n margin-top: -2px;\n}\n"],"sourceRoot":"/source/"}
\ No newline at end of file
{"version":3,"sources":["Asgard/notifications.less","asgard.css","footer.less","skins/blue.less","asgard.less"],"names":[],"mappings":"AAAA;EACE,gCAAA;EAAA,wBAAA;CCCD;ADCD;EACE,gCAAA;EAAA,wBAAA;CCCD;ADCD;EACE,gBAAA;CCCD;ADED;EACE,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,WAAA;EACA,WAAA;CCAD;ADGD;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;CCDD;ACrBD;EAEI,gBAAA;CDsBH;ACxBD;EAKI,iBAAA;CDsBH;AEzBD;;;EACE,oBAAA;CF6BD;AEzBD;EACE,eAAA;EACA,oBAAA;EACA,6BAAA;EACA,gBAAA;CF2BD;AG9BD;EACE,kBAAA;CHgCD;AG9BD;EACE,kBAAA;CHgCD;AG9BD;;EAEE,YAAA;EACA,iBAAA;EACA,UAAA;CHgCD;AG7BD;;EAEE,cAAA;CH+BD;AG3BD;EACE,gBAAA;CH6BD;AG3BD;EACE,kBAAA;EACA,iBAAA;CH6BD","file":"asgard.css","sourcesContent":["ul.notifications-list li {\n animation-duration: .5s;\n}\n.notificationsCounter {\n animation-duration: .5s;\n}\n.notificationIcon {\n font-size: 30px;\n}\n\n.removeNotification {\n z-index:999;\n font-size: 12px !important;\n position: absolute;\n top: -35px;\n right: 0px;\n}\n\n.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small {\n position: absolute;\n bottom: -30px;\n right: 0px;\n top: auto;\n}\n","ul.notifications-list li {\n animation-duration: .5s;\n}\n.notificationsCounter {\n animation-duration: .5s;\n}\n.notificationIcon {\n font-size: 30px;\n}\n.removeNotification {\n z-index: 999;\n font-size: 12px !important;\n position: absolute;\n top: -35px;\n right: 0px;\n}\n.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small {\n position: absolute;\n bottom: -30px;\n right: 0px;\n top: auto;\n}\nfooter.main-footer a {\n cursor: pointer;\n}\nfooter.main-footer p.text-muted {\n margin-bottom: 0;\n}\n.skin-blue .wrapper,\n.skin-blue .main-sidebar,\n.skin-blue .left-side {\n background: #202227;\n}\n.skin-blue .sidebar-menu > li.menu-title {\n color: #93AFBB;\n background: #25272d;\n padding: 10px 25px 10px 15px;\n font-size: 12px;\n}\n.sidebar-menu .append {\n margin-top: -44px;\n}\n.sidebar-menu .treeview-menu .append {\n margin-top: -30px;\n}\n.skin-blue .sidebar-menu .append:hover,\n.skin-blue .sidebar-menu > li.active > a.append {\n color: #fff;\n background: none;\n border: 0;\n}\n.sidebar-mini.sidebar-collapse .sidebar-menu a.append,\n.sidebar-mini.sidebar-collapse .sidebar-menu li.menu-title {\n display: none;\n}\n.checkbox label {\n padding-left: 0;\n}\n.checkbox label div {\n margin-right: 5px;\n margin-top: -2px;\n}\n","footer.main-footer {\n a {\n cursor: pointer;\n }\n p.text-muted {\n margin-bottom: 0;\n }\n}\n","@import \"blue/vars\";\n\n.skin-blue .wrapper, .skin-blue .main-sidebar, .skin-blue .left-side {\n background: #202227;\n}\n\n\n.skin-blue .sidebar-menu > li.menu-title {\n color: #93AFBB;\n background: lighten(@sidebar-light-bg, 2%);\n padding: 10px 25px 10px 15px;\n font-size: 12px;\n}\n","@import \"Asgard/vars\";\n@import \"Asgard/notifications\";\n@import \"mixins\";\n@import \"footer\";\n\n@import \"skins/blue.less\";\n\n// For the appended elements\n.sidebar-menu .append {\n margin-top: -44px;\n}\n.sidebar-menu .treeview-menu .append {\n margin-top: -30px;\n}\n.skin-blue .sidebar-menu .append:hover,\n.skin-blue .sidebar-menu > li.active > a.append {\n color: #fff;\n background: none;\n border: 0;\n}\n\n.sidebar-mini.sidebar-collapse .sidebar-menu a.append,\n.sidebar-mini.sidebar-collapse .sidebar-menu li.menu-title {\n display: none;\n}\n\n// Correctly aligning the checkbox labels\n.checkbox label {\n padding-left: 0;\n}\n.checkbox label div {\n margin-right: 5px;\n margin-top: -2px;\n}\n"],"sourceRoot":"/source/"}
\ No newline at end of file
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
[![Latest Version](https://img.shields.io/packagist/v/asgardcms/platform.svg?style=flat-square)](https://github.com/asgardcms/platform/releases)
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)
[![Total Downloads](https://img.shields.io/packagist/dd/asgardcms/platform.svg?style=flat-square)](https://packagist.org/packages/asgardcms/platform)
[![Total Downloads](https://img.shields.io/packagist/dm/asgardcms/platform.svg?style=flat-square)](https://packagist.org/packages/asgardcms/platform)
[![Total Downloads](https://img.shields.io/packagist/dt/asgardcms/platform.svg?style=flat-square)](https://packagist.org/packages/asgardcms/platform)
[![PHP7 Compatible](https://img.shields.io/badge/php-7-green.svg?style=flat-square)](https://packagist.org/packages/asgardcms/platform)
# Laravel PHP Framework
## AsgardCMS Platform
[![Build Status](https://travis-ci.org/laravel/framework.svg)](https://travis-ci.org/laravel/framework)
[![Total Downloads](https://poser.pugx.org/laravel/framework/d/total.svg)](https://packagist.org/packages/laravel/framework)
[![Latest Stable Version](https://poser.pugx.org/laravel/framework/v/stable.svg)](https://packagist.org/packages/laravel/framework)
[![Latest Unstable Version](https://poser.pugx.org/laravel/framework/v/unstable.svg)](https://packagist.org/packages/laravel/framework)
[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework)
View the documentation at [AsgardCMS.com/docs](http://asgardcms.com/docs/).
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching.
Join the conversation on Slack [![Slack](http://slack.asgardcms.com/badge.svg)](http://slack.asgardcms.com/)
Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
## Builds
## Official Documentation
| Module | Master |
| ---------------- | --------------- |
| [Core](https://github.com/AsgardCms/Core) | [![Build Status](https://travis-ci.org/AsgardCms/Core.svg?branch=master)](https://travis-ci.org/AsgardCms/Core)
| [Setting](https://github.com/AsgardCms/Setting) | [![Build Status](https://travis-ci.org/AsgardCms/Setting.svg?branch=master)](https://travis-ci.org/AsgardCms/Setting)
| [Menu](https://github.com/AsgardCms/Menu) | [![Build Status](https://travis-ci.org/AsgardCms/Menu.svg?branch=master)](https://travis-ci.org/AsgardCms/Menu)
| [Workshop](https://github.com/AsgardCms/Workshop) | [![Build Status](https://travis-ci.org/AsgardCms/Workshop.svg?branch=master)](https://travis-ci.org/AsgardCms/Workshop)
| [Media](https://github.com/AsgardCms/Media) | [![Build Status](https://travis-ci.org/AsgardCms/Media.svg?branch=master)](https://travis-ci.org/AsgardCms/Media)
| [Block](https://github.com/AsgardCms/Block) | [![Build Status](https://travis-ci.org/AsgardCms/Block.svg?branch=master)](https://travis-ci.org/AsgardCms/Block)
Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs).
## Code Quality
## Contributing
Code quality is very important for AsgardCms. I want to make sure everything is clean and appropriate. This is a recap of the quality scores on various services.
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions).
| Module (master) | Scrutinizer-ci | Sensiolabs Insights | Code Climate |
| --------------- | -------------- | ------------------- | ------------ |
| Core | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/AsgardCms/Core/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/AsgardCms/Core/?branch=master) | [![SensioLabsInsight](https://insight.sensiolabs.com/projects/57e26b38-6275-4608-96e2-44047aaed5c2/mini.png)](https://insight.sensiolabs.com/projects/57e26b38-6275-4608-96e2-44047aaed5c2) | [![Code Climate](https://codeclimate.com/github/AsgardCms/Core/badges/gpa.svg)](https://codeclimate.com/github/AsgardCms/Core) |
| Setting | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/AsgardCms/Setting/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/AsgardCms/Setting/?branch=master) | [![SensioLabsInsight](https://insight.sensiolabs.com/projects/92d544b4-a3ca-4c2a-9ffd-0741c521cb14/mini.png)](https://insight.sensiolabs.com/projects/92d544b4-a3ca-4c2a-9ffd-0741c521cb14) | [![Code Climate](https://codeclimate.com/github/AsgardCms/Setting/badges/gpa.svg)](https://codeclimate.com/github/AsgardCms/Setting) |
| Menu | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/AsgardCms/Menu/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/AsgardCms/Menu/?branch=master) | [![SensioLabsInsight](https://insight.sensiolabs.com/projects/f6ca068c-662b-4606-9bee-262abc858f02/mini.png)](https://insight.sensiolabs.com/projects/f6ca068c-662b-4606-9bee-262abc858f02) | [![Code Climate](https://codeclimate.com/github/AsgardCms/Menu/badges/gpa.svg)](https://codeclimate.com/github/AsgardCms/Menu) |
| Workshop | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/AsgardCms/Workshop/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/AsgardCms/Workshop/?branch=master) | [![SensioLabsInsight](https://insight.sensiolabs.com/projects/d6258dc8-cd2a-4288-94a5-8a8089e6609e/mini.png)](https://insight.sensiolabs.com/projects/d6258dc8-cd2a-4288-94a5-8a8089e6609e) | [![Code Climate](https://codeclimate.com/github/AsgardCms/Workshop/badges/gpa.svg)](https://codeclimate.com/github/AsgardCms/Workshop) |
| Media | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/AsgardCms/Media/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/AsgardCms/Media/?branch=master) | [![SensioLabsInsight](https://insight.sensiolabs.com/projects/648270bf-8b9c-4994-b006-a948fef307b2/mini.png)](https://insight.sensiolabs.com/projects/648270bf-8b9c-4994-b006-a948fef307b2) | [![Code Climate](https://codeclimate.com/github/AsgardCms/Media/badges/gpa.svg)](https://codeclimate.com/github/AsgardCms/Media) |
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).
@import "bootstrap/bootstrap";
@btn-font-weight: 300;
@font-family-sans-serif: "Roboto", Helvetica, Arial, sans-serif;
body, label, .checkbox label {
font-weight: 300;
}
//
// Alerts
// --------------------------------------------------
// Base styles
// -------------------------
.alert {
padding: @alert-padding;
margin-bottom: @line-height-computed;
border: 1px solid transparent;
border-radius: @alert-border-radius;
// Headings for larger alerts
h4 {
margin-top: 0;
// Specified for the h4 to prevent conflicts of changing @headings-color
color: inherit;
}
// Provide class for links that match alerts
.alert-link {
font-weight: @alert-link-font-weight;
}
// Improve alignment and spacing of inner content
> p,
> ul {
margin-bottom: 0;
}
> p + p {
margin-top: 5px;
}
}
// Dismissible alerts
//
// Expand the right padding and account for the close button's positioning.
.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
.alert-dismissible {
padding-right: (@alert-padding + 20);
// Adjust close link position
.close {
position: relative;
top: -2px;
right: -21px;
color: inherit;
}
}
// Alternate styles
//
// Generate contextual modifier classes for colorizing the alert.
.alert-success {
.alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
}
.alert-info {
.alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
}
.alert-warning {
.alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
}
.alert-danger {
.alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
}
//
// Badges
// --------------------------------------------------
// Base class
.badge {
display: inline-block;
min-width: 10px;
padding: 3px 7px;
font-size: @font-size-small;
font-weight: @badge-font-weight;
color: @badge-color;
line-height: @badge-line-height;
vertical-align: baseline;
white-space: nowrap;
text-align: center;
background-color: @badge-bg;
border-radius: @badge-border-radius;
// Empty badges collapse automatically (not available in IE8)
&:empty {
display: none;
}
// Quick fix for badges in buttons
.btn & {
position: relative;
top: -1px;
}
.btn-xs & {
top: 0;
padding: 1px 5px;
}
// Hover state, but only for links
a& {
&:hover,
&:focus {
color: @badge-link-hover-color;
text-decoration: none;
cursor: pointer;
}
}
// Account for badges in navs
.list-group-item.active > &,
.nav-pills > .active > a > & {
color: @badge-active-color;
background-color: @badge-active-bg;
}
.list-group-item > & {
float: right;
}
.list-group-item > & + & {
margin-right: 5px;
}
.nav-pills > li > a > & {
margin-left: 3px;
}
}
// Core variables and mixins
@import "variables.less";
@import "mixins.less";
// Reset and dependencies
@import "normalize.less";
@import "print.less";
@import "glyphicons.less";
// Core CSS
@import "scaffolding.less";
@import "type.less";
@import "code.less";
@import "grid.less";
@import "tables.less";
@import "forms.less";
@import "buttons.less";
// Components
@import "component-animations.less";
@import "dropdowns.less";
@import "button-groups.less";
@import "input-groups.less";
@import "navs.less";
@import "navbar.less";
@import "breadcrumbs.less";
@import "pagination.less";
@import "pager.less";
@import "labels.less";
@import "badges.less";
@import "jumbotron.less";
@import "thumbnails.less";
@import "alerts.less";
@import "progress-bars.less";
@import "media.less";
@import "list-group.less";
@import "panels.less";
@import "responsive-embed.less";
@import "wells.less";
@import "close.less";
// Components w/ JavaScript
@import "modals.less";
@import "tooltip.less";
@import "popovers.less";
@import "carousel.less";
// Utility classes
@import "utilities.less";
@import "responsive-utilities.less";
//
// Breadcrumbs
// --------------------------------------------------
.breadcrumb {
padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
margin-bottom: @line-height-computed;
list-style: none;
background-color: @breadcrumb-bg;
border-radius: @border-radius-base;
> li {
display: inline-block;
+ li:before {
content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
padding: 0 5px;
color: @breadcrumb-color;
}
}
> .active {
color: @breadcrumb-active-color;
}
}
//
// Button groups
// --------------------------------------------------
// Make the div behave like a button
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle; // match .btn alignment given font-size hack above
> .btn {
position: relative;
float: left;
// Bring the "active" button to the front
&:hover,
&:focus,
&:active,
&.active {
z-index: 2;
}
}
}
// Prevent double borders when buttons are next to each other
.btn-group {
.btn + .btn,
.btn + .btn-group,
.btn-group + .btn,
.btn-group + .btn-group {
margin-left: -1px;
}
}
// Optional: Group multiple button groups together for a toolbar
.btn-toolbar {
margin-left: -5px; // Offset the first child's margin
&:extend(.clearfix all);
.btn-group,
.input-group {
float: left;
}
> .btn,
> .btn-group,
> .input-group {
margin-left: 5px;
}
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
.btn-group > .btn:first-child {
margin-left: 0;
&:not(:last-child):not(.dropdown-toggle) {
.border-right-radius(0);
}
}
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
.border-left-radius(0);
}
// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child {
> .btn:last-child,
> .dropdown-toggle {
.border-right-radius(0);
}
}
.btn-group > .btn-group:last-child > .btn:first-child {
.border-left-radius(0);
}
// On active and open, don't show outline
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
// Sizing
//
// Remix the default button sizing classes into new ones for easier manipulation.
.btn-group-xs > .btn { &:extend(.btn-xs); }
.btn-group-sm > .btn { &:extend(.btn-sm); }
.btn-group-lg > .btn { &:extend(.btn-lg); }
// Split button dropdowns
// ----------------------
// Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
// The clickable button for toggling the menu
// Remove the gradient and set the same inset shadow as the :active state
.btn-group.open .dropdown-toggle {
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
// Show no shadow for `.btn-link` since it has no other button styles.
&.btn-link {
.box-shadow(none);
}
}
// Reposition the caret
.btn .caret {
margin-left: 0;
}
// Carets in other button sizes
.btn-lg .caret {
border-width: @caret-width-large @caret-width-large 0;
border-bottom-width: 0;
}
// Upside down carets for .dropup
.dropup .btn-lg .caret {
border-width: 0 @caret-width-large @caret-width-large;
}
// Vertical button groups
// ----------------------
.btn-group-vertical {
> .btn,
> .btn-group,
> .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
// Clear floats so dropdown menus can be properly placed
> .btn-group {
&:extend(.clearfix all);
> .btn {
float: none;
}
}
> .btn + .btn,
> .btn + .btn-group,
> .btn-group + .btn,
> .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
}
.btn-group-vertical > .btn {
&:not(:first-child):not(:last-child) {
border-radius: 0;
}
&:first-child:not(:last-child) {
border-top-right-radius: @border-radius-base;
.border-bottom-radius(0);
}
&:last-child:not(:first-child) {
border-bottom-left-radius: @border-radius-base;
.border-top-radius(0);
}
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) {
> .btn:last-child,
> .dropdown-toggle {
.border-bottom-radius(0);
}
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
.border-top-radius(0);
}
// Justified button groups
// ----------------------
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
> .btn,
> .btn-group {
float: none;
display: table-cell;
width: 1%;
}
> .btn-group .btn {
width: 100%;
}
> .btn-group .dropdown-menu {
left: auto;
}
}
// Checkbox and radio options
//
// In order to support the browser's form validation feedback, powered by the
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
// `display: none;` or `visibility: hidden;` as that also hides the popover.
// Simply visually hiding the inputs via `opacity` would leave them clickable in
// certain cases which is prevented by using `clip` and `pointer-events`.
// This way, we ensure a DOM element is visible to position the popover from.
//
// See https://github.com/twbs/bootstrap/pull/12794 and
// https://github.com/twbs/bootstrap/pull/14559 for more information.
[data-toggle="buttons"] {
> .btn,
> .btn-group > .btn {
input[type="radio"],
input[type="checkbox"] {
position: absolute;
clip: rect(0,0,0,0);
pointer-events: none;
}
}
}
//
// Buttons
// --------------------------------------------------
// Base styles
// --------------------------------------------------
.btn {
display: inline-block;
margin-bottom: 0; // For input.btn
font-weight: @btn-font-weight;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid transparent;
white-space: nowrap;
.button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
.user-select(none);
&,
&:active,
&.active {
&:focus,
&.focus {
.tab-focus();
}
}
&:hover,
&:focus,
&.focus {
color: @btn-default-color;
text-decoration: none;
}
&:active,
&.active {
outline: 0;
background-image: none;
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
}
&.disabled,
&[disabled],
fieldset[disabled] & {
cursor: @cursor-disabled;
pointer-events: none; // Future-proof disabling of clicks
.opacity(.65);
.box-shadow(none);
}
}
// Alternate buttons
// --------------------------------------------------
.btn-default {
.button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
}
.btn-primary {
.button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
}
// Success appears as green
.btn-success {
.button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
}
// Info appears as blue-green
.btn-info {
.button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
}
// Warning appears as orange
.btn-warning {
.button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
}
// Danger and error appear as red
.btn-danger {
.button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
}
// Link buttons
// -------------------------
// Make a button look and behave like a link
.btn-link {
color: @link-color;
font-weight: normal;
border-radius: 0;
&,
&:active,
&.active,
&[disabled],
fieldset[disabled] & {
background-color: transparent;
.box-shadow(none);
}
&,
&:hover,
&:focus,
&:active {
border-color: transparent;
}
&:hover,
&:focus {
color: @link-hover-color;
text-decoration: underline;
background-color: transparent;
}
&[disabled],
fieldset[disabled] & {
&:hover,
&:focus {
color: @btn-link-disabled-color;
text-decoration: none;
}
}
}
// Button Sizes
// --------------------------------------------------
.btn-lg {
// line-height: ensure even-numbered height of button next to large input
.button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
}
.btn-sm {
// line-height: ensure proper height of button next to small input
.button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
}
.btn-xs {
.button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);
}
// Block button
// --------------------------------------------------
.btn-block {
display: block;
width: 100%;
}
// Vertically space out multiple block buttons
.btn-block + .btn-block {
margin-top: 5px;
}
// Specificity overrides
input[type="submit"],
input[type="reset"],
input[type="button"] {
&.btn-block {
width: 100%;
}
}
//
// Carousel
// --------------------------------------------------
// Wrapper for the slide container and indicators
.carousel {
position: relative;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
> .item {
display: none;
position: relative;
.transition(.6s ease-in-out left);
// Account for jankitude on images
> img,
> a > img {
&:extend(.img-responsive);
line-height: 1;
}
// WebKit CSS3 transforms for supported devices
@media all and (transform-3d), (-webkit-transform-3d) {
transition: transform .6s ease-in-out;
backface-visibility: hidden;
perspective: 1000;
&.next,
&.active.right {
transform: translate3d(100%, 0, 0);
left: 0;
}
&.prev,
&.active.left {
transform: translate3d(-100%, 0, 0);
left: 0;
}
&.next.left,
&.prev.right,
&.active {
transform: translate3d(0, 0, 0);
left: 0;
}
}
}
> .active,
> .next,
> .prev {
display: block;
}
> .active {
left: 0;
}
> .next,
> .prev {
position: absolute;
top: 0;
width: 100%;
}
> .next {
left: 100%;
}
> .prev {
left: -100%;
}
> .next.left,
> .prev.right {
left: 0;
}
> .active.left {
left: -100%;
}
> .active.right {
left: 100%;
}
}
// Left/right controls for nav
// ---------------------------
.carousel-control {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: @carousel-control-width;
.opacity(@carousel-control-opacity);
font-size: @carousel-control-font-size;
color: @carousel-control-color;
text-align: center;
text-shadow: @carousel-text-shadow;
// We can't have this transition here because WebKit cancels the carousel
// animation if you trip this while in the middle of another animation.
// Set gradients for backgrounds
&.left {
#gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));
}
&.right {
left: auto;
right: 0;
#gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));
}
// Hover/focus state
&:hover,
&:focus {
outline: 0;
color: @carousel-control-color;
text-decoration: none;
.opacity(.9);
}
// Toggles
.icon-prev,
.icon-next,
.glyphicon-chevron-left,
.glyphicon-chevron-right {
position: absolute;
top: 50%;
z-index: 5;
display: inline-block;
}
.icon-prev,
.glyphicon-chevron-left {
left: 50%;
margin-left: -10px;
}
.icon-next,
.glyphicon-chevron-right {
right: 50%;
margin-right: -10px;
}
.icon-prev,
.icon-next {
width: 20px;
height: 20px;
margin-top: -10px;
font-family: serif;
}
.icon-prev {
&:before {
content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
}
}
.icon-next {
&:before {
content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
}
}
}
// Optional indicator pips
//
// Add an unordered list with the following class and add a list item for each
// slide your carousel holds.
.carousel-indicators {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
margin-left: -30%;
padding-left: 0;
list-style: none;
text-align: center;
li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
border: 1px solid @carousel-indicator-border-color;
border-radius: 10px;
cursor: pointer;
// IE8-9 hack for event handling
//
// Internet Explorer 8-9 does not support clicks on elements without a set
// `background-color`. We cannot use `filter` since that's not viewed as a
// background color by the browser. Thus, a hack is needed.
//
// For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
// set alpha transparency for the best results possible.
background-color: #000 \9; // IE8
background-color: rgba(0,0,0,0); // IE9
}
.active {
margin: 0;
width: 12px;
height: 12px;
background-color: @carousel-indicator-active-bg;
}
}
// Optional captions
// -----------------------------
// Hidden by default for smaller viewports
.carousel-caption {
position: absolute;
left: 15%;
right: 15%;
bottom: 20px;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: @carousel-caption-color;
text-align: center;
text-shadow: @carousel-text-shadow;
& .btn {
text-shadow: none; // No shadow for button elements in carousel-caption
}
}
// Scale up controls for tablets and up
@media screen and (min-width: @screen-sm-min) {
// Scale up the controls a smidge
.carousel-control {
.glyphicon-chevron-left,
.glyphicon-chevron-right,
.icon-prev,
.icon-next {
width: 30px;
height: 30px;
margin-top: -15px;
font-size: 30px;
}
.glyphicon-chevron-left,
.icon-prev {
margin-left: -15px;
}
.glyphicon-chevron-right,
.icon-next {
margin-right: -15px;
}
}
// Show and left align the captions
.carousel-caption {
left: 20%;
right: 20%;
padding-bottom: 30px;
}
// Move up the indicators
.carousel-indicators {
bottom: 20px;
}
}
//
// Close icons
// --------------------------------------------------
.close {
float: right;
font-size: (@font-size-base * 1.5);
font-weight: @close-font-weight;
line-height: 1;
color: @close-color;
text-shadow: @close-text-shadow;
.opacity(.2);
&:hover,
&:focus {
color: @close-color;
text-decoration: none;
cursor: pointer;
.opacity(.5);
}
// Additional properties for button version
// iOS requires the button element instead of an anchor tag.
// If you want the anchor version, it requires `href="#"`.
button& {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment