diff --git a/CodeIgniter-3.1.13/application/controllers/Home.php b/CodeIgniter-3.1.13/application/controllers/Home.php index e819135..7510c67 100644 --- a/CodeIgniter-3.1.13/application/controllers/Home.php +++ b/CodeIgniter-3.1.13/application/controllers/Home.php @@ -1,24 +1,32 @@ load->library('session'); + } + public function index() { + // Charger le modèle + $this->load->model('Cover_model'); + $this->load->model('Utilisateur_model'); + + $this->load->helper('url'); + $this->load->helper('html'); + + // Appeler la fonction pour récupérer les couvertures d'albums + $data['covers'] = $this->Cover_model->get_covers(); + + // Récupérer les avis récents + $data['avis'] = $this->Utilisateur_model->get_recent_avis(); + + // Charger la vue avec les données récupérées + $this->load->view('layout/header_dark'); + $this->load->view('accueil', $data); + $this->load->view('layout/footer_dark'); + } - - // Charger le modèle - $this->load->model('Cover_model'); - - $this->load->helper('url'); - - $this->load->helper('html'); - - // Appeler la fonction pour récupérer les couvertures d'albums - $data['covers'] = $this->Cover_model->get_covers(); - - // Charger la vue avec les données récupérées - $this->load->view('layout/header_dark'); - $this->load->view('accueil', $data); - $this->load->view('layout/footer_dark'); } -} -?> \ No newline at end of file +?> diff --git a/CodeIgniter-3.1.13/application/controllers/Utilisateur.php b/CodeIgniter-3.1.13/application/controllers/Utilisateur.php index eb522a9..c816fb4 100644 --- a/CodeIgniter-3.1.13/application/controllers/Utilisateur.php +++ b/CodeIgniter-3.1.13/application/controllers/Utilisateur.php @@ -49,6 +49,67 @@ class Utilisateur extends CI_Controller { } } + public function ajouter_avis() { + if(!$this->session->userdata('user_id')) { + redirect('utilisateur/connexion'); + } + + $this->form_validation->set_rules('commentaire', 'Commentaire', 'required'); + $this->form_validation->set_rules('notation', 'Notation', 'required'); // Ajouter une règle de validation pour la notation + + if ($this->form_validation->run() == FALSE) { + redirect('/'); + } else { + $data = array( + 'utilisateur_id' => $this->session->userdata('user_id'), + 'commentaire' => $this->input->post('commentaire'), + 'notation' => $this->input->post('notation') // Récupérer la valeur de notation depuis le champ caché + ); + + if ($this->Utilisateur_model->insert_avis($data)) { + $this->session->set_flashdata('success', 'Avis ajouté avec succès.'); + } else { + $this->session->set_flashdata('error', 'Une erreur est survenue. Veuillez réessayer.'); + } + + redirect('/'); + } + } + + + public function supprimer_avis($avis_id) { + // Vérifiez d'abord si l'utilisateur est connecté + if (!$this->session->userdata('user_id')) { + $this->session->set_flashdata('error', 'Vous devez être connecté pour supprimer un avis.'); + redirect('utilisateur/connexion'); + } + + // Vérifiez si l'avis existe + $avis = $this->Utilisateur_model->get_avis($avis_id); + if (!$avis) { + $this->session->set_flashdata('error', 'L\'avis que vous essayez de supprimer n\'existe pas.'); + redirect('/'); + } + + // Vérifiez si l'avis appartient à l'utilisateur connecté + if ($avis->utilisateur_id != $this->session->userdata('user_id')) { + $this->session->set_flashdata('error', 'Vous n\'êtes pas autorisé à supprimer cet avis.'); + redirect('/'); + } + + // Supprimez l'avis + if ($this->Utilisateur_model->supprimer_avis($avis_id)) { + $this->session->set_flashdata('success', 'Avis supprimé avec succès.'); + } else { + $this->session->set_flashdata('error', 'Une erreur est survenue lors de la suppression de l\'avis.'); + } + + redirect('/'); + } + + + + public function connexion(){ // Définir les règles de validation $this->form_validation->set_rules('email', 'Email', 'required|valid_email'); diff --git a/CodeIgniter-3.1.13/application/models/Utilisateur_model.php b/CodeIgniter-3.1.13/application/models/Utilisateur_model.php index c261762..2555843 100644 --- a/CodeIgniter-3.1.13/application/models/Utilisateur_model.php +++ b/CodeIgniter-3.1.13/application/models/Utilisateur_model.php @@ -26,5 +26,33 @@ class Utilisateur_model extends CI_Model { $this->db->where('id', $id); return $this->db->update('utilisateur', $data); } + + + public function insert_avis($data) { + return $this->db->insert('avis', $data); + } + + public function get_recent_avis($limit = 3) { + $this->db->select('avis.*, utilisateur.nom, utilisateur.prenom'); + $this->db->from('avis'); + $this->db->join('utilisateur', 'avis.utilisateur_id = utilisateur.id'); + $this->db->order_by('date_creation', 'DESC'); + $this->db->limit($limit); + $query = $this->db->get(); + return $query->result(); + } + + public function get_avis($utilisateur_id) { + $this->db->select('*'); + $this->db->from('avis'); + $this->db->where('utilisateur_id', $utilisateur_id); + $query = $this->db->get(); + return $query->result(); + } + + public function supprimer_avis($avis_id) { + return $this->db->delete('avis', array('id' => $avis_id)); + } + } ?> diff --git a/CodeIgniter-3.1.13/application/views/accueil.php b/CodeIgniter-3.1.13/application/views/accueil.php index 9e12f84..557f4d5 100644 --- a/CodeIgniter-3.1.13/application/views/accueil.php +++ b/CodeIgniter-3.1.13/application/views/accueil.php @@ -31,21 +31,46 @@ -
"Ce site est incroyable! Depuis que j'utilise Onzeur ma vie as changé ! Je suis devenu riche et célèbre ! Je recommande 🤩"
-- Mike
-"Une expérience utilisateur fantastique. Je recommande vivement 🤌."
-- Laura
-"Service client exceptionnel et fonctionnalités géniales. La fonctionnalité de playlist est vraiment top ! 👍"
-- Joe
-"= htmlspecialchars($a->commentaire) ?>"
+- = htmlspecialchars($a->prenom) ?> = htmlspecialchars($a->nom) ?>
+ + + + session->userdata('user_id') && $this->session->userdata('user_id') == $a->utilisateur_id): ?> + Supprimer + +
Ajouter un commentaire
+ +