74 lines
No EOL
1.6 KiB
PHP
74 lines
No EOL
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Repositories;
|
|
|
|
use App\Models\UserAccount;
|
|
use App\User;
|
|
|
|
|
|
class UserRepository extends BaseRepository {
|
|
|
|
|
|
public function __construct(User $model)
|
|
{
|
|
$this->model = $model;
|
|
}
|
|
|
|
|
|
public function update($data)
|
|
{
|
|
|
|
if($data['user_id'] === "new" || $data['user_id'] == 0){
|
|
|
|
$this->model = User::create([
|
|
'email' => $data['email'],
|
|
'password' => env('APP_KEY'),
|
|
]);
|
|
}
|
|
else{
|
|
$this->model = $this->getById($data['user_id']);
|
|
}
|
|
|
|
if(!$this->model->account_id){
|
|
$account = new UserAccount();
|
|
}else{
|
|
$account = $this->model->account;
|
|
}
|
|
|
|
$data['same_as_billing'] = !isset($data['same_as_billing']) ? 0 : 1;
|
|
|
|
$account->fill($data)->save();
|
|
|
|
if(!$this->model->account_id){
|
|
$this->model->account_id = $account->id;
|
|
$this->model->save();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
public function deleteUser(User $user)
|
|
{
|
|
if($user->account){
|
|
$user->account->delete();
|
|
}
|
|
$user->email = "delete".time();
|
|
$user->password = "delete".time();
|
|
$user->confirmed = 0;
|
|
$user->confirmation_code = "delete".time();
|
|
$user->confirmation_date = null;
|
|
$user->confirmation_code_to = null;
|
|
$user->confirmation_code_remider = 2;
|
|
$user->agreement = null;
|
|
$user->active = 0;
|
|
$user->remember_token = '';
|
|
$user->active_date = null;
|
|
$user->admin = 0;
|
|
$user->deleted_at = now();
|
|
$user->save();
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
} |