public function update(Request $request, $id) { $is_system_admin = ''; $users = null; $user_data = \Input::all(); if (array_key_exists('user_type', $user_data)) { $is_system_admin = $user_data['user_type']; } $validator = Validator::make($user_data, ['email_addr_text' => 'required|email', 'first_name_text' => 'required|string', 'last_name_text' => 'required|string', 'nickname_text' => 'required|string', 'new_password' => 'required|string']); if ($validator->fails()) { $messages = $validator->messages()->getMessages(); $flash_message = ''; foreach ($messages as $key => $value) { switch ($key) { case 'email_addr_text': $flash_message = 'Email is blank or format is invalid (use abc@domain.tld)'; break; case 'first_name_text': $flash_message = 'First Name contains invalid characters (use a-z, A-Z, 0-9, . and -)'; break; case 'last_name_text': $flash_message = 'Last Name contains invalid characters (use a-z, A-Z, 0-9, . and -)'; break; case 'nickname_text': $flash_message = 'Nickname contains invalid characters (use a-z, A-Z, 0-9, . and -)'; break; case 'new_password': $flash_message = 'Password is blank or contains invalid characters'; break; } break; } Session::flash('flash_message', $flash_message); Session::flash('flash_type', 'alert-danger'); $_redirect = '/v1/users/' . $id . '/edit?user_type='; if ($is_system_admin) { $_redirect .= 'admin'; } else { $_redirect .= 'user'; } return redirect($_redirect)->withInput(); } if (array_key_exists('user_type', $user_data)) { $is_system_admin = $user_data['user_type']; } if ($id != $user_data['user_auth']) { if (array_key_exists('active_ind', $user_data)) { $user_data['active_ind'] = 1; } else { $user_data['active_ind'] = 0; } } if ($is_system_admin != '') { $user = ServiceUser::where('email_addr_text', '=', $user_data['email_addr_text'])->first(); if ($user != null) { if ($user->id != $id) { return 'FAIL'; } } $users = new ServiceUser(); } else { $user = User::where('email_addr_text', '=', $user_data['email_addr_text'])->first(); if ($user != null) { if ($user->id != $id) { return 'FAIL'; } } $users = new User(); } if ($user_data['new_password'] != '********') { /** @noinspection PhpUndefinedMethodInspection */ $user_data['password_text'] = Hash::make($user_data['new_password']); } else { unset($user_data['password_text']); } unset($user_data['_method']); unset($user_data['_token']); unset($user_data['new_password']); unset($user_data['user_type']); unset($user_data['user_auth']); unset($user_data['instance_manage_ind']); unset($user_data['instance_policy_ind']); try { $user = $users->find($id); $user->update($user_data); $result_text = 'The user "' . $user_data['first_name_text'] . ' ' . $user_data['last_name_text'] . '" was updated successfully!'; $result_status = 'alert-success'; Session::flash('flash_message', $result_text); Session::flash('flash_type', $result_status); return \Redirect::to($this->makeRedirectUrl('users')); } catch (QueryException $e) { //$res_text = $e->getMessage(); Session::flash('flash_message', 'An error occurred! Check for errors and try again.'); Session::flash('flash_type', 'alert-danger'); $_redirect = '/v1/users/' . $id . '/edit?user_type='; if ($is_system_admin) { $_redirect .= 'admin'; } else { $_redirect .= 'user'; } return redirect($_redirect)->withInput(); } }