function groupes_en_commun($id_user_1, $id_user_2, $bdd) { $i = 0; // récupère les id de tous les groupes $req = $bdd->prepare('SELECT id_groupe FROM groupes'); $req->execute(); // Pour chaque groupe, vérifie si les deux appartiennent au groupe while ($groupe = $req->fetch()) { if (appartient_au_groupe($id_user_1, $groupe['id_groupe'], $bdd) && appartient_au_groupe($id_user_2, $groupe['id_groupe'], $bdd)) { $groupes_cherches[$i] = $groupe['id_groupe']; $i++; } } $req->closeCursor(); if (isset($groupes_cherches)) { return $groupes_cherches; } else { return 'rien_en_commun'; } }
<div class="page-header"> <h2>Inscription à <?php echo htmlspecialchars($groupe['nom']); ?> </h2> <div id="pac-charger">Chargement ... <img src="images/ajax-loader.gif"></img></div> </div> <?php include_once 'modele/appartient_au_groupe.php'; $est_dans_groupe = appartient_au_groupe($id_user, $groupe['id_groupe'], $bdd); if (!$est_dans_groupe) { include_once 'modele/groupes/inscription_groupe.php'; // Si la candidatue n'a pas déjà été soumise if (!candidature_dans_groupe_existe($id_user, $groupe['id_groupe'], $bdd)) { candidature_dans_groupe($id_user, $groupe['id_groupe'], $bdd); // On enregistre la demande de candidature include_once 'modele/notifications.php'; include_once 'modele/infos_groupe.php'; $admins_groupe = admin_groupe($groupe['id_groupe'], $bdd); // Recherche des admins du groupe foreach ($admins_groupe as $key => $admin_courant) { nouvelle_notif($admin_courant, 'new_insc_gpe', $groupe['id_groupe'], 0, $bdd); } } echo '<div class="alert alert-success" role="alert">'; echo 'Votre inscription est en attente de validation par les administrateurs du groupe !'; echo '</div>'; } else { echo '<div class="alert alert-danger" role="alert">'; echo 'Vous êtes déjà inscrit à ce groupe !<br>';
<?php // Si on demande une inscription if (isset($_GET['inscription_user']) && $_GET['inscription_user'] != '') { // On est l'admin du groupe et l'user n'est pas déjà dans le groupe, et qu'il a fait une demande include_once 'modele/groupes/inscription_groupe.php'; include_once 'modele/admin_groupe.php'; include_once 'modele/appartient_au_groupe.php'; $candidature = infos_candidature($_GET['inscription_user'], $bdd); if (role_gpe($id_user, $groupe['id_groupe'], $bdd) == 2) { if (candidature_dans_groupe_existe($candidature['id_user'], $groupe['id_groupe'], $bdd)) { if (!appartient_au_groupe($candidature['id_user'], $groupe['id_groupe'], $bdd)) { inscrire_user($candidature['id_user'], $groupe['id_groupe'], $bdd); supprimer_candidature($candidature['id_insc'], $bdd); } } } } // Si on supprime une inscription if (isset($_GET['supprimer_cand']) && $_GET['supprimer_cand'] != '') { include_once 'modele/groupes/inscription_groupe.php'; supprimer_candidature($_GET['supprimer_cand'], $bdd); } // Si on change les infos du groupe if (isset($_POST['infos_change']) && $_POST['infos_change'] == 'ok') { include_once 'modele/infos_groupe.php'; include_once 'modele/admin_groupe.php'; // Il faut être admin dans ce groupe, et que le nom ne soit pas nul (sinon on ne le change pas) if (role_gpe($id_user, $groupe['id_groupe'], $bdd) == 2) { if (isset($_POST['nom']) && $_POST['nom'] != '') { changer_nom_groupe($groupe['id_groupe'], $_POST['nom'], $bdd);
<?php /** Et si l'utilisateur a dejà débloqué le potin ? */ include_once 'modele/notifications.php'; include_once 'modele/infos_potin.php'; include_once 'modele/appartient_au_groupe.php'; $infos_notif = infos_notif($_GET['id_notif'], $bdd); if ($id_user == $infos_notif['id_user']) { notif_vue($_GET['id_notif'], $bdd); // L'user a vu la notification if (appartient_au_groupe($id_user, groupe_du_potin($_GET['id_potin'], $bdd), $bdd)) { $potin_courant = infos_potin($_GET['id_potin'], $bdd); include 'vue/afficher_potin_brouille.php'; } else { echo 'Vous ne pouvez accéder à ce potin'; } }
<?php include_once 'modele/appartient_au_groupe.php'; $term = $_GET['term']; $id_concerne = $_GET['id_concerne']; // On recherche les noms de groupes dans lesquels l'user est inscrit, et qui correspondent à sa recherche $requete = $bdd->prepare('SELECT * FROM groupes INNER JOIN cor_user_groupe ON cor_user_groupe.id_groupe = groupes.id_groupe WHERE cor_user_groupe.id_user = ? AND nom COLLATE UTF8_GENERAL_CI LIKE ?'); // j'effectue ma requête SQL grâce au mot-clé LIKE (collate permet de rendre la requête insensible à la casse) $requete->execute(array($id_user, '%' . $term . '%')); $array = array(); // on créé le tableau while ($donnee = $requete->fetch()) { if ($id_concerne == -1 || $id_concerne != -1 && appartient_au_groupe($id_concerne, $donnee['id_groupe'], $bdd)) { array_push($array, array('id_groupe' => $donnee['id_groupe'], 'nom_groupe' => $donnee['nom'])); // et on ajoute celles-ci à notre tableau } } echo json_encode($array); // il n'y a plus qu'à convertir en JSON
<?php // Ceci est la page d'affichage des potins include_once 'modele/appartient_au_groupe.php'; $user_dans_groupe = appartient_au_groupe($id_user, $groupe['id_groupe'], $bdd); $concerne_dans_groupe = appartient_au_groupe($user_concerne['id_user'], $groupe['id_groupe'], $bdd); // Si l'utilisateur ne fait pas partie du groupe OU qu'il est la personne concernée // OU que le concerné n'est pas dans le groupe if ($user_dans_groupe == false || $_SESSION['membre_id'] == $user_concerne['id_user'] || $concerne_dans_groupe == false) { $ulr_page_groupe = '/page_groupe.php?id_groupe=' . $groupe['id_groupe']; header('Location: ' . ROOTPATH . $ulr_page_groupe); exit; } /** Fonction : securite_groupe */ ?> <?php // Si on reçoit des données du formulaire de potins if (isset($_POST['post_potin']) && $_POST['post_potin'] == 'ok') { if (isset($_POST['potin']) && $_POST['potin'] != '') { // On récupère le potin $potin_recu = $_POST['potin']; //Si on a une image $ListeExtension = array('jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg'); $ListeExtensionIE = array('jpg' => 'image/pjpeg', 'jpeg' => 'image/pjpeg'); if (!empty($_FILES['ImagePotin'])) { if ($_FILES['ImagePotin']['size'] != 0) { if ($_FILES['ImagePotin']['error'] <= 0) { if ($_FILES['ImagePotin']['size'] <= 2097152) {