Skip to content
This repository was archived by the owner on Dec 6, 2019. It is now read-only.

Commit c764a30

Browse files
committed
Restructure sitemaps
1 parent feb7573 commit c764a30

File tree

6 files changed

+75
-14
lines changed

6 files changed

+75
-14
lines changed

app/Console/Commands/NameHistory.php

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace App\Console\Commands;
4+
5+
use Illuminate\Console\Command;
6+
7+
class NameHistory extends Command {
8+
9+
protected $signature = 'app:namehistory {uuid}';
10+
protected $description = 'Command description';
11+
12+
/**
13+
* Execute the console command.
14+
*
15+
* @return mixed
16+
*/
17+
public function handle() {
18+
//
19+
}
20+
}

app/Console/Commands/NameResolve.php

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace App\Console\Commands;
4+
5+
use Illuminate\Console\Command;
6+
7+
class NameResolve extends Command {
8+
9+
const UUID_URL = "https://api.mojang.com/users/profiles/minecraft/<username>?at=<timestamp>";
10+
const MULTIPLE_UUID_URL = "https://api.mojang.com/profiles/minecraft";
11+
12+
protected $signature = 'app:uuid {playerName}';
13+
14+
protected $description = 'Get the UUID from a playername';
15+
16+
/**
17+
* Execute the console command.
18+
*
19+
* @return mixed
20+
*/
21+
public function handle() {
22+
//
23+
}
24+
}

app/Http/Controllers/SitemapController.php

+26-12
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,18 @@
22

33
namespace App\Http\Controllers;
44

5-
use Illuminate\Http\Request;
6-
use App\Http\Requests;
75
use \App\Server;
86

97
class SitemapController extends Controller {
108

11-
public function get() {
9+
public function getServerPages() {
1210
/* @var $sitemap Roumen\Sitemap\Sitemap */
1311
$sitemap = app()->make("sitemap");
12+
13+
$sitemap->setCache('sitemap.server_pages');
1414
if (!$sitemap->isCached()) {
1515
$servers = Server::whereOnline(true)->whereNotNull('motd')->orderBy('updated_at', 'desc')->get();
1616

17-
$sitemap->add(url('/'), collect($servers)->first()->updated_at, '1.0', 'daily');
18-
19-
//add sites
20-
$serverCount = $servers->count();
21-
//5 = per page
22-
for ($page = 1; $page <= ceil($serverCount / 5); $page++) {
23-
$sitemap->add(url('/') . '/?page=' . $page, collect($servers)->first()->updated_at, '0.6', 'weekly');
24-
}
25-
2617
/* @var $server \App\Server */
2718
foreach ($servers as $server) {
2819
$address = $server->address;
@@ -41,6 +32,29 @@ public function get() {
4132

4233
$sitemap->add($loc, $lastmod, 0.8, $freq, $images);
4334
}
35+
}
36+
37+
return $sitemap->render();
38+
}
39+
40+
public function getServerIndex() {
41+
/* @var $sitemap \Roumen\Sitemap\Sitemap */
42+
$sitemap = app()->make("sitemap");
43+
44+
$sitemap->setCache('sitemap.server_index');
45+
if (!$sitemap->isCached()) {
46+
/* @var $lastUpdatedServer Server */
47+
$lastUpdatedServer = Server::whereOnline(true)->whereNotNull('motd')->orderBy('updated_at', 'desc')
48+
->firstOrFail();
49+
50+
$sitemap->add(url('/server'), $lastUpdatedServer->updated_at, '1.0', 'daily');
51+
52+
//add sites
53+
$serverCount = Server::whereOnline(true)->whereNotNull('motd')->count();
54+
//5 = per page
55+
for ($page = 1; $page <= ceil($serverCount / 5); $page++) {
56+
$sitemap->add(url('/server') . '/?page=' . $page, $lastUpdatedServer->updated_at, '0.6', 'weekly');
57+
}
4458

4559
$sitemap->add(url('/server/add'), null, '0.5', 'weekly');
4660
$sitemap->add(url('/search'), null, '0.5', 'weekly');

app/Http/routes.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
Route::get('/stats', 'ApiController@stats');
5050
});
5151

52-
Route::get('/sitemap.xml', 'SitemapController@get');
52+
Route::get('/sitemap_server_pages.xml', 'SitemapController@getServerPages');
53+
Route::get('/sitemap_server_index.xml', 'SitemapController@getServerIndex');
5354

5455
Route::get('/.git', 'ContactController@git');

config/sitemap.php

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
/* Simple configuration file for Laravel Sitemap package */
44
return [
5+
//disable cache in debug mode
56
'use_cache' => !env('APP_DEBUG', false),
67
'cache_key' => 'laravel-sitemap.' . config('app.url'),
78
'cache_duration' => 30,

public/robots.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
Sitemap: http://minecraft-database.com/sitemap.xml
1+
Sitemap: http://minecraft-database.com/sitemap_server_index.xml
2+
Sitemap: http://minecraft-database.com/sitemap_server_pages.xml
23

34
User-agent: *
45
Disallow: /imprint

0 commit comments

Comments
 (0)