/** * Fonction faisant quitter le groupe d'activité que l'user possédait si il essaye de changer d'activité. Si il était chef * de groupe, il passe le lead à un autre membre du groupe ou le supprimer si il était le seul membre de ce groupe. */ function leaveGroupe() { require "../Manager/Groupe_InvitationManager.manager.php"; $ugm = new User_GroupeManager(connexionDb()); $gmm = new Groupe_MessageManager(connexionDb()); $gim = new Groupe_InvitationManager(connexionDb()); $idGr = $ugm->getGroupeIdByUserId($_SESSION['User']); if (isset($idGr[0]['id_groupe'])) { $groupe = new Groupe(array("id_groupe" => $idGr[0]['id_groupe'])); if (hasGroupe()) { $nom = $_SESSION['User']->getUserName(); $desc = "L'utilisateur {$nom} a quitté le groupe suite à un changement d'activité."; $gmm->addMess($groupe, $_SESSION['User'], $desc); $ugm->deleteUserGroupe($_SESSION['User']); } if (isLeader()) { $autreMembre = false; $gm = new GroupeManager(connexionDb()); $tabUser = $ugm->getUserIdByGroupeId($groupe); foreach ($tabUser as $elem) { if ($elem['id_user'] != $_SESSION['User']->getId()) { if (isset($elem['id_user']) && $elem['id_user'] != 0) { $autreMembre = true; $idNewLeader = $elem['id_user']; $nom = $_SESSION['User']->getUserName(); $um = new UserManager(connexionDb()); $newLead = $um->getUserById($idNewLeader); $userName = $newLead->getUserName(); $desc = "L'utilisateur {$nom} a quitté le groupe suite à un changement d'activité. {$userName} est dorénavant votre nouveau chef de groupe."; $gmm->addMess($groupe, $_SESSION['User'], $desc); } } } if ($autreMembre) { $gm->updateLeader($groupe, $idNewLeader); } else { $ugm->deleteGroupe($groupe); $gmm->deleteMessByGroupe($groupe); $gim->deleteInvitByGroupeId($groupe); $gm->deleteGroupe($_SESSION['User']->getId()); } } } }
/** * Fonction permettant d'afficher la liste des membres premium ayant la même activité que moi. Cela indique aussi * si ils ont un groupe ou non. */ function afficherMembres() { $um = new UserManager(connexionDb()); $uam = new User_ActivityManager(connexionDb()); $ugm = new User_GroupeManager(connexionDb()); $act = $uam->getActIdByUserId($_SESSION['User']); $groupeUser = $ugm->getGroupeIdByUserId($_SESSION['User']); $tab = $um->getAllUser(); $lenght = count($tab); $existant = false; ?> <div class="table-responsive"> <table class="table table-striped"> <caption> <h2> Membres premium ayant la même activité que vous</h2></caption> <tr> <th> Nom d'utilisateur</th> <th> Dernière connexion</th> <th> Date d'inscription</th> <th> Action</th> </tr> <?php foreach ($tab as $elem) { #TODO TEST QUAND LA BASE DE DONNEES SERA CLEAN CAR BUG $id = $elem->getId(); $actUser = $uam->getActIdByUserId($elem); if (isset($id) && $id != $_SESSION['User']->getId()) { if (isset($elem->getDroit()[0]) && ($elem->getDroit()[0]->getId() == 3 || $elem->getDroit()[0]->getId() == 2 || $elem->getDroit()[0]->getId() == 1)) { if ($actUser != NULL) { if ($actUser[0]['id_activity'] == $act[0]['id_activity']) { $groupe = $ugm->getGroupeIdByUserId($elem); echo "<tr> <td>" . $elem->getUserName() . " </td><td>" . $elem->getDateLastConnect() . "</td><td>" . $elem->getDateInscription() . "</td>"; if ($groupeUser != NULL && dejaInvite($id, $groupeUser[0]['id_groupe'])) { echo "<td> Cette personne a déjà été invitée dans votre groupe !</td>"; } else { if ($groupeUser != NULL && sameGroupe($elem, $groupeUser[0]['id_groupe'])) { echo "<td> Cette personne est déjà dans votre groupe !</td>"; } else { if ($groupe != NULL && hasGroupe()) { echo "<td> Cette personne est déjà dans un groupe, tout comme vous !</td>"; } else { if ($groupe != NULL) { echo "<td><a href='groupe.page.php?to=rejoindre&groupe=" . $groupe[0]['id_groupe'] . "'> Rejoindre le groupe </a></td>"; } else { if (hasGroupe()) { echo "<td><a href='groupe.page.php?to=ajouter&membre={$id}'> Ajouter dans mon groupe </a></td>"; } else { echo "<td> Vous n'avez pas de groupe, tout comme la personne !</td>"; } } } } } echo "<tr>"; $existant = true; } } } } } if ($tab == NULL || !$existant) { echo "<tr> <td> Aucun utilisateur trouvé !</td></tr>"; } ?> </table> </div> <?php }
if (isset($_GET['to']) && $_GET['to'] == 'voirGroupe' && hasGroupe()) { if (gererActionMembre()) { } else { if (isset($_POST['Acceptersupprimer']) || isset($_POST['Refusersupprimer'])) { supprimerMembre(); } else { if (isset($_POST['Accepterlead']) || isset($_POST['Refuserlead'])) { nommerLeader(); } else { envoiMessage(); voirGroupe(); } } } } else { if (isset($_GET['to']) && $_GET['to'] == 'invitation' && !hasGroupe()) { gererReponseInvitation(); afficherInvitation(); } else { header("Location:groupe.page.php"); } } } } } } } } } ?> </article>