HOME


Mini Shell 1.0
La Pieza.DO | Todo lo que buscas!

Bienvenido de nuevo!

Acceso Cuenta Delivery
DIR: /var/www/devs.lapieza.net/app/Http/Controllers/Auth/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Http/Controllers/Auth/ForgotPasswordController.php
<?php



namespace App\Http\Controllers\Auth;



use Illuminate\Http\Request;

use App\Http\Controllers\Controller;

use Illuminate\Foundation\Auth\SendsPasswordResetEmails;

use Illuminate\Support\Facades\Password;

use Illuminate\Auth\Events\PasswordReset;

use App\Models\User;

use App\Mail\SecondEmailVerifyMailManager;

use App\Utility\SmsUtility;

use Mail;



class ForgotPasswordController extends Controller

{

    /*

    |--------------------------------------------------------------------------

    | Password Reset Controller

    |--------------------------------------------------------------------------

    |

    | This controller is responsible for handling password reset emails and

    | includes a trait which assists in sending these notifications from

    | your application to your users. Feel free to explore this trait.

    |

    */



    use SendsPasswordResetEmails;



    /**

     * Create a new controller instance.

     *

     * @return void

     */

    public function __construct()

    {

        $this->middleware('guest');

    }



    /**

     * Send a reset link to the given user.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse

     */
    public function sendResetLinkEmail(Request $request)
    {
        $phone = "+{$request['country_code']}{$request['phone']}";
    
        if (filter_var($request->email, FILTER_VALIDATE_EMAIL)) {
            $user = User::where('email', $request->email)->first();
    
            if ($user != null) {
                $user->verification_code = rand(100000, 999999);
                $user->save();
    
                $array['view'] = 'emails.verification';
                $array['from'] = env('MAIL_FROM_ADDRESS');
                $array['subject'] = translate('Password Reset');
                $array['content'] = translate('Verification Code is') . ': ' . $user->verification_code;
    
                Mail::to($user->email)->queue(new SecondEmailVerifyMailManager($array));
    
                // Devuelve una respuesta JSON con la vista renderizada
                return response()->json([
                    'success' => true,
                    'message' => translate('Correo enviado correctamente.'),
                    'html' => view('auth.passwords.reset')->render() // Renderiza la vista y la incluye en la respuesta
                ]);
            } else {
                return response()->json([
                    'success' => false,
                    'message' => translate('No account exists with this email'),
                ], 404);
            }
        } else {
            $user = User::where('phone', $phone)->first();
    
            if ($user != null) {
                $user->verification_code = rand(100000, 999999);
                $user->save();
    
                SmsUtility::password_reset($user);
    
                // Devuelve una respuesta JSON con la vista renderizada
                return response()->json([
                    'success' => true,
                    'message' => translate('Código de verificación enviado al número de teléfono.'),
                    'html' => view('auth.passwords.reset')->render() // Renderiza la vista y la incluye en la respuesta
                ]);
            } else {
                return response()->json([
                    'success' => false,
                    'message' => translate('No account exists with this phone number'),
                ], 404);
            }
        }
    }
    // public function sendResetLinkEmail(Request $request)

    // {

    //     $phone = "+{$request['country_code']}{$request['phone']}";

    //     if (filter_var($request->email, FILTER_VALIDATE_EMAIL)) {

    //         $user = User::where('email', $request->email)->first();

    //         if ($user != null) {

    //             $user->verification_code = rand(100000,999999);

    //             $user->save();



    //             $array['view'] = 'emails.verification';

    //             $array['from'] = env('MAIL_FROM_ADDRESS');

    //             $array['subject'] = translate('Password Reset');

    //             $array['content'] = translate('Verification Code is').': '. $user->verification_code;



    //             Mail::to($user->email)->queue(new SecondEmailVerifyMailManager($array));



    //             return view('auth.passwords.reset');

    //         }

    //         else {

    //             flash(translate('No account exists with this email'))->error();

    //             return back();

    //         }

    //     }

    //     else{

    //         $user = User::where('phone', $phone)->first();

    //         if ($user != null) {

    //             $user->verification_code = rand(100000,999999);

    //             $user->save();

    //             SmsUtility::password_reset($user);

    //             return view('otp_systems.frontend.auth.passwords.reset_with_phone');

    //         }

    //         else {

    //             flash(translate('No account exists with this phone number'))->error();

    //             return back();

    //         }

    //     }

    // }

}