function disp_connexion_p() { ?> <div id="connexion_p"><?php if (connected()) { ?> <h4><?php echo $_SESSION['name']; ?> </h4> <p><a href="index.php?p=gdc">Gestion de compte</a></p> <p><a href="index.php?p=dc">Déconnexion</a></p> <?php } else { ?> <h4>Connexion :</h4> <form method="post" action=""> <p> <label for="c_name">Pseudo :</label><input id="c_name" type="text" name="c_name" maxlength="32"/><br/> <label for="c_mdp">MDP :</label><input id="c_mdp" type="password" name="c_mdp" maxlength="32"/><br/> <input type="submit" value="Connexion"/> <a href="index.php?p=inscr">S'inscrire</a> </p> </form> <?php } ?> </div><?php }
function checkAdmin() { if (connected() && $_SESSION['niveau'] == 3) { return True; } else { if (connected()) { alert('error', 'Vous n\'avez pas l\'accréditation suffisante pour accéder à cette page !'); header('Location: ' . getLink(['accueil', 'index'])); return False; exit; } else { alert('error', 'Connectez-vous avec un statut d\'administrateur'); header('Location: ' . getLink(['membres', 'connexion'])); return False; exit; } } }
<?php /* CONTROLEUR D'ACTION /* /****** Préparation des contenus ******/ // ===== RECUPERE LES VALEURS DEJA PRESENTES DE L'UTILISATEUR ===== require MODELES . 'membres/getUserDetails.php'; require MODELES . 'functions/google.php'; require MODELES . 'functions/date.php'; require MODELES . 'membres/updateUser.php'; require MODELES . 'functions/form.php'; if (connected()) { if ($user = getUserDetails($_SESSION['id'])) { // Si la récup BDD marche pas // exit(); } } else { alert("error", "Vous devez être connecté !"); header("Location: " . getLink(["membres", "connexion"])); exit; } // Bloc de traitement de l'adresse if (isset($user["adresse_condensee"])) { $user["adresse"] = $user["adresse_condensee"]; } elseif (isset($user["coordonnee_long"]) and isset($user["coordonnee_lat"])) { // Convertit coordonnées vers adresse $user["adresse"] = googleCoordToAddress($user['coordonnee_lat'], $user['coordonnee_long']); } // (A supprimer si je trouve pourquoi) Nettoie les -1 qui trainent en cas de suppression. foreach ($user as $key => $value) { if ($value == -1) { $value = '';
<?php require MODELES . 'membres/checkUsed.php'; require MODELES . 'membres/insertUser.php'; require MODELES . 'functions/form.php'; $title = 'Inscription'; $style = ['form.css']; if (!connected()) { if (empty($_POST)) { // Le formulaire n'a pas été rempli vue(['inscription'], $style, $title); } else { // Le formulaire a été rempli if ($_POST['pseudo'] && $_POST['email'] && $_POST['password'] && $_POST['password-confirm']) { // Tous les champs sont remplis // alert('ok', 'Tous les champs remplis'); $contents['retry'] = ['pseudo' => $_POST['pseudo'], 'email' => $_POST['email']]; $errors = ['pseudo' => '', 'email' => '', 'password' => '', 'password-confirm' => '']; $forbiddenKeywords = ['eventease', 'admin', 'root', 'hitler', 'nazi']; // Godwin point awarded ! // // On va d'abord vérifier que le nom d'utilisateur n'est pas interdit : foreach ($forbiddenKeywords as $keyword) { if (strpos(strtolower($_POST['pseudo']), $keyword) !== False) { $errors['pseudo'] = 'Nom d\'utilisateur interdit'; } } // On vérifie que le nom d'utilisateur n'est pas déjà utilisé : if (checkUsed($_POST['pseudo'], 'pseudo')) { // le nom d'utilisateur EST pris) $errors['pseudo'] = 'Nom d\'utilisateur déjà utilisé'; } else {
<div class="col-3"> <h3>EventEase</h3> <a href="<?php echo getLink(['accueil', 'about']); ?> ">A propos</a><br /> <a href="<?php echo getLink(['accueil', 'legal']); ?> ">Mentions légales</a><br /> <a href="<?php echo getLink(['accueil', 'cgu']); ?> ">CGU</a><br /><br /> <?php if (connected() && $_SESSION['niveau'] == 3) { echo "<a href='" . getLink(['backoffice']) . "'>Administration</a>"; } ?> </div> </div> </div> </div> </footer> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC02_hTBcl3SqHYTvraoftcwhPxkRSeCWA&libraries=places"></script> <?php foreach ($scripts as $script) { echo '<script src="' . SCRIPTS . $script . '"></script>' . "\n"; }
<div id="palette" style="display:none;"> <div id="color1">#303030</div> <div id="color2">#FAFAFA</div> <div id="color3">#F94339</div> <div id="color4">#36B136</div> <div id="color5">#287DFF</div> </div> <?php $maquettes = [['events', 'display', 4], ['membres', 'profil', 1], ['membres', 'messages'], ['events', 'search'], ['membres', 'modification_profil'], ['events', 'modify', 2]]; echo '<div id="debug">'; require 'controleurs/shared/bddVersion.php'; echo '<div id="session" style="display:none;"><h3>Session :</h3>'; echo 'user connecté : '; echo connected() ? "Oui ! :)<br />" : "Non !<br />"; echo '<a href="controleurs/shared/sessionDestroy.php">Détruire session (simuler une arrivée sur le site)</a><br />'; echo 'Page précédente : ' . implode(' -> ', $_SESSION['previousPage']) . '<br />'; echo 'Page courante : ' . implode(' -> ', $_SESSION['currentPage']) . '<br />'; echo '</div>'; ?> <div id="maquettes"> <h3>Accès rapide vers les maquettes :</h3> <?php foreach ($maquettes as $maquette) { echo '<li><a href="' . getlink($maquette) . '">' . implode(' -> ', $maquette) . '</a></li>'; } ?> </div> <div> <!-- Assets chargés -->
<?php require_once "connect.php"; if (isset($_COOKIE["uname"]) && connected()) { //get data //}else{ // $server = $_SERVER['SERVER_NAME']; //header('Location: http://'.$server.'/ACCS_Web/login.php'); }
function disp_body() { if (!isset($_GET['p'])) { disp_cats(); } elseif (isset($_GET['id'])) { if ($_GET['p'] == 'f') { if (isset($_POST['topicname']) && isset($_POST['message']) && connected()) { if (newTopic($_POST['topicname'], $_GET['id'], $_SESSION['id'], $_POST['message'])) { disp_error(ERR_404); } elseif (disp_forum($_GET['id'])) { disp_error(ERR_404); } } elseif (disp_forum($_GET['id'])) { disp_error(ERR_404); } } else { if ($_GET['p'] == 't') { if (isset($_POST['message']) && connected()) { if (newPost($_POST['message'], $_GET['id'], $_SESSION['id'])) { disp_error(ERR_404); } elseif (disp_topic($_GET['id'])) { disp_error(ERR_404); } } elseif (disp_topic($_GET['id'])) { disp_error(ERR_404); } } else { if ($_GET['p'] == 'm') { if (disp_member($_GET['id'])) { disp_error(ERR_404); } } elseif ($_GET['p'] == 'newt' || $_GET['p'] == 'newp') { if (connected()) { ?> <div id="forum"><h2><?php if ($_GET['p'] == 'newt') { ?> Créer un nouveau topic :<?php } else { ?> Poster un nouveau message : <?php } ?> </h2> <form method="post" action="index.php?p=<?php if ($_GET['p'] == 'newt') { echo 'f'; } else { echo 't'; } ?> &id=<?php echo $_GET['id']; ?> "> <p> <?php if ($_GET['p'] == 'newt') { ?> <label for="topicname">Nom du topic :</label><input id="topicname" type="text" name="topicname" maxlength="64"/><br/><?php } ?> <label for="message">Message :</label><textarea id="message" name="message"></textarea><br/> <input type="submit" value="Valider"/> </p> </form> </div> <?php } else { disp_error(ERR_GDC_DC); } } else { disp_error(ERR_404); } } } } elseif ($_GET['p'] == 'inscr') { disp_inscriptionForm(); } elseif ($_GET['p'] == 'dc') { ?> <p>Vous êtes maintenant déconnecté.</p><?php } elseif ($_GET['p'] == 'co_ok') { ?> <p>Vous êtes maintenant connecté.</p><?php } elseif ($_GET['p'] == 'inscr_ok') { ?> <p>Vous êtes maintenant incrit sur ce forum.</p><?php } elseif ($_GET['p'] == 'gdc') { if (connected()) { if (isset($_POST['gdc_mdp']) && isset($_POST['gdc_cmdp'])) { if ($_POST['gdc_mdp'] == $_POST['gdc_cmdp']) { if (changeMDP($_SESSION['id'], $_POST['gdc_mdp'])) { disp_error(ERR_INSCR_MDP); } else { echo '<div id="green"><p>' . GDC_MDP_CHANGED . '</p></div>'; } } else { disp_error(ERR_INSCR_CONF); } } elseif (isset($_POST['gdc_email'])) { if (changeEmail($_SESSION['id'], $_POST['gdc_email'])) { disp_error(ERR_INSCR_EMAIL); } else { echo '<div id="green"><p>' . GDC_EMAIL_CHANGED . '</p></div>'; } } else { disp_gdc(); } } else { disp_error(ERR_GDC_DC); } } else { disp_error(ERR_404); } }
function listController() { require_once MODELES . 'events/getEvents.php'; $contents['types'] = getTypes(); if (connected()) { $events = getEvents($_SESSION['id']); } else { $events = getEvents(); } $events = detailsToStrings($events); // echo '<pre>'; // var_dump($events); // echo '</pre>'; $contents['searchResults'] = $events; // Préparation et appel de la vue : $title = 'Liste des évènements'; $styles = ['search_v2.css', 'list-events.css', 'eventPreview.css', 'form.css']; $blocks = ['search']; $scripts = ['filter.js']; vue($blocks, $styles, $title, $contents, $scripts); }
function suggestions() { if (connected()) { //On attrape les infos qu'on veut $user_info = getUserDetails($_SESSION['id']); $user_events = getMemberEvents($_SESSION['id']); $events = getEvents($_SESSION['id']); if (empty($events) || empty($user_events) || empty($user_info) || count($events) < 3) { return []; } //Enlève les évents auquel il participe. foreach ($events as $key => $value) { foreach ($user_events as $cle => $valeur) { if (count($events) - count($user_events) > 3) { // Teste s'il y a assez d'évènements pour faire 3 recommendations if ($value["id"] == $valeur['id']) { unset($events[$key]); } } } //Ajoute les coordonnées à chaue événement auquel il ne participe pas. if (!isset($events[$key])) { continue; } $event_adress = getAdressCoord($value['id']); $events[$key]['coordonnee_long'] = $event_adress['coordonnee_long']; $events[$key]['coordonnee_lat'] = $event_adress['coordonnee_lat']; $events[$key]['lien_photo'] = generateMediaLink($value['id'], $value['type']); } // ======= BIENTOT ======== //Tri par date des evenements function date_compare($a, $b) { $t1 = strtotime($a['debut']); $t2 = strtotime($b['debut']); return $t1 - $t2; } usort($events, 'date_compare'); $timeRec = $events[0]; // ======= TYPE ======== //Classement des Types par ID. $types = []; foreach ($user_events as $key => $value) { array_push($types, $value["type"]); } $types = array_count_values($types); $top_type = array_keys($types, max($types)); //Choix de l'évènement par Type. foreach ($events as $key => $value) { if (in_array($value['type'], $top_type)) { $typeRec = $value; if ($timeRec['id'] == $typeRec['id']) { continue; } else { break; } } } //Aléatoire sinon. if (!isset($typeRec)) { $typeRec = $events[rand(0, count($events) - 1)]; while ($timeRec['id'] == $typeRec['id']) { $typeRec = $events[rand(0, count($events) - 1)]; } } // ======= PROXIMITE ======== if (isset($user_info['coordonnee_long']) && isset($user_info['coordonnee_lat'])) { // Addresse renseignée. //Tri par distance (grande sphère) foreach ($events as $key => $value) { $events[$key]['distance'] = haversineGreatCircleDistance(floatval($user_info['coordonnee_lat']), floatval($user_info['coordonnee_long']), floatval($events[$key]['coordonnee_lat']), floatval($events[$key]['coordonnee_long'])); } function distance_compare($a, $b) { return $a['distance'] - $b['distance']; } usort($events, 'distance_compare'); $proxRec = $events[0]; if ($proxRec['id'] == $typeRec['id']) { $proxRec = $events[1]; } } else { //Addresse non renseignée. Donc aléatoire. $proxRec = $events[rand(0, count($events) - 1)]; while ($proxRec['id'] == $typeRec['id'] || $proxRec['id'] == $timeRec['id']) { $proxRec = $events[rand(0, count($events) - 1)]; } } return [$timeRec, $typeRec, $proxRec]; } else { // 100% radom public events $events = getEvents(); if (count($events) < 3) { return []; } $recs = array_rand($events, 3); foreach ($recs as $key => $value) { $events[$value]['lien_photo'] = generateMediaLink($value, $events[$value]['type']); } return [$events[$recs[0]], $events[$recs[1]], $events[$recs[2]]]; } }
function changeEmail($id, $email) { if (!preg_match('#^[0-9a-z_.-]+@[1-9a-z\\-_.]{2,}\\.[a-z]{2,4}$#', $email)) { return 1; } $db = db_connect(); $req = $db->prepare('UPDATE members SET `m.email` = ? WHERE `m.id` = ?'); $req->execute(array($email, $id)); if (connected()) { if ($_SESSION['id'] == $id) { $_SESSION['email'] = $email; } } return 0; }
header("Location: " . getLink(['membres', 'connexion'])); exit; } else { $contents['messages'] = getPrivateMessages($_SESSION['id']); $contents['invitations'] = getInvitations($_SESSION['id']); } if (isset($_GET['pseudo_destinataire'])) { $contents['pseudo_destinataire'] = $_GET['pseudo_destinataire']; } $contents['ongletActif'] = 'messages'; $title = 'Messages privés'; $styles = ['onglets_compte.css', 'membres.css']; $blocks = ['onglets_compte', 'messages']; //Envoi d'un message privé si nécessaire : if (!empty($_POST)) { if ($_POST['message_prive']) { if (connected() and isset(getUserId($_POST['destinataire'])[0]["id"])) { if (sendPrivateMessage($_POST['message_prive'], getUserId($_POST['destinataire'])[0]["id"], $_SESSION['id'])) { alert('info', 'Votre message a bien été envoyé !'); } else { alert('error', "Une erreur est survenue lors de l'envoi de votre message"); } } else { alert('error', "Pseudo du destinataire invalide"); } } else { alert('error', 'Vous ne pouvez pas envoyer un message vide !'); } } // Appel des vues vue($blocks, $styles, $title, $contents);