All checks were successful
Deploy preview (main_watanabe) / deploy (push) Successful in 12s
71 lines
2.6 KiB
PHP
71 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\CommonFunction;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\User;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Support\Facades\Mail;
|
|
|
|
class PasswordReminderController extends Controller
|
|
{
|
|
// パスワード再設定メール送信
|
|
public function sendMail(Request $request)
|
|
{
|
|
// 入力チェック内容
|
|
$rules = [
|
|
'email' => 'required | email',
|
|
'phone.*' => 'required|regex:/^[0-9]+$/',
|
|
];
|
|
|
|
// エラーメッセージ
|
|
$message = [
|
|
'email.required' => 'メールアドレスを入力してください',
|
|
'email.email' => 'メールアドレスの形式が正しくありません',
|
|
'phone.*' => '電話番号を正しく入力して下さい',
|
|
];
|
|
|
|
// バリデーションチェック
|
|
$validator = Validator::make($request->all(), $rules, $message);
|
|
if ($validator->fails()) {
|
|
return redirect('/swo8_2')
|
|
->withErrors($validator)
|
|
->withInput();
|
|
}
|
|
|
|
// 存在チェック ([本メールアドレス or 予備メールアドレス] and [携帯電話番号 or 自宅電話番号]に一致するデータ)
|
|
$email = $request->input('email');
|
|
$phone = implode('-', $request->input('phone'));
|
|
$existingMember = User::where(function ($query) use ($email) {
|
|
$query->where('user_primemail', $email)->orWhere('user_submail', $email);
|
|
})->where(function ($query) use ($phone) {
|
|
$query->where('user_mobile', $phone)->orWhere('user_homephone', $phone);
|
|
})->first();
|
|
if (!$existingMember) {
|
|
return redirect('/swo8_2')
|
|
->withErrors(['nodata' => '該当する会員情報が見つかりませんでした'])
|
|
->withInput();
|
|
}
|
|
|
|
// パスワード変更
|
|
$commonFunction = new CommonFunction();
|
|
$userPass = $commonFunction->createPassword();
|
|
$userPassHash = $commonFunction->hashPassword($existingMember->user_seq, $userPass);
|
|
$existingMember->user_pass = $userPassHash;
|
|
$existingMember->updated_at = now();
|
|
$existingMember->save();
|
|
|
|
// 通知メール送信
|
|
Mail::send(["text" => 'emails.password_remind'], [
|
|
'name' => $existingMember->user_name,
|
|
'pass' => $userPass
|
|
], function ($message) use ($email) {
|
|
$message->to($email)->subject('【So-Manager】パスワード再発行完了');
|
|
});
|
|
|
|
// 完了画面遷移
|
|
return view('/swo8_3');
|
|
}
|
|
} |