Conversie codeigniter 4
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Beheer;
|
||||
|
||||
use App\Controllers\BaseController;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
|
||||
class UsersController extends BaseController
|
||||
{
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
|
||||
if (!defined('AUTHENTICATED') || AUTHENTICATED === false) {
|
||||
die('NO ACCESS');
|
||||
}
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
// Default action
|
||||
}
|
||||
|
||||
public function getAllUsers(string $archive = 'F'): ResponseInterface
|
||||
{
|
||||
$users = \User::getAllUsers($archive);
|
||||
return $this->json($users);
|
||||
}
|
||||
|
||||
public function getUser(int $userID): ResponseInterface
|
||||
{
|
||||
$user = \User::find($userID);
|
||||
return $this->json($user);
|
||||
}
|
||||
|
||||
public function getCurrentUser(): ResponseInterface
|
||||
{
|
||||
return $this->json($this->user);
|
||||
}
|
||||
|
||||
public function getUserWithprojects(): ResponseInterface
|
||||
{
|
||||
$usersWithProjects = \User::getUserWithprojects();
|
||||
return $this->json($usersWithProjects);
|
||||
}
|
||||
|
||||
public function getUserActiveProjects(int $userID): ResponseInterface
|
||||
{
|
||||
$userActiveProjects = \User::getUserActiveProjects($userID);
|
||||
return $this->json($userActiveProjects);
|
||||
}
|
||||
|
||||
public function getUniqueprojectEmployees(): ResponseInterface
|
||||
{
|
||||
$projectEmployees = \User::getUniqueProjectUsers();
|
||||
return $this->json($projectEmployees);
|
||||
}
|
||||
|
||||
public function getUniqueEmployeesWithActivity(string $archive): ResponseInterface
|
||||
{
|
||||
$projectEmployees = \Projectemployee::getUniqueEmployeesWithActivity($archive);
|
||||
return $this->json($projectEmployees);
|
||||
}
|
||||
|
||||
public function saveUser(): ResponseInterface
|
||||
{
|
||||
$userValidation = new \UserValidation();
|
||||
|
||||
if (!$userValidation->getValidationResult()) {
|
||||
return $this->json([
|
||||
'success' => false,
|
||||
'messages' => $userValidation->getErrorMessages()
|
||||
]);
|
||||
}
|
||||
|
||||
$user = $this->request->getPost();
|
||||
|
||||
$userID = $user['id'];
|
||||
unset($user['id']);
|
||||
|
||||
if ($userID == 0) {
|
||||
$user = $this->newUser($user);
|
||||
}
|
||||
|
||||
$user['role'] = empty($user['role']) ? null : $user['role'];
|
||||
|
||||
$userID = \User::saveUser($userID, $user);
|
||||
|
||||
return $this->json(['success' => true, 'userID' => $userID]);
|
||||
}
|
||||
|
||||
public function savePassword(): ResponseInterface
|
||||
{
|
||||
$password = $this->cleanInput('password');
|
||||
|
||||
$user = \User::find(USERID);
|
||||
|
||||
$saltedPassword = \User::getSaltedPassword($password, $user->salt);
|
||||
|
||||
\User::whereId(USERID)->update(['password' => $saltedPassword]);
|
||||
|
||||
return $this->json(['success' => true]);
|
||||
}
|
||||
|
||||
public function archiveUser(int $userID, string $status): ResponseInterface
|
||||
{
|
||||
\User::whereId($userID)->update(['archive' => $status]);
|
||||
return $this->json(['success' => true]);
|
||||
}
|
||||
|
||||
public function removeUser(int $userID): ResponseInterface
|
||||
{
|
||||
$removeUser = new \RemoveUser($userID);
|
||||
|
||||
if ($removeUser->getAllowDelete() === false) {
|
||||
return $this->json(['result' => false]);
|
||||
}
|
||||
|
||||
\User::removeUser($userID);
|
||||
|
||||
return $this->json(['result' => true]);
|
||||
}
|
||||
|
||||
private function newUser(array $user): array
|
||||
{
|
||||
$userCreation = new \UserCreation($user);
|
||||
|
||||
$user = $userCreation->getUser();
|
||||
$password = $userCreation->getPassword();
|
||||
|
||||
$this->sendWelcomeEmail($user, $password);
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
||||
private function sendWelcomeEmail(array $user, string $password): bool
|
||||
{
|
||||
$email = \Config\Services::email();
|
||||
|
||||
$html = view('emails/welcome_email', [
|
||||
'password' => $password,
|
||||
'user' => $user
|
||||
]);
|
||||
|
||||
$email->setFrom('noreply@debeleidsonderzoekers.nl', 'DBOIS');
|
||||
$email->setTo($user['email']);
|
||||
$email->setSubject('Wachtwoord DBOIS');
|
||||
$email->setMessage($html);
|
||||
|
||||
return $email->send();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user