65 lines
1.4 KiB
PHP
65 lines
1.4 KiB
PHP
<?php
|
|
namespace App\CMS\Repositories\Users;
|
|
|
|
use App\CMS\Repositories\Repository;
|
|
use App\Models\User as UserModel;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class User extends Repository {
|
|
/**
|
|
* Update given user
|
|
*
|
|
* @param UserModel $user
|
|
* @param $data
|
|
*/
|
|
public function update(UserModel $user, $data) {
|
|
// update username if set
|
|
if (isset($data['username'])) {
|
|
$user->username = $data['username'];
|
|
}
|
|
|
|
// change name (if set)
|
|
if (isset($data['name'])) {
|
|
$user->name = $data['name'];
|
|
}
|
|
|
|
if (isset($data['role'])) {
|
|
$user->role = $data['role'];
|
|
}
|
|
|
|
if (isset($data['status'])) {
|
|
$user->status = $data['status'];
|
|
}
|
|
|
|
if (isset($data['password'])) {
|
|
$user->password = Hash::make($data['password']);
|
|
}
|
|
|
|
$user->email = $data['email'];
|
|
|
|
$user->save();
|
|
}
|
|
|
|
/**
|
|
* Create new user
|
|
*
|
|
* @param $data
|
|
*
|
|
* @return UserModel
|
|
*/
|
|
public function create($data)
|
|
{
|
|
// create new user
|
|
$user = new UserModel();
|
|
$user->name = $data['name'];
|
|
$user->email = $data['email'];
|
|
$user->username = $data['username'];
|
|
$user->role = $data['role'];
|
|
$user->password = Hash::make($data['password']);
|
|
|
|
// store user into database
|
|
$user->save();
|
|
|
|
return $user;
|
|
}
|
|
} |