|
Paaxio 1.0
Plateforme de streaming musical - SAE IUT Bayonne
|
Classe de base pour tous les contrôleurs de l'application. Plus de détails...
Fonctions membres publiques | |
| __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. | |
Fonctions membres protégées | |
| 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. | |
Attributs privés | |
| PDO | $pdo |
| Twig Loader FilesystemLoader | $loader |
| Twig Environment | $twig |
| array | $get = null |
| array | $post = null |
Classe de base pour tous les contrôleurs de l'application.
Cette classe fournit les fonctionnalités communes à tous les contrôleurs :
Définition à la ligne 23 du fichier controller.class.php.
| Controller::__construct | ( | \Twig\Loader\FilesystemLoader | $loader, |
| \Twig\Environment | $twig | ||
| ) |
Constructeur du contrôleur.
Initialise la connexion à la base de données et configure Twig. Récupère également les variables GET et POST.
| \Twig\Loader\FilesystemLoader | $loader | Chargeur de templates Twig. |
| \Twig\Environment | $twig | Environnement Twig. |
Définition à la ligne 59 du fichier controller.class.php.
Références $loader, $twig, et bd\getInstance().
| Controller::call | ( | string | $method | ) |
Appelle une méthode du contrôleur de façon dynamique.
Vérifie si la méthode existe avant de l'appeler. Affiche une page 404 si la méthode n'existe pas.
| string | $method | Nom de la méthode à appeler. |
Définition à la ligne 85 du fichier controller.class.php.
Références getTwig().
| Controller::getGet | ( | ) |
Récupère les données GET.
Définition à la ligne 165 du fichier controller.class.php.
Références $get.
Référencé par ControllerUtilisateur\resetPassword().
| Controller::getLoader | ( | ) |
Récupère le chargeur de templates Twig.
Définition à la ligne 127 du fichier controller.class.php.
Références $loader.
| Controller::getPDO | ( | ) |
Récupère la connexion PDO.
Définition à la ligne 108 du fichier controller.class.php.
Références $pdo.
Référencé par ControllerAlbum\afficherDetails(), ControllerUtilisateur\afficherProfilArtiste(), ControllerNewsletter\ajouter(), ControllerHome\artisteDashboard(), ControllerHome\auditeurDashboard(), ControllerUtilisateur\demanderReinitialisation(), ControllerUtilisateur\inscription(), ControllerAdmin\modifier(), ControllerAlbum\modifierChanson(), ControllerHome\openDashboard(), ControllerUtilisateur\resetPassword(), ControllerUtilisateur\signin(), ControllerUtilisateur\signup(), ControllerUtilisateur\suivreArtiste(), ControllerAlbum\supprimerChanson(), et ControllerUtilisateur\traiterReinitialisation().
| Controller::getPost | ( | ) |
Récupère les données POST.
Définition à la ligne 184 du fichier controller.class.php.
Références $post.
Référencé par ControllerNewsletter\ajouter(), ControllerUtilisateur\demanderReinitialisation(), ControllerUtilisateur\signin(), ControllerUtilisateur\signup(), et ControllerUtilisateur\traiterReinitialisation().
| Controller::getTwig | ( | ) |
Récupère l'environnement Twig.
Définition à la ligne 146 du fichier controller.class.php.
Références $twig.
Référencé par ControllerAdmin\afficher(), ControllerAlbum\afficher(), ControllerBattle\afficher(), ControllerChanson\afficher(), ControllerFichier\afficher(), ControllerGenre\afficher(), ControllerMusique\afficher(), ControllerNewsletter\afficher(), ControllerPlaylist\afficher(), ControllerRole\afficher(), ControllerAlbum\afficherDetails(), ControllerUtilisateur\afficherErreurToken(), ControllerAlbum\afficherFormulaireAjout(), ControllerHome\afficherGenerales(), ControllerHome\afficherLegales(), ControllerUtilisateur\afficherMesLikes(), ControllerUtilisateur\afficherMotDePasseOublie(), ControllerUtilisateur\afficherProfilArtiste(), ControllerNewsletter\ajouter(), ControllerHome\artisteDashboard(), ControllerHome\auditeurDashboard(), call(), ControllerHome\connect(), ControllerAdmin\consulter(), ControllerUtilisateur\demanderReinitialisation(), ControllerChanson\filtrerChanson(), ControllerHome\homeBienvenue(), ControllerUtilisateur\inscription(), ControllerAlbum\lister(), ControllerBattle\lister(), ControllerChanson\lister(), ControllerFichier\lister(), ControllerGenre\lister(), ControllerPlaylist\lister(), ControllerRole\lister(), ControllerAlbum\listerTableau(), ControllerBattle\listerTableau(), ControllerChanson\listerTableau(), ControllerFichier\listerTableau(), ControllerGenre\listerTableau(), ControllerPlaylist\listerTableau(), ControllerRole\listerTableau(), ControllerAdmin\modifier(), ControllerHome\openDashboard(), ControllerChanson\rechercherParAlbum(), ControllerChanson\rechercherParTitre(), requireAnyRole(), requireRole(), ControllerUtilisateur\resetPassword(), ControllerHome\session(), show405(), et ControllerUtilisateur\signup().
|
protected |
Redirige vers un contrôleur et une méthode donnés.
Construit une URL avec les paramètres fournis et effectue une redirection HTTP.
| string | $controller | Nom du contrôleur (ex: "home"). |
| string | $method | Nom de la méthode (ex: "afficher"). |
| array | $params | Paramètres additionnels sous forme clé => valeur (facultatif). |
Définition à la ligne 291 du fichier controller.class.php.
Référencé par ControllerAlbum\afficher(), ControllerHome\afficher(), ControllerPlaylist\afficher(), ControllerAlbum\afficherDetails(), ControllerAlbum\afficherFormulaireAjout(), ControllerUtilisateur\afficherProfilArtiste(), ControllerNewsletter\ajouter(), ControllerAlbum\ajouterAlbum(), ControllerHome\connect(), ControllerAdmin\consulter(), ControllerUtilisateur\inscription(), ControllerUtilisateur\logout(), ControllerAdmin\modifier(), ControllerAlbum\modifierChanson(), requireAuth(), ControllerAdmin\supprimer(), et ControllerAlbum\supprimerChanson().
|
protected |
Exige que l'utilisateur ait un des rôles spécifiés.
Affiche une erreur 403 si le rôle de l'utilisateur ne correspond à aucun des rôles autorisés. Appelle requireAuth() en interne pour vérifier l'authentification.
| array | $allowedRoles | Tableau des rôles autorisés (RoleEnum ou string). |
Définition à la ligne 337 du fichier controller.class.php.
Références getTwig(), et requireAuth().
|
protected |
Exige que l'utilisateur soit authentifié.
Redirige vers la page de connexion si l'utilisateur n'est pas connecté. L'URL de redirection après connexion peut être construite à partir des paramètres.
| string | $controller | Nom du contrôleur pour la redirection après connexion (ex: "playlist"). |
| string | $method | Nom de la méthode pour la redirection après connexion (ex: "afficher"). |
| array | $params | Paramètres additionnels sous forme clé => valeur (facultatif). |
Définition à la ligne 210 du fichier controller.class.php.
Références redirectTo().
Référencé par ControllerMusique\afficher(), ControllerPlaylist\afficher(), ControllerUtilisateur\afficherMesLikes(), requireAnyRole(), requireRole(), et ControllerChanson\toggleLike().
|
protected |
Exige que l'utilisateur ait un rôle spécifique.
Affiche une erreur 403 si le rôle de l'utilisateur ne correspond pas au rôle requis. Appelle requireAuth() en interne pour vérifier l'authentification.
| string | RoleEnum | $requiredRole | Le rôle requis (RoleEnum ou string). |
Définition à la ligne 247 du fichier controller.class.php.
Références getTwig(), et requireAuth().
Référencé par ControllerAdmin\afficher(), ControllerAlbum\afficherFormulaireAjout(), ControllerAlbum\ajouterAlbum(), ControllerAdmin\consulter(), ControllerUtilisateur\inscription(), ControllerAdmin\modifier(), ControllerAlbum\modifierChanson(), ControllerAdmin\supprimer(), et ControllerAlbum\supprimerChanson().
| Controller::setGet | ( | ?array | $get | ) |
Définit les données GET.
| array | null | $get | Nouveau tableau de paramètres GET. |
Définition à la ligne 175 du fichier controller.class.php.
Références $get.
| Controller::setLoader | ( | ?\Twig\Loader\FilesystemLoader | $loader | ) |
Définit le chargeur de templates Twig.
| \Twig\Loader\FilesystemLoader | null | $loader | Nouveau chargeur de fichiers. |
Définition à la ligne 137 du fichier controller.class.php.
Références $loader.
| Controller::setPDO | ( | ?PDO | $pdo | ) |
Définit la connexion PDO.
| PDO | null | $pdo | Nouvelle connexion à la base de données. |
Définition à la ligne 118 du fichier controller.class.php.
Références $pdo.
| Controller::setPost | ( | ?array | $post | ) |
Définit les données POST.
| array | null | $post | Nouveau tableau de paramètres POST. |
Définition à la ligne 194 du fichier controller.class.php.
Références $post.
| Controller::setTwig | ( | ?\Twig\Environment | $twig | ) |
Définit l'environnement Twig.
| \Twig\Environment | null | $twig | Nouvel environnement Twig. |
Définition à la ligne 156 du fichier controller.class.php.
Références $twig.
|
protected |
Affiche une erreur 405 Méthode non autorisée.
Affiche une page d'erreur 405 avec un message explicite et quitte le script.
Définition à la ligne 314 du fichier controller.class.php.
Références getTwig().
Référencé par ControllerUtilisateur\demanderReinitialisation(), ControllerUtilisateur\signin(), ControllerUtilisateur\signup(), et ControllerUtilisateur\traiterReinitialisation().
|
private |
Définition à la ligne 43 du fichier controller.class.php.
Référencé par getGet(), ControllerUtilisateur\resetPassword(), et setGet().
|
private |
Définition à la ligne 33 du fichier controller.class.php.
Référencé par ControllerAdmin\__construct(), ControllerAlbum\__construct(), ControllerBattle\__construct(), ControllerChanson\__construct(), ControllerFichier\__construct(), ControllerGenre\__construct(), ControllerHome\__construct(), ControllerMusique\__construct(), ControllerNewsletter\__construct(), ControllerPlaylist\__construct(), ControllerRole\__construct(), ControllerUtilisateur\__construct(), __construct(), getLoader(), et setLoader().
|
private |
Définition à la ligne 28 du fichier controller.class.php.
Référencé par ControllerAdmin\afficher(), ControllerNewsletter\ajouter(), ControllerAdmin\consulter(), getPDO(), ControllerUtilisateur\inscription(), ControllerAdmin\modifier(), setPDO(), ControllerUtilisateur\signup(), et ControllerAdmin\supprimer().
|
private |
Définition à la ligne 48 du fichier controller.class.php.
Référencé par ControllerNewsletter\ajouter(), ControllerUtilisateur\demanderReinitialisation(), getPost(), setPost(), ControllerUtilisateur\signin(), ControllerUtilisateur\signup(), et ControllerUtilisateur\traiterReinitialisation().
|
private |
Définition à la ligne 38 du fichier controller.class.php.
Référencé par ControllerAdmin\__construct(), ControllerAlbum\__construct(), ControllerBattle\__construct(), ControllerChanson\__construct(), ControllerFichier\__construct(), ControllerGenre\__construct(), ControllerHome\__construct(), ControllerMusique\__construct(), ControllerNewsletter\__construct(), ControllerPlaylist\__construct(), ControllerRole\__construct(), ControllerUtilisateur\__construct(), __construct(), getTwig(), et setTwig().