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; } }
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']; } }
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(); } }
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; }
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); }
/** * 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); }
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']; } }
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); }