Server : Apache System : Linux ks5.tuic.fr 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 User : pragmatice ( 1003) PHP Version : 8.2.24 Disable Function : NONE Directory : /home/pragmatice/public_html/test/orthodefi/ |
<?php session_start(); require("includes/constantes.php"); require("../pragmacompte/config/database.php"); require("../commun/includes/fonctions_communes.php"); //$module_encours = false; $id_membre_selectionne = false; $id_dictee = false; // on crée un tableau de tous les pseudos actifs $q = $db->query("SELECT pseudo FROM ".TABLE_MEMBRE." WHERE actif = 1 AND statut = 3"); $users = $q->fetchAll(); $tab_pseudos_actifs = [];// on initialise le tableau des pseudos for ($i=0 ; $i < count($users) ; $i++) { $tab_pseudos_actifs[] = $users[$i]['pseudo'];// on ajoute tous les pseudos } /******************************************** */ /* Si on a cliqué sur "Une dictéee au hasard" */ /******************************************** */ if (isset($_POST['bt_dictee_hasard'])) { // on crée un tableau de tous les id des dictées $q = $db->prepare("SELECT * FROM ".TABLE_ODEFI." WHERE actif = 1 AND module = :module"); $q->execute([ 'module' => 'fdd' ]); $dictees = $q->fetchAll(); $tab_id = [];// on initialise le tableau des id for ($i=0 ; $i < count($dictees) ; $i++) { $tab_id[] = $dictees[$i]['id'];// on ajoute toutes les id } // on tire au sort un des id en interdisant d'afficher l'exercice déja sélectionné le cas échéant (en fait, inutile contrairement à planche puusqu'on ne peut pas afficher un exo aléatoire depuis un exo !) if (isset($_GET['id'])) { $id_dictee_encours = $_GET['id']; $id_dictee_aleatoire = $id_dictee_encours; if (count($tab_id) > 1) { while ($id_dictee_aleatoire == $id_dictee_encours) { $id_dictee_aleatoire = element_aleatoire($tab_id); } } } else { $id_dictee_aleatoire = element_aleatoire($tab_id); } // on redirige vers l'exercice' redirect("dictee.php?id=".$id_dictee_aleatoire); } /******************************************** */ /* Si on a cliqué sur "Mes dictées publiées" et qu'on est abonné (donc la modale ne s'est pas ouverte) */ /******************************************** */ if (isset($_POST['bt_mes_dictees_publiees'])) { redirect("dictee.php?m=".$_SESSION['user']['id']); } /***************************** */ /* Si on a recherché un pseudo */ /***************************** */ if (isset($_POST['bt_rechercher_dictee'])) { if (not_empty(['pseudo_recherche'])) { // on s'assure que ce membre existe, sinon on redirige if (is_already_in_use('pseudo', $_POST['pseudo_recherche'], TABLE_MEMBRE)) { // on récupère l'id du membre sélectionné $pseudo = eb($_POST['pseudo_recherche']); $id_membre_selectionne = find_field_by_pseudo($pseudo,"id",TABLE_MEMBRE); redirect("dictee.php?m=".$id_membre_selectionne); } else { set_flash("Oups ! ".eb($_POST['pseudo_recherche'])." n'est pas abonné(e).","danger"); } } else { set_flash("Merci de saisir un pseudo d'abonné(e)...","danger"); } } /********************************************************* */ /* Si un paramètre m (comme membre) est précisé dans l'URL */ /********************************************************* */ if (isset($_GET["m"])) { // on s'assure que ce membre existe, sinon on redirige //if (is_already_in_use('id_membre', $_GET["m"], TABLE_ODEFI) && $module_encours) { if (is_already_in_use('id_membre', $_GET["m"], TABLE_ODEFI)) { // on récupère l'id du membre sélectionné $id_membre_selectionne = $_GET["m"]; $pseudo = find_field_by_id($id_membre_selectionne,"pseudo",TABLE_MEMBRE); // on récupère les infos des dictées pour le membre sélectionné $q = $db->prepare("SELECT * FROM ".TABLE_ODEFI." WHERE id_membre = :id_membre AND module = :module"); $q->execute([ 'id_membre' => $id_membre_selectionne, 'module' => 'fdd' ]); $dictees = $q->fetchAll(PDO::FETCH_OBJ); $q->closeCursor(); } else { redirect("dictee.php?mod=fdd"); } } /********************************************************* */ /* Si un paramètre id (comme id de l'exercice) est précisé dans l'URL */ /********************************************************* */ if (isset($_GET["id"])) { // on s'assure que cet exercice existe, sinon on redirige if (is_already_in_use('id', $_GET["id"], TABLE_ODEFI)) { $id_dictee = $_GET["id"]; $id_membre_selectionne = find_field_by_id($id_dictee,"id_membre",TABLE_ODEFI); $texte_dictee = find_field_by_id($id_dictee,"contenu",TABLE_ODEFI); $pseudo = find_field_by_id($id_membre_selectionne,"pseudo",TABLE_MEMBRE); // on récupère les infos des dictées pour le membre sélectionné $q = $db->prepare("SELECT * FROM ".TABLE_ODEFI." WHERE id_membre = :id_membre AND module = :module"); $q->execute([ 'id_membre' => $id_membre_selectionne, 'module' => 'fdd' ]); $dictees = $q->fetchAll(PDO::FETCH_OBJ); $q->closeCursor(); } else { redirect("index.php"); } } require("views/dictee.view.php");