Changeset 124233 in spip-zone


Ignore:
Timestamp:
Apr 18, 2020, 1:23:18 AM (7 weeks ago)
Author:
patrice4@…
Message:
  • Ajout d'un séparateur [copyright], histoire de styler immédiatement un Copyright de jeu.
  • Retour du js fonctionnel dans les mots croisés, et prise en compte des séparateurs [texte], [titre] et [copyright]
  • Ajout d'un <span/> dans les QCM, histoire pouvoir changer l'aspect des boutons radio ou checkbox
  • Rapatriement du ChessViewerDeluxe? en local (non testé, et chant du cygne car basé sur une Applet Java...)
Location:
_plugins_/jeux/trunk
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/jeux/trunk/javascript/mots_croises.js

    r19808 r124233  
    33
    44        // deplacement dans la grille
    5         var sens_grille='';
     5        var sens_grille = '';
    66        // sens de l'ecriture : 'rtl' ou 'ltl'
    77        var sens_curseur = (jQuery('html').attr('dir') == 'rtl')?'w-resize':'e-resize';
     8        // selecteur sur les cases
     9        var selecteur_case = 'table.jeux_grille tr td input';
    810       
    911        // des que le DOM est pret...
     
    1113         // verification de la presence d'une grille   
    1214         if (jQuery('table.jeux_grille').length) {
     15                jQuery(selecteur_case).hover(function(){
     16                  jQuery(this).css("background-color", "aliceblue");
     17                }, function(){
     18                  jQuery(this).css("background-color", "");
     19                });                     
    1320                // sens d'ecriture bascule a 'h' (horizontal)
    1421                changeDeDirection();
    1522                // gestion du clavier par function clavierPourJeux()
    16                 $('table.jeux_grille tr td input').bind('keypress', clavierPourJeux);
     23                jQuery(selecteur_case).bind('keyup', clavierPourJeux);
    1724                // definition du bouton droit de la souris pour changer le sens de deplacement dans la grille
    1825                if ((jQuery.browser.safari) | (jQuery.browser.Konqueror))
    1926                        jQuery('form.jeux_grille').bind('contextmenu', changeDeDirection);
    2027                else
    21                         jQuery('table.jeux_grille tr td input').bind('contextmenu', changeDeDirection);
     28                        jQuery(selecteur_case).bind('contextmenu', changeDeDirection); 
    2229         }
    2330        });
    2431       
    2532        function changeDeDirection(e) {
    26                 if(sens_grille=='h') {
    27                         sens_grille='v';
    28                         style='s-resize';
     33                if(sens_grille == 'h') {
     34                        sens_grille = 'v';
     35                        style = 's-resize';
    2936                } else {
    30                         sens_grille='h';
    31                         style=sens_curseur;
     37                        sens_grille = 'h';
     38                        style = sens_curseur;
    3239                }
    33                 $('table.jeux_grille tr td input').css('cursor', style);
     40                jQuery(selecteur_case).css('cursor', style);
    3441                return false;
    3542        }
    3643       
    3744        function clavierPourJeux(e) {
    38                 //var key = e.keyCode ? e.keyCode : (e.which ? e.which: 0);
    39                 var m = this.name.match(/GR(\d+)x(\d+)x(\d+)/);
    40                 var x=m[2];
    41                 var y=m[3];
     45                // var key = e.keyCode ? e.keyCode : (e.which ? e.which: 0);
     46                // format : reponsesXXXXX-C1-L1
     47                var m = this.id.match(/(.*?)\-C(\d+)\-L(\d+)/);
     48                if (m === null) return false;
     49                var x = m[2];
     50                var y = m[3];
    4251                var retour = true;
    4352       
    4453                switch(e.keyCode) {
     54                        case 46: this.value = ''; break;
    4555                        case 40: y++; break;
    4656                        case 38: y--; break;
    47                         case 36: y=1; x=1; break;
    48                         case 37: if (sens_curseur=='e-resize') x--; else x++; break;
    49                         case 39: if (sens_curseur=='e-resize') x++; else x--; break;
    50                         case 8:; case 46: this.value = ''; break;
     57                        case 36: y = 1; x = 1; break;
     58                        case 37: if (sens_curseur == 'e-resize') x--; else x++; break;
     59                        case 39: if (sens_curseur == 'e-resize') x++; else x--; break;
    5160                        case 0 : if (e.which) { this.value = String.fromCharCode(e.which).toUpperCase(); retour = false }
     61                        case 8: if(sens_grille == 'h') x--; else y--; break;
    5262                        default:
    53                                 if(sens_grille=='h') x++; else y++;
     63                                if(sens_grille == 'h') x++; else y++;
    5464                                // Pour IE ...
    5565                                // if ((e.which==null) && (e.keyCode>=46)) {
     
    6070                }
    6171       
    62                 var newcell = '#GR'+m[1]+'x'+String(x)+'x'+String(y);
     72                var newcell = '#' + m[1] + '-C' + String(x) + '-L' + String(y);
    6373                jQuery(newcell).each(function(){ this.focus(); });
    6474               
  • _plugins_/jeux/trunk/jeux.css.html

    r79919 r124233  
    4646}
    4747
    48 .jeux_titre{
     48.jeux_titre {
    4949 font-size:120%;
    5050 font-weight:bold;
     
    5252}
    5353
    54 .jeux_question{
    55  font-weight:bold;
    56 }
    57 
    58 
    59 .jeux_bouton{
     54.jeux_question {
     55 font-weight:bold;
     56}
     57
     58
     59.jeux_bouton {
    6060 color:#3F5264;
    6161 font-size:85%;
     
    6666}
    6767
    68 .jeux_bouton_reset{
     68.jeux_bouton_reset {
    6969 text-align:right;
    7070}
    7171
    72 .jeux_input{
     72.jeux_input {
    7373 color:#3F5264;
    7474 background-color:#FFEADE;
     
    7676}
    7777
    78 .jeux_score
     78.jeux_score 
    7979 text-align:center;
    8080 width:23%;
     
    100100}
    101101
    102 .jeux_points{
     102.jeux_points {
    103103 font-weight:normal;
    104104}
    105105
    106 .jeux_erreur{
     106.jeux_erreur {
    107107 font-family:arial, helvetica, sans-serif;
    108108 color:red;
     
    114114}
    115115
    116 .jeux_regle{
     116.jeux_regle {
    117117 font-size:75%;
    118118 font-style:italic;
     
    123123}
    124124
    125 .jeux_solution  {
     125.jeux_solution {
    126126 font-weight:bold;
    127127 padding:4pt 0 0 0;
     
    134134}
    135135
    136 form.jeux_grille{
     136form.jeux_grille {
    137137        clear:both;
    138138        padding:0 4pt 0 0;
     
    209209}
    210210
    211 .jeux_rem { display:none; }
     211.jeux_rem {
     212        display:none;
     213}
     214
     215
     216.jeux_copyright {
     217        text-align:right;
     218        font-size:smaller;
     219}
     220.jeux_copyright:before {
     221  content:"© ";
     222}
  • _plugins_/jeux/trunk/jeux/devinettes.php

    r103864 r124233  
    9797          elseif ($valeur==_JEUX_REPONSE) $html .= devinettes_reponse($tableau[$i+1], "devinettes_{$indexJeux}_$i");
    9898          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
     99          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
    99100  }
    100101  return $html;
  • _plugins_/jeux/trunk/jeux/mots_croises.php

    r103864 r124233  
    226226// decode une grille de mots croises
    227227// traitement du jeu : jeu_{mon_jeu}()
    228 function jeux_mots_croises($texte, $indexJeux, $form=true) {
     228function jeux_mots_croises($texte, $indexJeux, $form = true) {
    229229   
    230         $horizontal = $vertical = $solution = $html = false;
    231         $titre = _T('motscroises:titre');
     230        $horizontal = $vertical = $grille = $html = false;
     231        // $titre = _T('motscroises:titre');
    232232    // parcourir tous les #SEPARATEURS
    233233        $tableau = jeux_split_texte('mots_croises', $texte);
     
    236236          elseif ($valeur==_JEUX_HORIZONTAL) $horizontal = $tableau[$i+1];
    237237          elseif ($valeur==_JEUX_VERTICAL) $vertical = $tableau[$i+1];
    238           elseif ($valeur==_JEUX_SOLUTION) $solution = calcul_tableau_grille($tableau[$i+1]);
     238          elseif ($valeur==_JEUX_SOLUTION) {
     239                  $html .= '@@GRILLEMC@@';
     240                  $grille = calcul_tableau_grille($tableau[$i+1]);
     241          }
    239242          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
    240         }
    241         return  '<div class="mots_croises">'
    242                         . calcul_erreurs_grille($solution, $indexJeux)
    243                         . affichage_grille_mc($solution, $indexJeux, $form)
     243          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
     244               
     245        }
     246        $grille = '<div class="mots_croises_grille">'
     247                        . calcul_erreurs_grille($grille, $indexJeux)
     248                        . affichage_grille_mc($grille, $indexJeux, $form)
    244249                        . affichage_definitions($horizontal, $vertical)
    245250        // solution
    246                         . (jeux_form_reponse($indexJeux, 'SOL') ? affichage_grille_mc($solution, $indexJeux, $form, true) : '')
    247                         . '</div><br class="jeux_nettoyeur"/>';
     251                        . (jeux_form_reponse($indexJeux, 'SOL') ? affichage_grille_mc($grille, $indexJeux, $form, true) : '')
     252                        . '</div><div class="jeux_nettoyeur"></div>';
     253       
     254        return '<div class="mots_croises">'
     255                        . ($titre?'<div class="jeux_titre mots_croises_titre">'.$titre.'<hr /></div>':'')
     256                        . str_replace('@@GRILLEMC@@', $grille, $html)
     257                        . '</div>';
    248258}
    249259?>
  • _plugins_/jeux/trunk/jeux/multi_jeux.php

    r103864 r124233  
    6262         if ($valeur==_JEUX_TITRE) $titre = $tableau[$i+1];
    6363          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
     64          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
    6465          elseif ($valeur==_JEUX_SCORE) $categ_score = $tableau[$i+1];
    6566        }
  • _plugins_/jeux/trunk/jeux/pendu.php

    r103864 r124233  
    120120          elseif ($valeur==_JEUX_PENDU) $mots = jeux_liste_mots(jeux_majuscules($tableau[$i+1]));
    121121          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
     122          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
    122123  }
    123124  $js .= "\n\tpendu_Mots[$indexJeux]=new Array('".join("','",$mots)."');";
  • _plugins_/jeux/trunk/jeux/qcm.php

    r103864 r124233  
    181181
    182182        if ($trou) {
    183                 if (($sizeInput = intval(jeux_config('trou')))==0)
     183                if (($sizeInput = intval(jeux_config('trou'))) == 0)
    184184                        foreach($qcms[$indexQCM]['propositions'] as $mot) $sizeInput = max($sizeInput, strlen($mot));
    185185                $prop = jeux_minuscules($temp);
     
    188188                // cases a cocher
    189189                foreach($qcms[$indexQCM]['propositions'] as $i=>$valeur)
    190                         $codeHTML .= "<input type='checkbox' class='jeux_cocher qcm_cocher' name='{$nameInput}[]' value='$i' id='{$idInput}-$i' /><label for='{$idInput}-$i'>&nbsp;"    . $valeur.'</label>' . ($i % $nbcol?' &nbsp; ':'<br />');
     190                        $codeHTML .= "<input type='checkbox' class='jeux_cocher qcm_cocher' name='{$nameInput}[]' value='$i' id='{$idInput}-$i' /><label for='{$idInput}-$i'><span></span>&nbsp;"       . $valeur.'</label>' . ($i % $nbcol?' &nbsp; ':'<br />');
    191191        // S'il y a trop de choix, utiliser une liste a la place des boutons radio
    192192        } elseif ($qcms[$indexQCM]['nbpropositions']>jeux_config('max_radios')) {
     
    197197                // boutons radio
    198198                foreach($qcms[$indexQCM]['propositions'] as $i=>$valeur)
    199                         $codeHTML .= "<input type='radio' class='jeux_radio qcm_radio' name='$nameInput' value='$i' id='{$idInput}-$i' /><label for='{$idInput}-$i'>&nbsp;$valeur</label>" . ($i % $nbcol?' &nbsp; ':'<br />');
     199                        $codeHTML .= "<input type='radio' class='jeux_radio qcm_radio' name='$nameInput' value='$i' id='{$idInput}-$i' /><label for='{$idInput}-$i'><span></span>&nbsp;$valeur</label>" . ($i % $nbcol?' &nbsp; ':'<br />');
    200200        }
    201201        $codeHTML .= '</div><br /></div>';
     
    354354          }
    355355          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
     356          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
    356357          elseif ($valeur==_JEUX_SCORE) $categ_score = $tableau[$i+1];
    357358  }
  • _plugins_/jeux/trunk/jeux/saisies.php

    r106319 r124233  
    186186        $tableau = jeux_split_texte('saisies', $texte);
    187187        foreach($tableau as $i => $valeur) if ($i & 1) {
    188          if ($valeur==_JEUX_TITRE) $titre = $tableau[$i+1];
    189           elseif ($valeur==_JEUX_TEXTE && strlen($tableau[$i+1])) $html .= '<div class="jeux_saisies_texte">'.$tableau[$i+1].'</div>';
    190           elseif ($valeur==_JEUX_LABEL) $html .= jeux_saisies_label($tableau[$i+1]);
    191           elseif ($valeur==_JEUX_SAISIE) $html .= jeux_saisies_saisie($jeux_saisies, $indexJeux, $tableau[$i+1]);
     188         if ($valeur==_JEUX_TITRE)
     189                  $titre = $tableau[$i+1];
     190          elseif ($valeur==_JEUX_TEXTE && strlen($tableau[$i+1]))
     191                  $html .= '<div class="jeux_saisies_texte">' . $tableau[$i+1] . '</div>';
     192          elseif ($valeur==_JEUX_COPYRIGHT && strlen($tableau[$i+1]))
     193                  $html .= '<div class="jeux_saisies_texte jeux_copyright">' . $tableau[$i+1] . '</div>';
     194          elseif ($valeur==_JEUX_LABEL)
     195                  $html .= jeux_saisies_label($tableau[$i+1]);
     196          elseif ($valeur==_JEUX_SAISIE)
     197                  $html .= jeux_saisies_saisie($jeux_saisies, $indexJeux, $tableau[$i+1]);
    192198        }
    193199
  • _plugins_/jeux/trunk/jeux/sudoku.php

    r103864 r124233  
    197197          elseif ($valeur==_JEUX_SOLUTION) $solution = calcul_tableau_sudoku($tableau[$i+1]);
    198198          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
     199          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
    199200        }
    200201        return  ($titre?"<div class=\"jeux_titre sudoku_titre\">$titre</div>":'')
  • _plugins_/jeux/trunk/jeux/trous.php

    r119829 r124233  
    156156         if ($valeur==_JEUX_TITRE) $titre = $tableau[$i+1];
    157157          elseif ($valeur==_JEUX_TEXTE) $html .= $tableau[$i+1];
     158          elseif ($valeur==_JEUX_COPYRIGHT) $html .= '<div class="jeux_copyright">' . $tableau[$i+1] . '</div>';
    158159          elseif ($valeur==_JEUX_SCORE) $categ_score = $tableau[$i+1];
    159160          elseif ($valeur==_JEUX_TROU) {
  • _plugins_/jeux/trunk/jeux_config.php

    r103864 r124233  
    2727// separateurs utilisables a l'interieur des balises ci-dessus
    2828// format a utiliser dans la redaction : [separateur]
    29 define('_JEUX_TITRE', 'titre');         // separateur indiquant le titre du jeu
    30 define('_JEUX_TEXTE', 'texte');         // separateur indiquant un contenu a garder telquel
    31 define('_JEUX_CONFIG', 'config');       // separateur permettant de passer des parametres au jeu
    32 #define('_JEUX_CONFIG', 'input');       // separateur permettant d'inserer un <input/> non evalue
     29define('_JEUX_TITRE', 'titre');                 // separateur indiquant le titre du jeu
     30define('_JEUX_TEXTE', 'texte');                 // separateur indiquant un contenu a garder telquel
     31define('_JEUX_COPYRIGHT', 'copyright'); // separateur indiquant un contenu a encapsuler dans un <div class="jeux_copyright"/>
     32define('_JEUX_CONFIG', 'config');               // separateur permettant de passer des parametres au jeu
     33#define('_JEUX_CONFIG', 'input');               // separateur permettant d'inserer un <input/> non evalue
    3334define('_JEUX_REPONSE', 'reponse');
    3435define('_JEUX_SOLUTION', 'solution');
     
    6869// monjeu est le jeu traite dans le fichier jeux/monjeu.php
    6970 'SEPARATEURS' => array(
    70         'multi_jeux' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_MULTI_JEUX, _JEUX_CONFIG, _JEUX_SCORE),
    71         'sudoku' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_SUDOKU, _JEUX_SOLUTION, _JEUX_CONFIG),
     71        'multi_jeux' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_MULTI_JEUX, _JEUX_CONFIG, _JEUX_SCORE),
     72        'sudoku' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_SUDOKU, _JEUX_SOLUTION, _JEUX_CONFIG),
    7273//      'kakuro' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_KAKURO, _JEUX_SOLUTION, _JEUX_CONFIG),
    73         'mots_croises' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_HORIZONTAL, _JEUX_VERTICAL, _JEUX_SOLUTION, _JEUX_CONFIG),
    74         'qcm' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_QCM, _JEUX_QRM, _JEUX_QUIZ, _JEUX_CONFIG, _JEUX_SCORE),
    75         'textes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_POESIE, _JEUX_CITATION, _JEUX_BLAGUE, _JEUX_AUTEUR, _JEUX_RECUEIL),
    76         'devinettes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_DEVINETTE, _JEUX_CHARADE, _JEUX_REPONSE, _JEUX_CONFIG),
    77         'trous' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_TROU, _JEUX_CONFIG, _JEUX_SCORE),
    78         'pendu' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_PENDU, _JEUX_CONFIG),
    79         'diag_echecs' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_DIAG_ECHECS, _JEUX_COLORATION, _JEUX_CONFIG),
     74        'mots_croises' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_HORIZONTAL, _JEUX_VERTICAL, _JEUX_SOLUTION, _JEUX_CONFIG),
     75        'qcm' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_QCM, _JEUX_QRM, _JEUX_QUIZ, _JEUX_CONFIG, _JEUX_SCORE),
     76        'textes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_POESIE, _JEUX_CITATION, _JEUX_BLAGUE, _JEUX_AUTEUR, _JEUX_RECUEIL),
     77        'devinettes' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_DEVINETTE, _JEUX_CHARADE, _JEUX_REPONSE, _JEUX_CONFIG),
     78        'trous' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_TROU, _JEUX_CONFIG, _JEUX_SCORE),
     79        'pendu' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_PENDU, _JEUX_CONFIG),
     80        'diag_echecs' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_DIAG_ECHECS, _JEUX_COLORATION, _JEUX_CONFIG),
    8081        'chesstuff' => array(_JEUX_CHESSSTUFF, _JEUX_CONFIG),
    81         'saisies' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_LABEL, _JEUX_SAISIE, _JEUX_CONFIG),
     82        'saisies' => array(_JEUX_TITRE, _JEUX_TEXTE, _JEUX_COPYRIGHT, _JEUX_LABEL, _JEUX_SAISIE, _JEUX_CONFIG),
    8283  ),
    8384
  • _plugins_/jeux/trunk/jeux_utils.php

    r103864 r124233  
    6767  $tableau = preg_split($expr, $texte, -1, PREG_SPLIT_DELIM_CAPTURE);
    6868//  foreach($tableau as $i => $valeur) $tableau[$i] = preg_replace('/^\[(.*)\]$/', '\\1', trim($valeur));
    69   foreach($tableau as $i => $valeur) if (($i & 1) && preg_match('/^\[(.*)\]$/', trim($valeur), $reg)) {
    70    $tableau[$i] = strtolower(trim($reg[1]));
    71    if ($reg[1]==_JEUX_CONFIG && $i+1<count($tableau)) jeux_config_ecrase($tableau[$i+1]);
    72   }
     69  foreach($tableau as $i => $valeur)
     70          if (($i & 1) && preg_match('/^\[(.*)\]$/', trim($valeur), $reg)) {
     71            $tableau[$i] = strtolower(trim($reg[1]));
     72            if ($reg[1] == _JEUX_CONFIG && $i+1 < count($tableau)) jeux_config_ecrase($tableau[$i+1]);
     73          }
    7374  return $tableau;
    7475
     
    7778function jeux_listes($texte) {
    7879        $tableau = preg_split("/[\r\n]+/", trim($texte));       
    79         foreach ($tableau as $i=>$valeur) if (($valeur=trim($valeur))!='') $tableau[$i] = "<li>$valeur</li>\n";
     80        foreach ($tableau as $i=>$valeur)
     81                if (($valeur = trim($valeur)) != '') $tableau[$i] = "<li>$valeur</li>\n";
    8082        $texte = implode('', $tableau);
    8183        return "<ol>$texte</ol>";
  • _plugins_/jeux/trunk/modeles/chesstuff.html

    r53933 r124233  
    1 <script src='http://chesstuff.googlecode.com/svn/deployChessViewer.js' type='text/javascript'></script>
     1#SET{path, #CHEMIN{javascript/deployChessViewer.js}|url_absolue}
     2<script type="text/javascript">
     3        var _JEUX_CODEBASE = "[(#GET{path}|dirname)]/"; //'http://chesstuff.googlecode.com/svn/bin/';
     4</script>
     5<script src="#GET{path}" type='text/javascript'></script>
     6<!--
     7        src='http://chesstuff.googlecode.com/svn/deployChessViewer.js'
     8        https://github.com/chessplus/chesstuff/blob/master/deployChessViewer.js
     9-->
    210<script id="oChessViewer" type="text/javascript">
    311/*
  • _plugins_/jeux/trunk/paquet.xml

    r120911 r124233  
    22        prefix="jeux"
    33        categorie="divers"
    4         version="3.4.6"
     4        version="3.4.7"
    55        etat="test"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.