diff --git a/.env b/.env index 6e7693b..19d07a3 100644 --- a/.env +++ b/.env @@ -23,9 +23,9 @@ LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 -DB_DATABASE=somanager_admin -DB_USERNAME=root -DB_PASSWORD= +DB_DATABASE=krgm +DB_USERNAME=krgm_user +DB_PASSWORD=StrongDbP@ss2 SESSION_DRIVER=database SESSION_LIFETIME=120 @@ -48,12 +48,15 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp -MAIL_HOST=localhost -MAIL_PORT=25 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_FROM_ADDRESS="hp@so-manager-dev.com" +MAIL_SCHEME=null +MAIL_HOST=smtp.gmail.com +MAIL_PORT=587 +MAIL_USERNAME="" +MAIL_PASSWORD="" +MAIL_ENCRYPTION=tls +MAIL_FROM_ADDRESS="" MAIL_FROM_NAME="${APP_NAME}" +MAIL_ADMIN="" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= diff --git a/app/Http/Controllers/InquiryConfirmController.php b/app/Http/Controllers/InquiryConfirmController.php new file mode 100644 index 0000000..a269e0a --- /dev/null +++ b/app/Http/Controllers/InquiryConfirmController.php @@ -0,0 +1,112 @@ + $this->form_data ]); + } + + // お問い合わせ入力⇒お問い合わせ確認 + public function confirm(Request $request) + { + // 入力チェック内容 + $rules = [ + 'name' => 'required', + 'email' => 'required', + 'tel' => 'required', + 'subject' => 'required', + 'detail' => 'required', + ]; + + // エラーメッセージ + $message = [ + 'name.required' => '名前を入力してください', + 'email.required' => 'メールアドレスを入力してください', + 'tel.required' => '電話番号を入力してください', + 'subject.required' => 'お問い合わせ概要を選択してください', + 'detail.required' => 'お問い合わせ詳細を入力してください', + ]; + + // バリデーションチェック + $validator = Validator::make($request->all(), $rules, $message); + if ($validator->fails()) { + return redirect('/swo7_1') + ->withErrors($validator) + ->withInput() + ->with('before_subject', implode(',', $request->input('subject'))); + } + + // 画面返却値 + $input_data = [ + ["name", $request->input('name'), "氏名"], + ["email", $request->input('email'), "メールアドレス"], + ["tel", $request->input('tel'), "電話番号"], + ["subject", implode(',', $request->input('subject')), "お問い合わせ概要"], + ["parking", $request->input('parking'), "お問い合わせ駐輪場名"], + ["detail", $request->input('detail'), "お問い合わせ詳細"], + ]; + + // 確認画面に遷移 + return view('/swo7_2', ['input_data' => $input_data]); + } + + // お問い合わせ確認⇒お問い合わせ入力(戻る)orお問い合わせ完了(送信) + public function complete(Request $request) + { + // 前の画面に戻る + if($request->input('back') == 'back'){ + return redirect('/swo7_1') + ->withInput($request->all()) + ->with('before_subject', $request->input('subject')); + } + + // 受付メール(利用者用)送信 + Mail::send(["text" => 'emails.inquiry_user'], [ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'tel' => $request->input('tel'), + 'subject' => $request->input('subject'), + 'parking' => $request->input('parking'), + 'detail' => $request->input('detail'), + ], function ($message) use ($request) { + $message->to($request->input('email'))->subject('【So-Manager】お問い合わせを受け付けました'); + }); + + // 受付メール(管理者用)送信 + Mail::send(["text" => 'emails.inquiry_manager'], [ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'tel' => $request->input('tel'), + 'subject' => $request->input('subject'), + 'parking' => $request->input('parking'), + 'detail' => $request->input('detail'), + ], function ($message) use ($request) { + $message->to(config('emailaddress.mail_admin'))->subject('【So-Manager】お問い合わせ受信'); + }); + + // 完了画面に遷移 + return view('/swo7_3'); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/MemberRegistrationController.php b/app/Http/Controllers/MemberRegistrationController.php new file mode 100644 index 0000000..f7fe80e --- /dev/null +++ b/app/Http/Controllers/MemberRegistrationController.php @@ -0,0 +1,26 @@ +input('url'); + + // メール送信 + Mail::send(["text" => 'emails.member_regist_info'], ['url' => $url], function ($message) use ($request) { + $message->to($request->input('email'))->subject('【So-Manager】新規ユーザー登録用URLのご案内'); + }); + + // 完了画面遷移 + return view('/swo2_2'); + } +} \ No newline at end of file diff --git a/config/emailaddress.php b/config/emailaddress.php new file mode 100644 index 0000000..3732168 --- /dev/null +++ b/config/emailaddress.php @@ -0,0 +1,5 @@ + env('MAIL_ADMIN', 'admin@example.com'), +]; \ No newline at end of file diff --git a/public/assets/shachou.png b/public/assets/shachou.png new file mode 100644 index 0000000..b0146f2 Binary files /dev/null and b/public/assets/shachou.png differ diff --git a/resources/views/emails/inquiry_manager.blade.php b/resources/views/emails/inquiry_manager.blade.php new file mode 100644 index 0000000..bf52590 --- /dev/null +++ b/resources/views/emails/inquiry_manager.blade.php @@ -0,0 +1,10 @@ +問い合わせを受け付けました。 +====================================== +【お問い合わせ内容】 +氏名:{{ $name }} +メールアドレス:{{ $email }} +電話番号:{{ $tel }} +お問い合わせ概要:{{ $subject }} +お問い合わせ駐輪場:{{ $parking }} +お問い合わせ詳細:{{ $detail }} +====================================== \ No newline at end of file diff --git a/resources/views/emails/inquiry_user.blade.php b/resources/views/emails/inquiry_user.blade.php new file mode 100644 index 0000000..8127b92 --- /dev/null +++ b/resources/views/emails/inquiry_user.blade.php @@ -0,0 +1,25 @@ +{{ $name }}様 + +この度はSo-Managerにお問い合わせいただき、誠にありがとうございます。 +お問い合わせ内容を受け付けました。順次対応させていただきますが、問い合わせの混雑状況や内容により、 +お返事に最大一週間程度お時間をいただく場合や、ご返信できない場合がございます。 + +====================================== +【お問い合わせ内容】 +氏名:{{ $name }} +メールアドレス:{{ $email }} +電話番号:{{ $tel }} +お問い合わせ概要:{{ $subject }} +お問い合わせ駐輪場:{{ $parking }} +お問い合わせ詳細:{{ $detail }} +====================================== + +お急ぎの場合や、Eメールで承れない項目については、下記コールセンターまでお問い合わせをお願いいたします。 + +―――――――――――――――――――――――――――――――――――――― +【お問い合わせ先】 +So-Managerコールセンター(毎日12時~22時) +03-5856-4720 +―――――――――――――――――――――――――――――――――――――― +※本メールアドレスは送信専用となり、ご返信には回答致しかねますのでご了承下さい。 +※本メールにお心当たりが無い場合には、コールセンターまでご連絡くださいますようお願い致します。 \ No newline at end of file diff --git a/resources/views/emails/member_regist_info.blade.php b/resources/views/emails/member_regist_info.blade.php new file mode 100644 index 0000000..ecfc441 --- /dev/null +++ b/resources/views/emails/member_regist_info.blade.php @@ -0,0 +1,21 @@ +!!ご注意!! +まだ会員登録は完了していませんのでご注意ください。 + +このたびはSo-Managerユーザ登録をお手続きいただきまして、 +誠にありがとうございます。 + +下記URLにアクセスしてご登録手続き(無料)を完了させて下さい。 + +▼会員登録お手続きページ▼ +{{ $url }} + +【お問い合わせ先】 +・電話でのお問い合わせ +So-Managerコールセンター(毎日12時~22時) +03-5856-4720 + +・メールでのお問合せ(専用フォームよりお問合せください) +https://so-manager.com/swo7_1 + +※本メールアドレスは送信専用となり、ご返信には回答致しかねますのでご了承下さい。 +※本メールにお心当たりが無い場合には、コールセンターまでご連絡くださいますようお願い致します。 \ No newline at end of file diff --git a/resources/views/layouts/header.blade.php b/resources/views/layouts/header.blade.php index 162e643..0acb147 100644 --- a/resources/views/layouts/header.blade.php +++ b/resources/views/layouts/header.blade.php @@ -21,7 +21,7 @@
- + \ No newline at end of file diff --git a/resources/views/swo7_3.blade.php b/resources/views/swo7_3.blade.php index c39436d..7d829fc 100644 --- a/resources/views/swo7_3.blade.php +++ b/resources/views/swo7_3.blade.php @@ -3,51 +3,29 @@ |So-Manager - - - - - - - - - - - - - + - - - + + +
- + @include('layouts.header');
- -
- - - - - - - - - + @include('layouts.footer'); + - diff --git a/resources/views/swo8_1.blade.php b/resources/views/swo8_1.blade.php index 23a4676..7b2a54a 100644 --- a/resources/views/swo8_1.blade.php +++ b/resources/views/swo8_1.blade.php @@ -23,7 +23,7 @@
マイページへログイン
-
+
@@ -37,11 +37,9 @@
- -
- 新規会員登録はこちら 〉 -
- パスワードを忘れた方はこちら 〉 +
+ 新規会員登録はこちら 〉
+ パスワードを忘れた方はこちら 〉
@@ -49,10 +47,10 @@ - + @include('layouts.info'); @include('layouts.footer'); - + diff --git a/resources/views/swo8_2.blade.php b/resources/views/swo8_2.blade.php index 11de9c2..de1838d 100644 --- a/resources/views/swo8_2.blade.php +++ b/resources/views/swo8_2.blade.php @@ -3,28 +3,16 @@ |So-Manager - - - - - - - - - - - - - + - - - + + +
- + @include('layouts.header');
@@ -34,7 +22,7 @@
パスワードの再設定
-
+
@@ -61,8 +49,8 @@

@@ -71,15 +59,8 @@
- - - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + diff --git a/resources/views/swo8_3.blade.php b/resources/views/swo8_3.blade.php index 95d7266..9c29807 100644 --- a/resources/views/swo8_3.blade.php +++ b/resources/views/swo8_3.blade.php @@ -3,28 +3,17 @@ |So-Manager - - - - - - - - - - - - - + - - - + + +
- + @include('layouts.header'); +
@@ -43,17 +32,8 @@
- - -
- - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + diff --git a/resources/views/swo9_1.blade.php b/resources/views/swo9_1.blade.php index 75295c7..8c03f1e 100644 --- a/resources/views/swo9_1.blade.php +++ b/resources/views/swo9_1.blade.php @@ -3,28 +3,16 @@ |So-Manager - - - - - - - - - - - - - + - - + +
- + @include('layouts.header');
@@ -34,26 +22,17 @@

【センターまちや駐輪場をご利用のお客様へ】
- いつもセンターまちや自転車駐車場をご利用いただきましてありがとうございます。
- 7月8日より、ベルトコンベアが故障しておりますが、この度修繕工事が決定しましたのでお知らせいたします。
- 令和7年8月1日(金)9:30から修繕工事を予定しています。
- ご利用者様には大変ご不便をお掛けしておりますが、ご理解頂きますようお願い申し上げます。

+ いつもセンターまちや自転車駐車場をご利用いただきましてありがとうございます。
+ 7月8日より、ベルトコンベアが故障しておりますが、この度修繕工事が決定しましたのでお知らせいたします。
+ 令和7年8月1日(金)9:30から修繕工事を予定しています。
+ ご利用者様には大変ご不便をお掛けしておりますが、ご理解頂きますようお願い申し上げます。

- - -
- - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + diff --git a/resources/views/swo9_2.blade.php b/resources/views/swo9_2.blade.php index 3673119..8a3d3b7 100644 --- a/resources/views/swo9_2.blade.php +++ b/resources/views/swo9_2.blade.php @@ -3,28 +3,16 @@ |So-Manager - - - - - - - - - - - - - + - - + +
- + @include('layouts.header');
@@ -43,17 +31,8 @@
- - -
- - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + - + \ No newline at end of file diff --git a/resources/views/swo9_3.blade.php b/resources/views/swo9_3.blade.php index 1462094..d89510a 100644 --- a/resources/views/swo9_3.blade.php +++ b/resources/views/swo9_3.blade.php @@ -3,28 +3,16 @@ |So-Manager - - - - - - - - - - - - - + - - + +
- + @include('layouts.header');
@@ -40,17 +28,8 @@
- - -
- - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + - + \ No newline at end of file diff --git a/resources/views/swo9_4.blade.php b/resources/views/swo9_4.blade.php index 8e4704b..c99c311 100644 --- a/resources/views/swo9_4.blade.php +++ b/resources/views/swo9_4.blade.php @@ -3,28 +3,16 @@ |So-Manager - - - - - - - - - - - - - + - - + +
- + @include('layouts.header');
@@ -47,17 +35,8 @@
- - -
- - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + - + \ No newline at end of file diff --git a/resources/views/swo9_5.blade.php b/resources/views/swo9_5.blade.php index 4fa536c..a37d190 100644 --- a/resources/views/swo9_5.blade.php +++ b/resources/views/swo9_5.blade.php @@ -3,28 +3,16 @@ |So-Manager - - - - - - - - - - - - - + - - + +
- + @include('layouts.header');
@@ -42,17 +30,8 @@
- - -
- - - - - - - - - + @include('layouts.info'); + @include('layouts.footer'); + - + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index c9d3ee8..06f33f7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,127 +1,41 @@ name('swo1_1'); +// 画面遷移のみ +Route::get('/', function () { return view('swo1_1'); })->name('swo1_1'); +Route::get('/swo2_1', function () { return view('swo2_1'); })->name('swo2_1'); +Route::get('/swo2_3', function () { return view('swo2_3'); })->name('swo2_3'); +Route::get('/swo2_4', function () { return view('swo2_4'); })->name('swo2_4'); +Route::get('/swo2_5', function () { return view('swo2_5'); })->name('swo2_5'); +Route::get('/swo3_1', function () { return view('swo3_1'); })->name('swo3_1'); +Route::get('/swo3_2', function () { return view('swo3_2'); })->name('swo3_2'); +Route::get('/swo3_3', function () { return view('swo3_3'); })->name('swo3_3'); +Route::get('/swo4_1', function () { return view('swo4_1'); })->name('swo4_1'); +Route::get('/swo5_1', function () { return view('swo5_1'); })->name('swo5_1'); +Route::get('/swo6_1', function () { return view('swo6_1'); })->name('swo6_1'); +Route::get('/swo8_1', function () { return view('swo8_1'); })->name('swo8_1'); +Route::get('/swo8_2', function () { return view('swo8_2'); })->name('swo8_2'); +Route::get('/swo8_3', function () { return view('swo8_3'); })->name('swo8_3'); +Route::get('/swo9_1', function () { return view('swo9_1'); })->name('swo9_1'); +Route::get('/swo9_2', function () { return view('swo9_2'); })->name('swo9_2'); +Route::get('/swo9_3', function () { return view('swo9_3'); })->name('swo9_3'); +Route::get('/swo9_4', function () { return view('swo9_4'); })->name('swo9_4'); +Route::get('/swo9_5', function () { return view('swo9_5'); })->name('swo9_5'); +Route::get('/swo10_1', function () { return view('swo10_1'); })->name('swo10_1'); +Route::get('/swo11_1', function () { return view('swo11_1'); })->name('swo11_1'); +Route::get('/swo12_1', function () { return view('swo12_1'); })->name('swo12_1'); +Route::get('/swo13_1', function () { return view('swo13_1'); })->name('swo13_1'); +Route::get('/swo14_1', function () { return view('swo14_1'); })->name('swo14_1'); +Route::get('/swo15_1', function () { return view('swo15_1'); })->name('swo15_1'); +Route::get('/swo15_2', function () { return view('swo15_2'); })->name('swo15_2'); +Route::get('/swo16_1', function () { return view('swo16_1'); })->name('swo16_1'); +Route::get('/swo17_1', function () { return view('swo17_1'); })->name('swo17_1'); -Route::get('/swo2_1', function () { - return view('swo2_1'); -})->name('swo2_1'); - -Route::get('/swo2_2', function () { - return view('swo2_2'); -})->name('swo2_2'); - -Route::get('/swo2_3', function () { - return view('swo2_3'); -})->name('swo2_3'); - -Route::get('/swo2_4', function () { - return view('swo2_4'); -})->name('swo2_4'); - -Route::get('/swo2_5', function () { - return view('swo2_5'); -})->name('swo2_5'); - -Route::get('/swo3_1', function () { - return view('swo3_1'); -})->name('swo3_1'); - -Route::get('/swo3_2', function () { - return view('swo3_2'); -})->name('swo3_2'); - -Route::get('/swo3_3', function () { - return view('swo3_3'); -})->name('swo3_3'); - -Route::get('/swo4_1', function () { - return view('swo4_1'); -})->name('swo4_1'); - -Route::get('/swo5_1', function () { - return view('swo5_1'); -})->name('swo5_1'); - -Route::get('/swo6_1', function () { - return view('swo6_1'); -})->name('swo6_1'); - -Route::get('/swo7_1', function () { - return view('swo7_1'); -})->name('swo7_1'); - -Route::get('/swo7_2', function () { - return view('swo7_2'); -})->name('swo7_2'); - -Route::get('/swo8_1', function () { - return view('swo8_1'); -})->name('swo8_1'); - -Route::get('/swo8_2', function () { - return view('swo8_2'); -})->name('swo8_2'); - -Route::get('/swo8_3', function () { - return view('swo8_3'); -})->name('swo8_3'); - -Route::get('/swo9_1', function () { - return view('swo9_1'); -})->name('swo9_1'); - -Route::get('/swo9_2', function () { - return view('swo9_2'); -})->name('swo9_2'); - -Route::get('/swo9_3', function () { - return view('swo9_3'); -})->name('swo9_3'); - -Route::get('/swo9_4', function () { - return view('swo9_4'); -})->name('swo9_4'); - -Route::get('/swo9_5', function () { - return view('swo9_5'); -})->name('swo9_5'); - -Route::get('/swo10_1', function () { - return view('swo10_1'); -})->name('swo10_1'); - -Route::get('/swo11_1', function () { - return view('swo11_1'); -})->name('swo11_1'); - -Route::get('/swo12_1', function () { - return view('swo12_1'); -})->name('swo12_1'); - -Route::get('/swo13_1', function () { - return view('swo13_1'); -})->name('swo13_1'); - -Route::get('/swo14_1', function () { - return view('swo14_1'); -})->name('swo14_1'); - -Route::get('/swo15_1', function () { - return view('swo15_1'); -})->name('swo15_1'); - -Route::get('/swo15_2', function () { - return view('swo15_2'); -})->name('swo15_2'); - -Route::get('/swo16_1', function () { - return view('swo16_1'); -})->name('swo16_1'); - -Route::get('/swo17_1', function () { - return view('swo17_1'); -})->name('swo17_1'); \ No newline at end of file +// コントローラー経由 +Route::get('/swo2_2', [MemberRegistrationController::class, 'sendMail'])->name('swo2_2'); +Route::get('/swo7_1', [InquiryConfirmController::class, 'index'])->name('swo7_1'); +Route::post('/swo7_2',[InquiryConfirmController::class, 'confirm'])->name('swo7_2'); +Route::post('/swo7_3',[InquiryConfirmController::class, 'complete'])->name('swo7_3'); \ No newline at end of file