MINI MINI MANI MO

Path : /var/www/html/sistemas/archivodigital/app/Http/Controllers/
File Upload :
Current File : /var/www/html/sistemas/archivodigital/app/Http/Controllers/ContrasenaController.php

<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use PhpParser\Node\Stmt\DeclareDeclare;

class ContrasenaController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $Us = auth()->user();
        return view('Password.edit', compact('Us'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $usuario = auth()->user();
        $datos = $request->except('_token','_method');

        $mod = User::where('rfc', $usuario->rfc)->first();

        $number = preg_match('@[0-9]@', $datos['psw']);
        $uppercase = preg_match('@[A-Z]@', $datos['psw']);
        $lowercase = preg_match('@[a-z]@', $datos['psw']);
        $specialChars = preg_match('@[^\w]@', $datos['psw']);

        $contra = Hash::check($datos['actual'], $usuario->password);
        if ($contra == false){
            return json_encode(2);
        }

        if(!$uppercase || !$lowercase || !$number || !$specialChars || strlen($datos['psw']) < 8) {
            return json_encode(0);
        }else{
            $up['password'] = bcrypt($datos['psw']);
            $mod->update($up);

            $us = User::where('rfc', $usuario->rfc)->first();
            $ps['cambio_contrasena'] = 1;
            $us->update($ps);

            return json_encode(1);
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }

    public function cambiarContra(Request $request){
        $Us = auth()->user();
        $base = User::find($Us->id);
        $nuevaContra =bcrypt($request['nueva']);
        $up['password'] = $nuevaContra;
        $base->update($up);
    }

}

OHA YOOOO