Merhaba değerli dostlar yardım bir müşterim hazır bir scripte değişiklik yapmak için benden yardım istedi fakat ben hazır script olduğu için kodlara istediğim gibi müdahale edemedim.Sizden yardım istiyorum.
Bir teklif gönderme sayfası var bu teklif sayfasında dosya upload ve onaylama seçeneği mevcut o alanlar zorunlu olarak belirtildi ben o 2 seçeneği isteğe bağlı yapmak istiyorum. Kodları incelediğimde 2 sayfanın da alakalı olduğunu anladım.Bir sayfa teklif gönderme sayfasındaki form elemanları diğer sayfada form eleman izin yetkileri yer alıyor.

1. Teklif gönderme formu kodları;

@extends('front.layout')

@section('content')
<!-- breadcrumb area start -->
<div class="breadcrumb-area cases">
<div class="container">
<div class="breadcrumb-txt">
<div class="row">
<div class="col-xl-7 col-lg-8 col-sm-10">
<span>{{$bs->quote_title}}</span>
<h1>{{$bs->quote_subtitle}}</h1>
<ul class="breadcumb">
<li><a href="{{route('front.index')}}">{{__('Home')}}</a></li>
<li>{{__('Quote Page')}}</li>
</ul>
</div>
</div>
</div>
</div>
<div class="breadcrumb-area-overlay"></div>
</div>
<!-- breadcrumb area end -->


<!-- quote area start -->
<div class="quote-area">
<div class="container">
<div class="row">
<div class="col-lg-12">
<form action="{{route('front.sendquote')}}" enctype="multipart/form-data" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">
<div class="form-element mb-4">
<input name="name" type="text" value="{{old('name')}}" placeholder="{{__('Name')}}">
@if ($errors->has('name'))
<p class="text-danger mb-0">{{$errors->first('name')}}</p>
@endif
</div>
</div>
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="email" value="{{old('email')}}" placeholder="{{__('Email')}}">
@if ($errors->has('email'))
<p class="text-danger mb-0">{{$errors->first('email')}}</p>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="phone" value="{{old('phone')}}" placeholder="{{__('Contact Number')}}">
@if ($errors->has('phone'))
<p class="text-danger mb-0">{{$errors->first('phone')}}</p>
@endif
</div>
</div>
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="country" value="{{old('country')}}" placeholder="{{__('Country Name')}}">
@if ($errors->has('country'))
<p class="text-danger mb-0">{{$errors->first('country')}}</p>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-element mb-4">
<select name="budget">
<option value="" selected disabled>{{__('Approximate Budget')}}</option>
@foreach ($budgets as $key => $budget)
<option value="{{$budget->limits}}" {{old('budget') == $budget->limits ? 'selected' : ''}}>{{$budget->limits}}</option>
@endforeach
</select>
@if ($errors->has('budget'))
<p class="text-danger mb-0">{{$errors->first('budget')}}</p>
@endif
</div>
</div>
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="skype_whatsapp" value="{{old('skype_whatsapp')}}" placeholder="{{__('Skype ID / Whatsapp Number')}}">
@if ($errors->has('skype_whatsapp'))
<p class="text-danger mb-0">{{$errors->first('skype_whatsapp')}}</p>
@endif
</div>
</div>
</div>
<div class="row mb-4">
<div class="col-lg-12 mb-2">
<h6><strong>{{__('Select Your Choices :')}}</strong></h6>
</div>
<div class="col-lg-12">
<div class="row">
@foreach ($services as $key => $service)
<div class="col-lg-3 col-md-6">
<div class="custom-control custom-checkbox">
<input name="services[]" type="checkbox" class="custom-control-input" id="customCheck{{$service->id}}" value="{{$service->title}}" {{is_array(old('services')) && in_array($service->title, old('services')) ? 'checked' : ''}}>
<label class="custom-control-label pt-1" for="customCheck{{$service->id}}">{{$service->title}}</label>
</div>
</div>
@endforeach
</div>
</div>
<div class="col-lg-12">
@if ($errors->has('services'))
<p class="text-danger mb-0">{{$errors->first('services')}}</p>
@endif
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-element mb-4">
<textarea name="description" rows="8" cols="80" placeholder="{{__('Project Description')}}">{{old('description')}}</textarea>
@if ($errors->has('description'))
<p class="text-danger mb-0">{{$errors->first('description')}}</p>
@endif
</div>
</div>
</div>
<div class="row mb-4">
<div class="col-lg-12">
<div class="form-element mb-2">
<input type="file" name="nda" value="">
</div>
<p class="text-warning mb-0">** {{__('Only doc, docx, pdf, rtf, txt files are allowed')}}</p>
@if ($errors->has('nda'))
<p class="text-danger mb-0">{{$errors->first('nda')}}</p>
@endif
</div>
</div>
<div class="row mb-4">
<div class="col-lg-12">
<div class="custom-control custom-checkbox">
<input type="checkbox" name="checknda" class="custom-control-input" id="nda" value="1" {{old('checknda') == 1 ? 'checked' : ''}}>
<label class="custom-control-label pt-1" for="nda">{{__('Send me a copy of NDA')}}</label>
</div>
@if ($errors->has('checknda'))
<p class="text-danger mb-0">{{$errors->first('checknda')}}</p>
@endif
</div>
</div>

@if ($bs->is_recaptcha == 1)
<div class="row mb-4">
<div class="col-lg-12">
{!! NoCaptcha::renderJs() !!}
{!! NoCaptcha::display() !!}
@if ($errors->has('g-recaptcha-response'))
<p class="text-danger mb-0">{{$errors->first('g-recaptcha-response')}}</p>
@endif
</div>
</div>
@endif

<div class="row">
<div class="col-lg-12 text-center">
<button type="submit" name="button">{{__('Submit')}}</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- quote area end -->
@endsection
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

İkinci ilgili dosya;

<?php

namespace App\Http\Controllers\Front;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\BasicSetting as BS;
use App\Slider;
use App\Scategory;
use App\Portfolio;
use App\Feature;
use App\Point;
use App\Statistic;
use App\Testimonial;
use App\Gallery;
use App\Faq;
use App\Page;
use App\Member;
use App\Blog;
use App\Partner;
use App\Service;
use App\Archive;
use App\Bcategory;
use App\Subscriber;
use App\Budget;
use App\Quote;
use App\Language;
use Session;
use Validator;
use Config;

class FrontendController extends Controller
{
public function __construct() {
$bs = BS::first();

Config::set('captcha.sitekey', $bs->google_recaptcha_site_key);
Config::set('captcha.secret', $bs->google_recaptcha_secret_key);
}

public function index() {

$data['sliders'] = Slider::all();
$data['scats'] = Scategory::where('status', 1)->get();
$data['portfolios'] = Portfolio::orderBy('id', 'DESC')->limit(10)->get();
$data['features'] = Feature::all();
$data['points'] = Point::all();
$data['statistics'] = Statistic::all();
$data['testimonials'] = Testimonial::all();
$data['faqs'] = Faq::all();
$data['members'] = Member::all();
$data['blogs'] = Blog::orderBy('id', 'DESC')->limit(6)->get();
$data['partners'] = Partner::all();
return view('front.index', $data);
}

public function services(Request $request) {
$category = $request->category;
$term = $request->term;

$data['scats'] = Scategory::where('status', 1)->get();
if (!empty($category)) {
$data['category'] = Scategory::findOrFail($category);
}

$data['services'] = Service::when($category, function ($query, $category) {
return $query->where('scategory_id', $category);
})->when($term, function ($query, $term) {
return $query->where('title', 'like', '%'.$term.'%');
})->orderBy('id', 'DESC')->paginate(6);

return view('front.services', $data);
}

public function portfolios(Request $request) {
$category = $request->category;
$term = $request->term;

$data['scats'] = Scategory::where('status', 1)->get();
if (!empty($category)) {
$data['category'] = Scategory::findOrFail($category);
}

$data['portfolios'] = Portfolio::when($category, function ($query, $category) {
$serviceIdArr = [];
$serviceids = Service::select('id')->where('scategory_id', $category)->get();
foreach ($serviceids as $key => $serviceid) {
$serviceIdArr[] = $serviceid->id;
}
return $query->whereIn('service_id', $serviceIdArr);
})->orderBy('id', 'DESC')->paginate(9);

return view('front.portfolios', $data);
}

public function portfoliodetails($slug) {
$data['portfolio'] = Portfolio::where('slug', $slug)->firstOrFail();
return view('front.portfolio-details', $data);
}

public function servicedetails($slug) {
$data['service'] = Service::where('slug', $slug)->firstOrFail();
$data['scats'] = Scategory::all();
return view('front.service-details', $data);
}

public function blogs(Request $request) {
$category = $request->category;
$term = $request->term;
$tag = $request->tag;
$month = $request->month;
$year = $request->year;
$data['archives'] = Archive::orderBy('id', 'DESC')->get();
$data['bcats'] = Bcategory::where('status', 1)->orderBy('id', 'DESC')->get();
if (!empty($month) && !empty($year)) {
$archive = true;
} else {
$archive = false;
}

$data['blogs'] = Blog::when($category, function ($query, $category) {
return $query->where('bcategory_id', $category);
})
->when($term, function ($query, $term) {
return $query->where('title', 'like', '%'.$term.'%');
})
->when($tag, function ($query, $tag) {
return $query->where('tags', 'like', '%'.$tag.'%');
})
->when($archive, function ($query) use ($month, $year) {
return $query->whereMonth('created_at', $month)->whereYear('created_at', $year);
})->orderBy('id', 'DESC')->paginate(6);
return view('front.blogs', $data);
}

public function blogdetails($slug) {
$data['blog'] = Blog::where('slug', $slug)->firstOrFail();
$data['archives'] = Archive::orderBy('id', 'DESC')->get();
$data['bcats'] = Bcategory::where('status', 1)->orderBy('id', 'DESC')->get();
return view('front.blog-details', $data);
}

public function contact() {
if (session()->has('lang')) {
$data['langg'] = Language::where('code', session('lang'))->first();
return view('front.contact', $data);
}
return view('front.contact');
}

public function sendmail(Request $request) {
$bs = BS::first();

$messages = [
'g-recaptcha-response.required' => 'Please verify that you are not a robot.',
'g-recaptcha-response.captcha' => 'Captcha error! try again later or contact site admin.',
];

$rules = [
'name' => 'required',
'email' => 'required|email',
'subject' => 'required',
'message' => 'required'
];

if ($bs->is_recaptcha == 1) {
$rules['g-recaptcha-response'] = 'required|captcha';
}

$request->validate($rules, $messages);

$bs = BS::firstOrFail();
$from = $request->email;
$to = $bs->contact_mail;
$subject = $request->subject;
$message = $request->message;

$headers = "From: $request->name <$from> \r\n";
$headers .= "Reply-To: $request->name <$from> \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

@if ($errors->has('name'))
<p class="text-danger mb-0">{{$errors->first('name')}}</p>
@endif
</div>
</div>
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="email" value="{{old('email')}}" placeholder="{{__('Email')}}">
@if ($errors->has('email'))
<p class="text-danger mb-0">{{$errors->first('email')}}</p>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="phone" value="{{old('phone')}}" placeholder="{{__('Contact Number')}}">
@if ($errors->has('phone'))
<p class="text-danger mb-0">{{$errors->first('phone')}}</p>
@endif
</div>
</div>
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="country" value="{{old('country')}}" placeholder="{{__('Country Name')}}">
@if ($errors->has('country'))
<p class="text-danger mb-0">{{$errors->first('country')}}</p>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-element mb-4">
<select name="budget">
<option value="" selected disabled>{{__('Approximate Budget')}}</option>
@foreach ($budgets as $key => $budget)
<option value="{{$budget->limits}}" {{old('budget') == $budget->limits ? 'selected' : ''}}>{{$budget->limits}}</option>
@endforeach
</select>
@if ($errors->has('budget'))
<p class="text-danger mb-0">{{$errors->first('budget')}}</p>
@endif
</div>
</div>
<div class="col-lg-6">
<div class="form-element mb-4">
<input type="text" name="skype_whatsapp" value="{{old('skype_whatsapp')}}" placeholder="{{__('Skype ID / Whatsapp Number')}}">
@if ($errors->has('skype_whatsapp'))
<p class="text-danger mb-0">{{$errors->first('skype_whatsapp')}}</p>
@endif
</div>
</div>
</div>
<div class="row mb-4">
<div class="col-lg-12 mb-2">
<h6><strong>{{__('Select Your Choices :')}}</strong></h6>
</div>
<div class="col-lg-12">
<div class="row">
@foreach ($services as $key => $service)
<div class="col-lg-3 col-md-6">
<div class="custom-control custom-checkbox">
<input name="services[]" type="checkbox" class="custom-control-input" id="customCheck{{$service->id}}" value="{{$service->title}}" {{is_array(old('services')) && in_array($service->title, old('services')) ? 'checked' : ''}}>
<label class="custom-control-label pt-1" for="customCheck{{$service->id}}">{{$service->title}}</label>
</div>
</div>
@endforeach
</div>
</div>
<div class="col-lg-12">
@if ($errors->has('services'))
<p class="text-danger mb-0">{{$errors->first('services')}}</p>
@endif
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-element mb-4">
<textarea name="description" rows="8" cols="80" placeholder="{{__('Project Description')}}">{{old('description')}}</textarea>
@if ($errors->has('description'))
<p class="text-danger mb-0">{{$errors->first('description')}}</p>
@endif
</div>
</div>
</div>
<div class="row mb-4">
<div class="col-lg-12">
<div class="form-element mb-2">
<input type="file" name="nda" value="">
</div>
<p class="text-warning mb-0">** {{__('Only doc, docx, pdf, rtf, txt files are allowed')}}</p>
@if ($errors->has('nda'))
<p class="text-danger mb-0">{{$errors->first('nda')}}</p>
@endif
</div>
</div>
<div class="row mb-4">
<div class="col-lg-12">
<div class="custom-control custom-checkbox">
<input type="checkbox" name="checknda" class="custom-control-input" id="nda" value="1" {{old('checknda') == 1 ? 'checked' : ''}}>
<label class="custom-control-label pt-1" for="nda">{{__('Send me a copy of NDA')}}</label>
</div>
@if ($errors->has('checknda'))
<p class="text-danger mb-0">{{$errors->first('checknda')}}</p>
@endif
</div>
</div>

@if ($bs->is_recaptcha == 1)
<div class="row mb-4">
<div class="col-lg-12">
{!! NoCaptcha::renderJs() !!}
{!! NoCaptcha::display() !!}
@if ($errors->has('g-recaptcha-response'))
<p class="text-danger mb-0">{{$errors->first('g-recaptcha-response')}}</p>
@endif
</div>
</div>
@endif

<div class="row">
<div class="col-lg-12 text-center">
<button type="submit" name="button">{{__('Submit')}}</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- quote area end -->
@endsection
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

İkinci ilgili dosya2;

Session::flash('success', 'Email sent successfully!');
return back();

}

public function subscribe(Request $request) {
$rules = [
'email' => 'required|email|unique:subscribers'
];

$validator = Validator::make($request->all(), $rules);

if ($validator->fails()) {
return response()->json(array('errors' => $validator->getMessageBag()->toArray()));
}

$subsc = new Subscriber;
$subsc->email = $request->email;
$subsc->save();

return "success";
}

public function quote() {
$data['services'] = Service::all();
$data['budgets'] = Budget::all();
return view('front.quote', $data);
}

public function sendquote(Request $request) {
$bs = BS::first();
$nda = $request->file('nda');
$allowedExts = array('doc', 'docx', 'pdf', 'rtf', 'txt');

$messages = [
'g-recaptcha-response.required' => 'Please verify that you are not a robot.',
'g-recaptcha-response.captcha' => 'Captcha error! try again later or contact site admin.',
];

$rules = [
'name' => 'required|max:255',
'email' => 'required|email|max:255',
'phone' => 'required|max:30',
'country' => 'required|max:100',
'budget' => 'required',
'skype_whatsapp' => 'required|max:255',
'services' => 'required',
'description' => 'required',
'nda' => [
'required',
function($attribute, $value, $fail) use ($nda, $allowedExts) {
$ext = $nda->getClientOriginalExtension();
if(!in_array($ext, $allowedExts)) {
return $fail("Only doc, docx, pdf, rtf, txt files are allowed");
}
}
],
'checknda' => 'required',
];

if ($bs->is_recaptcha == 1) {
$rules['g-recaptcha-response'] = 'required|captcha';
}

$request->validate($rules, $messages);

$in = $request->all();
$in['services'] = json_encode($request->services);
$filename = uniqid() . '.' . $nda->getClientOriginalExtension();
$nda->move('assets/front/ndas/', $filename);
$in['nda'] = $filename;
$quote = Quote::create($in);

Session::flash('success', 'Quote request sent successfully');
return back();
}

public function team() {
$data['members'] = Member::all();
return view('front.team', $data);
}

public function gallery() {
$data['galleries'] = Gallery:rderBy('id', 'DESC')->paginate(12);
return view('front.gallery', $data);
}

public function faq() {
$data['faqs'] = Faq:rderBy('id', 'DESC')->get();
return view('front.faq', $data);
}

public function dynamicPage($slug) {
$data['page'] = Page::where('slug', $slug)->firstOrFail();
return view('front.dynamic', $data);
}

public function changeLanguage($lang)
{
session()->put('lang', $lang);
app()->setLocale($lang);
return redirect()->back();
}
}

[/PHPR]



Günceldir yardımcı olacak yok mu