first(); // Get connection string if ($upgraded && $upgraded->value !== '1.7') { $connection = 'quiet-update'; } else { $connection = $this->get_setup_status(); } // Get all settings $settings = Setting::all(); // Get legal pages $legal = Page::whereIn('slug', ['terms-of-service', 'privacy-policy', 'cookie-policy']) ->get(['visibility', 'title', 'slug']); } catch (PDOException $e) { $connection = 'setup-database'; $settings = null; } return view("index") ->with('settings', $settings ? json_decode($settings->pluck('value', 'name')->toJson()) : null) ->with('legal', isset($legal) ? $legal : null) ->with('installation', $connection); } /** * Check if setup wizard was passed * * @return string */ private function get_setup_status(): string { $setup_success = get_setting('setup_wizard_success'); $connection = boolval($setup_success) ? 'setup-done' : 'setup-disclaimer'; return $connection; } /** * Send contact message from pages * * @param SendMessageRequest $request * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response */ public function contact_form(SendMessageRequest $request) { // Get receiver email $receiver = Setting::where('name', 'contact_email')->first(); // Send message Mail::to($receiver->value)->send(new SendSupportForm($request->all())); return response('Done', 200); } /** * Get single page content * * @param $slug * @return PageResource */ public function get_page($slug) { return new PageResource( Page::where('slug', $slug)->first() ); } /** * Get selected settings from public route * * @param Request $request * @return mixed */ public function get_settings(Request $request) { $column = $request->get('column'); if (strpos($column, '|') !== false) { $columns = collect(explode('|', $column)); $columns->each(function ($column) { if (!in_array($column, $this->whitelist)) abort(401); }); return Setting::whereIn('name', $columns)->pluck('value', 'name'); } if (!in_array($column, $this->whitelist)) abort(401); return Setting::where('name', $column)->pluck('value', 'name'); } }