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/VerificationController.php
<?php



namespace App\Http\Controllers\Auth;



use App\Http\Controllers\Controller;

use App\Mail\AccountSuccessfulVerifiedMail;
use App\Mail\PreApprovalAdminAccount;
use Illuminate\Foundation\Auth\VerifiesEmails;

use App\Models\User;

use Carbon\Carbon;

use Illuminate\Http\Request;

use App\Http\Controllers\OTPVerificationController;

use Auth;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;


class VerificationController extends Controller

{

    /*

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

    | Email Verification Controller

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

    |

    | This controller is responsible for handling email verification for any

    | user that recently registered with the application. Emails may also

    | be re-sent if the user didn't receive the original email message.

    |

    */

    public function verify(Request $request, $id, $hash)

    {

     // Aquí debes implementar la lógica para verificar el token y marcar el correo electrónico como verificado

     // Puedes usar el $id y $hash para buscar el usuario en la base de datos y realizar la verificación



     // Ejemplo de implementación:

     $user = User::find($id);


    try {
        if ($user && hash_equals($hash, $user->confirmation_code)) {

            //por que existen dos uno email_verified_at lo pide el sistema y el otro

            //correo_verified_at es para saber que el correo fue verificado, y

            //este mismo se mostrara en perfil del usuario, por si se registro en numero no deveria salir este campo verificado

            $user->email_verified_at = now();

            $user->correo_verified_at = now();

            $user->save();



            // Inicia sesión al usuario si lo deseas

            auth()->login($user);


            /*if($user->user_type == 'seller'){
                Mail::to($user->email)->send(new PreApprovalAdminAccount($user));
            }*/


            // Redirige al usuario a la página de éxito o a donde desees

            return redirect()->route('shop.view.signup.complete');

        }
    }catch (\Exception $e) {
        Log::error($e);
    }





     // Si la verificación falla, puedes redirigir al usuario a una página de error o mostrar un mensaje de error

     return redirect()->route('shop.view.email.verification');

    }



    // use VerifiesEmails;



    // /**

    //  * Where to redirect users after verification.

    //  *

    //  * @var string

    //  */

    // protected $redirectTo = '/';



    // /**

    //  * Create a new controller instance.

    //  *

    //  * @return void

    //  */

    // public function __construct()

    // {

    //     //$this->middleware('auth');

    //     $this->middleware('signed')->only('verify');

    //     $this->middleware('throttle:6,1')->only('verify', 'resend');

    // }



    // /**

    //  * Show the email verification notice.

    //  *

    //  * @param  \Illuminate\Http\Request  $request

    //  * @return \Illuminate\Http\Response

    //  */

    public function show(Request $request)

    {

        $user = Auth::user();





        ///verificar que el usuario este verificado por numero o por correo, el sistema obligado pide que este verificado con este campo email_verified_at



        if ($user && $user->user_type == 'customer') {

            if (!empty($user->phone) && !$user->phone_verified_at) {

                return redirect()->route('shop.view.phone.verification');

            } elseif (!empty($user->email) && !$user->email_verified_at) {

                return redirect()->route('shop.view.email.verification');

            }

        }  elseif ($user && $user->user_type == 'seller') {

            if (!empty($user->phone) && !$user->phone_verified_at) {

                return redirect()->route('shop.view.phone.verification');

            } elseif (!empty($user->email) && !$user->email_verified_at) {

                return redirect()->route('shop.view.email.verification');

            }

        } elseif ($user && $user->user_type == 'workshop') {

            if (!empty($user->phone) && !$user->phone_verified_at) {

                return redirect()->route('shop.view.phone.verification');

            } elseif (!empty($user->email) && !$user->email_verified_at) {

                return redirect()->route('shop.view.email.verification');

            }

        }







    }





    // /**

    //  * Resend the email verification notification.

    //  *

    //  * @param  \Illuminate\Http\Request  $request

    //  * @return \Illuminate\Http\Response

    //  */

    // public function resend(Request $request)

    // {

    //     if ($request->user()->hasVerifiedEmail()) {

    //         return redirect($this->redirectPath());

    //     }



    //     $request->user()->sendEmailVerificationNotification();



    //     return back()->with('resent', true);

    // }



    // public function verification_confirmation($code){

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

    //     if($user != null){

    //         $user->email_verified_at = Carbon::now();

    //         $user->save();

    //         auth()->login($user, true);

    //         flash(translate('Your email has been verified successfully'))->success();

    //     }

    //     else {

    //         flash(translate('Sorry, we could not verifiy you. Please try again'))->error();

    //     }



    //     if($user->user_type == 'seller') {

    //         return redirect()->route('seller.dashboard');

    //     }



    //     return redirect()->route('dashboard');

    // }

}