Changeset 18688 in spip-zone


Ignore:
Timestamp:
Feb 24, 2008, 4:53:49 PM (12 years ago)
Author:
marcimat@…
Message:
  • les onglets s'enrichissent d'une nouvelle syntaxe.

Il existait <!-- onglet=non --> qui n'affichait pas l'onglet (dans ?exec=cfg), il y a maintenant
<!-- onglet=fond_cfg_parent --> qui n'affiche pas l'onglet, mais va "exposer"
l'onglet choisi si le fond courant est actif. (Il faut que l'onglet (fond cfg) choisi
ait son onglet visible par contre - ie: <!-- onglet=oui --> ou non renseigne)

  • Dans un fond cfg, si un lien pointe sur le fond en cours, la balise <a> ne sera pas mise
Location:
_plugins_/_stable_/cfg
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/cfg/changelog.txt

    r18667 r18688  
     1v1.3.6 (24.02.2008)
     2- les onglets s'enrichissent d'une nouvelle syntaxe.
     3Il existait <!-- onglet=non --> qui n'affichait pas l'onglet, il y a maintenant
     4<!-- onglet=fond_cfg_parent --> qui n'affiche pas l'onglet, mais va "exposer"
     5le fond choisi si le fond courant est actif. (Il faut que le fond choisi
     6ait son onglet visible par contre - ie: onglet=oui ou non renseigne)
     7- Dans un fond cfg, si un lien pointe sur le fond en cours, la balise <a> ne sera pas mise
     8
    19v1.3.5 (24.02.2008)
    210- les liens s'enrichissent d'une nouvelle syntaxe <!-- liens*=prefixe_plugin:fond_cfg -->
  • _plugins_/_stable_/cfg/fonds/cfg_extraarticles.html

    r17168 r18688  
    99
    1010<!-- titre=<multi>[fr]Champs extra articles[en]Article's extra data</multi>-->
     11
     12
     13<!-- liens*=cfg:testclassic -->
     14<!-- liens*=cfg:testsimple -->
     15<!-- liens*=cfg:testcasier -->
     16<!-- liens*=cfg:testinclure -->
     17<!-- liens*=cfg:testauteur -->
     18<!-- liens*=cfg:extraarticles -->
     19<!-- liens*=cfg:testmulti -->
     20<!-- liens*=cfg:testphp -->
     21<!-- liens*=cfg:testtable -->
     22
    1123
    1224<!-- storage=extrapack -->
  • _plugins_/_stable_/cfg/fonds/cfg_testauteur.html

    r18667 r18688  
    2626<!-- titre=<multi>[fr]Test auteur extra pour le plugin cfg [en]Author's extra test for the cfg plugin</multi>-->
    2727
     28
     29<!-- liens*=cfg:testclassic -->
    2830<!-- liens*=cfg:testsimple -->
    29 <!-- liens*=cfg:testclassic -->
     31<!-- liens*=cfg:testcasier -->
     32<!-- liens*=cfg:testinclure -->
     33<!-- liens*=cfg:testauteur -->
     34<!-- liens*=cfg:extraarticles -->
    3035<!-- liens*=cfg:testmulti -->
    31 <!-- liens*=crayons -->
     36<!-- liens*=cfg:testphp -->
     37<!-- liens*=cfg:testtable -->
    3238
    3339<!-- storage=extrapack -->
  • _plugins_/_stable_/cfg/fonds/cfg_testcasier.html

    r18667 r18688  
    77<!-- titre=<multi>[fr]Test casier pour le plugin cfg [en]Pigeonhole test for the cfg plugin</multi>-->
    88
     9
     10<!-- liens*=cfg:testclassic -->
    911<!-- liens*=cfg:testsimple -->
    10 <!-- liens*=cfg:testclassic -->
     12<!-- liens*=cfg:testcasier -->
     13<!-- liens*=cfg:testinclure -->
     14<!-- liens*=cfg:testauteur -->
     15<!-- liens*=cfg:extraarticles -->
    1116<!-- liens*=cfg:testmulti -->
    12 <!-- liens*=crayons -->
     17<!-- liens*=cfg:testphp -->
     18<!-- liens*=cfg:testtable -->
    1319
    1420<!-- nom=testsimple -->
  • _plugins_/_stable_/cfg/fonds/cfg_testclassic.html

    r18667 r18688  
    88<!-- boite=<multi>[fr]Test storage classic pour le plugin cfg [en]Classic storage test for the cfg plugin</multi>-->
    99
     10
     11<!-- liens*=cfg:testclassic -->
     12<!-- liens*=cfg:testsimple -->
     13<!-- liens*=cfg:testcasier -->
     14<!-- liens*=cfg:testinclure -->
     15<!-- liens*=cfg:testauteur -->
     16<!-- liens*=cfg:extraarticles -->
    1017<!-- liens*=cfg:testmulti -->
    11 <!-- liens*=cfg:testsimple -->
     18<!-- liens*=cfg:testphp -->
     19<!-- liens*=cfg:testtable -->
    1220
    1321<!-- storage=classic -->
     
    2129<br />
    2230<label>Nom site</label>
    23 <input type="text" name="nom_site" value="#ENV{nom_site}" size="70" />
     31<input type="text" name="nom_site" value="#ENV{nom_site}" size="50" />
    2432<br />
    2533<label>Descriptif site</label>
  • _plugins_/_stable_/cfg/fonds/cfg_testinclure.html

    r18667 r18688  
    1414 -->
    1515
     16<!-- liens*=cfg:testclassic -->
     17<!-- liens*=cfg:testsimple -->
     18<!-- liens*=cfg:testcasier -->
     19<!-- liens*=cfg:testinclure -->
     20<!-- liens*=cfg:testauteur -->
     21<!-- liens*=cfg:extraarticles -->
     22<!-- liens*=cfg:testmulti -->
     23<!-- liens*=cfg:testphp -->
    1624<!-- liens*=cfg:testtable -->
    17 <!-- liens*=cfg:testcasier -->
    18 <!-- liens*=cfg:testclassic -->
    19 <!-- liens*=cfg:testphp -->
    20 <!-- liens*=cfg:testauteur -->
    21 <!-- liens*=cfg:testmulti -->
    22 <!-- liens*=crayons -->
     25
    2326<!-- onglet=non -->
    2427<!-- boite=Test cfg -->
  • _plugins_/_stable_/cfg/fonds/cfg_testmulti.html

    r18667 r18688  
    33 -->
    44<!-- titre=Test multi pour le plugin cfg -->
    5 <!-- liens_multi*=cfg:testmulti -->
     5
     6<!-- liens*=cfg:testclassic -->
     7<!-- liens*=cfg:testsimple -->
     8<!-- liens*=cfg:testcasier -->
     9<!-- liens*=cfg:testinclure -->
     10<!-- liens*=cfg:testauteur -->
     11<!-- liens*=cfg:extraarticles -->
     12<!-- liens*=cfg:testmulti -->
     13<!-- liens*=cfg:testphp -->
     14<!-- liens*=cfg:testtable -->
    615
    716<!-- onglet=non -->
  • _plugins_/_stable_/cfg/fonds/cfg_testphp.html

    r18667 r18688  
    88<!-- boite=<multi>[fr]Test storage php pour le plugin cfg [en]php storage test for the cfg plugin</multi>-->
    99
     10
     11<!-- liens*=cfg:testclassic -->
     12<!-- liens*=cfg:testsimple -->
     13<!-- liens*=cfg:testcasier -->
     14<!-- liens*=cfg:testinclure -->
     15<!-- liens*=cfg:testauteur -->
     16<!-- liens*=cfg:extraarticles -->
    1017<!-- liens*=cfg:testmulti -->
    11 <!-- liens*=cfg:testsimple -->
     18<!-- liens*=cfg:testphp -->
     19<!-- liens*=cfg:testtable -->
    1220
    1321<!-- storage=php -->
  • _plugins_/_stable_/cfg/fonds/cfg_testsimple.html

    r18667 r18688  
    88<!-- titre=<multi>[fr]Test simple pour le plugin cfg [en]Simple test for the cfg plugin</multi>-->
    99
     10
     11<!-- liens*=cfg:testclassic -->
     12<!-- liens*=cfg:testsimple -->
     13<!-- liens*=cfg:testcasier -->
     14<!-- liens*=cfg:testinclure -->
     15<!-- liens*=cfg:testauteur -->
     16<!-- liens*=cfg:extraarticles -->
     17<!-- liens*=cfg:testmulti -->
     18<!-- liens*=cfg:testphp -->
    1019<!-- liens*=cfg:testtable -->
    11 <!-- liens*=cfg:testcasier -->
    12 <!-- liens*=cfg:testclassic -->
    13 <!-- liens*=cfg:testphp -->
    14 <!-- liens*=cfg:testauteur -->
    15 <!-- liens*=cfg:testmulti -->
    16 <!-- liens*=crayons -->
    1720
    1821<!-- boite=test cfg -->
  • _plugins_/_stable_/cfg/fonds/cfg_testtable.html

    r18667 r18688  
    2828<!-- titre=<multi>[fr]Test table auteurs_listes pour le plugin cfg [en]Table auteurs_listes test for the cfg plugin</multi>-->
    2929
    30 <!-- liens*=cfg:testsimple-->
    31 <!-- liens*=cfg:testclassic-->
    32 <!-- liens*=cfg:testmulti-->
    33 <!-- liens*=crayons-->
     30
     31<!-- liens*=cfg:testclassic -->
     32<!-- liens*=cfg:testsimple -->
     33<!-- liens*=cfg:testcasier -->
     34<!-- liens*=cfg:testinclure -->
     35<!-- liens*=cfg:testauteur -->
     36<!-- liens*=cfg:extraarticles -->
     37<!-- liens*=cfg:testmulti -->
     38<!-- liens*=cfg:testphp -->
     39<!-- liens*=cfg:testtable -->
    3440
    3541<!-- storage=table-->
  • _plugins_/_stable_/cfg/inc/cfg.php

    r18667 r18688  
    158158                if (!find_in_path('fonds/cfg_'.$lien.'.html')) return "";
    159159               
    160                 return "<a href='" . generer_url_ecrire("cfg","cfg=$lien") . "'>$nom</a>\n"; // &cfg_id= <-- a ajouter ?
     160                // si c'est le lien actif, pas de <a>
     161                if (_request('cfg') == $lien)
     162                        return "$nom\n";
     163                else
     164                        return "<a href='" . generer_url_ecrire("cfg","cfg=$lien") . "'>$nom</a>\n"; // &cfg_id= <-- a ajouter ?
    161165        }
    162166       
     
    211215                echo gros_titre(sinon($this->titre, _T('cfg:configuration_modules')), '', false);
    212216
    213                 echo  barre_onglets("configuration", "cfg");
    214 
    215 
    216                 if ($l = liste_cfg()) {
    217                         $res = debut_onglet();
    218 
    219                         $n = 0;
    220                         $classe_cfg = cfg_charger_classe('cfg');
    221                         foreach($l as $fonds => $cfg) {
    222                                 $url = generer_url_ecrire(_request('exec'), 'cfg='.$fonds);
    223                                 $path = dirname(dirname($cfg));
    224 
    225                                 // On va chercher la config cible
    226                                 // et on regarde ses donnees pour faire l'onglet
    227                                 // seulement si l'onglet doit etre affiche
    228                                 $tmp = & new $classe_cfg($fonds, $fonds,'');
    229                                 if ($tmp->_permise && $tmp->onglet=='oui') {
    230                                         // Faire des lignes s'il y en a effectivement plus de 6
    231                                         if (!($n%6) && ($n>0))
    232                                                 $res .= fin_onglet().debut_onglet();
    233                                         if ($tmp->titre)
    234                                                 $titre = $tmp->titre;
    235                                         else
    236                                                 $titre = $fonds;
    237                                         $icone = '';
    238                                         if ($tmp->icone)
    239                                                 $icone = $path.'/'.$tmp->icone;
    240                                         else if (file_exists($path.'/plugin.xml'))
    241                                                 $icone = 'plugin-24.gif';
    242                                         else
    243                                                 $icone = _DIR_PLUGIN_CFG.'cfg-doc-22.png';
    244                                         $actif = ($fonds == _request('cfg'));
    245 
    246                                         $res .= onglet($titre, $url, 'cfg', $actif, $icone);
    247 
    248                                         // Faire des lignes s'il y en a plus de 6
    249                                         $n++;
    250                                 }
    251                         }
    252                         $res .= fin_onglet();
    253 
    254                         echo $res;
    255                 }
     217                echo barre_onglets("configuration", "cfg");
     218
     219                echo $this->barre_onglets_cfg();
     220
    256221
    257222                echo debut_gauche('', true);
     
    279244
    280245
     246        /*
     247         * Affiche la liste des onglets de CFG
     248         *
     249         * Recupere les fonds CFG et analyse ceux-ci
     250         * - si onglet=oui : affiche l'onglet (valeur par defaut)
     251         * - si onglet=non : n'affiche pas l'onglet
     252         * - si onglet=fond_cfg_parent : n'affiche pas l'onglet, mais 'exposera'
     253         * l'element parent indique (sous entendu que
     254         * le parent n'a pas 'onglet=non' sinon rien ne sera expose...
     255         *
     256         */
     257        function barre_onglets_cfg(){
     258                $onglets = array();
     259               
     260                // scruter les onglets affichables ainsi que l'onglet 'expose'
     261                if ($l = liste_cfg()) {
     262                        $classe_cfg = cfg_charger_classe('cfg');
     263                        foreach($l as $fonds => $cfg) {
     264                               
     265                                if (!isset($onglets[$fonds]))
     266                                        $onglets[$fonds] = array();
     267                                $args = array();
     268                                $args['afficher'] = false;
     269                               
     270                                // On va chercher la config cible
     271                                // et on regarde ses donnees pour faire l'onglet
     272                                // seulement si l'onglet doit etre affiche
     273                                $tmp = & new $classe_cfg($fonds, $fonds,'');
     274
     275                                if ($tmp->_permise && $tmp->onglet=='oui') {
     276                                        $args['afficher'] = true;
     277                                        $args['url'] = generer_url_ecrire(_request('exec'), 'cfg='.$fonds);
     278                                       
     279                                        $path = dirname(dirname($cfg));
     280                                       
     281                                        // titre
     282                                        if ($tmp->titre)
     283                                                $args['titre'] = $tmp->titre;
     284                                        else
     285                                                $args['titre'] = $fonds;
     286                                               
     287                                        // icone               
     288                                        $args['icone'] = '';
     289                                        if ($tmp->icone)
     290                                                $args['icone'] = $path.'/'.$tmp->icone;
     291                                        else if (file_exists($path.'/plugin.xml'))
     292                                                $args['icone'] = 'plugin-24.gif';
     293                                        else
     294                                                $args['icone'] = _DIR_PLUGIN_CFG.'cfg-doc-22.png';
     295                                       
     296                                        // onglet actif         
     297                                        $args['actif'] = ($fonds == _request('cfg'));
     298                                }
     299                               
     300                                // rendre actif un parent si l'enfant est actif (onglet=nom_du_parent
     301                                // (/!\ ne pas le desactiver s'il a deja ete mis actif)
     302                                if ($tmp->_permise && $tmp->onglet && $tmp->onglet!='oui' && $tmp->onglet!='non'){
     303                                        if (!isset($onglets[$tmp->onglet]))
     304                                                $onglets[$tmp->onglet]=array();
     305                                       
     306                                        if (!isset($onglets[$tmp->onglet]['enfant_actif']))
     307                                                $onglets[$tmp->onglet]['enfant_actif']=false;
     308                                               
     309                                        $onglets[$tmp->onglet]['enfant_actif'] =
     310                                                ($onglets[$tmp->onglet]['enfant_actif']
     311                                                || $fonds == _request('cfg'));
     312                                }
     313                               
     314                                $onglets[$fonds] = array_merge($args, $onglets[$fonds]); // conserver les donnees deja presentes ('enfant_actif')
     315                        }
     316                }
     317               
     318                // retourner le code des onglets selectionnes
     319                $res = "";
     320                if ($onglets) {
     321                        $res = debut_onglet();
     322                        $n = -1;
     323                        foreach ($onglets as $titre=>$args){
     324                                if ($args['afficher']){
     325                                        // Faire des lignes s'il y en a effectivement plus de 6
     326                                        if (!(++$n%6) && ($n>0))
     327                                                $res .= fin_onglet().debut_onglet();
     328                                               
     329                                        $res .= onglet(
     330                                                        $args['titre'],
     331                                                        $args['url'],
     332                                                        'cfg',
     333                                                        ($args['actif'] || $args['enfant_actif']),
     334                                                        $args['icone']);
     335                                }       
     336                        }
     337                       
     338                        $res .= fin_onglet();
     339                       
     340                }
     341                return $res;
     342        }
     343       
     344       
    281345        function fin_page()
    282346        {
  • _plugins_/_stable_/cfg/lang/cfg_fr.php

    r18667 r18688  
    2424'testtable' => 'Exemple sur champs d\'une table sql',
    2525'testphp' => 'Exemple de stockage php',
     26'testinclure' => 'Exemple d\'inclusion de squelette',
    2627'testcasier' => 'Exemple de casier',
    2728'testauteur' => 'Exemple sur champ extra/cfg de la table auteur',
     29'extraarticles' => 'Exemple de champ extra sur un article',
    2830
    2931// textes cfg
  • _plugins_/_stable_/cfg/plugin.xml

    r18667 r18688  
    1010    </auteur>
    1111    <version>
    12     1.3.5
     12    1.3.6
    1313    </version>
    1414    <etat>
Note: See TracChangeset for help on using the changeset viewer.