Example #1
0
 public static function updateProfile($input)
 {
     $validation = Validator::make($input, Users::$editProfileRules);
     if ($validation->fails()) {
         return Response::json(array('status' => '0', 'msg' => $validation->getMessageBag()->first()), 200);
     } else {
         $access_token = $input['token'];
         $full_name = $input['full_name'];
         $phone_number = isset($input['phone_number']) ? $input['phone_number'] : "";
         $dob = $input['dob'];
         $user_type = $input['user_type'];
         if ($user_type == 'employer') {
             $company_name = isset($input['company_name']) ? $input['company_name'] : "";
             $designation = isset($input['designation']) ? $input['designation'] : "";
             $company_description = isset($input['company_description']) ? $input['company_description'] : "";
         } else {
             $masters = isset($input['majors']) ? $input['majors'] : "";
             $college = isset($input['college']) ? $input['college'] : "";
             $passout_year = isset($input['passout_year']) ? $input['passout_year'] : "";
             $company_name = isset($input['company_name']) ? $input['company_name'] : "";
             $start_year = isset($input['start_year']) ? $input['start_year'] : "";
             $end_year = isset($input['end_year']) ? $input['end_year'] : "";
             $designation = isset($input['designation']) ? $input['designation'] : "";
             $job_description = isset($input['job_description']) ? $input['job_description'] : '';
             $job_id = isset($input['job_id']) ? $input['job_id'] : '';
             $qual_id = isset($input['qual_id']) ? $input['qual_id'] : '';
             $present_job = isset($input['present_job']) ? $input['present_job'] : '0';
             $skillset = isset($input['skillset']) ? $input['skillset'] : "";
         }
         $fbid = isset($input['fbid']) ? $input['fbid'] : '0';
         $linkedin_id = isset($input['linkedin_id']) ? $input['linkedin_id'] : '';
         $bio = isset($input['bio']) ? $input['bio'] : '';
         $profile_pic = Input::file('profile_pic');
         $current_time = new DateTime();
         $user_id = Users::getUserIdByToken($access_token);
         if ($profile_pic == "") {
             $image = "";
         } else {
             $image = Users::uploadImage();
         }
         if ($user_id) {
             $profile_setup_status = Users::ProfileSetupStatus($user_id);
             if ($image) {
                 DB::table('users')->where('id', $user_id)->update(['full_name' => $full_name, 'dob' => $dob, 'phone_number' => $phone_number, 'profile_pic' => $image, 'bio' => $bio]);
             } else {
                 DB::table('users')->where('id', $user_id)->update(['full_name' => $full_name, 'dob' => $dob, 'phone_number' => $phone_number, 'bio' => $bio]);
             }
             if ($fbid) {
                 DB::table('users')->where('id', $user_id)->update(['fbid' => $fbid]);
             }
             if ($linkedin_id) {
                 DB::table('users')->where('id', $user_id)->update(['linkedin_id' => $linkedin_id]);
             }
             if ($user_type == 'employer') {
                 $company_detail = Users::EmployerCompanyDetails($user_id);
                 if ($company_detail) {
                     DB::table('company')->where('user_id', $user_id)->update(['company_name' => $company_name, 'designation' => $designation, 'company_description' => $company_description]);
                 } else {
                     $company_id = DB::table('company')->insertGetId(array('user_id' => $user_id, 'company_name' => $company_name, 'designation' => $designation, 'company_description' => $company_description, 'created_at' => $current_time));
                 }
             } else {
                 if ($company_name) {
                     $company_name = str_replace('"', "", $company_name);
                     $company_name = explode(",", $company_name);
                 }
                 $start_year = str_replace('"', "", $start_year);
                 $start_year = explode(",", $start_year);
                 $end_year = str_replace('"', "", $end_year);
                 $end_year = explode(",", $end_year);
                 $designation = str_replace('"', "", $designation);
                 $designation = explode(",", $designation);
                 $job_description = str_replace('"', "", $job_description);
                 $job_description = explode(",", $job_description);
                 $present_job = str_replace('"', "", $present_job);
                 $present_job = explode(",", $present_job);
                 $masters = str_replace('"', "", $masters);
                 $masters = explode(",", $masters);
                 $college = str_replace('"', "", $college);
                 $college = explode(",", $college);
                 $passout_year = str_replace('"', "", $passout_year);
                 $passout_year = explode(",", $passout_year);
                 if ($skillset) {
                     $skillset = str_replace('"', "", $skillset);
                     // $skillset = preg_replace('/\s+/',' ',$skillset);
                     // $skillset=str_replace(' ',"_", $skillset);
                     $skillset = explode(",", $skillset);
                 }
                 if ($company_name && $skillset) {
                     $hash_data = array_merge_recursive($company_name, $skillset);
                 } elseif ($company_name && !$skillset) {
                     $hash_data = $company_name;
                 } else {
                     $hash_data = $skillset;
                 }
                 if ($company_name) {
                     Users::UpdateUserJobs($user_id, $company_name, $start_year, $end_year, $designation, $job_description, $present_job);
                 }
                 if ($masters) {
                     Users::UpdateQualification($user_id, $masters, $college, $passout_year);
                 }
                 if ($company_name || $skillset) {
                     Users::UpdateHashTags($user_id, $hash_data);
                 }
                 if ($skillset) {
                     Users::UpdateSkillset($user_id, $skillset);
                 }
             }
             $user_details = Users::LoginTypeResponse($user_id);
             return Response::json(array('status' => '1', 'msg' => 'User Profile Updated', 'result' => $user_details, 'profile_complete_status' => $profile_setup_status), 200);
         } else {
             return Response::json(array('status' => '0', 'msg' => "Token Expired"), 200);
         }
     }
 }