Example #1
0
 public function __construct()
 {
     $listeActionVisiteur = array('sansAction', 'seConnecter', 'seDeconnecter', 'voirNews', 'voirPersonnages', 'addCommentaire');
     $listeActionAdmin = array('addNews', 'modifNews', 'suppNews', 'suppCom', 'addPerso', 'modifPerso', 'suppPerso');
     session_start();
     try {
         $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'sansAction';
         switch ($action) {
             case in_array($action, $listeActionVisiteur):
                 $controlVisit = new VisiteurController($action);
                 break;
             case in_array($action, $listeActionAdmin):
                 if (MdlAdmin::isAdmin() != null) {
                     $controlAdmin = new AdminController($action);
                     break;
                 }
                 Config::ajouterErreur("Droit Insuffisant!");
                 require Config::getViews()['Erreur'];
                 break;
             default:
                 Config::ajouterErreur("Action inconnue!");
                 require Config::getViews()['vueErreur'];
         }
     } catch (PDOException $e) {
         Config::ajouterErreur("Problème d'acces à la base de données !!!");
         require Config::getViews()['vueErreur'];
         die;
     } catch (Exception $e) {
         Config::ajouterErreur($e->getMessage());
         require Config::getViews()['vueErreur'];
         die;
     }
 }
Example #2
0
 private function addCommentaire()
 {
     if (empty($_REQUEST['pseudo']) || empty($_REQUEST['contenu']) || empty($_REQUEST['indexNews'])) {
         Config::ajouterErreur("Tout les champs doivent être correctement renseigné pour ajouter un commentaire");
         require Config::getViews()['vueActualites'];
         return;
     } else {
         CommentaireGateway::save1Commentaire($_REQUEST['indexNews'], $_REQUEST['pseudo'], $_REQUEST['contenu']);
         require Config::getViews()['vueActualites'];
     }
 }
Example #3
0
 public static function connexion($login, $mdp)
 {
     if (!Validation::validerLoginMdp($login, $mdp)) {
         Config::ajouterErreur("Mot de passe ou login incorrect");
         return;
     }
     $result = UtilisateurGateway::getUtilisateurAvecLogin($login, $mdp);
     if ($result != null) {
         $_SESSION['login'] = $result->login;
         $_SESSION['role'] = $result->getRole();
     }
 }
Example #4
0
 public static function getUtilisateurAvecLogin($login, $mdp)
 {
     $connexion = new Connection(Config::getDataBaseInfos()['DBname'], Config::getDataBaseInfos()['login'], Config::getDataBaseInfos()['mdp'], null);
     $requete = "SELECT login, mdp, role FROM Utilisateur WHERE login='******'";
     $connexion->executeQuery($requete);
     $result = $connexion->getResults();
     if (count($result) == 0) {
         Config::ajouterErreur("Login ou mot de passe de passe incorrect");
     }
     $result = $result[0];
     if ($result['login'] == $login && $result['mdp'] == $mdp) {
         return self::returnBonTypeUtilisateur($result['login'], $result['role']);
     }
     Config::ajouterErreur("Login ou mot de passe de passe incorrect");
     return null;
 }
 public static function addImage($imageFile, $dossierImage, $indexAssocie)
 {
     global $rootDirectory;
     if ($imageFile['error'] > 0) {
         Config::ajouterErreur("Erreur lors du transfert");
         $result['pathImage'] = '';
         return $result;
     }
     if ($imageFile['size'] > Config::getUploadInfos()['fileMaxSize']) {
         Config::ajouterErreur("Le fichier est trop gros");
         $result['pathImage'] = '';
         return $result;
     }
     $extensions_valides = array('jpg', 'jpeg', 'gif', 'png');
     //strrchr renvoie l'extension avec le point (« . »).
     //substr(chaine,1) ignore le premier caractère de chaine. -> supprime le point
     //strtolower met l'extension en minuscules.
     $extension_upload = strtolower(substr(strrchr($imageFile['name'], '.'), 1));
     if (!in_array($extension_upload, $extensions_valides)) {
         Config::ajouterErreur("Extension incorrecte");
         $result['pathImage'] = '';
         return $result;
     }
     $image_sizes = getimagesize($imageFile['tmp_name']);
     //adresse vers le fichier uploader dans le repertoire temporaire
     if ($image_sizes[0] > Config::getUploadInfos()['imageMaxWidth'] or $image_sizes[1] > Config::getUploadInfos()['imageMaxHeight']) {
         Config::ajouterErreur("Image trop grande");
         $result['pathImage'] = '';
         return $result;
     }
     $nom = $dossierImage . '/image' . $indexAssocie . '.' . $extension_upload;
     $resultat = move_uploaded_file($imageFile['tmp_name'], $nom);
     if (!$resultat) {
         Config::ajouterErreur("Echec transfer image");
         $result['pathImage'] = '';
         return $result;
     }
     $result['pathImage'] = $nom;
     return $result;
 }
Example #6
0
 public static function modifierPerso($index, $nom, $age, $planeteOrigine, $description, $imagePath)
 {
     $index = Validation::nettoyerIndex($index);
     if (empty($index)) {
         Config::ajouterErreur("Probleme d'index de personnage");
         return;
     }
     $nom = Validation::nettoyerString($nom);
     $nImagePath = Validation::nettoyerPath($imagePath);
     $age = Validation::nettoyerString($age);
     $description = Validation::nettoyerString($description);
     $planeteOrigine = Validation::nettoyerString($planeteOrigine);
     if (empty($nom) || empty($age) || empty($planeteOrigine) || empty($description)) {
         Config::ajouterErreur("Erreur de Saisie, Champ Incorrect pour la modification d'un personnage");
         return;
     }
     $connexion = new Connection(Config::getDataBaseInfos()['DBname'], Config::getDataBaseInfos()['login'], Config::getDataBaseInfos()['mdp'], null);
     $requete = "UPDATE Personnage SET nom='{$nom}', age='{$age}', planeteOrigine='{$planeteOrigine}', description='{$description}', imagePath='{$nImagePath}' WHERE indexPerso={$index}";
     $connexion->executeQuery($requete);
 }
Example #7
0
 /**
  * Supprime le commentaire d'index $indexCom pour la News d'index $indexNews
  */
 public static function supprimerCommentaire($indexNews, $indexCom)
 {
     $indexNews = Validation::nettoyerIndex($indexNews);
     $indexCom = Validation::nettoyerIndex($indexCom);
     if (empty($indexCom) || empty($indexCom)) {
         Config::ajouterErreur("Probleme d'index de commentaire");
         return;
     }
     $connexion = new Connection(Config::getDataBaseInfos()['DBname'], Config::getDataBaseInfos()['login'], Config::getDataBaseInfos()['mdp'], null);
     $requete = "DELETE FROM Commentaire WHERE indexNews={$indexNews} AND indexCom={$indexCom}";
     $connexion->executeQuery($requete);
 }
Example #8
0
 private function supprimerCommentaire()
 {
     if (empty($_REQUEST['indexNews']) || empty($_REQUEST['indexCom'])) {
         Config::ajouterErreur("Problème d'index pour la suppression d'un commentaire");
         require Config::getViews()['vueActualites'];
     } else {
         CommentaireGateway::supprimerCommentaire($_REQUEST['indexNews'], $_REQUEST['indexCom']);
         require Config::getViews()['vueActualites'];
     }
 }
Example #9
0
 public static function modifierNews($index, $titre, $pathImage, $resume, $contenu)
 {
     $index = Validation::nettoyerIndex($index);
     if (empty($index)) {
         Config::ajouterErreur("Probleme d'index d'actualité pour la modification");
         return;
     }
     $titre = Validation::nettoyerString($titre);
     $nPathImage = Validation::nettoyerPath($pathImage);
     $resume = Validation::nettoyerString($resume);
     $contenu = Validation::nettoyerString($contenu);
     if (empty($titre) || empty($resume) || empty($contenu)) {
         Config::ajouterErreur("Erreur de Saisie, Champ Incorrect pour la modification");
         return;
     }
     $connexion = new Connection(Config::getDataBaseInfos()['DBname'], Config::getDataBaseInfos()['login'], Config::getDataBaseInfos()['mdp'], null);
     $requete = "UPDATE News SET titre='{$titre}', pathImage='{$nPathImage}', resume='{$resume}', contenu='{$contenu}' WHERE indexNews={$index}";
     $connexion->executeQuery($requete);
 }