Changeset 7694 in spip-zone


Ignore:
Timestamp:
Nov 30, 2006, 11:54:58 PM (12 years ago)
Author:
patfr@…
Message:

arrivée du module 'textes' pour gérer les poésies et les citations

Location:
_plugins_/_stable_/jeux/inc
Files:
1 added
2 edited
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/jeux/inc/demineur.todo

    r7692 r7694  
    11<?php
    22
    3 # il s'agit ici simplement de textes à trous.
    4 # lien à voir : http://ecolestjeanb.free.fr/hot_potatoes/tutor3.htm
     3# un petit jeu toujours sympa à avoir sous la main...
     4# lien à voir : http://toggg.com/unblowit/unblowit.html
    55
    66# le code de ce fichier php reste encore à ecrire...
     
    1414/*
    1515
    16 Insere une charade dans vos articles !
    17 -----------------------------------------------------
     16Insere un demineur dans vos articles !
     17--------------------------------------
     18 Idee originale de Bertrand GUGGER
     19--------------------------------------
    1820
    1921balises du plugin : <jeux></jeux>
    20 separateurs obligatoires : #TEXTE, #TROU
     22separateurs obligatoires : #DEMINEUR
    2123separateurs optionnels   : #TITRE
    2224
     
    2527
    2628<jeux>
    27         #TEXTE
    28         Ceci est un simple test de closure (exercice à trous) fait  le plugin.
    29         L'utilisateur entre ses réponses dans les espaces vides, presse ensuite le bouton "Contrôle"
    30         #TROU
    31         pour
    32         #TEXTE
    33         découvrir ce qui est correct dans sa réponse et obtenir un score.
    34         Pour chaque mot manquant, jusqu'à quatre réponses correctes
    35         #TROU
    36         peuvent
    37         #TEXTE
    38         être acceptées.
    39         Par exemple, ce 
    40         #TROU
    41         trou
    42         vide
    43         blanc
    44         #TEXTE
    45         autorise les réponses "trou", "vide", "blanc".
     29        #DEMINEUR
     30        10x10x10
    4631</jeux>
    4732
  • _plugins_/_stable_/jeux/inc/qcm.php

    r7689 r7694  
    151151  list($texte, $texteApres) = explode($fermant, $suite, 2);
    152152  // on supprime les balises de l'affichage...
    153   $chaine = $texteAvant.'<!QCM-DEBUT-#0>'.$texteApres;
     153  $chaine = $texteAvant.jeux_rem('QCM-DEBUT', 0).$texteApres;
    154154  return trim($texte);
    155 }
    156 
    157 
    158 // cette fonction modifie $chaine et retourne true si un qcm est trouve, false dans le cas contraire
    159 function qcm_recupere_une_question(&$chaine, &$indexQCM, &$titreQCM) {
    160   global $qcms;
    161  
    162   // si les balises ouvrantes et fermantes ne sont pas presentes
    163   // if (strpos($chaine, _JEUX_DEBUT)===false || strpos($chaine, _JEUX_FIN)===false) return false;
    164 
    165   // remplacement des qcm par : <ATTENTE_QCM>ii</ATTENTE_QCM>
    166   // list($texteAvant, $suite) = explode(_JEUX_DEBUT, $chaine, 2);
    167   // list($qcm, $texteApres) = explode(_JEUX_FIN, $suite, 2);
    168   $chaine = "$texteAvant<ATTENTE_QCM>$indexQCM</ATTENTE_QCM>$texteApres";
    169  
    170   // On analyse le QCM
    171   qcm_analyse_le_qcm($qcm, $indexQCM, $titreQCM);
    172  
    173   return true;
    174155}
    175156
     
    258239        $indexQCM = intval($eregResult[1]);
    259240        list($texteAvant, $texteApres) = explode($eregResult[0], $chaine, 2);
    260         $chaine = "$texteAvant<!QCM-DEBUT-#$indexQCM>\n"
     241        $chaine = $texteAvant.jeux_rem('QCM-DEBUT', $indexQCM)
    261242                . qcm_affiche_la_question($indexQCM, isset($_POST["var_correction_".$indexJeux]), $gestionPoints)
    262                 . "<!QCM-FIN-#$indexQCM>\n"
     243                . jeux_rem('QCM-FIN', $indexQCM)
    263244                . qcm_inserer_les_qcm($texteApres, $indexJeux, $gestionPoints);
    264245  }
     
    267248
    268249function jeux_qcm($chaine, $indexJeux) {
    269   define(_JEUX_REM_DEBUT, code_echappement('<!-- '));
    270   define(_JEUX_REM_FIN, code_echappement(' -->'));
    271250
    272251  // initialisation 
    273252  global $qcms, $qcm_score;
    274   $titreQCM = false;
    275   $indexQCM =  $qcm_score = 0;
     253  $indexQCM = $qcm_score = 0;
    276254  $qcms['nbquestions'] = $qcms['totalscore'] = $qcms['totalpropositions'] = 0;
    277255  $tableau = preg_split('/('._JEUX_TITRE.'|'._JEUX_QCM.'|'._JEUX_TEXTE.')/',
  • _plugins_/_stable_/jeux/inc/textes.php

    r7692 r7694  
    6868*/
    6969
     70// guillemets simples : “ et ”
     71define(_GUILLEMET_OUVRANT, '&#8220;');
     72define(_GUILLEMET_FERMANT, '&#8221;');
     73
     74// guillemets doubles : « et »
     75define(_GUILLEMET_OUVRANT, '&laquo;');
     76define(_GUILLEMET_FERMANT, '&raquo;');
     77
     78function jeux_textes($chaine, $indexJeux) {
     79
     80  // initialiser 
     81  $tableau = preg_split('/('._JEUX_TITRE.'|'._JEUX_POESIE.'|'._JEUX_CITATION.'|'._JEUX_AUTEUR.'|'._JEUX_RECUEIL.'|'._JEUX_TEXTE.')/',
     82                        _JEUX_TEXTE.trim($chaine), -1, PREG_SPLIT_DELIM_CAPTURE);
     83  $titre = $citation = $poesie = $auteur = $recueil = false;
     84
     85  // parcourir toutes les #BALISES
     86  foreach($tableau as $i => $v){
     87         $v = trim($v);
     88         if ($v==_JEUX_TITRE) $titre = trim($tableau[$i+1]);
     89          elseif ($v==_JEUX_POESIE) $poesie = '<poesie>'.trim($tableau[$i+1]).'</poesie>';
     90          elseif ($v==_JEUX_CITATION) $citation = _GUILLEMET_OUVRANT.trim($tableau[$i+1])._GUILLEMET_FERMANT;
     91          elseif ($v==_JEUX_AUTEUR) $auteur = trim($tableau[$i+1]);
     92          elseif ($v==_JEUX_RECUEIL) $recueil = trim($tableau[$i+1]);
     93  }
     94 
     95  return
     96      ($titre?"<span class=\"textes_titre\">$titre</span><br />":'')
     97        . ( $poesie?"<span class=\"textes_poesie\">$poesie</span>":
     98                 ($citation?"<span class=\"textes_citation\">$citation</span>":
     99                 '')
     100          )
     101        . ($auteur?"<br /><span class=\"textes_auteur\">$auteur</span>":'')
     102        . ($recueil?"<br /><span class=\"textes_recueil\">$recueil</span>":'');
     103}
    70104?>
  • _plugins_/_stable_/jeux/inc/trous.todo

    r7689 r7694  
    1414/*
    1515
    16 Insere une charade dans vos articles !
    17 -----------------------------------------------------
     16Insere un test de closure dans vos articles !
     17---------------------------------------------
    1818
    1919balises du plugin : <jeux></jeux>
Note: See TracChangeset for help on using the changeset viewer.