123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Http\Request;
- use Symfony\Component\HttpFoundation\Response;
- use App\Helpers\SiteCache;
- use App\Services\TemplateUpdater;
- use App\Services\LiquidRenderer;
- class LoadDistData
- {
-
- public function handle(Request $request, Closure $next): Response
- {
-
- $domain = getHost();
-
- $dist = SiteCache::getDist($domain);
- $dist = $dist ? unserialize($dist) : null;
-
- if (!$dist) {
- abort(404, 'site not found.');
- }
-
- if ( !$dist->publishList->template_local_code ||
- $dist->publishList->template_update_code !== $dist->publishList->template_local_code) {
-
-
- TemplateUpdater::updateTemplates($dist);
-
- SiteCache::clearDistCache($domain);
- $dist = SiteCache::getDist($domain);
- $dist = $dist ? unserialize($dist) : null;
- if (!$dist) {
- abort(404, 'site not found.');
- }
- }
-
- app()->instance('dist', $dist);
-
- $request->attributes->set('dist', $dist);
-
- return $next($request);
- }
- }
|