浏览代码

Set Last-Modified header for atom feeds, fixes #2988

Daniel Supernault 2 年之前
父节点
当前提交
c18dcde38f
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7 4
      app/Http/Controllers/ProfileController.php

+ 7 - 4
app/Http/Controllers/ProfileController.php

@@ -118,8 +118,7 @@ class ProfileController extends Controller
 					'list' => $settings->show_profile_followers
 				]
 			];
-			$ui = $request->has('ui') && $request->input('ui') == 'memory' ? 'profile.memory' : 'profile.show';
-			return view($ui, compact('profile', 'settings'));
+			return view('profile.show', compact('profile', 'settings'));
 		}
 	}
 
@@ -210,7 +209,7 @@ class ProfileController extends Controller
 			->whereProfileId($pid)
 			->whereVisibility('public')
 			->whereType('photo')
-			->latest()
+			->orderByDesc('id')
 			->take(10)
 			->get()
 			->map(function($status) {
@@ -224,10 +223,14 @@ class ProfileController extends Controller
 			})
 			->values();
 		$permalink = config('app.url') . "/users/{$profile['username']}.atom";
+		$headers = ['Content-Type' => 'application/atom+xml'];
 
+		if($items && $items->count()) {
+			$headers['Last-Modified'] = now()->parse($items->first()['created_at'])->toRfc7231String();
+		}
 		return response()
 			->view('atom.user', compact('profile', 'items', 'permalink'))
-			->header('Content-Type', 'application/atom+xml');
+			->withHeaders($headers);
 	}
 
 	public function meRedirect()