lk.zachem.info/app/Modules/Admin/Http/Controllers/AdminController.php
2025-04-09 09:47:12 +08:00

68 lines
1.7 KiB
PHP

<?php
namespace Modules\Admin\Http\Controllers;
use Modules\Admin\Models\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User\UserRole;
use App\Models\User\Role;
use App\Models\User;
class AdminController extends Controller
{
public function index()
{
if (!$this->superAdminExists())
{
return $this->goToSuperAdminCreator();
}
return view('admin::index');
}
public function superAdminExists()
{
$count = UserRole::where('role_id', Role::SUPER_ADMIN)->count();
if ($count == 0)
{
return false;
}
return true;
}
public function goToSuperAdminCreator()
{
return view('admin::setAdmin.index', [
'users' => User::orderBy('name')->get()
]);
}
public function setSuperAdmin(Request $request)
{
if (!$this->superAdminExists())
{
$userId = false;
$user = User::where('email', $request->email)->orWhere('phone', $request->phone);
if ($user->count() == 1)
{
$user = $user->first();
$userId = $user->id;
}
elseif ($user->count() > 1)
{
return to_route('admin.index');
}
else
{
$user = User::create($request->all());
$userId = $user->id;
$user->setForcedPassword();
}
UserRole::create([
'user_id' => $userId,
'role_id' => Role::SUPER_ADMIN
]);
}
return to_route('admin.index');
}
}