]> git.localhorst.tv Git - alttp.git/blobdiff - app/Http/Controllers/SitemapXmlController.php
sitemap xml controller
[alttp.git] / app / Http / Controllers / SitemapXmlController.php
diff --git a/app/Http/Controllers/SitemapXmlController.php b/app/Http/Controllers/SitemapXmlController.php
new file mode 100644 (file)
index 0000000..35302c4
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\SitemapUrl;
+use App\Models\Tournament;
+use Illuminate\Http\Request;
+
+class SitemapXmlController extends Controller
+{
+
+       public function index() {
+               $urls = [];
+
+               foreach (Tournament::all() as $tournament) {
+                       $url = new SitemapUrl();
+                       $url->path = '/tournaments'.$tournament->id;
+                       $url->lastmod = $tournament->updated_at ? $tournament->updated_at : ($tournament->created_at ? $tournament->created_at : now());
+                       $url->changefreq = $tournament->locked ? 'never' : 'daily';
+                       $url->priority = $tournament->locked ? 0.5 : 1.0;
+                       $urls[] = $url;
+               }
+
+               return response()->view('sitemap', [
+                       'urls' => $urls,
+               ])->header('Content-Type', 'text/xml');
+       }
+
+}