Your IP : 216.73.216.93


Current Path : /home/users/unlimited/www/talentorbit.codeskitter.site/app/Traits/
Upload File :
Current File : /home/users/unlimited/www/talentorbit.codeskitter.site/app/Traits/CommonUserFunctions.php

<?php

namespace App\Traits;

use DB;
use File;
use ImgUploader;
use App\User;
use App\ProfileSummary;
use App\ProfileProject;
use App\ProfileExperience;
use App\ProfileEducation;
use App\ProfileSkill;
use App\ProfileLanguage;
use App\Http\Requests;
use Illuminate\Http\Request;
use App\Traits\Active;

trait CommonUserFunctions
{

    use Active;

    private function deleteUserImage($id)
    {
        try {
            $user = User::findOrFail($id);
            $image = $user->image;
            if (!empty($image)) {
                File::delete(ImgUploader::real_public_path() . 'user_images/thumb/' . $image);
                File::delete(ImgUploader::real_public_path() . 'user_images/mid/' . $image);
                File::delete(ImgUploader::real_public_path() . 'user_images/' . $image);
            }
            return 'ok';
        } catch (ModelNotFoundException $e) {
            return 'notok';
        }
    }
	
	private function deleteUserCoverImage($id)
    {
        try {
            $user = User::findOrFail($id);
            $cover_image = $user->image;
            if (!empty($cover_image)) {
                File::delete(ImgUploader::real_public_path() . 'user_images/thumb/' . $cover_image);
                File::delete(ImgUploader::real_public_path() . 'user_images/mid/' . $cover_image);
                File::delete(ImgUploader::real_public_path() . 'user_images/' . $cover_image);
            }
            return 'ok';
        } catch (ModelNotFoundException $e) {
            return 'notok';
        }
    }
	
	

    public function deleteUser(Request $request)
    {
        $user_id = $request->input('id');
        try {

            ProfileSummary::where('user_id', '=', $user_id)->delete();
            $this->deleteAllProfileCvs($user_id);
            $this->deleteAllProfileProjects($user_id);
            ProfileExperience::where('user_id', '=', $user_id)->delete();
            $this->deleteAllProfileEducation($user_id);
            ProfileSkill::where('user_id', '=', $user_id)->delete();
            ProfileLanguage::where('user_id', '=', $user_id)->delete();

            $this->deleteUserImage($user_id);
            $this->deleteUserCoverImage($user_id);

            $user = User::findOrFail($user_id);
            $user->delete();
            echo 'ok';
        } catch (ModelNotFoundException $e) {
            echo 'notok';
        }
    }

    public function updateImmediateAvailableStatus(Request $request)
    {
        $id = $request->input('user_id');
        $old_status = $request->input('old_status');
        try {
            $user = User::findOrFail($id);
            $user->is_immediate_available = !$old_status;
            $user->update();
            echo 'ok';
        } catch (ModelNotFoundException $e) {
            echo 'notok';
        }
    }

    private function updateUserFullTextSearch($user)
    {
        $str = '';
        $str .= $user->getName();
        $str .= ' ' . $user->getCountry('country');
        $str .= ' ' . $user->getState('state');
        $str .= ' ' . $user->getCity('city');
        $str .= ' ' . $user->father_name;
        $str .= ' ' . \Carbon\Carbon::parse($user->date_of_birth)->format('Y-m-d');
        $str .= ' ' . $user->phone;
        $str .= ' ' . $user->mobile_num;
        $str .= ' ' . $user->getGender('gender');
        $str .= ' ' . $user->getJobExperience('job_experience');
        $str .= ' ' . $user->current_salary . ' - ' . $user->expected_salary;
        $str .= ' ' . $user->getCareerLevel('career_level');
        $str .= ' ' . $user->getIndustry('industry');
        $str .= ' ' . $user->getFunctionalArea('functional_area');
        $str .= ' ' . $user->street_address;
        $str .= ' ' . $user->getProfileSkillsStr();

        $user->search = $str;
        $user->update();
    }

    public static function countNumJobSeekers($field = 'country_id', $value = '')
    {
        if (!empty($value)) {

            if ($field == 'industry_id') {
                return User::where('industry_id', $value)->active()->count('id');
            }
            if ($field == 'job_skill_id') {
                $job_seeker_ids = ProfileSkill::where('job_skill_id', '=', $value)->pluck('user_id')->toArray();
                return User::whereIn('id', array_unique($job_seeker_ids))->active()->count('id');
            }
            if ($field == 'functional_area_id') {
                return User::where('functional_area_id', '=', $value)->active()->count('id');
            }
            if ($field == 'careel_level_id') {
                return User::where('careel_level_id', '=', $value)->active()->count('id');
            }
            if ($field == 'gender_id') {
                return User::where('gender_id', '=', $value)->active()->count('id');
            }
            if ($field == 'job_experience_id') {
                return User::where('job_experience_id', '=', $value)->active()->count('id');
            }
            if ($field == 'country_id') {
                return User::where('country_id', '=', $value)->active()->count('id');
            }
            if ($field == 'state_id') {
                return User::where('state_id', '=', $value)->active()->count('id');
            }
            if ($field == 'city_id') {
                return User::where('city_id', '=', $value)->active()->count('id');
            }
        }
    }

}