FEATURE: make email sending working
This commit is contained in:
@@ -1,23 +1,50 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Modules\ContactForm\Http\Controllers\Visitor;
|
namespace Modules\ContactForm\Http\Controllers\Visitor;
|
||||||
|
|
||||||
|
use App\Helpers\Template;
|
||||||
use App\Models\Content;
|
use App\Models\Content;
|
||||||
|
use Illuminate\Mail\Message;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
use Modules\ContactForm\Http\Requests\SendNewEmailRequest;
|
use Modules\ContactForm\Http\Requests\SendNewEmailRequest;
|
||||||
use Pingpong\Modules\Routing\Controller;
|
use Pingpong\Modules\Routing\Controller;
|
||||||
|
|
||||||
class CreateNewMessage extends Controller
|
class CreateNewMessage extends Controller
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Method for sending emails via contact form
|
||||||
|
*
|
||||||
|
* @param SendNewEmailRequest $request
|
||||||
|
* @param $formId
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
public function postMessage(SendNewEmailRequest $request, $formId)
|
public function postMessage(SendNewEmailRequest $request, $formId)
|
||||||
{
|
{
|
||||||
|
// load form settings
|
||||||
$form = Content::where('module_handler', config('contactform.handler'))
|
$form = Content::where('module_handler', config('contactform.handler'))
|
||||||
->findOrFail($formId);
|
->findOrFail($formId);
|
||||||
|
|
||||||
|
$form->module_settings = json_decode($form->module_settings);
|
||||||
|
|
||||||
dd($request->name, $form);
|
// select template
|
||||||
|
$template = isset($form->module_settings->emailTemplate) ? $form->module_settings->emailTemplate : 'contactform::emails.default';
|
||||||
|
|
||||||
|
// send email
|
||||||
|
$status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) {
|
||||||
|
$message->from($request->email, $request->name);
|
||||||
|
$message->to($form->module_settings->email)
|
||||||
|
->subject('Your Reminder!');
|
||||||
|
});
|
||||||
|
|
||||||
return redirect()
|
// inform user about success or failure
|
||||||
->route('page.content', ['url' => $form->url])
|
if ($status) {
|
||||||
->with('success', '');
|
return redirect()
|
||||||
|
->route('page.content', ['url' => $form->url])
|
||||||
|
->with('success', '');
|
||||||
|
} else {
|
||||||
|
return redirect()
|
||||||
|
->route('page.content', ['url' => $form->url])
|
||||||
|
->with('error', '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ class SendNewEmailRequest extends Request
|
|||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
'name' => 'required',
|
||||||
|
'email' => 'required|email',
|
||||||
|
'message' => 'required',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<p>
|
||||||
|
<strong>Ahoj {{$data->name}}</strong>
|
||||||
|
</p>
|
||||||
|
<p>Diky za zpravu: <em>{{$data->message}}</em></p>
|
||||||
Reference in New Issue
Block a user