Server : LiteSpeed System : Linux us-imm-web1923.main-hosting.eu 5.14.0-503.23.2.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 12 05:52:18 EST 2025 x86_64 User : u980034691 ( 980034691) PHP Version : 8.2.27 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail Directory : /home/u980034691/domains/decryptonstaffing.com/public_html/app/ |
<?php namespace App; use Auth; use App\JobSkill; use App\CompanyMessage; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use App\Traits\CountryStateCity; use App\Traits\CommonUserFunctions; use Illuminate\Support\Carbon; use Illuminate\Contracts\Auth\MustVerifyEmail; class User extends Authenticatable implements MustVerifyEmail { use Notifiable; use CountryStateCity; use CommonUserFunctions; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password','email_verified_at','verified' ]; protected $dates = ['created_at', 'updated_at', 'date_of_birth', 'package_start_date', 'package_end_date']; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; public function profileSummary() { return $this->hasMany('App\ProfileSummary', 'user_id', 'id'); } public function getProfileSummary($field = '') { if (null !== $this->profileSummary->first()) { $profileSummary = $this->profileSummary->first(); if ($field != '') { return $profileSummary->$field; } else { return $profileSummary; } } else { return ''; } } public function profileProjects() { return $this->hasMany('App\ProfileProject', 'user_id', 'id'); } public function getProfileProjectsArray() { return $this->profileProjects->pluck('id')->toArray(); } public function getDefaultCv() { $cv = ProfileCv::where('user_id', '=', $this->id)->where('is_default', '=', 1)->first(); if (null === $cv) $cv = ProfileCv::where('user_id', '=', $this->id)->first(); return $cv; } public function profileCvs() { return $this->hasMany('App\ProfileCv', 'user_id', 'id'); } public function getProfileCvsArray() { return $this->profileCvs->pluck('id')->toArray(); } public function countProfileCvs() { return $this->profileCvs->count(); } public function profileExperience() { return $this->hasMany('App\ProfileExperience', 'user_id', 'id'); } public function profileEducation() { return $this->hasMany('App\ProfileEducation', 'user_id', 'id'); } public function profileSkills() { return $this->hasMany('App\ProfileSkill', 'user_id', 'id'); } public function getProfileSkills() { return $this->profileSkills->get(); } public function getProfileSkillsStr() { $profileSkills = $this->profileSkills()->get(); $str = ''; if ($profileSkills !== null) { foreach ($profileSkills as $profileSkill) { $jobSkill = JobSkill::where('job_skill_id', '=', $profileSkill->job_skill_id)->lang()->first(); $str .= ' ' . $jobSkill->job_skill; } } return $str; } public function profileLanguages() { return $this->hasMany('App\ProfileLanguage', 'user_id', 'id'); } public function favouriteJobs() { return $this->hasMany('App\FavouriteJob', 'user_id', 'id'); } public function getFavouriteJobSlugsArray() { return $this->favouriteJobs->pluck('job_slug')->toArray(); } public function isFavouriteJob($job_slug) { $return = false; if (Auth::check()) { $count = FavouriteJob::where('user_id', Auth::user()->id)->where('job_slug', 'like', $job_slug)->count(); if ($count > 0) $return = true; } return $return; } public function favouriteCompanies() { return $this->hasMany('App\FavouriteCompany', 'user_id', 'id'); } public function getFavouriteCompanies() { return $this->favouriteCompanies->pluck('company_slug')->toArray(); } /* * ****************************** */ public function isAppliedOnJob($job_id) { $return = false; if (Auth::check()) { $count = JobApply::where('user_id', Auth::user()->id)->where('job_id', '=', $job_id)->count(); if ($count > 0) $return = true; } return $return; } public function appliedJobs() { return $this->hasMany('App\JobApply', 'user_id', 'id'); } public function getAppliedJobIdsArray() { return $this->appliedJobs->pluck('job_id')->toArray(); } public function getAppliedJob() { return $this->appliedJobs()->orderBy('id')->get(); } /* * ***************************** */ public function isFavouriteCompany($company_slug) { $return = false; if (Auth::check()) { $count = FavouriteCompany::where('user_id', Auth::user()->id)->where('company_slug', 'like', $company_slug)->count(); if ($count > 0) $return = true; } return $return; } public function printUserImage($width = 0, $height = 0) { $image = (string)$this->image; $image = (!empty($image)) ? $image : 'no-no-image.gif'; return \ImgUploader::print_image("user_images/$image", $width, $height, '/admin_assets/no-image.png', $this->getName()); } public function printUserCoverImage($width = 0, $height = 0) { $cover_image = (string) $this->cover_image; $cover_image = (!empty($cover_image)) ? $cover_image : 'no-no-image.gif'; return \ImgUploader::print_image("user_images/$cover_image", $width, $height, '/admin_assets/no-cover.jpg', $this->name); } public function getName() { $html = ''; if (!empty($this->first_name)) $html .= $this->first_name; // if (!empty($this->middle_name)) // $html .= ' ' . $this->middle_name; if (!empty($this->last_name)) $html .= ' ' . $this->last_name; return $html; } public function getAge() { if (!empty((string)$this->date_of_birth) && null !== $this->date_of_birth) { // If date_of_birth is a string, convert it to Carbon $dob = is_string($this->date_of_birth) ? Carbon::parse($this->date_of_birth) : $this->date_of_birth; // Calculate and return the age return $dob->age; } return null; // or any default value if date_of_birth is not set } public function careerLevel() { return $this->belongsTo('App\CareerLevel', 'career_level_id', 'career_level_id'); } public function getCareerLevel($field = '') { $careerLevel = $this->careerLevel()->lang()->first(); if (null === $careerLevel) { $careerLevel = $this->careerLevel()->first(); } if (null !== $careerLevel) { if (!empty($field)) return $careerLevel->$field; else return $careerLevel; } } public function jobExperience() { return $this->belongsTo('App\JobExperience', 'job_experience_id', 'job_experience_id'); } public function getJobExperience($field = '') { $jobExperience = $this->jobExperience()->lang()->first(); if (null === $jobExperience) { $jobExperience = $this->jobExperience()->first(); } if (null !== $jobExperience) { if (!empty($field)) return $jobExperience->$field; else return $jobExperience; } } public function gender() { return $this->belongsTo('App\Gender', 'gender_id', 'gender_id'); } public function getGender($field = '') { $gender = $this->gender()->lang()->first(); if (null === $gender) { $gender = $this->gender()->first(); } if (null !== $gender) { if (!empty($field)) return $gender->$field; else return $gender; } } public function maritalStatus() { return $this->belongsTo('App\MaritalStatus', 'marital_status_id', 'marital_status_id'); } public function getMaritalStatus($field = '') { $maritalStatus = $this->maritalStatus()->lang()->first(); if (null === $maritalStatus) { $maritalStatus = $this->maritalStatus()->first(); } if (null !== $maritalStatus) { if (!empty($field)) return $maritalStatus->$field; else return $maritalStatus; } } public function followingCompanies() { return $this->hasMany('App\FavouriteCompany', 'user_id', 'id'); } public function getFollowingCompaniesSlugArray() { return $this->followingCompanies()->pluck('company_slug')->toArray(); } public function countFollowings() { return FavouriteCompany::where('user_id', '=', $this->id)->count(); } public function countApplicantMessages() { return ApplicantMessage::where('user_id', '=', $this->id)->where('is_read', '=', 0)->count(); } public function package() { return $this->belongsTo('App\Package', 'package_id', 'id'); } public function getPackage($field = '') { $package = $this->package()->first(); if (null !== $package) { if (!empty($field)) { return $package->$field; } else { return $package; } } } public function industry() { return $this->belongsTo('App\Industry', 'industry_id', 'industry_id'); } public function getIndustry($field = '') { $industry = $this->industry()->lang()->first(); if (null === $industry) { $industry = $this->industry()->first(); } if (null !== $industry) { if (!empty($field)) return $industry->$field; else return $industry; } } public function functionalArea() { return $this->belongsTo('App\FunctionalArea', 'functional_area_id', 'functional_area_id'); } public function getFunctionalArea($field = '') { $functionalArea = $this->functionalArea()->lang()->first(); if (null === $functionalArea) { $functionalArea = $this->functionalArea()->first(); } if (null !== $functionalArea) { if (!empty($field)) return $functionalArea->$field; else return $functionalArea; } } public function countUserMessages() { return CompanyMessage::where('seeker_id', '=', $this->id)->where('status', '=', 'unviewed')->where('type', '=', 'message')->count(); } public function countMessages($id) { return CompanyMessage::where('seeker_id', '=', $this->id)->where('company_id', '=', $id)->where('status', '=', 'unviewed')->where('type', '=', 'message')->count(); } }