public function postIndex(Request $request) { $user = $request->user(); if (UserProfile::where('user_id', $user->id)->count()) { $profile = UserProfile::where('user_id', $user->id)->first(); $profile_picture = $profile->profile_pic; $proof = $profile->photo_id_proof; } else { $profile = new UserProfile(); $profile_picture = NULL; $proof = NULL; } if ($request->hasFile('profile_picture')) { $profile_picture = $user->id . '_' . $request->file('profile_picture')->getClientOriginalName(); $request->file('profile_picture')->move('uploads/profile_pics/', $profile_picture); } if ($request->hasFile('proof')) { $proof = $user->id . '_' . $request->file('proof')->getClientOriginalName(); $request->file('proof')->move('uploads/proof/', $proof); } $profile->user_id = $user->id; $profile->profile_pic = $profile_picture; $profile->designation = $request->designation; $profile->address = $request->address; $profile->city = $request->city; $profile->state = $request->state; $profile->country = $request->country; $profile->photo_id_proof = $proof; $profile->save(); return redirect('profile'); }
public function __construct() { $this->middleware('auth'); $this->sidebarTags = Tag::with(['user' => function ($query) { $query->where('id', Auth::id()); }])->where('count', '>=', '0')->orderBy('count', 'desc')->orderBy('updated_at', 'desc')->take(8)->get(); $this->recentPosts = Article::where('article_uid', Auth::id())->orderBy('created_at', 'desc')->take(3)->get(); $this->userProfile = UserProfile::where('user_id', Auth::id())->get()->first(); View::share('sidebarTags', $this->sidebarTags); View::share('recentPosts', $this->recentPosts); View::share('userProfile', $this->userProfile); }
public function create(Request $request) { // プロフィール登録 $inputs = $request->all(); if (Auth::user()->is_student) { $tech_items = ['Java' => $inputs['Java'], 'C' => $inputs['C'], 'C++' => $inputs['C++'], 'Python' => $inputs['Python'], 'C#' => $inputs['C#'], 'Objective-C' => $inputs['Objective-C'], 'Perl' => $inputs['Perl'], 'HTML' => $inputs['HTML'], 'CSS' => $inputs['CSS'], 'JavaScript' => $inputs['JavaScript'], 'PHP' => $inputs['PHP'], 'Ruby' => $inputs['Ruby'], 'Scala' => $inputs['Scala']]; $tech = json_encode($tech_items); $inputs += ['tech' => $tech]; UserProfile::where('student_id', '=', Auth::user()->id)->first()->update($inputs); } else { logger($inputs); CompanyProfile::where('company_id', '=', Auth::user()->id)->first()->update($inputs); } return redirect('mypage'); }
public function saveProfile(Request $request) { if (Auth::check()) { $rules1 = ['name' => 'required|max:100', 'country' => 'required|max:20', 'city' => 'required|max:20 ', 'phone' => 'required|regex:/^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$/', 'description' => 'required|max:200']; $rules2 = ['name' => 'max:100', 'country' => 'max:20|min:2', 'city' => 'max:20 |min:2', 'phone' => 'regex:/^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$/', 'description' => 'max:200']; $validator1 = Validator::make($request->input(), $rules1); $validator2 = Validator::make($request->input(), $rules2); if ($this->userProfile != null) { if ($validator2->passes()) { if ($request->hasFile('image')) { if ($request->file('image')->isValid()) { $destPath = '/home/vagrant/Code/Project/LaravelProject/public/storage/uploads/' . Auth::id(); // upload path $extension = $request->file('image')->getClientOriginalExtension(); $fileName = date('Y_m_d_H_i_s') . '_' . rand(1, 9999) . '.' . $extension; // renameing image $request->file('image')->move($destPath, $fileName); $this->userProfile->portrait = 'storage/uploads/' . Auth::id() . '/' . $fileName; } } if ($request->input('name') != "") { $this->userProfile->user->name = $request->input('name'); $this->userProfile->user->save(); } if ($request->input('gender') != "") { $this->userProfile->gender = $request->input('gender'); } if ($request->input('country') != "") { $this->userProfile->country = $request->input('country'); } if ($request->input('city') != "") { $this->userProfile->city = $request->input('city'); } if ($request->input('phone') != "") { $this->userProfile->phone = $request->input('phone'); } if ($request->input('description') != "") { $this->userProfile->description = $request->input('description'); } $this->userProfile->save(); } else { return "Hello!!1"; return redirect('/profile')->withInput()->withErrors($validator2); } } else { if ($validator1->passes()) { $destPath = ""; $fileName = ""; if ($request->hasFile('image')) { if ($request->file('image')->isValid()) { $destPath = '/home/vagrant/Code/Project/LaravelProject/public/storage/uploads/' . Auth::id(); // upload path $extension = $request->file('image')->getClientOriginalExtension(); $fileName = date('Y_m_d_H_i_s') . '_' . rand(1, 9999) . '.' . $extension; // renameing image $request->file('image')->move($destPath, $fileName); } } UserProfile::create(['user_id' => Auth::id(), 'phone' => $request->input('phone'), 'gender' => $request->input('gender'), 'city' => $request->input('city'), 'country' => $request->input('country'), 'description' => $request->input('description'), 'portrait' => 'storage/uploads/' . Auth::id() . '/' . $fileName]); $this->userProfile = UserProfile::where('user_id', Auth::id())->get()->first(); $this->userProfile->description = $request->input('description'); $this->userProfile->portrait = 'storage/uploads/' . Auth::id() . '/' . $fileName; $this->userProfile->save(); $user = User::where('id', Auth::id())->get()->first(); $user->name = $request->input('name') == "" ? $user->name : $request->input('name'); } else { return redirect('/profile')->withInput()->withErrors($validator1); } } return redirect()->action('SelfMainpageController@showProfile'); } }
/** * @param $input * @return mixed * @throws GeneralException */ public function updateProfile($input) { $user = access()->user(); $user->name = $input['name']; if ($user->canChangeEmail()) { //Address is not current address if ($user->email != $input['email']) { //Emails have to be unique if (User::where('email', $input['email'])->first()) { throw new GeneralException("That e-mail address is already taken."); } $user->email = $input['email']; } } $profile = UserProfile::where('user_id', $user->id)->first(); $profile->address = $input['address']; $profile->phone = $input['phone']; $profile->date_of_birth = $input['date_of_birth']; $profile->gender = $input['gender']; $profile->next_of_kin_name = $input['next_of_kin_name']; $profile->next_of_kin_phone = $input['next_of_kin_phone']; $profile->next_of_kin_address = $input['next_of_kin_address']; $profile->next_of_kin_gender = $input['next_of_kin_gender']; $profile->next_of_kin_relationship = $input['next_of_kin_relationship']; $profile->save(); return $user->save(); }