<?php
/*
    * Created by VahabDev in Aparat Live
    * Website: https://pourfi.ir
    * Aparat Live: https://www.aparat.com/vahabdev/live
    * Aparat Channel: https://www.aparat.com/vahabdev
    * Rubika Channel: https://rubika.ir/vahabdev
    * Donate: https://reymit.ir/vahabdev
    * Telegram: https://t.me/vahabdev
*/


namespace App\Http\Controllers;

use App\Models\Client;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Session;

class profileController extends Controller
{
    public function index(){
        return view('clients.profile');
    }

    public function doUpdateProfile(Request $request)
    {
        $validated = Validator::make($request->all(),[
            'firstname' => 'required',
            'lastname' => 'required',
            'phone' => ['required', 'regex:/^09\d{9}$/'],
            'state' => 'required',
            'city' => 'required',
        ], [
            'phone.required' => 'ورود شماره همراه الزامی است',
            'phone.regex' => 'شماره موبایل حتما باید 11 رقم و با 09 شروع شود',
            'firstname.required' => 'وارد کردن نام الزامی است',
            'firstname.lastname' => 'وارد کردن نام خانوادگی الزامی است',
            'firstname.state' => 'وارد کردن استان الزامی است',
            'firstname.city' => 'وارد کردن شهر الزامی است',
        ]);

        if($validated->fails()){
            return back()->withErrors($validated);
        }
        $uid = Session::get('uid');
        Client::where('id', $uid)->update([
            'firstname' => $request->firstname,
            'lastname' => $request->lastname,
            'phone' => $request->phone,
            'state' => $request->state,
            'city' => $request->city
        ]);
        return redirect()->route('profile')->with('success', 'پروفایل شما با موفقیت بروزرسانی شد');

    }

    public function changepass(){
        return view('clients.changepass');
    }

    public function dochangepass(Request $request)
    {
        $validated = Validator::make($request->all(),[
            'oldpass' => ['required', 'min:4'],
            'newpass' => ['required', 'min:4'],
        ], [
            'oldpass.required' => 'وارد کردن رمز عبور الزامی است',
            'oldpass.min' => 'حداقل مقدار رمز عبور باید 4 رقم باشد',
            'newpass.required' => 'وارد کردن رمز عبور الزامی است',
            'newpass.min' => 'حداقل مقدار رمز عبور باید 4 رقم باشد',
        ]);
        if($validated->fails()){
            return back()->withErrors($validated);
        }


        $uid = Session::get('uid');
        $user = Client::find($uid);

        if($user->password != md5($request->oldpass)){
            return back()->with('warning', 'رمز عبور وارد شده صحیح نمی باشد');
        }

        if($request->newpass == $request->oldpass){
            return back()->with('warning', 'رمز عبور جدید باید متفاوت باشد');
        }

        $user->password = md5($request->newpass);
        $user->save();
        return redirect()
            ->route('logout')
            ->with('success', 'رمز عبور جدید شما ثبت شد');

    }

}
