![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ledger.corals.io/Corals/core/User/Services/ |
<?php namespace Corals\User\Services; use Corals\Foundation\Services\BaseServiceClass; use Corals\User\Http\Requests\ProfileRequest; use Corals\User\Facades\TwoFactorAuth; class ProfileService extends BaseServiceClass { /** * @param ProfileRequest $request * @return array */ public function getRequestData($request) { $data = $request->except('clear', 'address', 'profile_image', 'password_confirmation', 'channel', 'two_factor_auth_enabled'); $data['notification_preferences'] = $request->get('notification_preferences', $this->model->notification_preferences ?? []); if (empty($data['password'])) { unset($data['password']); } return $data; } /** * @param ProfileRequest $request * @return array */ public function setTwoFactorAuthData(ProfileRequest $request) { $data = $request->all(); if (!TwoFactorAuth::isRegistered($this->model)) { $this->model->setAuthPhoneInformation($data['phone_country_code'] ?? '', $data['phone_number'] ?? ''); $twoFactorOptions = TwoFactorAuth::register($this->model, $request); } else { $twoFactorOptions = $this->model->getTwoFactorAuthProviderOptions(); } $twoFactorOptions['channel'] = $request->get('channel') ?? $twoFactorOptions['channel']; $twoFactorOptions['enabled'] = $request->get('two_factor_auth_enabled') ? true : false; $this->model->setTwoFactorAuthProviderOptions($twoFactorOptions); $this->model->save(); return $data; } /** * @param $data * @return mixed */ public function updateProfile($data) { $this->model->update($data); return $this->model; } /** * @param ProfileRequest $request * @return mixed */ public function handleUserProfileImage(ProfileRequest $request) { if (isset($request->profile_image)) { $this->model->clearMediaCollection('user-picture'); $this->model->addMediaFromBase64($request->profile_image)->usingFileName('profile.png') ->withCustomProperties(['root' => 'user_' . $this->model->hashed_id]) ->toMediaCollection('user-picture'); } return $this->model; } public function setPassword($password) { $this->model->update(['password' => $password]); return $this->model; } }