示例#1
0
 public static function boot()
 {
     parent::boot();
     static::creating(function ($profile) {
         $string = preg_replace('/\\s+/', '', $profile->display_name);
         $filename = time() . '-' . $string . '.png';
         $path = public_path('img/avatar/' . $filename);
         \Avatar::create($profile->display_name)->save($path, 100);
         $profile->profile_pic = asset('img/avatar/' . $filename);
     });
 }
示例#2
0
文件: User.php 项目: elberd/maoh
 public static function edit($request)
 {
     $validator = Validator::make($request->all(), ['name' => 'required|max:50', 'phone' => 'required|max:50', 'email' => 'required|email', 'city' => 'required|integer', 'image' => 'image']);
     if (!$validator->fails()) {
         Auth::user()->name = $request->input('name');
         Auth::user()->phone = str_replace([' ', '(', ')', '-'], '', $request->input('phone'));
         Auth::user()->email = $request->input('email');
         Auth::user()->city_id = $request->input('city');
         if (null != Request::input('password')) {
             Auth::user()->password = $request->input('password');
         }
         if (null != Input::file('image')) {
             $file = Input::file('image');
             if ($file->isValid()) {
                 $image = Image::make($file);
                 $notFullPath = 'avatars/' . date("Y") . '/' . date('m') . '/' . date('d') . '/';
                 $path = 'upload/' . $notFullPath;
                 $extension = File::extension($file->getClientOriginalName());
                 $filename = uniqid() . '.' . $extension;
                 if (!is_dir($path)) {
                     mkdir(public_path($path), 0777, true);
                 }
                 $path .= '/';
                 $image->fit(140, 140);
                 $image->save($path . $filename);
                 $avatar = Avatar::where('user_id', Auth::user()->id)->first();
                 if (is_null($avatar)) {
                     $avatar = new Avatar();
                     $avatar->user_id = Auth::user()->id;
                 } else {
                     File::delete('upload/' . $avatar->path);
                 }
                 $avatar->path = $notFullPath . $filename;
                 $avatar->save();
             } else {
                 echo 'Invalid file';
             }
         }
         Auth::user()->save();
     }
 }
示例#3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('users')->insert([['name' => 'Tony', 'email' => '*****@*****.**', 'password' => Hash::make('Tony'), 'role' => 'administrator'], ['name' => 'Antoine', 'email' => '*****@*****.**', 'password' => Hash::make('Antoine'), 'role' => 'visitor'], ['name' => 'Romain', 'email' => '*****@*****.**', 'password' => Hash::make('Tony'), 'role' => 'visitor'], ['name' => 'yini', 'email' => '*****@*****.**', 'password' => Hash::make('Yini'), 'role' => 'visitor']]);
     factory(App\Customer::class, 4)->create();
     // avatars
     DB::table('avatars')->delete();
     DB::statement("ALTER TABLE avatars AUTO_INCREMENT=1");
     $files = Storage::allFiles(env('UPLOADS_AVATARS', 'uploads'));
     foreach ($files as $file) {
         Storage::delete($file);
     }
     $users = User::all();
     foreach ($users as $user) {
         $uri = str_random(12) . '_216x256.jpg';
         $fileName = file_get_contents('http://lorempixel.com/216/256/animals');
         $pathDirectory = env('UPLOADS_AVATARS', 'avatars') . DIRECTORY_SEPARATOR . $uri;
         Storage::put($pathDirectory, $fileName);
         $mime = mime_content_type(storage_path('app') . DIRECTORY_SEPARATOR . $pathDirectory);
         Avatar::create(['user_id' => $user->id, 'uri' => $uri, 'title' => $this->facker->name, 'mime' => $mime]);
     }
 }
示例#4
0
 /**
  * @param $userId
  * @return mixed
  */
 public function getAvatar($userId)
 {
     $avatar = Avatar::where('user_id', '=', (int) $userId)->firstOrFail();
     $file = Storage::disk('local')->get(env('UPLOAD_AVATARS') . DIRECTORY_SEPARATOR . $avatar->uri);
     return response($file, 200)->header('Content-Type', $avatar->mime);
 }