📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-02 02:20:37
📂
/ (Root)
/
home
/
orkouolp
/
web
/
testing.orkobd
/
laravel
/
app
/
Http
/
Controllers
/
Frontend
📍 /home/orkouolp/web/testing.orkobd/laravel/app/Http/Controllers/Frontend
🔄 Refresh
✏️
Editing: CandidateProfileController.php
Writable
<?php namespace App\Http\Controllers\Frontend; use App\Models\City; use App\Models\Skill; use App\Models\State; use App\Models\Country; use App\Models\Language; use App\Services\Notify; use App\Models\Candidate; use App\Models\Experience; use App\Models\Profession; use App\Models\IndustryType; use Illuminate\Http\Request; use App\Models\CandidateSkill; use App\Traits\FileUploadTrait; use Illuminate\Validation\Rules; use App\Models\CandidateLanguage; use App\Models\CandidateEducation; use App\Models\CandidateExperience; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; use App\Http\Requests\Frontend\CandidateAccountInfoUpdateRequest; use App\Http\Requests\Frontend\CandidateProfileInfoUpdateRequest; use App\Http\Requests\Frontend\CandidateBasicProfileUpdateRequest; class CandidateProfileController extends Controller { use FileUploadTrait; function index() { $candidate = Candidate::with(['skills', 'languages']) ->where('user_id', auth()->user()->id)->first(); $candidateExperiences = CandidateExperience:: where('candidate_id', $candidate?->id) ->orderBy('id', 'DESC')->get(); $candidateEducation = CandidateEducation:: where('candidate_id', $candidate?->id) ->orderBy('id', 'DESC')->get(); $experiences = Experience::all(); //dd($candidate?->skills->pluck('skill_id')->toArray()); $professions = Profession::all(); $industryTypes = IndustryType::all(); $skills = Skill::all(); $languages = Language::all(); $countries = Country::all(); $states = State::where('country_id', $candidate?->country)->get(); $cities = City::where('state_id', $candidate?->state)->get(); return view('frontend.candidate-dashboard.profile.index', compact('candidate', 'experiences','professions','industryTypes','skills','languages','candidateExperiences','candidateEducation','countries','states','cities')); } /** update basic info of candidate profile */ function basicInfoUpdate(CandidateBasicProfileUpdateRequest $request) { $data = []; //dd($request->all()); $imagePath = $this->uploadFile($request, 'profile_picture'); $cvPath = $this->uploadFile($request, 'cv'); //dd($cvPath); if(!empty($imagePath)) $data['image'] = $imagePath; if(!empty($cvPath)) $data['cv'] = $cvPath; $data['full_name'] = $request->full_name; $data['title'] = $request->title; $data['experience_id'] = $request->experience_level; $data['website'] = $request->website; $data['birth_date'] = $request->date_of_birth; Candidate::updateOrCreate( ['user_id' => auth()->user()->id], $data ); $this->updateProfileStatus(); Notify::updatedNotification(); return redirect()->back(); } function profileInfoUpdate(CandidateProfileInfoUpdateRequest $request) { //dd($request->all()); $data = []; //dd(auth()->user()->id); $data['gender'] = $request->gender; $data['marital_status'] = $request->marital_status; $data['profession_id'] = $request->profession; $data['industry_type_id'] = $request->industry_type; $data['status'] = $request->availability; $data['bio'] = $request->biography; //dd($data); Candidate::updateOrCreate( ['user_id' => auth()->user()->id], $data ); $candidate = Candidate::where('user_id', auth()->user()->id)->first(); CandidateLanguage::where('candidate_id', $candidate->id)?->delete(); sleep(1); foreach($request->language_you_know as $language){ $candidateLang = new CandidateLanguage(); $candidateLang->candidate_id = $candidate->id; $candidateLang->language_id = $language; $candidateLang->save(); } CandidateSkill::where('candidate_id', $candidate->id)?->delete(); foreach($request->skill_you_have as $skill){ $candSkill = new CandidateSkill(); $candSkill->candidate_id = $candidate->id; $candSkill->skill_id = $skill; $candSkill->save(); } $this->updateProfileStatus(); Notify::updatedNotification(); return redirect()->back(); } // Account Info Update function accountInfoUpdate(CandidateAccountInfoUpdateRequest $request) { // dd($request->all()); Candidate::updateOrCreate( ['user_id' => auth()->user()->id], [ 'country' => $request->country, 'state' => $request->state, 'city' => $request->city, 'address' => $request->address, 'phone_one' => $request->phone, 'phone_two' => $request->secondary_phone, 'email' => $request->email, ] ); $this->updateProfileStatus(); Notify::updatedNotification(); return redirect()->back(); } //Account Email Update function accountEmailUpdate(Request $request) { //dd($request->all()); $request->validate([ 'account_email' => ['required', 'email'], ]); Auth::user()->update(['email' => $request->account_email]); Notify::updatedNotification(); return redirect()->back(); } //Account Password Update function accountPasswordUpdate(Request $request) { $request->validate([ 'password' => ['required', 'confirmed', Rules\Password::defaults()] ]); Auth::user()->update([ 'password' => bcrypt($request->password) ]); Notify::updatedNotification(); return redirect()->back(); } // Update profile complete status function updateProfileStatus() { if(isCandidateProfileComplete()) { $candidate = Candidate::where('user_id', Auth::user()->id)->first(); $candidate->profile_complete = 1; $candidate->visibility = 1; $candidate->save(); } } }
💾 Save Changes
❌ Cancel