Changeset 7785 in spip-zone


Ignore:
Timestamp:
Dec 6, 2006, 1:48:11 AM (12 years ago)
Author:
patfr@…
Message:
  • on a le droit d'utiliser layer.js et bouton_block_invisible() en public ?
  • arrivée des blagues
Location:
_plugins_/_stable_/jeux
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/jeux/inc/devinettes.php

    r7783 r7785  
    1717separateurs obligatoires : [devinette] ou [charade]
    1818separateurs optionnels   : [reponse], [titre], [texte], [config]
     19attention : module GD obligatoire pour obtenir ses reponses
     20affichees a l'envers.
    1921
    2022Exemple de syntaxe dans l'article :
     
    4547
    4648*/
     49
     50// fonctions d'affichage
     51function devinettes_titre($texte) {
     52 return $texte?"<p class=\"jeux_titre devinettes_titre\">$texte</p>":'';
     53}
    4754function devinettes_devinette($texte) {
    4855 return $texte?"<p class=\"jeux_question devinettes_devinette\">$texte</p>":'';
     
    5259 return $texte?"<p class=\"jeux_question devinettes_charade\">$texte</p>":'';
    5360}
    54 function devinettes_reponse($texte) {
     61function devinettes_reponse($texte, $id) {
    5562 if (!jeux_config('reponse')) return '';
    5663 include_spip('inc/filtrer');
    5764 $image = image_typo($texte, 'taille=10');
    5865 $image = aligner_droite(filtrer('image_flip_vertical', filtrer('image_flip_horizontal', $image)));
    59  return $image?"<span class=\"devinettes_reponse\">$image</span>":'';
     66 $texte = jeux_block_invisible($id, _T('jeux:reponse'), $image);
     67 return $texte?"<span class=\"devinettes_reponse\">$texte</span>":'';
    6068}
    6169
    6270// fonction principale
    6371function jeux_devinettes($texte, $indexJeux) {
    64   $titre = $html = false;
    65 
     72  $html = false;
     73  jeux_block_init();
     74 
    6675  // parcourir tous les #SEPARATEURS
    6776  $tableau = jeux_split_texte('devinettes', $texte);
    6877  foreach($tableau as $i => $valeur) if ($i & 1) {
    69          if ($valeur==_JEUX_TITRE) $titre = $tableau[$i+1];
     78         if ($valeur==_JEUX_TITRE) $html .= devinettes_titre($tableau[$i+1]);
    7079          elseif ($valeur==_JEUX_DEVINETTE) $html .= devinettes_devinette($tableau[$i+1]);
    7180          elseif ($valeur==_JEUX_CHARADE) $html .= devinettes_charade($tableau[$i+1]);
    72           elseif ($valeur==_JEUX_REPONSE) $html .= devinettes_reponse($tableau[$i+1]);
     81          elseif ($valeur==_JEUX_REPONSE) $html .= devinettes_reponse($tableau[$i+1], "devinettes_$indexJeux_$i");
    7382          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
    7483  }
    75   return
    76         ($titre?"<span class=\"jeux_titre devinettes_titre\">$titre</span><br />":'')
    77         . $html;
     84  return $html;
    7885}
    7986
  • _plugins_/_stable_/jeux/inc/qcm.php

    r7783 r7785  
    6666function qcm_analyse_le_qcm($qcm, $indexQCM) {
    6767  global $qcms;
    68   $lignes = split("\n", $qcm);
     68  $lignes = preg_split("/\r?\n/", $qcm);
    6969  foreach ($lignes as $ligne) {
    7070        $li=trim($ligne);
     
    169169                foreach($qcms[$indexQCM]['propositions'] as $i=>$valeur)
    170170          $codeHTML.='<input type="radio" class="qcm_radio" name="'.$nomVarSelect
    171                         . '" value="'.$i.'" id="'.$nomVarSelect.$i.'"><label for="'.$nomVarSelect.$i.'">'
     171                        . '" value="'.$i.'" id="'.$nomVarSelect.$i.'"><label for="'.$nomVarSelect.$i.'">&nbsp;'
    172172                . $valeur.'</label><br />';
    173173       }
     
    257257
    258258  // calcul des extremes
    259   $tete = '<div class="jeux qcm"><div class="jeux_titre">'.$titre.'<hr /></div>';
     259  $tete = '<div class="jeux qcm"><div class="jeux_titre qcm_titre">'.$titre.'<hr /></div>';
    260260  if (!isset($_POST["var_correction_".$indexJeux])) {
    261261        $tete .= "\n".'<form method="post" action="">';
    262262        $pied = '<br>
    263263        <input type="hidden" name="var_correction_'.$indexJeux.'" value="yes">
    264         <div align="center"><input type="submit" value="'._T('jeux:corriger').'" class="jeux_bouton_corriger"></div>
     264        <div align="center"><input type="submit" value="'._T('jeux:corriger').'" class="jeux_bouton"></div>
    265265        </form>';
    266266  } else {
  • _plugins_/_stable_/jeux/inc/textes.php

    r7783 r7785  
    2020
    2121balises du plugin : <jeux></jeux>
    22 separateurs obligatoires : [poesie] ou [citation]
     22separateurs obligatoires : [poesie], [citation] ou [blague]
    2323separateurs optionnels   : [titre], [auteur], [recueil]
    2424
     
    5757        [recueil]
    5858        Les Mouches
    59 </jeux>
    6059
    61 <jeux>
    6260        [citation]
    6361        L'amour est aveugle, il faut donc toucher.
     
    7674define('_GUILLEMET_FERMANT', '&raquo;');
    7775
     76// fonctions d'affichage
     77function textes_titre($texte) {
     78 return $texte?"<p class=\"jeux_titre textes_titre\">$texte</p>":'';
     79}
     80function textes_blague($texte) {
     81 return $texte?"<p class=\"jeux_question textes_blagues\">$texte</p>":'';
     82}
     83function textes_citation($texte) {
     84 $texte = _GUILLEMET_OUVRANT.$texte._GUILLEMET_FERMANT;
     85 return $texte?"<p class=\"jeux_question textes_citation\">$texte</p>":'';
     86}
     87function textes_poesie($texte) {
     88 $texte = "<poesie>$texte</poesie>";
     89 return $texte?"<p class=\"jeux_question textes_poesie\">$texte</p>":'';
     90}
     91function textes_auteur($texte) {
     92 return $texte?"<p class=\"textes_auteur\">$texte</p>":'';
     93}
     94function textes_recueil($texte) {
     95 return $texte?"<p class=\"textes_recueil\">$texte</p>":'';
     96}
     97
     98// fonction principale
    7899function jeux_textes($texte, $indexJeux) {
    79   $titre = $citation = $poesie = $auteur = $recueil = false;
     100  $html = false;
    80101
    81102  // parcourir tous les #SEPARATEURS
    82103  $tableau = jeux_split_texte('textes', $texte);
    83104  foreach($tableau as $i => $valeur) if ($i & 1) {
    84          if ($valeur==_JEUX_TITRE) $titre = $tableau[$i+1];
    85           elseif ($valeur==_JEUX_POESIE) $poesie = '<poesie>'.$tableau[$i+1].'</poesie>';
    86           elseif ($valeur==_JEUX_CITATION) $citation = _GUILLEMET_OUVRANT.$tableau[$i+1]._GUILLEMET_FERMANT;
    87           elseif ($valeur==_JEUX_AUTEUR) $auteur = $tableau[$i+1];
    88           elseif ($valeur==_JEUX_RECUEIL) $recueil = $tableau[$i+1];
     105         if ($valeur==_JEUX_TITRE) $html .= textes_titre($tableau[$i+1]);
     106          elseif ($valeur==_JEUX_POESIE) $html .= textes_poesie($tableau[$i+1]);
     107          elseif ($valeur==_JEUX_BLAGUE) $html .= textes_blague($tableau[$i+1]);
     108          elseif ($valeur==_JEUX_CITATION) $html .= textes_citation($tableau[$i+1]);
     109          elseif ($valeur==_JEUX_AUTEUR) $html .= textes_auteur($tableau[$i+1]);
     110          elseif ($valeur==_JEUX_RECUEIL) $html .= textes_recueil($tableau[$i+1]);
    89111  }
    90112 
  • _plugins_/_stable_/jeux/inc/trous.php

    r7783 r7785  
    127127        $tete .= "\n".'<form method="post" action="">';
    128128        $pied .= '<br><input type="hidden" name="var_correction_'.$indexJeux.'" value="yes">
    129         <div align="center"><input type="submit" value="'._T('jeux:corriger').'" class="jeux_bouton_corriger"></div>
     129        <div align="center"><input type="submit" value="'._T('jeux:corriger').'" class="jeux_bouton"></div>
    130130        </form>';
    131131  } else {
  • _plugins_/_stable_/jeux/jeux_config.php

    r7783 r7785  
    3333define('_JEUX_POESIE', 'poesie');
    3434define('_JEUX_CITATION', 'citation');
     35define('_JEUX_BLAGUE', 'blague');
    3536define('_JEUX_AUTEUR', 'auteur');
    3637define('_JEUX_RECUEIL', 'recueil');
     
    4647        'mots_croises' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_HORIZONTAL, _JEUX_VERTICAL, _JEUX_SOLUTION),
    4748        'qcm' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_QCM),
    48         'textes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_POESIE, _JEUX_CITATION, _JEUX_AUTEUR, _JEUX_RECUEIL),
     49        'textes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_POESIE, _JEUX_CITATION, _JEUX_BLAGUE, _JEUX_AUTEUR, _JEUX_RECUEIL),
    4950        'devinettes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_DEVINETTE, _JEUX_CHARADE, _JEUX_REPONSE, _JEUX_CONFIG),
    5051        'trous' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_TROU, _JEUX_CONFIG),
     
    6566        'mots_croises' => array(_JEUX_HORIZONTAL, _JEUX_VERTICAL),
    6667        'qcm' => array(_JEUX_QCM),
    67         'textes' => array(_JEUX_POESIE, _JEUX_CITATION),
     68        'textes' => array(_JEUX_POESIE, _JEUX_CITATION, _JEUX_BLAGUE),
    6869        'devinettes' => array(_JEUX_DEVINETTE, _JEUX_CHARADE),
    6970        'trous' => array(_JEUX_TROU),
     
    8485// dossier jeux/javascript/
    8586global $jeux_javascript;
    86 $jeux_javascript = array('mots_croises');
     87$jeux_javascript = array('mots_croises', 'layer');
    8788
    8889?>
  • _plugins_/_stable_/jeux/jeux_utils.php

    r7783 r7785  
    1818}
    1919function jeux_config_init($texte) {
    20  $lignes = split("\n", $texte);
     20 $lignes = preg_split("/\r?\n/", $texte);
    2121 foreach ($lignes as $ligne)
    2222  if (preg_match('/([^=]+)=(.+)/', $ligne, $regs)) jeux_config_set(trim($regs[1]), trim($regs[2]));
     
    129129}
    130130
     131// deux fonctions qui utilisent inc/layer.php
     132function jeux_block_init() {
     133  include_spip('inc/layer');
     134  verif_butineur();
     135}
     136function jeux_block_invisible($id, $texte, $block) {
     137 return $texte?bouton_block_invisible($id).$texte.debut_block_invisible($id).$block.fin_block():'';
     138}
     139
    131140?>
  • _plugins_/_stable_/jeux/lang/jeux_en.php

    r7762 r7785  
    1111'verifier'              => 'V&eacute;rifier',
    1212'solution'              =>'Solution',
     13'reponse'               =>'Answer',
    1314'indices'               => 'Clues:',
    1415'score'                 => 'Score:',
  • _plugins_/_stable_/jeux/lang/jeux_fr.php

    r7762 r7785  
    1111'verifier'              => 'V&eacute;rifier',
    1212'solution'              =>'Solution',
     13'reponse'               =>'R&eacute;ponse',
    1314'indices'               => 'Indices&nbsp;:',
    1415'score'                 => "Score&nbsp;:",
  • _plugins_/_stable_/jeux/lang/jeux_it.php

    r7762 r7785  
    1111'verifier'              => 'Controlla',
    1212'solution'              =>'Soluzione',
     13'reponse'               =>'Risposta',
    1314'indices'               => 'Indizii:',
    1415'score'                 => "Risultato:",        // TODO
  • _plugins_/_stable_/jeux/lang/qcm_en.php

    r7729 r7785  
    77'qcm_titre' => "Here is an MCQ",
    88
    9 'qcm_reponseJuste' => " You were correct!",
    10 'qcm_reponseFausse' => " You were incorrect!",
     9'qcm_reponseJuste' => "You were correct!",
     10'qcm_reponseFausse' => "You were incorrect!",
    1111'qcm_reponseNulle' => "You didn't answer this question!",
    1212
  • _plugins_/_stable_/jeux/styles/jeux.css

    r7783 r7785  
    1 .jeux
    2 
    3   text-align:left;
    4   font-size: 90%;
    5   /*font-family            : arial, helvetica, sans-serif;*/
    6   color :  #3F5264;
    7   /*font-size : 12;*/
    8   border: 1px solid #F78C54;
    9   padding: 3px;
    10   marging: 3px;
    11   background-color : #FFEADE;
    12   width:100%;
     1* {
     2 margin:0pt;
     3 padding:0pt;
     4}
     5
     6.jeux {
     7 text-align:left;
     8 font-size: 90%;
     9 /*font-family     : arial, helvetica, sans-serif;*/
     10 color: #3F5264;
     11 /*font-size: 12;*/
     12 border: 1px solid #F78C54;
     13 padding: 3px;
     14 marging: 3px;
     15 background-color: #FFEADE;
     16 width:100%;
    1317}
    1418
    1519.jeux_titre{
    16   text-align : center;
    17   font-size : 14;
    18   font-weight : bold;
    19 /*  color : #3F5264; */
     20/* text-align: center;*/
     21 font-size: 14;
     22 font-weight: bold;
     23/* color: #3F5264; */
    2024}
    2125
    2226.qcm_question{
    23   font-size: 80%;
    24   font-size : 12;
    25   font-weight : bold;
    26 /*  color : #3F5264;*/
     27 font-size: 80%;
     28 font-size: 12;
     29 font-weight: bold;
     30/* color: #3F5264;*/
    2731 }
    2832
    2933
    30 .jeux_bouton_corriger{
    31  color : #3F5264;
     34.jeux_bouton{
     35 color: #3F5264;
    3236 font-size: 80%;
    33 /* font-size : 10;  */
    34  font-weight : bold;
    35  background-color : #FFEADE;
     37/* font-size: 10; */
     38 font-weight: bold;
     39 background-color: #FFEADE;
     40 padding: 2px;
    3641}
    3742
    3843.jeux_input{
    39  color : #3F5264;
    40 /* font-size : 10;
    41  font-weight : bold; */
    42  background-color : #FFEADE;
    43  border:1px solid;
     44 color: #3F5264;
     45/* font-size: 10;
     46 font-weight: bold; */
     47 background-color: #FFEADE;
     48 border: 1px solid;
    4449}
    4550
    46 .jeux_score{   
    47   text-align:center;
    48   width:20%;
    49   font-family : arial, helvetica, sans-serif;
    50   color : red;
    51   font-size : 12;
    52   font-weight : bold;
    53   border: 2px solid green;
    54   padding: 3px;
     51.jeux_score{ 
     52 text-align:center;
     53 width:20%;
     54 font-family: arial, helvetica, sans-serif;
     55 color: red;
     56 font-size: 12;
     57 font-weight: bold;
     58 border: 2px solid green;
     59 padding: 3px;
    5560}
    5661
    5762.jeux_point{
    58 /*  font-size : 10;*/
    59   font-weight : normal;
    60 /*  color : #3F5264;*/
     63/* font-size: 10;*/
     64 font-weight: normal;
     65/* color: #3F5264;*/
    6166}
    6267
    6368.jeux_erreur{
    64   font-family : arial, helvetica, sans-serif;
    65   color : red;
    66   font-size : 14;
     69 font-family: arial, helvetica, sans-serif;
     70 color: red;
     71 font-size: 14;
    6772}
  • _plugins_/_stable_/jeux/styles/qcm.css

    r7783 r7785  
    33
    44.qcm
    5 
    6   text-align:left;
    7   font-size: 90%;
    8   font-family            : arial, helvetica, sans-serif;
    9   color :  #3F5264;
    10   font-size : 12;
    11   border: 1px solid #F78C54;
    12   padding: 3px;
    13   background-color : #FFEADE;
    14   width:100%;
     5{
     6 text-align:left;
     7 font-size: 90%;
     8 font-family: arial, helvetica, sans-serif;
     9 color: #3F5264;
     10 font-size: 12;
     11 border: 1px solid #F78C54;
     12 padding: 3px;
     13 background-color: #FFEADE;
     14 width:100%;
     15}
     16
     17.qcm_titre{
     18 text-align: center;
     19/* color: #3F5264; */
    1520}
    1621
    1722.qcm_proposition{
    18   font-size: 80%;
    19   font-size : 10;
    20 /*  color : #3F5264;*/
     23/* font-size: 80%; */
     24 font-size: 10;
     25/* color: #3F5264;*/
    2126 }
    2227
    2328.qcm_reponse{
    24    font-size: 80%;
    25  font-size : 10;
    26 /*  color : #3F5264;*/
     29  font-size: 80%;
     30 font-size: 10;
     31/* color: #3F5264;*/
    2732 }
    2833
    2934.qcm_precision{
    30   margin-left: 0;
    31   margin-top: 5;
    32   margin-bottom: 1em;
    33   margin-right: 0;
    34   text-align:left;
    35   font-size: 80%;
    36   width:90%;
    37   font-family            : arial, helvetica, sans-serif;
    38   color : #3F5264;
    39   font-size : 12;
    40   border: 1px dotted #3F5264;
    41   padding: 3px;
     35 margin-left: 0;
     36 margin-top: 5;
     37 margin-bottom: 1em;
     38 margin-right: 0;
     39 text-align:left;
     40 font-size: 80%;
     41 width:90%;
     42/* font-family: arial, helvetica, sans-serif;
     43 color: #3F5264;
     44 font-size: 12;*/
     45 border: 1px dotted #3F5264;
     46 padding: 3px;
    4247}
    4348
    4449.qcm_correction_faux{
    45   font-size : 10;
    46   text-align:center;
    47   background-color : red;
    48   color : #FFEADE;
    49   font-weight : bold;
    50   padding-right: 1px;
    51   padding-left: 1px;
    52   width:12em;
     50 font-size: 10;
     51 text-align:center;
     52 background-color: red;
     53 color: #FFEADE;
     54 font-weight: bold;
     55 padding-right: 1px;
     56 padding-left: 1px;
     57 width:12em;
    5358}
    5459
    5560.qcm_correction_juste{
    56   font-size : 10;
    57   text-align:center;
    58   background-color : green;
    59   color : #FFEADE;
    60   font-weight : bold;
    61   padding-right: 1px;
    62   padding-left: 1px;
    63   width:11em;
     61 font-size: 10;
     62 text-align:center;
     63 background-color: green;
     64 color: #FFEADE;
     65 font-weight: bold;
     66 padding-right: 1px;
     67 padding-left: 1px;
     68 width: 11em;
    6469}
    6570
    6671.qcm_correction_null{
    67   font-size : 10;
    68   font-weight : bold;
     72 font-size: 10;
     73 font-weight: bold;
    6974}
    7075
    7176.qcm_select{
    72   color : #3F5264;
    73   font-size : 10;
    74   background-color : #F3EEEA;
     77 color: #3F5264;
     78 font-size: 10;
     79 background-color: #F3EEEA;
    7580}
    7681
    7782.qcm_radio{
    78   margin:1pt;
    79   padding:1pt;
     83/* margin:2pt;
     84 padding:2pt; */
    8085}
Note: See TracChangeset for help on using the changeset viewer.