From ea2894cd4b3675d6314e836bdd642263018d082e Mon Sep 17 00:00:00 2001 From: shibafu Date: Sun, 24 May 2020 17:49:22 +0900 Subject: [PATCH] =?UTF-8?q?=E7=B0=A1=E5=8D=98=E3=81=AA=E3=83=90=E3=83=AA?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/UserController.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 471005b..3c51369 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -9,6 +9,7 @@ use Carbon\CarbonInterface; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; +use Validator; class UserController extends Controller { @@ -84,7 +85,18 @@ SQL abort(404); } + $validator = Validator::make(compact('year'), [ + 'year' => 'required|date_format:Y' + ]); + if ($validator->fails()) { + return redirect()->route('user.stats', compact('name')); + } + $availableMonths = $this->makeStatsAvailableMonths($user); + if (!isset($availableMonths[$year])) { + return redirect()->route('user.stats', compact('name')); + } + $graphData = $this->makeGraphData( $user, Carbon::createFromDate($year, 1, 1, config('app.timezone'))->startOfDay(), @@ -103,7 +115,19 @@ SQL abort(404); } + $validator = Validator::make(compact('year', 'month'), [ + 'year' => 'required|date_format:Y', + 'month' => 'required|date_format:m' + ]); + if ($validator->fails()) { + return redirect()->route('user.stats.yearly', compact('name', 'year')); + } + $availableMonths = $this->makeStatsAvailableMonths($user); + if (!isset($availableMonths[$year]) || !in_array($month, $availableMonths[$year], false)) { + return redirect()->route('user.stats.yearly', compact('name', 'year')); + } + $graphData = $this->makeGraphData( $user, Carbon::createFromDate($year, $month, 1, config('app.timezone'))->startOfDay(),