1. Go to this page and download the library: Download tomatophp/filament-accounts library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use TomatoPHP\FilamentAccounts\Facades\FilamentAccounts;
public function boot()
{
FilamentAccounts::attach(
key: 'birthday',
label: __('Birthday'),
type: 'date',
show_on_create: false,
show_on_edit: false
);
}
use TomatoPHP\FilamentAccounts\Facades\FilamentAccounts;
public function boot()
{
FilamentAccounts::registerAccountRelation([
AccountOrdersRelationManager::make()
]);
}
use TomatoPHP\FilamentAccounts\Facades\FilamentAccounts;
public function boot()
{
FilamentAccounts::registerAccountActions([
\Filament\Tables\Actions\Action::make('orders')
]);
}
use TomatoPHP\FilamentAccounts\Events\SendOTP;
use TomatoPHP\FilamentAlerts\Services\SendNotification;
public function register()
{
Event::listen([
SendOTP::class
], function ($data) {
$user = $data->model::find($data->modelId);
SendNotification::make(['email'])
->title('OTP')
->message('Your OTP is ' . $user->otp_code)
->type('info')
->database(false)
->model(Account::class)
->id($user->id)
->privacy('private')
->icon('bx bx-user')
->url(url('/'))
->fire();
});
}
use TomatoPHP\FilamentAccounts\Events\AccountLogged;
public function register()
{
Event::listen([
AccountLogged::class
], function ($data) {
$user = $data->model::find($data->modelId);
if($user->meta('is_admin_approve') !== 'yes'){
return response()->json([
"status" => false,
"message" => __('your Account is activated. but you cannot login till admin approve.'),
], 400)->send();
}
});
}
use TomatoPHP\FilamentAccounts\Events\AccountLogged;
public function register()
{
Event::listen([
AccountRegistered::class
], function ($data) {
$user = $data->model::find($data->modelId);
$user->last_login = Carbon::now();
$user->save();
});
}
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Login;
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Register;
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Otp;
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\ResetPassword;
class AuthController extends Controller
{
use Login;
use Register;
use Otp;
use ResetPassword;
public string $guard = 'web';
public bool $otp = true;
public string $model = Account::class;
public string $loginBy = 'email';
public string $loginType = 'email';
public ?string $resource = null;
public function __construct()
{
$this->guard = config('filament-accounts.guard');
$this->otp = config('filament-accounts.
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Profile\User;
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Profile\Update;
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Profile\Delete;
use TomatoPHP\FilamentAccounts\Services\Traits\Auth\Profile\Logout;
class ProfileController extends Controller
{
use User;
use Update;
use Delete;
use Logout;
public string $guard = 'web';
public bool $otp = true;
public string $model = Account::class;
public string $loginBy = 'email';
public string $loginType = 'email';
public ?string $resource = null;
public function __construct()
{
$this->guard = config('filament-accounts.guard');
$this->otp = config('filament-accounts.
use TomatoPHP\FilamentAccounts\Facades\FilamentAccounts;
public function boot()
{
FilamentAccounts::validation(
create: [
'email' => 'unique:accounts,email',
'type_id' => 'e:accounts,email',
'type_id' => '