Paaxio 1.0
Plateforme de streaming musical - SAE IUT Bayonne
Chargement...
Recherche...
Aucune correspondance
Référence de la classe ControllerAlbum

Contrôleur dédié à la gestion des albums. Plus de détails...

Graphe d'héritage de ControllerAlbum:
Graphe de collaboration de ControllerAlbum:

Fonctions membres publiques

 __construct (\Twig\Environment $twig, \Twig\Loader\FilesystemLoader $loader)
 Constructeur du contrôleur album.
 
 afficher ()
 Affiche les détails d'un album avec ses chansons.
 
 lister ()
 Liste tous les albums de la plateforme.
 
 listerTableau ()
 Liste tous les albums sous forme de tableau.
 
 afficherFormulaireAjout ()
 Affiche le formulaire d'ajout d'album.
 
 ajouterAlbum ()
 Traite l'ajout d'un nouvel album ou l'ajout de chansons à un album existant.
 
 afficherDetails ()
 Affiche les détails d'un album avec vue différenciée selon le rôle.
 
 modifierChanson ()
 Modifie les informations d'une chanson.
 
 supprimerChanson ()
 Supprime une chanson (action réservée à l'artiste propriétaire).
 
- Fonctions membres publiques hérités de Controller
 __construct (\Twig\Loader\FilesystemLoader $loader, \Twig\Environment $twig)
 Constructeur du contrôleur.
 
 call (string $method)
 Appelle une méthode du contrôleur de façon dynamique.
 
 getPDO ()
 Récupère la connexion PDO.
 
 setPDO (?PDO $pdo)
 Définit la connexion PDO.
 
 getLoader ()
 Récupère le chargeur de templates Twig.
 
 setLoader (?\Twig\Loader\FilesystemLoader $loader)
 Définit le chargeur de templates Twig.
 
 getTwig ()
 Récupère l'environnement Twig.
 
 setTwig (?\Twig\Environment $twig)
 Définit l'environnement Twig.
 
 getGet ()
 Récupère les données GET.
 
 setGet (?array $get)
 Définit les données GET.
 
 getPost ()
 Récupère les données POST.
 
 setPost (?array $post)
 Définit les données POST.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Controller
 requireAuth (string $controller='', string $method='', array $params=[])
 Exige que l'utilisateur soit authentifié.
 
 requireRole ($requiredRole)
 Exige que l'utilisateur ait un rôle spécifique.
 
 redirectTo (string $controller, string $method, array $params=[])
 Redirige vers un contrôleur et une méthode donnés.
 
 show405 ()
 Affiche une erreur 405 Méthode non autorisée.
 
 requireAnyRole (array $allowedRoles)
 Exige que l'utilisateur ait un des rôles spécifiés.
 

Description détaillée

Contrôleur dédié à la gestion des albums.

Cette classe gère les opérations sur les albums :

  • Affichage d'un album et de ses chansons
  • Liste de tous les albums
  • Création d'un nouvel album
  • Ajout de chansons à un album existant
  • Modification des chansons d'un album

Définition à la ligne 25 du fichier controller_album.class.php.

Documentation des constructeurs et destructeur

◆ __construct()

ControllerAlbum::__construct ( \Twig\Environment  $twig,
\Twig\Loader\FilesystemLoader  $loader 
)

Constructeur du contrôleur album.

Paramètres
\Twig\Environment$twigEnvironnement Twig pour le rendu des templates.
\Twig\Loader\FilesystemLoader$loaderChargeur de fichiers Twig.

Définition à la ligne 33 du fichier controller_album.class.php.

Références Controller\$loader, et Controller\$twig.

Documentation des fonctions membres

◆ afficher()

ControllerAlbum::afficher ( )

Affiche les détails d'un album avec ses chansons.

Récupère l'album par son ID et affiche la liste de ses chansons. Génère également un token CSRF pour la protection des formulaires.

Renvoie
void

Définition à la ligne 46 du fichier controller_album.class.php.

Références Controller\getTwig(), et Controller\redirectTo().

Voici le graphe d'appel pour cette fonction :

◆ afficherDetails()

ControllerAlbum::afficherDetails ( )

Affiche les détails d'un album avec vue différenciée selon le rôle.

Affiche une vue différente selon que l'utilisateur est :

  • L'artiste propriétaire de l'album (vue d'édition)
  • Un auditeur ou autre artiste (vue de lecture seule)
Renvoie
void

Définition à la ligne 304 du fichier controller_album.class.php.

Références Controller\getPDO(), Controller\getTwig(), et Controller\redirectTo().

Voici le graphe d'appel pour cette fonction :

◆ afficherFormulaireAjout()

ControllerAlbum::afficherFormulaireAjout ( )

Affiche le formulaire d'ajout d'album.

Permet à un artiste connecté de créer un nouvel album ou d'ajouter des chansons à un album existant. Nécessite le rôle Artiste.

Renvoie
void

Définition à la ligne 139 du fichier controller_album.class.php.

Références Controller\getTwig(), Controller\redirectTo(), et Controller\requireRole().

Voici le graphe d'appel pour cette fonction :

◆ ajouterAlbum()

ControllerAlbum::ajouterAlbum ( )

Traite l'ajout d'un nouvel album ou l'ajout de chansons à un album existant.

Cette méthode gère :

  • La création d'un nouvel album avec sa pochette
  • L'ajout de chansons à un album existant
  • L'upload des fichiers audio et l'extraction de leurs métadonnées (durée)
  • La création ou récupération des genres musicaux

Nécessite une requête POST et le rôle Artiste.

Renvoie
void

Définition à la ligne 187 du fichier controller_album.class.php.

Références Controller\redirectTo(), et Controller\requireRole().

Voici le graphe d'appel pour cette fonction :

◆ lister()

ControllerAlbum::lister ( )

Liste tous les albums de la plateforme.

Récupère tous les albums et les affiche dans un template de test.

Renvoie
void

Définition à la ligne 86 du fichier controller_album.class.php.

Références Controller\getTwig().

Voici le graphe d'appel pour cette fonction :

◆ listerTableau()

ControllerAlbum::listerTableau ( )

Liste tous les albums sous forme de tableau.

Récupère tous les albums et les affiche dans un format tableau.

Renvoie
void

Définition à la ligne 113 du fichier controller_album.class.php.

Références Controller\getTwig().

Voici le graphe d'appel pour cette fonction :

◆ modifierChanson()

ControllerAlbum::modifierChanson ( )

Modifie les informations d'une chanson.

Permet à l'artiste propriétaire d'un album de modifier les informations d'une chanson (titre, genre). Nécessite une requête POST et le rôle Artiste.

Renvoie
void

Définition à la ligne 353 du fichier controller_album.class.php.

Références $genreDAO, Controller\getPDO(), Controller\redirectTo(), et Controller\requireRole().

Voici le graphe d'appel pour cette fonction :

◆ supprimerChanson()

ControllerAlbum::supprimerChanson ( )

Supprime une chanson (action réservée à l'artiste propriétaire).

Attend une requête POST avec un champ id_album et l'id de la chanson passé en GET (idChanson). Vérifie que l'utilisateur est l'artiste propriétaire, supprime le fichier audio local si présent, puis supprime l'enregistrement en base via le DAO.

Renvoie
void

Définition à la ligne 402 du fichier controller_album.class.php.

Références Controller\getPDO(), Controller\redirectTo(), et Controller\requireRole().

Voici le graphe d'appel pour cette fonction :

La documentation de cette classe a été générée à partir du fichier suivant :