80 lines
2.0 KiB
PHP
80 lines
2.0 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Domain\Utilisateurs;
|
||
|
|
|
||
|
|
use App\Domain\Model;
|
||
|
|
use App\Domain\Repository;
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Classe qui permet de faire le lien entre la BDD et le site pour les utilisateurs.
|
||
|
|
*/
|
||
|
|
class UtilisateurRepository extends Repository {
|
||
|
|
|
||
|
|
public static function getEntity(): string
|
||
|
|
{
|
||
|
|
return Utilisateur::class;
|
||
|
|
}
|
||
|
|
|
||
|
|
public static function getStructure(): array
|
||
|
|
{
|
||
|
|
return [
|
||
|
|
'table' => 'User',
|
||
|
|
'columns' => [
|
||
|
|
'num_user', 'username', 'userpassword'
|
||
|
|
]
|
||
|
|
];
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Permet d'obtenir une liste de toutes les recettes objet Utilisateur.
|
||
|
|
*
|
||
|
|
* @return Utilisateur[]|null
|
||
|
|
*/
|
||
|
|
public function getAll(): ?array {
|
||
|
|
$sqlQuery = "SELECT * FROM {$this->tableName};";
|
||
|
|
$results = $this->selectGetAll($sqlQuery);
|
||
|
|
if( $results === null )
|
||
|
|
return null;
|
||
|
|
return $results;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Permet d'avoir un utilisateur par un ID.
|
||
|
|
*
|
||
|
|
* @param int $id
|
||
|
|
* @return Utilisateur|null
|
||
|
|
*/
|
||
|
|
public function getByID( int $id ): ?Utilisateur {
|
||
|
|
$sqlQuery = "SELECT * FROM {$this->tableName} WHERE num_user = {$id}";
|
||
|
|
$results = $this->selectGetAll($sqlQuery);
|
||
|
|
if( $results === null || count( $results ) > 1 )
|
||
|
|
return null;
|
||
|
|
return $results[0];
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
public function login(string $name, string $pass): int|bool{
|
||
|
|
|
||
|
|
$users = new UtilisateurRepository()->getAll();
|
||
|
|
foreach($users as $user){
|
||
|
|
if((strcmp($name,$user->username)==0) and (strcmp($pass,$user->userpassword)==0))return $user->num_user;
|
||
|
|
}
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function add( Model $utilisateurs ): bool {
|
||
|
|
return $this->addEntity( $utilisateurs );
|
||
|
|
}
|
||
|
|
|
||
|
|
public function update( Model $utilisateurs ): bool {
|
||
|
|
return $this->updateEntity( $utilisateurs, 'num_user' );
|
||
|
|
}
|
||
|
|
|
||
|
|
public function delete( Model $utilisateurs ): bool {
|
||
|
|
return $this->deleteEntity( $utilisateurs, 'num_user' );
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|