/** * upload file or files * * @param array $options * @return array|boolean */ protected function uploadFile($options) { if ($options['type'] === 'file') { $this->repo = new FileRepository($options); $this->hasFile = true; } else { $this->repo = new ImageRepository($options); $this->hasPhoto = true; } if (!$this->repo->upload($this->model, $this->request)) { return false; } return $this->repo->getDatas($this->request); }
/** * class constructor method * * @param array $options */ public function __construct(array $options) { parent::__construct($options); }
/** * destroy photo for this user * * @param Request $request * @param User $user * @return \Illuminate\Http\Response */ public function destroyAvatar(Request $request, User $user) { $this->setOperationRelation([['relation_type' => 'not', 'datas' => ['photo' => NULL]]]); $file = new FileRepository(config('laravel-user-module.user.uploads')); $file->deleteDirectories($user); return $this->updateAlias($user); }
/** * model boot method */ protected static function boot() { parent::boot(); /** * model saved method * * @param $model */ parent::saved(function ($model) { if (Request::has('roles')) { $roles = is_string(Request::get('roles')) ? explode(',', Request::get('roles')) : (!Request::get('roles') || Request::get('roles') == 0 ? [] : Request::get('roles')); $model->roles()->sync($roles); } }); /** * model deleted method * * @param $model */ parent::deleted(function ($model) { $file = new FileRepository(config('laravel-user-module.user.uploads')); $file->deleteDirectories($model); }); /** * model deleted method * * @param $model */ parent::deleting(function ($model) { }); }