Copie propre du code final de Folliow (projet d'équipe DWWM)

This commit is contained in:
Yasser Boulayoune 2026-03-06 18:00:00 +01:00
commit eed64cfeb6
67 changed files with 17897 additions and 0 deletions

View file

@ -0,0 +1,53 @@
<?php
namespace Entities;
/**
* Classe d'un objet Authorisation
* @author Laura
*/
class Authorisation extends Mother{
private int $_id;
private string $_name = '';
/**
* le constructeur de la table authorisation
*/
public function __construct(){
$this->_prefix = 'authorisation_';
}
/**
* Récuperation de l'id du statut d'un utilisateur
* @return int l'id du statut
*/
public function getId():int{
return $this->_id;
}
/**
* Mise à jour de l'id du statut d'un utilisateur
* @param int le nouvelle id du statut
*/
public function setId(int $id){
$this->_id = $id;
}
/**
* Récuperation de l'intitulé du statut d'un utilisateur
* @return string l'intitulé du statut
*/
public function getName():string{
return $this->_name;
}
/**
* Mise à jour de l'intitulé du statut d'un utilisateur
* @return string le nouvel intitulé du statut
*/
public function setName(string $name){
$this->_name = $name;
}
}

81
entities/Category.php Normal file
View file

@ -0,0 +1,81 @@
<?php
namespace Entities;
/**
* Classe d'un objet Category
* @author Laura
*/
class Category extends Mother{
private ?int $_id = null;
protected string $_name = '';
protected ?int $_parent = null;
/**
* le constructeur de la table category
*/
public function __construct(){
$this->_prefix = 'category_';
}
// Méthode Getter et Setter
/**
* Récuperation de l'id de la catégorie
* @return int l'id de la catégorie
*/
public function getId(): ?int{
return $this->_id;
}
/**
* Mise à jour de l'id de la catégorie
* @param int le nouvelle id
*/
public function setId($id){
if (empty($id)) {
$this->_id = null;
} else {
$this->_id = (int) $id;
}
}
/**
* Récuperation du nom de la catégorie
* @return string nom de la catégorie
*/
public function getName(){
return $this->_name;
}
/**
* Mise à jour du nom de la catégorie
* @param string le nouveau nom de la catégorie
*/
public function setName($name){
$this->_name = $name;
}
/**
* Récuperation du nom du parent de la catégorie
* @return int nom de la catégorie
*/
public function getParent():?int{
return $this->_parent;
}
/**
* Mise à jour du nom du parent de la catégorie
* @param int le nouveau nom de la catégorie
*/
public function setParent($parent){
if (empty($parent)) {
$this->_parent = null;
} else {
$this->_parent = (int) $parent;
}
}
}

92
entities/Image.php Normal file
View file

@ -0,0 +1,92 @@
<?php
namespace Entities;
/**
* Classe d'un objet Projet
* @author Laura
*/
class Image extends Mother{
private int $_id;
private string $_name = '';
private string $_alt = '';
private string $_status ='';
private int $_project = 0;
/**
* le constructeur de la table image
*/
public function __construct(){
$this->_prefix = 'image_';
}
// Méthode Getter et Setter
/**
* Récuperation de l'id de l'image
* @return int l'id de l'image
*/
public function getId():int{
return $this->_id;
}
/**
* Mise à jour de l'id de l'image
* @param int le nouvelle id
*/
public function setId($id){
$this->_id = $id;
}
/**
* Récuperation du nom de l'image
* @return string nom de l'image
*/
public function getName(){
return $this->_name;
}
/**
* Mise à jour du nom de l'image
* @param string le nouveau nom de l'image
*/
public function setName($name){
$this->_name = $name;
}
/**
* Récuperation de l'alt
* @return string contenu de l'alt
*/
public function getAlt(){
return $this->_alt;
}
/**
* Mise à jour de l'alt
* @param string le nouveau contenu de l'alt
*/
public function setAlt($alt){
$this->_alt = $alt;
}
/**
* Récuperation du statut de la photo
* @return string du statut
*/
public function getStatus(){
return $this->_status;
}
/**
* Mise à jour du statut de la photo
* @param string le nouveau statut de la photo
*/
public function setStatus($status){
$this->_status = $status;
}
}

31
entities/Mother.php Normal file
View file

@ -0,0 +1,31 @@
<?php
namespace Entities;
/**
* Classe d'un Mere de tout objet
* @author Yass & Laura
*/
class Mother{
protected string $_prefix = '';
public function hydrate(array $arrData){
foreach($arrData as $key=>$value){
$strMethodName = "set".ucfirst(str_replace($this->_prefix,'',$key));
if (method_exists($this,$strMethodName)){
$this->$strMethodName($value);
}
}
}
protected function nettoyer(string $strText){
$strText = trim($strText);
$strText = str_replace("<script>", "", $strText);
$strText = str_replace("</script>", "", $strText);
return $strText;
}
}

240
entities/Project.php Normal file
View file

@ -0,0 +1,240 @@
<?php
namespace Entities;
use \DateTime;
use \IntlDateFormatter;
/**
* Classe d'un objet Projet
* @author Yass
*/
class Project extends Mother{
private ?int $_id = null;
private string $_title = "";
private string $_description = "";
private ?string $_thumbnail = null;
private string $_content = "";
private string $_creation_date;
private string $_status = "en_attente";
private int $_user;
private int $_category = 0;
private string $_creatorname;
private ?string $_user_image = null;
private ?string $_project_deleted_at = null;
/**
* le constructeur de la table project
*/
public function __construct(){
$this->_prefix = 'project_';
}
// Méthode Getter et Setter
/**
* Récuperation de l'id du projet
* @return int l'id du projet
*/
public function getId():?int{
return $this->_id;
}
/**
* Mise à jour de l'id du projet
* @param int le nouvelle id
*/
public function setId(int $id){
$this->_id = $id;
return $this;
}
/**
* Récuperation du titre
* @return string tite du projet
*/
public function getTitle(){
return $this->nettoyer($this->_title);
}
/**
* Mise à jour du titre
* @param string le nouveau titre
*/
public function setTitle($title){
$this->_title = $title;
}
/**
* Récuperation de la description
* @return string description du projet
*/
public function getDescription(){
return $this->nettoyer($this->_description) ;
}
/**
* Mise à jour de la description
* @param string la nouvelle description
*/
public function setDescription($description){
$this->_description = $description;
}
/**
* Récuperation de l'image
* @return string chemin vers l'image
*/
public function getThumbnail(){
return $this->_thumbnail;
}
/**
* Mise à jour de l'image
* @param string chemin vers nouvelle image
*/
public function setThumbnail($thumbnail){
$this->_thumbnail = $thumbnail;
}
/**
* Récuperation du contenu
* @return string contenu du projet
*/
public function getContent(){
return $this->nettoyer($this->_content);
}
/**
* Mise à jour du contenu
* @param string le nouveau contenu
*/
public function setContent($content){
$this->_content = $content;
}
/**
* Récupération de la date de création
* @param string lang de formatage de la date (par défaut = "fr_FR")
* @return string date de création formatter
*/
public function getCreation_date(string $strFormat = "fr_FR"){
$objDate = new DateTime($this->_creation_date);
$objDateFormatter = new IntlDateFormatter(
$strFormat,
IntlDateFormatter::LONG,
IntlDateFormatter::NONE,
);
$strFormat = $objDateFormatter->format($objDate);
return $strFormat;
}
/**
* Mise à jour de la date de création
* @param string la nouvelle date de création
*/
public function setCreation_date($creation_date){
$this->_creation_date = $creation_date;
}
/**
* Récupération du statut
* @return string statut
*/
public function getStatus(){
return $this->_status;
}
/**
* Mise à jour du statut
* @param string le nouveau statut
*/
public function setStatus($status){
$this->_status = $status;
}
/**
* Récupération de l'utilisateur
* @return int id de l'utilisateur
*/
public function getUser_id(){
return $this->_user;
}
/**
* Mise à jour de l'utilisateur
* @param int id de l'utilisateur
*/
public function setUser_id($user){
$this->_user = $user;
}
/**
* Récupération de la catégorie
* @return int id de la catégorie
*/
public function getCategory():?int{
return $this->_category;
}
/**
* Mise à jour de la catégorie
* @param int id de la catégorie
*/
public function setCategory($category){
$this->_category = $category;
}
/**
* Récupération du nom du créateur
* @return string nom du créateur
*/
public function getCreatorName(){
return $this->_creatorname;
}
/**
* Mise à jour du nom du créateur
* @param string le nom du créateur
*/
public function setCreatorName($creatorname){
$this->_creatorname = $creatorname;
}
/**
* Récupération du chemin photo profil
* @return string nom du chemin photo profil
*/
public function getUser_image(){
return $this->_user_image;
}
/**
* Mise à jour du chemin photo profil
* @param string chemin photo profil
*/
public function setUser_image($user_image){
$this->_user_image = $user_image;
}
/**
* Récupération de la date du projet supprimer
* @return string date du projet
*/
public function getDeleted_at(){
return $this->_project_deleted_at;
}
/**
* Mise à jour de la date de suppression de projet
* @param string date du projet
*/
public function setDeleted_at($project_deleted_at){
$this->_project_deleted_at = $project_deleted_at;
}
}

263
entities/User.php Normal file
View file

@ -0,0 +1,263 @@
<?php
namespace Entities;
/**
* Classe d'un objet User
* @author Besnik & Laura
*/
class User extends Mother{
private int $_id;
private string $_name = '';
private string $_firstname = '';
private string $_pseudo = '';
private ?string $_image = null;
private string $_mail = '';
private string $_pwd;
private string $_phone = '';
private string $_work = '';
private ?string $_birth = null;
private string $_location = '';
private string $_description = '';
private string $_account_creation = '';
private int $_status;
/**
* le constructeur de la table user
*/
public function __construct(){
$this->_prefix = 'user_';
}
/**
* Récuperation de l'id d'un utilisateur
* @return int l'id de l'utilisateur
*/
public function getId():int{
return $this->_id;
}
/**
* Mise à jour de l'id d'un utilisateur
* @param int le nouvelle id de l'utilisateur
*/
public function setId(int $id){
$this->_id = $id;
}
/**
* Récuperation du nom d'un utilisateur
* @return string le nom de l'utilisateur
*/
public function getName():string{
return $this->nettoyer($this->_name);
}
/**
* Mise à jour du nom d'un utilisateur
* @return string le nouveau nom de l'utilisateur
*/
public function setName(string $name){
$this->_name = $name;
}
/**
* Récuperation du prénom d'un utilisateur
* @return string le prénom de l'utilisateur
*/
public function getFirstname():string{
return $this->nettoyer($this->_firstname);
}
/**
* Mise à jour du prénom d'un utilisateur
* @return string le nouveau prénom de l'utilisateur
*/
public function setFirstname(string $firstname){
$this->_firstname = $firstname;
}
/**
* Récuperation du pseudo unique d'un utilisateur
* @return string le pseudo de l'utilisateur
*/
public function getPseudo():string{
return $this->nettoyer($this->_pseudo);
}
/**
* Mise à jour du pseudo unique d'un utilisateur
* @return string le nouveau pseudo de l'utilisateur
*/
public function setPseudo(string $pseudo){
$this->_pseudo = str_replace(" ","_",$pseudo);
}
/**
* Récuperation du nom de l'image d'un utilisateur
* @return string du nom de l'image de l'utilisateur
*/
public function getImage():?string{
return $this->_image;
}
/**
* Mise à jour du nom de l'image d'un utilisateur
* @return string le nouveau nom de l'image de l'utilisateur
*/
public function setImage(?string $image){
$this->_image = $image;
}
/**
* Récuperation de l'email d'un utilisateur
* @return string l'email de l'utilisateur
*/
public function getMail():string{
return $this->_mail;
}
/**
* Mise à jour de l'email d'un utilisateur
* @return string le nouvel email de l'utilisateur
*/
public function setMail(string $mail){
$this->_mail = strtolower($mail);
}
/**
* Récuperation du mot de passe d'un utilisateur
* @return string le mot de passe de l'utilisateur
*/
public function getPwd():string{
return $this->_pwd;
}
/**
* Récuperation du mot de passe haché d'un utilisateur
* @return string le mot de passe haché de l'utilisateur
*/
public function getPwdHash():string{
return password_hash($this->_pwd, PASSWORD_DEFAULT);
}
/**
* Mise à jour du mot de passe d'un utilisateur
* @return string le nouveau mot de passe de l'utilisateur
*/
public function setPwd(string $pwd){
$this->_pwd = $pwd;
}
/**
* Récuperation du numéro de téléphone d'un utilisateur
* @return string le numéro de téléphone de l'utilisateur
*/
public function getPhone():string{
return $this->nettoyer($this->_phone);
}
/**
* Mise à jour du numéro de téléphone d'un utilisateur
* @return string le nouveau numéro de téléphone de l'utilisateur
*/
public function setPhone(string $phone){
$this->_phone = $phone;
}
/**
* Récuperation de la profession d'un utilisateur
* @return string la profession de l'utilisateur
*/
public function getWork():string{
return $this->nettoyer($this->_work);
}
/**
* Mise à jour de la profession d'un utilisateur
* @return string la nouvelle profession de l'utilisateur
*/
public function setWork(string $work){
$this->_work = $work;
}
/**
* Récuperation de la date de naissance d'un utilisateur
* @return string la date de naissance de l'utilisateur
*/
public function getBirth():?string{
return $this->_birth;
}
/**
* Mise à jour de la date de naissance d'un utilisateur
* @return string la nouvelle date de naissance de l'utilisateur
*/
public function setBirth(?string $birth){
$this->_birth = $birth;
}
/**
* Récuperation de la localisation d'un utilisateur
* @return string la localisation de l'utilisateur
*/
public function getLocation():string{
return $this->nettoyer($this->_location);
}
/**
* Mise à jour de la localisation d'un utilisateur
* @return string la nouvelle localisation de l'utilisateur
*/
public function setLocation(string $location){
$this->_location = $location;
}
/**
* Récuperation de la description d'un utilisateur
* @return string la description de l'utilisateur
*/
public function getDescription():string{
return $this->nettoyer($this->_description);
}
/**
* Mise à jour de la description d'un utilisateur
* @return string la nouvelle description de l'utilisateur
*/
public function setDescription(string $description){
$this->_description = $description;
}
/**
* Récuperation de la date de création d'un utilisateur
* @return string la date de création de l'utilisateur
*/
public function getAccountCreation():string{
return $this->_account_creation;
}
/**
* Mise à jour de la date de création d'un utilisateur
* @return string la nouvelle date de création de l'utilisateur
*/
public function setAccountCreation(string $account_creation){
$this->_account_creation = $account_creation;
}
/**
* Récuperation de l'id du statut d'un utilisateur
* @return int l'id du statut de l'utilisateur
*/
public function getStatus():int{
return $this->_status;
}
/**
* Mise à jour de l'id du statut d'un utilisateur
* @return int le nouvel id du statut de l'utilisateur
*/
public function setStatus(int $status){
$this->_status = $status;
}
}