]> git.localhorst.tv Git - alttp.git/blobdiff - app/Http/Controllers/SitemapXmlController.php
random chat buttons
[alttp.git] / app / Http / Controllers / SitemapXmlController.php
index daa3699b714d72fd4f8ee4a9e6edcbdfe5896546..c538bc447be7cfad8de6b462a89871a5b4e11277 100644 (file)
@@ -2,8 +2,11 @@
 
 namespace App\Http\Controllers;
 
+use App\Models\Episode;
+use App\Models\Event;
 use App\Models\SitemapUrl;
 use App\Models\Technique;
+use App\Models\TechniqueMap;
 use App\Models\Tournament;
 use Illuminate\Http\Request;
 
@@ -22,11 +25,23 @@ class SitemapXmlController extends Controller
                        $urls[] = $url;
                }
 
+               foreach (['lw', 'dw', 'sp', 'uw', 'uw2'] as $map) {
+                       $tech = TechniqueMap::where('map', '=', $map)->latest()->first();
+                       $url = new SitemapUrl();
+                       $url->path = '/map/'.$map;
+                       if ($tech) {
+                               $url->lastmod = $tech->created_at;
+                       }
+                       $url->changefreq = 'monthly';
+                       $url->priority = 0.9;
+                       $urls[] = $url;
+               }
+
                $url = new SitemapUrl();
                $url->path = '/tech';
                $url->lastmod = Technique::where('type', '=', 'tech')->where('index', true)->latest()->first()->created_at;
                $url->changefreq = 'monthly';
-               $url->priority = 0.5;
+               $url->priority = 0.8;
                $urls[] = $url;
 
                foreach (Technique::where('type', '=', 'tech')->where('index', true)->get() as $tech) {
@@ -38,6 +53,29 @@ class SitemapXmlController extends Controller
                        $urls[] = $url;
                }
 
+               $url = new SitemapUrl();
+               $url->path = '/schedule';
+               $url->lastmod = Episode::where('confirmed', true)->latest()->first()->created_at;
+               $url->changefreq = 'daily';
+               $url->priority = 1;
+               $urls[] = $url;
+
+               $url = new SitemapUrl();
+               $url->path = '/events';
+               $url->lastmod = Event::where('visible', true)->latest()->first()->created_at;
+               $url->changefreq = 'monthly';
+               $url->priority = 0.8;
+               $urls[] = $url;
+
+               foreach (Event::where('visible', true)->get() as $event) {
+                       $url = new SitemapUrl();
+                       $url->path = '/events/'.rawurlencode($event->name);
+                       $url->lastmod = $event->updated_at ? $event->updated_at : ($event->created_at ? $event->created_at : now());
+                       $url->changefreq = 'never';
+                       $url->priority = 0.4;
+                       $urls[] = $url;
+               }
+
                return response()->view('sitemap', [
                        'urls' => $urls,
                ])->header('Content-Type', 'text/xml');