123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace App\Http\Middleware;
- use App\Services\PreviewTemplateUpdater;
- 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(!empty($dist?->publishList?->template_update_code)) {
- 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.');
- }
- }
- }
-
- $dist->domain=$domain;
-
- app()->instance('dist', $dist);
-
-
- $menus_header=SiteCache::getMenu($domain,0,$dist->id);
- $menus_footer=SiteCache::getMenu($domain,1,$dist->id);
- app()->instance('menus_header', $menus_header);
- app()->instance('menus_footer', $menus_footer);
- $currentUrl = url()->current();
- $secureUrl = preg_replace('/^http:/i', 'https:', $currentUrl);
- app()->instance('current_url', $secureUrl);
-
- $preview = $request->get('mtb-preview');
- if ($preview) {
- $update = PreviewTemplateUpdater::updateTemplates($dist);
- if ($update) {
- die($update);
- }
- }
-
- return $next($request);
- }
- }
|