auth = $auth; } /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param Closure $theNext * @param string|null $guard * * @return mixed * @internal param Closure $next */ public function handle(Request $request, Closure $theNext, $guard = null) { if (!Auth::guard($guard)->guest()) { // ignore preference. set the range to be the current month: if (!Session::has('start') && !Session::has('end')) { /** @var \FireflyIII\Models\Preference $viewRange */ $viewRange = Preferences::get('viewRange', '1M')->data; $start = new Carbon; $start = Navigation::updateStartDate($viewRange, $start); $end = Navigation::updateEndDate($viewRange, $start); Session::put('start', $start); Session::put('end', $end); } if (!Session::has('first')) { /** @var JournalRepositoryInterface $repository */ $repository = app(JournalRepositoryInterface::class); $journal = $repository->first(); $first = Carbon::now()->startOfYear(); if (!is_null($journal->id)) { $first = $journal->date; } Session::put('first', $first); } } $this->datePicker(); return $theNext($request); } private function datePicker() { $current = Carbon::now()->formatLocalized('%B %Y'); $next = Carbon::now()->endOfMonth()->addDay()->formatLocalized('%B %Y'); $prev = Carbon::now()->startOfMonth()->subDay()->formatLocalized('%B %Y'); View::share('currentPeriodName', $current); View::share('previousPeriodName', $prev); View::share('nextPeriodName', $next); } }