/** * Fonction permettant d'ajouter une activité en base de données grâce aux données d'un formulaire. * @return mixed : soit un tableau contenant tous les messages d'erreurs relatif à l'ajout d'activité, soit un tableau * contenant un message de succès de l'ajout de l'activité. */ function ajouterActivite() { $cat = $_POST['categorie']; $act = $_POST['activite']; $desc = $_POST['description']; $cm = new CategorieManager(connexionDb()); $am = new ActivityManager(connexionDb()); $categorie = $cm->getCategorieByLibelle($cat); $activityVerif = $am->getActivityByLibelle($act); if (strtolower($activityVerif->getLibelle()) == strtolower($act)) { $tabRetour['Error'] = "Cette activité existe déjà, ajoutez-en une autre !"; } else { if (strlen($act) >= 5 && strlen($act) <= 100) { if (champsTexteValable($desc)) { $desc = nl2br($desc); $activityToAdd = new Activity(array("Libelle" => $act, "description" => $desc)); $am->addActivity($activityToAdd); $activityToRecup = $am->getActivityByLibelle($act); include "../Manager/Categorie_ActivityManager.manager.php"; $typePhoto = $_FILES['image']['type']; if (!strstr($typePhoto, 'jpg') && !strstr($typePhoto, 'jpeg')) { $tabRetour['Error'] = "Votre image n'est pas .jpg ou .jpeg !"; } else { if ($_FILES['ImageNews']['size'] >= 2097152) { $tabRetour['Error'] = "Votre image est trop lourde !"; } else { if ($_FILES['image']['tmp_name'] != null) { uploadImage('../Images/activite', $activityToRecup->getId()); $cam = new Categorie_ActivityManager(connexionDb()); $um = new UserManager(connexionDb()); $um->updateUserLastIdea($_SESSION['User']); $cam->addToTable($activityToRecup, $categorie); $tabRetour['Ok'] = "Votre activité a bien été ajoutée au contenu du site, merci de votre participation !"; } else { $tabRetour['Error'] = "Pas d'image !"; } } } } else { $tabRetour['Error'] = "Votre description contient des caractères indésirables !"; } } else { $tabRetour['Error'] = "Votre titre d'activité n'a pas une taille correcte !"; } } return $tabRetour; }
/** * Fonction servant à afficher toutes les activités signalées pour les modérateurs et administrateur. * Elle fournit un lien qui permet d'être redirigé vers l'activité en question. */ function afficherActivite() { ?> <div class="Membres"> <div class="table-responsive"> <table class="table table-striped"> <caption> <h2> Activités </h2></caption> <tr> <th> Nom de l'activité</th> <th> Nom de la catégorie</th> <th> Action </th> </tr> <?php $am = new ActivityManager(connexionDb()); $cam = new Categorie_ActivityManager(connexionDb()); $cm = new CategorieManager(connexionDb()); $tab = $am->getAllActivity(); $existe = false; foreach ($tab as $elem) { $id = $elem->getId(); $catId = $cam->getCatIdByActId($elem); if (isset($catId[0])) { $cat = $cm->getCategorieById($catId[0]['id_categorie']); } if ($elem->getSignalee() == 1) { echo "<tr> <td>" . $elem->getLibelle() . " </td><td>" . $cat->getLibelle() . "</td><td><a href='proposerActivite.page.php?categorie=" . $cat->getLibelle() . "&activite={$id}'> Gérer le signalement </a></td></tr>"; $existe = true; } } if (!$existe) { echo "<tr> <td> Aucune activité signalée !</td></tr>"; } ?> </table> </div> </div> <?php }
/** * Fonction renvoyant un tableau contenant les activités dont le libellé contient le string envoyé par le formulaire * de recherche d'activité. * @return array : le tableau d'activités. */ function rechercheActivite() { $cat = $_GET['categorie']; $cm = new CategorieManager(connexionDb()); $catId = $cm->getCategorieByLibelle($cat); $cam = new Categorie_ActivityManager(connexionDb()); $tabId = $cam->getActIdByCatId($catId); if (isPostFormulaire()) { $name = $_POST['activite']; } else { $name = ""; } $am = new ActivityManager(connexionDb()); $tabAct = $am->searchAllActivityByLibelle($name); $tab = array(); $i = -1; foreach ($tabAct as $elem) { $i++; foreach ($tabId as $act) { if ($elem->getId() == $act['id_activity']) { $tab[$i] = $elem; } } } return $tab; }