FEATURE #1853: move widget areas 'views' into middleware

This commit is contained in:
Michal Kváček
2017-08-10 19:59:40 +02:00
parent c2209538db
commit 6af0c16a9a
8 changed files with 57 additions and 20 deletions
+9 -9
View File
@@ -2,8 +2,7 @@
namespace App\Http;
use App\Http\Middleware\TemplatePathInstaller;
use App\Http\Middleware\WidgetInstaller;
use App\Http\Middleware\Web\IncrementWidgetsViews;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode;
@@ -37,12 +36,13 @@ class Kernel extends HttpKernel
'web' => [
CheckForMaintenanceMode::class,
AddQueuedCookiesToResponse::class,
IncrementWidgetsViews::class
],
'admin' => [
Middleware\Authenticate::class,
Middleware\AdminMenuRegistrator::class,
TemplatePathInstaller::class,
WidgetInstaller::class,
Middleware\Admin\Authenticate::class,
Middleware\Admin\AdminMenuRegistrator::class,
Middleware\Admin\TemplatePathInstaller::class,
Middleware\Admin\WidgetInstaller::class,
],
'api' => [
'throttle:60,1',
@@ -54,9 +54,9 @@ class Kernel extends HttpKernel
* @var array
*/
protected $routeMiddleware = [
'auth' => Middleware\Authenticate::class,
'onlyAdmin' => Middleware\RequireAdminRole::class,
'adminMenu' => Middleware\AdminMenuRegistrator::class,
'auth' => Middleware\Admin\Authenticate::class,
'onlyAdmin' => Middleware\Admin\RequireAdminRole::class,
'adminMenu' => Middleware\Admin\AdminMenuRegistrator::class,
'guest' => Middleware\RedirectIfAuthenticated::class,
'throttle' => ThrottleRequests::class,
'localize' => LaravelLocalizationRoutes::class,
@@ -1,6 +1,6 @@
<?php
namespace App\Http\Middleware;
namespace App\Http\Middleware\Admin;
use App\CMS\Handlers\Handler;
use App\CMS\Repositories\Module as ModuleRepository;
@@ -1,6 +1,6 @@
<?php
namespace App\Http\Middleware;
namespace App\Http\Middleware\Admin;
use App\Models\User;
use Closure;
@@ -1,6 +1,6 @@
<?php
namespace App\Http\Middleware;
namespace App\Http\Middleware\Admin;
use App\Models\User;
use Closure;
@@ -1,6 +1,6 @@
<?php
namespace App\Http\Middleware;
namespace App\Http\Middleware\Admin;
use App\CMS\Handlers\Registrators\TemplateRegistrator;
use Closure;
@@ -1,6 +1,6 @@
<?php
namespace App\Http\Middleware;
namespace App\Http\Middleware\Admin;
use App\CMS\Handlers\Registrators\WidgetRegistrator;
use Closure;
@@ -0,0 +1,33 @@
<?php
namespace App\Http\Middleware\Web;
use App\CMS\Helpers\WidgetAreas;
use App\Models\Widgets\WidgetArea;
use Closure;
class IncrementWidgetsViews
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
return $next($request);
}
public function terminate($request, $response)
{
$widgets = WidgetAreas::getLoadedWidgets();
if (!empty($widgets['areas'])) {
WidgetArea::whereIn('code', $widgets['areas'])
->increment('viewed');
}
}
}