/** * Fonction effectuant l'action voulue par le membre concernant le groupe auqeul il appartient. Soit on supprime le groupe, * soit on le quitte, soit on modifie sa description. */ function gererActionGroupe() { $gm = new GroupeManager(connexionDb()); $ugm = new User_GroupeManager(connexionDb()); $gmm = new Groupe_MessageManager(connexionDb()); if (isset($_POST['Refuser'])) { header("Location:groupe.page.php?to=voirGroupe"); } else { if (isset($_POST['AccepterSupprimer'])) { $groupe = $gm->getGroupeByLeader($_SESSION['User']); $ugm->deleteGroupe($groupe); $gmm->deleteMessByGroupe($groupe); $gm->deleteGroupe($_SESSION['User']->getId()); header("Location:groupe.page.php"); } else { if (isset($_POST['AccepterLeave'])) { $ugm->deleteUserGroupe($_SESSION['User']); header("Location:groupe.page.php"); } else { if (isset($_POST['modifierDesc'])) { $groupe = $gm->getGroupeByLeader($_SESSION['User']); $gm->updateGroupeDesc($groupe, $_POST['descriptionGroupe']); header("Location:groupe.page.php?to=voirGroupe"); } } } } }
/** * 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()); } } } }