- $sort = $sortData['sort'];
-
- $query = User::query()->select(['*'])
- ->scopes(['withLastActivityAt'])
- ->with(['roles', 'avatar'])
- ->withCount('mfaValues')
- ->orderBy($sort, $sortData['order']);
-
- if ($sortData['search']) {
- $term = '%' . $sortData['search'] . '%';
- $query->where(function ($query) use ($term) {
- $query->where('name', 'like', $term)
- ->orWhere('email', 'like', $term);
- });
+ $user = new User();
+ $user->name = $data['name'];
+ $user->email = $data['email'];
+ $user->password = bcrypt(empty($data['password']) ? Str::random(32) : $data['password']);
+ $user->email_confirmed = $emailConfirmed;
+ $user->external_auth_id = $data['external_auth_id'] ?? '';
+
+ $user->refreshSlug();
+ $user->save();
+
+ if (!empty($data['language'])) {
+ setting()->putUser($user, 'language', $data['language']);