/** * Check session : if the user is not connected, redirect to connection page */ public function performAction($action) { if ($this->request->getSession()->checkAttributeExist("userId")) { parent::performAction($action); } else { $this->redirect("connection"); } }
function __construct() { parent::__construct(); $this->objet_periodes=new ClassPeriodes(); $_SESSION['choix_evolution']=isset($_SESSION['choix_evolution'])?$_SESSION['choix_evolution']:'Catégories'; $this->choix_evolution=isset($_POST['evolution'])?$_POST['evolution']:(isset($_GET['evolution'])?$_GET['evolution']:Null); if( $this->choix_evolution) $_SESSION['choix_evolution']=$this->choix_evolution; $this->current_onglet=isset($_SESSION['current_onglet']['id'])?$_SESSION['current_onglet']['id']:0; $this->temp=get_user_temp_directory(); }
/** * Redéfinition permettant d'ajouter les infos clients aux données des vues * * @param type $donneesVue Données dynamiques * @param type $action Action associée à la vue */ protected function genererVue($donneesVue = array(), $action = null) { $admin = null; // Si les infos client sont présente dans la session... if ($this->requete->getSession()->existeAttribut("admin")) { // ... on les récupère ... $admin = $this->requete->getSession()->getAttribut("admin"); } // ... et on les ajoute aux données de la vue parent::genererVue($donneesVue + array('admin' => $admin), $action); }
/** Constructeur du modèle * Constructeur privé, crée l'instance de PDO qui sera sollicitée pour toutes les méthodes de la classe */ public static function seConnecter() { try { GsbModele::$driver = GsbConfig::$BdType . ':host=' . GsbConfig::$BdServeur . ';dbname=' . GsbConfig::$BdBase; GsbModele::$pdo = new PDO(GsbModele::$driver, GsbConfig::$BdUtilisateur, GsbConfig::$BdMotDePasse); GsbModele::$pdo->query("SET CHARACTER SET utf8"); // règle les problème d'encodage } catch (Exception $e) { Controleur::erreurConnexionBdd("Erreur de connexion \n" . $e->getMessage()); } }
/** * Redéfinition permettant d'ajouter les infos clients aux données des vues * * @param type $donneesVue Données dynamiques * @param type $action Action associée à la vue */ protected function genererVue($donneesVue = array(), $action = null) { $client = null; $nbArticlesPanier = 0; // Si les infos client sont présente dans la session... if ($this->requete->getSession()->existeAttribut("client")) { // ... on les récupère ... $client = $this->requete->getSession()->getAttribut("client"); $panier = new Panier(); $nbArticlesPanier = $panier->getNbArticles($client['idClient']); } // ... et on les ajoute aux données de la vue parent::genererVue($donneesVue + array('client' => $client, 'nbArticlesPanier' => $nbArticlesPanier), $action); }
function __construct() { parent::__construct(); $this->objet_periodes=new ClassPeriodes(); $this->periodes_calendrier=$this->objet_periodes->get_periodes_calendrier(); $_SESSION['stats_choix']=isset($_POST['choix']) ? $_POST['choix'] :(isset($_GET['choix']) ? $_GET['choix'] : 'eleves'); $this->id_calendrier=isset($_POST['id_calendrier'])? $_POST['id_calendrier']:(isset($_GET['id_calendrier'])? $_GET['id_calendrier']:null); $this->posted=isset($_POST['posted'])? $_POST['posted']:(isset($_GET['posted'])? $_GET['posted']:null); $this->month_selected=isset($_POST['month'])? $_POST['month']:(isset($_GET['month'])? $_GET['month']:null); $this->login=isset($_POST['login'])? $_POST['login']:(isset($_GET['login'])? $_GET['login']:null); $this->statut=isset($_SESSION['stats_choix'])? $_SESSION['stats_choix']:'eleves' ; $this->du=isset($_POST['du'])? $_POST['du']:(isset($_GET['du'])? $_GET['du']:Gepi_Date::get_date_begin_yearschool()); $this->au=isset($_POST['au'])? $_POST['au']:(isset($_GET['au'])? $_GET['au']:date('d/m/Y')); $this->etab_all=isset($_POST['etab_all'])? $_POST['etab_all']:(isset($_GET['etab_all'])? $_GET['etab_all']:null); $this->eleve_all=isset($_POST['eleve_all'])? $_POST['eleve_all']:(isset($_GET['eleve_all'])? $_GET['eleve_all']:null); $this->pers_all=isset($_POST['pers_all'])? $_POST['pers_all']:(isset($_GET['pers_all'])? $_GET['pers_all']:null); $this->classes_selected=isset($_POST['classes'])? $_POST['classes']:(isset($_GET['classes'])? $_GET['classes']:null); $this->del_type=isset($_POST['del_type'])? $_POST['del_type']:(isset($_GET['del_type'])? $_GET['del_type']:null); $this->del=isset($_POST['del'])? $_POST['del']:(isset($_GET['del'])? $_GET['del']:null); }
if ($i > 0) { $leMedicamentPrecedant = $lesMedicaments[$i - 1]; } if ($i + 1 < $lesMedicamentsTaille) { $leMedicamentSuivant = $lesMedicaments[$i + 1]; } break; // Arrète le FOR } } } else { $leMedicament = null; } } Vue::$title = "Details médicament"; Controleur::composeVue("vues/medicament/details.php"); break; case "saisir": break; } /* // Action par default 'aucune' $action = ( (isset($_REQUEST['action'])) ? $_REQUEST['action'] : null ) ; include("vues/v_site_sommaire.php"); switch($action) { case "consulter": default:
<?php include 'header.php'; ?> </header> <section> <div class="row"> <div class="col-sm-6 col-sm-offset-3"> <?php if (htmlentities(addslashes(isset($_POST['id'])))) { $news = $controleur->getNewsId($_POST['id']); echo "<form method='POST' action='updateNews.php'>\n <fieldset>\n <legend>Form update news</legend>\n <input type='hidden' id='id' name='id' value='" . $_POST['id'] . "'/>\n <label class='col-sm-4' for='title'>Title: </label>\n <input class='col-sm-8' type='text' id='title' name='title' value='" . $news->getTitle() . "' maxlength='100'/>\n <label class='col-sm-4' for='abstract'>Abstract: </label>\n <textarea class='col-sm-8' id='abstract' name='abstract'>" . $news->getAbstractNews() . "</textarea>\n <label class='col-sm-4' for='content'>Content: </label>\n <textarea class='col-sm-8' id='content' name='content'>" . $news->getContent() . "</textarea>\n <input type='hidden' id='datecreated' name='datecreated' value='" . $news->getDateCreated() . "'/>\n <input class='col-sm-8 col-sm-offset-4 btn btn-primary' type='submit' name='btnupdatenews' value='UPDATE'/>\n </fieldset> </form>"; } else { if (isset($_POST['btnupdatenews'])) { $image = array(); //TEMP $controleur = new Controleur(); $news = new Article(htmlentities(addslashes($_POST['title'])), htmlentities(addslashes($_POST['abstract'])), htmlentities(addslashes($_POST['content'])), htmlentities(addslashes($_POST['datecreated'])), date("Y-m-d"), $image); $news->setId($_POST['id']); $controleur->updateNews($news); header('Location: news.php'); } else { header('Location:home.php'); } } ?> </div> </div> </section> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </body> </html>
<?php /** * Controleur des pages gsb de l'application GSB * @package default * @author Kim Paviot, Julien Dignat and Christophe Sonntag * @version 1.1 */ // Verifie que l'utilisateur est connecté Controleur::doitValiderAutorisation(GsbUtilisateur::estConnecte()); switch (Controleur::$action) { case "travail": Vue::$title = "Travail"; Vue::configToJqvmap(); Controleur::composeVue("vues/gsb/travail.php"); break; case "documentation": Vue::$title = "Documentation"; Controleur::composeVue("vues/gsb/documentation.php"); break; }
/** * Constructeur : fait appel au contrusteur parent * @param string $a nom de l'action à appeler */ public function __construct($a) { parent::__construct("_default", $a); }
<!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> <link rel="stylesheet" type="text/css" href="../CSS/style.css"/> <nav class="navbar navbar-default navbar-fixed-top"> <div class="container-fluid"> <div class="navbar-header"> Web </div> <ul class="nav navbar-nav navbar-right"> <li><a href="home.php"><span class="glyphicon glyphicon-home"></span> Home</a></li> <?php if (isset($_SESSION['email'])) { $controleur = new Controleur(); if ($controleur->getUserEmail($_SESSION['email'])) { if (isset($_SESSION['admin'])) { echo "<li><a href='addUser.php'><span class='glyphicon glyphicon-plus'></span> Add user</a></li>"; echo "<li><a href='users.php'><span class='glyphicon glyphicon-user'> Users</a></li>"; } echo "<li><a href='lastnews.php'><span class='glyphicon glyphicon-star'></span> New</a></li>"; echo "<li><a href='news.php'><span class='glyphicon glyphicon-star-empty'></span> News</a></li>"; echo "<li><a href='profil.php'><span class='glyphicon glyphicon-user'> Profil</a></li>"; echo "<li><a href='deconnect.php'><span class='glyphicon glyphicon-off'></span> Deconnect</a></li>"; } else { //l'user n'existe plus mais sa session oui header('Location:deconnect.php'); } } else { echo "<li><a href='connect.php'>Login/sign</a></li>";
function __construct() { parent::__construct(); $this->data = new ImportModele(); }
<html> <head> <title>Millenary 42</title> <meta name="viewport" content="text/html, width=device-width, initial-scale=1.0, charset=utf-8"> <link rel="stylesheet" href="lib/bootstrap-3.3/css/bootstrap.min.css" /> <link rel="stylesheet" href="mockup/css/details_appart.css" /> <link rel="stylesheet" href="mockup/css/nav.css" /> <link rel="stylesheet" href="mockup/css/index.css" /> <link rel="stylesheet" href="mockup/css/signin.css" /> </head> <body> <div class="container-fluid"> <?php include_once 'view/Main.php'; include_once 'controller/Controleur.php'; $c = new Controleur(); $listeAppartementTitle = '<span class="glyphicon glyphicon-home"></span> Parcourir les appartements'; $connexionTitle1 = 'Se connecter'; $connextionTitle2 = 'S\'inscrire'; if (count($_GET) > 0) { if ($_GET['a'] == 'signin') { echo utf8_decode(Main::displayFront(Main::displayNav($connexionTitle1, $connextionTitle2, false), $c->callAction($_GET))); } } else { echo utf8_decode(Main::displayFront(Main::displayNav($listeAppartementTitle, null, true), $c->callAction(["a" => "list"]))); } ?> </div> <script src="lib/jquery-1.11.3.min.js"></script> <script src="lib/bootstrap-3.3/js/bootstrap.min.js"></script>
/** * Constructeur, fait appel au constructeur parent * @param string $a méthode (action) à exécuter */ public function __construct($a) { parent::__construct("authentification", $a); }
/** * Singleotn retournant le gestionnaire de fichier */ public static function getFileManager() { if (is_null(self::$fileManager)) { $adapter = new Local(BASE_REP . '_data/'); self::$fileManager = new Filesystem($adapter); } return self::$fileManager; }
$echantillonsMultidataForm["errors"][] = "L'echantillion code \"" . $saisieEchantillons["choixMedicament"] . "\" est renseigné une ou plusieurs fois"; } $validEchantillons["echantillons"] = 0; $echantillonsFaits[$saisieEchantillons["choixMedicament"]]++; } else { $echantillonsFaits[$saisieEchantillons["choixMedicament"]] = 1; } } if ($valid["echantillons"] == 1) { $valid["echantillons"] = OutilsForm::valideListValid($validEchantillons); } } } // Si tout est bon ! if (OutilsForm::valideListValid($valid) && OutilsForm::valideFormulaireId("compte-rendu-saisie")) { // On ajoute a la base de donnée $motif = $motifAutreActive ? $motifAutre : $lesMotifs[$choixMotif]; $rapportKeys = GsbModele::insererCompteRendu(GsbUtilisateur::$Matricule, $choixPraticien, $dateVisite, $bilan, $motif, $remplacant, $documentation, $echantillonsMultidataForm["values"]); // $okCompteRendu = true; } } // if (!$okCompteRendu) { Vue::configToMultidataForm("echantillonsDonnees", $echantillonsMultidataForm); } // OutilsForm::genFormulaireId("compte-rendu-saisie"); Controleur::composeVue("vues/compte-rendu/saisie.php"); break; }
case 2: //user non admin $_SESSION['email'] = htmlentities(addslashes($_POST['email'])); header('Location: home.php'); break; case 3: echo "Connect fail"; break; case 4: echo "Error email/password"; default: echo "Données KO"; } } if (isset($_POST['btnsignin'])) { $controleur = new Controleur(); if (htmlentities(addslashes($_POST['passwordSign'])) != htmlentities(addslashes($_POST['passwordSignRepete']))) { echo "password et password repete KO"; } else { //si champs ok $res = $controleur->addUser(htmlentities(addslashes($_POST['emailSign'])), htmlentities(addslashes($_POST['passwordSign'])), htmlentities(addslashes($_POST['nameSign']))); switch ($res) { case 1: echo "L'email existe deja"; break; case 2: echo "Inscription OK"; break; case 3: echo "Inscription KO"; break;
unset($_SESSION["RappelUtilisateurLogin"]); } if (isset($_SESSION["RappelUtilisateurActif"])) { unset($_SESSION["RappelUtilisateurActif"]); } } unset($_SESSION["FormUtilisateurHashkey"]); break; } else { $info_connexion = "Login ou mot de passe incorrect"; } } $login = $_POST["login"]; $remember = isset($_POST["remember"]); } else { $login = isset($_SESSION["RappelUtilisateurLogin"]) ? $_SESSION["RappelUtilisateurLogin"] : ""; $remember = isset($_SESSION["RappelUtilisateurActif"]); } $password = null; // OutilsForm::genFormulaireId("connexion"); Controleur::composeVue("vues/compte/connexion.php", false); break; case "deconnexion": Vue::$title = "Deconnexion"; $rechargement_temps = 5; Vue::$HeaderSupplement .= '<META http-equiv="Refresh" content="' . $rechargement_temps . '; URL=' . OutilsUrl::composer("page", "accueil") . '">'; GsbUtilisateur::seDeconnecter(); Controleur::composeVue("vues/compte/deconnexion.php", false); break; }
function __construct() { parent::__construct(); }
* @package default * @author Kim Paviot, Julien Dignat and Christophe Sonntag * @version 1.1 */ // Verifie que l'utilisateur est connecté Controleur::doitValiderAutorisation(GsbUtilisateur::estConnecte()); switch (Controleur::$action) { case "liste": // Verifie que l'utilisateur est délégué Controleur::doitValiderAutorisation(GsbUtilisateur::estRoleResponsable(), "Vous devez être responsable"); // Vue::$title = "Consulter les visiteurs"; Vue::configToDataTable("DataTableVisiteur"); $lesVisiteurs = GsbModele::getLesVisiteurs(); $lesVisiteursSontVide = count($lesVisiteurs) == 0; Controleur::composeVue("vues/visiteur/liste.php"); break; /* case "details": $lesPraticiens = GsbModele::getLesPraticiens(); $lesPraticiensSontVide = count($lesPraticiens) == 0; $lePraticien = null; $lePraticienNum = null; if(isset($_GET["num"])) { $lePraticien = GsbModele::getLePraticienDetails($_GET["num"]); if($lesPraticiens) $lePraticienNum = $lePraticien["PRA_NUM"]; else $lePraticien = null; }
$subject = "Contact " . GsbConfig::$SiteShortUrl . " : " . $subject; $message = '[Mail from ' . GsbConfig::$SiteShortUrl . ']' . "\r\n\r\n" . 'Nom: ' . $name . "\r\n" . 'Sujet: ' . $subject . "\r\n" . 'Email: ' . $email . "\r\n\r\n" . 'Message' . "\r\n" . '--------' . "\r\n" . $message . "\r\n" . '--------' . "\r\n\r\n" . "Le: " . date("d/m/Y") . " a: " . date("H:i"); try { if (@mail($email_send, $subject, $message, $headers)) { $okMail = true; } } catch (Exception $e) { } unset($_SESSION["FormContactHashkey"]); } } // Si temps d'attende if ($okMail || !$okTime) { $chaineDeRequete = isset($_GET["responsecode"]) && isset($_GET["ressource"]) ? "responsecode=" . $_GET["responsecode"] . "&ressource=" . $_GET["ressource"] : null; Vue::$HeaderSupplement .= '<META http-equiv="Refresh" content="5; URL=' . OutilsUrl::composer("page", "contact", $chaineDeRequete) . '">'; } // OutilsForm::genFormulaireId("contact"); Controleur::composeVue("vues/page/contact.php"); break; case "credit": Vue::$title = "Crédit"; Controleur::composeVue("vues/page/credit.php"); break; case "debug": // Verifie que l'utilisateur est un administrateur Controleur::doitValiderAutorisation(GsbUtilisateur::estAdministrateur(), "Vous devez être administrateur"); Vue::$title = "Debug"; Controleur::composeVue("vues/page/debug.php"); break; }
Controleur::composeVue("vues/statistique/type-praticiens.php"); break; case "visite-labo": Vue::$title = "Visites de labo"; Vue::configToDataTable("DataTableStatistique"); $lesVisiteurs = GsbModele::statVisiteLabo(); $lesVisiteursSontVide = count($lesVisiteurs) == 0; // $graphiqueData = array(); foreach ($lesVisiteurs["stat"] as $unVisiteur) { $graphiqueData[] = array("label" => $unVisiteur["LAB_NOM"] . " (" . $unVisiteur["LAB_CODE"] . ")", "data" => $unVisiteur["nb"]); } Vue::configToGraphiqueCamembert("CamembertStatistique", $graphiqueData); // Ajoute un cammember // Controleur::composeVue("vues/statistique/visite-labo.php"); break; /* case "details": $lesPraticiens = GsbModele::getLesPraticiens(); $lesPraticiensSontVide = count($lesPraticiens) == 0; $lePraticien = null; $lePraticienNum = null; $lePraticienPrecedant = null; $lePraticienSuivant = null; if(isset($_GET["num"])) { $lePraticien = GsbModele::getLePraticienDetails($_GET["num"]); if($lePraticien && $lesPraticiens) { $lePraticienNum = $lePraticien["PRA_NUM"]; $lesPraticiensTaille = count($lesPraticiens); for($i=0; $i<$lesPraticiensTaille; $i++)
include "controleurs/gsb.php"; break; case 'profile': include "controleurs/profile.php"; break; case 'compte-rendu': include "controleurs/compte-rendu.php"; break; case 'medicament': include "controleurs/medicament.php"; break; case 'praticien': include "controleurs/praticien.php"; break; case 'visiteur': include "controleurs/visiteur.php"; break; case 'statistique': include "controleurs/statistique.php"; break; case 'responsecode': include "controleurs/responsecode.php"; break; } /** Page non trouvée si aucun controleurs * n'a appelé une vue */ if (Controleur::estCompose() == false) { Controleur::$action = "404"; include "controleurs/responsecode.php"; }
case "403": $code = "403"; $message = "Le serveur a compris la requête, mais refuse de l'exécuter"; $message_en = "(Forbidden)"; break; case "404": $code = "404"; $message = "Ressource non trouvée"; $message_en = "(Not Found)"; break; case "500": $code = "500"; $message = "Erreur interne du serveur"; $message_en = "(Internal Server Error)"; break; default: $code = "inconnu"; $message = ""; $message_en = "(unknown)"; } // Dans certains cas les variables peuvent ne pas être globale comme quand // la fonction doitValiderAutorisation est appelée. foreach (get_defined_vars() as $key => $value) { $GLOBALS[$key] = $value; } // Charge la vue des erreurs Vue::$title = 'Erreur ' . $code . " " . $message_en . " : " . $_SERVER["REQUEST_URI"]; // Notes : // Si ajaxEstActive alors ajax-responsecode sinon responsecode Controleur::composeVue(Controleur::ajaxEstActive() ? "vues/ajax-responsecode.php" : "vues/responsecode.php", false);
<?php include '../Class/Controleur.php'; session_start(); if (isset($_SESSION['email']) && isset($_SESSION['admin']) && isset($_POST['id'])) { $controleur = new Controleur(); $controleur->deleteUser(htmlentities(addslashes($_POST['id']))); header('Location:users.php'); } else { header('Location:home.php'); }
<?php /** * Controleur du profile de l'application GSB * @package default * @author Kim Paviot, Julien Dignat and Christophe Sonntag * @version 1.1 */ // Verifie que l'utilisateur est connecté Controleur::doitValiderAutorisation(GsbUtilisateur::estConnecte()); switch (Controleur::$action) { case null: case "statut": Vue::$title = 'Mon statut'; $leVisiteur = GsbModele::getInfosVisiteurMatricule(GsbUtilisateur::$Matricule); $leVisiteurRole = GsbModele::getLeVisiteurRole(GsbUtilisateur::$Matricule); Controleur::composeVue("vues/profile/statut.php"); break; /* * Pas obligatoire case "parametres": Vue::$title = "Parametres"; Controleur::composeVue("vues/profile/parametres.php"); break; */ }
function __construct() { parent::__construct(); $this->modele_incidents=new Modele_Incidents(); }
<?php include '../Class/Controleur.php'; session_start(); if (isset($_SESSION['email']) && isset($_POST['id'])) { $controleur = new Controleur(); $controleur->deleteNews($_POST['id']); header('Location:news.php'); } else { header('Location:home.php'); }
/** * Constructeur, appelant le constructeur parent * @param string $a nom de la méthode (action) à appeler */ public function __construct($a) { parent::__construct("_generateur", $a); }
<div class="panel panel-default"> <div class="panel-heading"><h3 class="panel-title"><i class="fa fa-users fa-fw"></i> Qui sommes nous ?</h3></div> <div class="panel-body"> <p> Nous sommes plusieurs développeurs du Lycée Marie Curie de Marseille.<br/> En charge d'analyser, de concevoir, de mettre à jour et d'installer l'application web <strong>GSB</strong>. </p> <p>Ce travail est un projet personnel encadré de l'année 2016.<br/>Développé par <?php echo GsbConfig::$SiteAuteurCreateur; ?> et mis à jour par <?php echo GsbConfig::$SiteAuteurDev; ?> .</p> <?php if (!Controleur::estVueUrlComposeParConstFile(__FILE__)) { ?> <p>Pour en savoir plus aller sur : <?php OutilsUrl::composerLien("Crédit", "page", "credit"); ?> </p> <?php } ?> </div> </div> </div> </div> <div class="row"> <div class="col-xs-12"> <div class="panel panel-default">