first upload all files
This commit is contained in:
22
Modules/Contact/Config/assets.php
Normal file
22
Modules/Contact/Config/assets.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Define which assets will be available through the asset manager
|
||||
|--------------------------------------------------------------------------
|
||||
| These assets are registered on the asset manager
|
||||
*/
|
||||
'all-assets' => [
|
||||
'admin.contact.css' => ['module' => 'contact:admin/css/contact.css'],
|
||||
'admin.contact.js' => ['module' => 'contact:admin/js/contact.js'],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Define which default assets will always be included in your pages
|
||||
| through the asset pipeline
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
'required-assets' => [],
|
||||
];
|
||||
37
Modules/Contact/Http/Controllers/ContactController.php
Normal file
37
Modules/Contact/Http/Controllers/ContactController.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Contact\Http\Controllers;
|
||||
|
||||
use Illuminate\Mail\Message;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Modules\Contact\Http\Requests\ContactRequest;
|
||||
|
||||
class ContactController
|
||||
{
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('public.contact.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(ContactRequest $request)
|
||||
{
|
||||
Mail::raw($request->message, function (Message $message) use ($request) {
|
||||
$message->subject($request->subject)
|
||||
->replyTo($request->email)
|
||||
->to(setting('store_email'));
|
||||
});
|
||||
|
||||
return back()->with('success', trans('contact::messages.your_message_has_been_sent'));
|
||||
}
|
||||
}
|
||||
25
Modules/Contact/Http/Requests/ContactRequest.php
Normal file
25
Modules/Contact/Http/Requests/ContactRequest.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Contact\Http\Requests;
|
||||
|
||||
use Modules\Core\Http\Requests\Request;
|
||||
|
||||
class ContactRequest extends Request
|
||||
{
|
||||
protected $availableAttributes = 'contact::attributes';
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'email' => ['required', 'email'],
|
||||
'subject' => ['required'],
|
||||
'message' => ['required'],
|
||||
'captcha' => ['required', 'captcha'],
|
||||
];
|
||||
}
|
||||
}
|
||||
8
Modules/Contact/Resources/lang/en/attributes.php
Normal file
8
Modules/Contact/Resources/lang/en/attributes.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'email' => 'Email',
|
||||
'subject' => 'Subject',
|
||||
'message' => 'Message',
|
||||
'captcha' => 'Captcha',
|
||||
];
|
||||
5
Modules/Contact/Resources/lang/en/messages.php
Normal file
5
Modules/Contact/Resources/lang/en/messages.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'your_message_has_been_sent' => 'Your message has been sent.',
|
||||
];
|
||||
9
Modules/Contact/Routes/public.php
Normal file
9
Modules/Contact/Routes/public.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Spatie\Honeypot\ProtectAgainstSpam;
|
||||
|
||||
Route::get('contact', 'ContactController@create')->name('contact.create');
|
||||
Route::post('contact', 'ContactController@store')
|
||||
->name('contact.store')
|
||||
->middleware(ProtectAgainstSpam::class);
|
||||
27
Modules/Contact/composer.json
Normal file
27
Modules/Contact/composer.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "fleetcart/contact",
|
||||
"description": "The FleetCart Contact Module.",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Envay Soft",
|
||||
"email": "envaysoft@gmail.com"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.0.2"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Modules\\Contact\\": ""
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
},
|
||||
"minimum-stability": "dev"
|
||||
}
|
||||
6
Modules/Contact/module.json
Normal file
6
Modules/Contact/module.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Contact",
|
||||
"alias": "contact",
|
||||
"description": "The FleetCart Contact Module.",
|
||||
"priority": 100
|
||||
}
|
||||
Reference in New Issue
Block a user