Added main page

This commit adds the main page (incl. breadcrumbs), a license file, a contact form (with recaptcha) and a captcha config file.
This commit is contained in:
2020-04-27 07:28:00 +01:00
parent f80e9fcba0
commit 3bd773e2d3
27 changed files with 1505 additions and 106 deletions

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use GuzzleHttp;
class ContactController extends Controller
{
public function create(Request $request)
{
// TODO: use service provider instead
$client = new GuzzleHttp\Client();
$name = $request->name;
$email = $request->email;
$subject = $request->subject;
$msg = $request->msg;
$challenge = $request->input('captcha');
$verifyrequest = $client->request('POST', config('recaptcha.verify.apiurl'), [
'form_params' => [
'secret' => config('recaptcha.keys.secret'),
'response' => $challenge,
'remoteip' => $_SERVER['REMOTE_ADDR']
]
]);
$response = json_decode($verifyrequest->getBody(), true);
if (!$response['success'])
{
$request->session()->flash('error', 'Beep beep boop... Robot? Submission failed.');
return redirect()->back();
}
// TODO: Send mail
$request->session()->flash('success', 'Message sent successfully! We usually respond within 48 hours.');
return redirect()->back();
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index()
{
return view('home');
}
}

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class NewContactSubmission extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('view.name');
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class GuzzleServiceProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
}
}