Samx Here
n1udSecurity


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/pragmatice/public_html/test/orthodefi/dictee.php
<?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");

SAMX