<?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\Blog;
use App\Models\Comment;
use App\Models\Product;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

class commentController extends Controller
{
    public function sendComment(Request $request, $type, $id){
        $validated = Validator::make($request->all(),[
            'name' => 'required',
            'comment' => 'required',
        ], [
            'name.required' => 'وارد کردن نام الزامی است',
            'comment.required' => 'وارد کردن دیدگاه الزامی است',
        ]);


        if($validated->fails()){
            return redirect()->back()->withInput()->withErrors($validated);
        }

        if($type == 'blog'){
            if(!Blog::where('id', $id)->where('status', 'published')->exists()){
                abort(404);
            }
        }
        elseif($type == 'product'){
            if(!Product::where('id', $id)->where('status', 'active')->exists()){
                abort(404);
            }
        }
        else{
            abort(404);
        }


        Comment::create([
            'post_type' => $type,
            'relid' => $id,
            'name' => $request->name,
            'comment' => $request->comment,
            'mobile' => $request->input('mobile'),
            'email' => $request->input('email'),
            'ip' => $request->ip(),
        ]);


        return redirect()->back()
            ->with('success', 'دیدگاه شما با موفقیت ثبت شد . بعد از تایید مدیر در وبسایت نمایش داده خواهد شد');


    }
}
