コード例 #1
0
 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');
 }
コード例 #2
0
 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);
 }
コード例 #3
0
 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');
 }
コード例 #4
0
 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();
 }