Skip to content

Commit

Permalink
added mail register & reset password
Browse files Browse the repository at this point in the history
fixed some bugs
added simple register theme part
  • Loading branch information
A1Gard committed Sep 24, 2024
1 parent 802896a commit 87c2184
Show file tree
Hide file tree
Showing 24 changed files with 434 additions and 37 deletions.
1 change: 0 additions & 1 deletion .github/workflows/laravel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
tags:
- "*"
branches: [ "master" ]
pull_request:
branches: [ "master" ]

Expand Down
2 changes: 1 addition & 1 deletion app/Helpers/Helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,7 @@ function isGuestMaxAttemptTry($action, $max = 5, $minutes = 60)
{
if (\App\Models\GuestLog::where('ip', request()->ip())
->where('action', $action)
->where('created_at', '<', time() - ($minutes * 60))->count() >= $max) {
->where('created_at', '>', time() - ($minutes * 60))->count() >= $max) {
return true;
} else {
return false;
Expand Down
108 changes: 108 additions & 0 deletions app/Http/Controllers/Admin/GuestLogController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Controllers\XController;
use App\Http\Requests\GuestLogSaveRequest;
use App\Models\Access;
use App\Models\GuestLog;
use Illuminate\Http\Request;
use App\Helper;
use function App\Helpers\hasCreateRoute;

class GuestLogController extends XController
{

// protected $_MODEL_ = GuestLog::class;
// protected $SAVE_REQUEST = GuestLogSaveRequest::class;

protected $cols = ['ip','action','created_at','loggable_type','loggable_id'];
protected $extra_cols = ['id'];

protected $searchable = ['action','ip'];

protected $listView = 'admin.guestlogs.guestlog-list';
protected $formView = 'admin.guestlogs.guestlog-form';


protected $buttons = [
// 'edit' =>
// ['title' => "Edit", 'class' => 'btn-outline-primary', 'icon' => 'ri-edit-2-line'],
// 'show' =>
// ['title' => "Detail", 'class' => 'btn-outline-light', 'icon' => 'ri-eye-line'],
// 'destroy' =>
// ['title' => "Remove", 'class' => 'btn-outline-danger delete-confirm', 'icon' => 'ri-close-line'],
];


public function __construct()
{
parent::__construct(GuestLog::class, GuestLogSaveRequest::class);
}

/**
* @param $guestlog GuestLog
* @param $request GuestLogSaveRequest
* @return GuestLog
*/
public function save($guestlog, $request)
{

$guestlog->save();
return $guestlog;

}


/**
* Show the form for creating a new resource.
*/
public function create()
{
//
return view($this->formView);
}

/**
* Show the form for editing the specified resource.
*/
public function edit(GuestLog $item)
{
//
return view($this->formView, compact('item'));
}

public function bulk(Request $request)
{

// dd($request->all());
$data = explode('.', $request->input('action'));
$action = $data[0];
$ids = $request->input('id');
switch ($action) {
case 'delete':
$msg = __(':COUNT items deleted successfully', ['COUNT' => count($ids)]);
$this->_MODEL_::destroy($ids);
break;

default:
$msg = __('Unknown bulk action : :ACTION', ["ACTION" => $action]);
}

return $this->do_bulk($msg, $action, $ids);
}

public function destroy(GuestLog $item)
{
return parent::delete($item);
}


public function update(Request $request, GuestLog $item)
{
return $this->bringUp($request, $item);
}


}
48 changes: 48 additions & 0 deletions app/Http/Controllers/ClientController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use App\Contracts\Payment;
use App\Http\Requests\ContactSubmitRequest;
use App\Mail\AuthMail;
use App\Models\Attachment;
use App\Models\Category;
use App\Models\Clip;
Expand All @@ -20,6 +21,7 @@
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Route;
use Plank\Metable\Meta;
use Spatie\Tags\Tag;
Expand Down Expand Up @@ -231,6 +233,14 @@ public function submitComment(Request $request)

public function search(Request $request)
{


if (isGuestMaxAttemptTry('search', 5, 1)) {
return abort(403);
}

guestLog('search');

$q = trim($request->input('q'));
if (mb_strlen($q) < 3) {
return abort(403, __('Search word is too short'));
Expand Down Expand Up @@ -476,7 +486,45 @@ public function signIn()

public function signUp()
{
if (config('app.sms.sign')){
return abort(403);
}
$area = 'register';
$title = __("sign up");
$subtitle = __('Sign up as customer');
return view('client.default-list', compact('area', 'title', 'subtitle'));
}
public function signUpNow(Request $request)
{
if (config('app.sms.sign')){
return abort(403);
}

$request->validate([
'email' => ['required','email']
]);

if (isGuestMaxAttemptTry('email', 1, 5)) {
return redirect()->back()->withErrors( __('You try attempts, Try it a few minutes'));
}

guestLog('email');

$passwd = generateUniqueID(12);
Mail::to($request->input('email'))->send(new AuthMail($passwd));
$c = Customer::where('email', $request->email);
if ($c->count() > 0) {
$customer = $c->first();
$msg = __('Your account password has been changed successfully.');
}else{
$customer = new Customer();
$customer->email = $request->email;
$msg = __('Your account has been created successfully.');
}
$customer->password = bcrypt($passwd);
$customer->save();

return redirect()->back()->with(['message' => $msg]);
}

public function singInDo(Request $request)
Expand Down
28 changes: 28 additions & 0 deletions app/Http/Requests/GuestLogSaveRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class GuestLogSaveRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return false;
}

/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
//
];
}
}
60 changes: 60 additions & 0 deletions app/Mail/AuthMail.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;

class AuthMail extends Mailable
{
use Queueable, SerializesModels;

/**
* Create a new message instance.
*/
public function __construct(
protected string $code,
)
{
//
}

/**
* Get the message envelope.
*/
public function envelope(): Envelope
{
return new Envelope(
from: new Address(getSetting('email'),config('app.name')),
subject: __('Authentication Mail').' - '. config('app.name'),
);
}

/**
* Get the message content definition.
*/
public function content(): Content
{
return new Content(
view: 'website.auth-mail',
with:[
'code' => $this->code
],
);
}

/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
public function attachments(): array
{
return [];
}
}
4 changes: 2 additions & 2 deletions config/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
|
*/

'name' => env('APP_NAME', 'Laravel'),
'version' => env('APP_VERSION', '2.0.0-beta-3'),
'name' => env('APP_NAME', 'xShop'),
'version' => env('APP_VERSION', '2.0.0'),
'demo' => env('APP_DEMO', false),
/*
|--------------------------------------------------------------------------
Expand Down
9 changes: 9 additions & 0 deletions database/seeders/PartSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,15 @@ public function run(): void

// -------------------------------------------------------------

$part = new Part();
$part->segment = 'register';
$part->part = 'SimpleRegister';
$part->area_id = Area::where('name', 'register')->first()->id;
$part->sort = 1;
$part->save();

// -------------------------------------------------------------

$part = new Part();
$part->segment = 'customer';
$part->part = 'AvisaCustomer';
Expand Down
1 change: 1 addition & 0 deletions resources/js/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import "../views/segments/galleries_page/GalleriesList/GalleriesList.js";
import "../views/segments/gallery/GallaryGrid/GallaryGrid.js";
import "../views/segments/compare/CompareProducts/CompareProducts.js";
import "../views/segments/login/LoginPatternBg/LoginPatternBg.js";
import "../views/segments/register/SimpleRegister/SimpleRegister.js";
import "../views/segments/customer/AvisaCustomer/AvisaCustomer.js";
import "../views/segments/attachments_page/DenaAttachList/DenaAttachList.js";
import "../views/segments/attachment/AttachmentWithPreview/AttachmentWithPreview.js";
Expand Down
1 change: 1 addition & 0 deletions resources/sass/client.scss
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ $xshop-shadow:2px 2px 4px #777777;
@import "../views/segments/gallery/GallaryGrid/GallaryGrid";
@import "../views/segments/compare/CompareProducts/CompareProducts";
@import "../views/segments/login/LoginPatternBg/LoginPatternBg";
@import "../views/segments/register/SimpleRegister/SimpleRegister";
@import "../views/segments/customer/AvisaCustomer/AvisaCustomer";
@import "../views/segments/attachments_page/DenaAttachList/DenaAttachList";
@import "../views/segments/attachment/AttachmentWithPreview/AttachmentWithPreview";
Expand Down
42 changes: 42 additions & 0 deletions resources/views/admin/guestlogs/guestlog-form.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
@extends('admin.templates.panel-form-template')
@section('title')
@if(isset($item))
{{__("Edit guestlog")}} [{{$item->id}}]
@else
{{__("Add new guestlog")}}
@endif -
@endsection
@section('form')

<div class="row">
<div class="col-lg-3">

@include('components.err')
<div class="item-list mb-3">
<h3 class="p-3">
<i class="ri-message-3-line"></i>
{{__("Tips")}}
</h3>
<ul>
<li>
{{__("Recommends")}}
</li>
</ul>
</div>

</div>
<div class="col-lg-9 ps-xl-1 ps-xxl-1">
<div class="general-form ">

<h1>
@if(isset($item))
{{__("Edit guestlog")}} [{{$item->id}}]
@else
{{__("Add new guestlog")}}
@endif
</h1>

</div>
</div>
</div>
@endsection
15 changes: 15 additions & 0 deletions resources/views/admin/guestlogs/guestlog-list.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@extends('admin.templates.panel-list-template')

@section('list-title')
<i class="ri-user-3-line"></i>
{{__("GuestLogs list")}}
@endsection
@section('title')
{{__("GuestLogs list")}} -
@endsection
@section('filter')
{{-- Other filters --}}
@endsection
@section('bulk')
{{-- <option value="-"> - </option> --}}
@endsection
Loading

0 comments on commit 87c2184

Please sign in to comment.