[SPIP Zone] r4093 - in /_plugins_/_choix_squelettes_/squelettes_par_mots_cle: LISEZMOI.txt exec/config_chercher_squelettes_mots.php public/styliser.php

Author: pierre.andrews@gmail.com
Date: Wed Jul 19 18:09:58 2006
New Revision: 4093

Log:
bah, pour un plugin stable, y'avait plein de petits bugs. J'ai ajoute la reconaissance des squelettes pour un seul niveau comme decrit dans le LISEZMOI.txt

Modified:
    _plugins_/_choix_squelettes_/squelettes_par_mots_cle/LISEZMOI.txt
    _plugins_/_choix_squelettes_/squelettes_par_mots_cle/exec/config_chercher_squelettes_mots.php
    _plugins_/_choix_squelettes_/squelettes_par_mots_cle/public/styliser.php

Modified: _plugins_/_choix_squelettes_/squelettes_par_mots_cle/LISEZMOI.txt

--- _plugins_/_choix_squelettes_/squelettes_par_mots_cle/LISEZMOI.txt (original)
+++ _plugins_/_choix_squelettes_/squelettes_par_mots_cle/LISEZMOI.txt Wed Jul 19 18:09:58 2006
@@ -12,7 +12,7 @@
question)

Le plugin permet de sélectionner des squelettes nommés:
-- fond==motclef.html pour le squelette d'un élément spécifique
+- fond=motclef.html pour le squelette d'un élément spécifique
- fond-motclef.html pour le squelette de tous les éléments d'une
rubrique

@@ -27,7 +27,7 @@
  o le type d'élément "articles"
4- créer, par exemple, un mot clef "galerie"
5- vous pouvez alors:
- o soit créer un fichier article==galerie.html et associer le mot clef
+ o soit créer un fichier article=galerie.html et associer le mot clef
     galerie à des articles individuels
   o soit créer un fichier article-galerie.html et associer le mot clef
     à une rubrique qui contiendra tous vos articles de galerie.

Modified: _plugins_/_choix_squelettes_/squelettes_par_mots_cle/exec/config_chercher_squelettes_mots.php

--- _plugins_/_choix_squelettes_/squelettes_par_mots_cle/exec/config_chercher_squelettes_mots.php (original)
+++ _plugins_/_choix_squelettes_/squelettes_par_mots_cle/exec/config_chercher_squelettes_mots.php Wed Jul 19 18:09:58 2006
@@ -130,7 +130,7 @@
     $cnt_inactif = 0;
     while ($r = spip_abstract_fetch($rez)) {
     include_ecrire("inc_charsets");
- $n = translitteration(preg_replace('["\'.] ','_',extraire_multi($r['titre'])));
+ $n = translitteration(preg_replace('/["\'.\s]/','_',extraire_multi($r['titre'])));
     if ($squel = find_in_path("$fond-$n.$ext")) {
       $cnt_actif++;
       $liste_squel .= "<li><a href=\"$squel\">$fond-$n.$ext</a></li>";
@@ -138,6 +138,13 @@
       $cnt_inactif++;
        $liste_squel .= "<li>$fond-$n.$ext</li>";
     }
+ if ($squel = find_in_path("$fond=$n.$ext")) {
+ $cnt_actif++;
+ $liste_squel .= "<li><a href=\"$squel\">$fond=$n.$ext</a></li>";
+ } else {
+ $cnt_inactif++;
+ $liste_squel .= "<li>$fond=$n.$ext</li>";
+ }
     }
     spip_abstract_free($rez);
     $liste_squel .= '</ul>';

Modified: _plugins_/_choix_squelettes_/squelettes_par_mots_cle/public/styliser.php

--- _plugins_/_choix_squelettes_/squelettes_par_mots_cle/public/styliser.php (original)
+++ _plugins_/_choix_squelettes_/squelettes_par_mots_cle/public/styliser.php Wed Jul 19 18:09:58 2006
@@ -68,13 +68,19 @@
     $fonds = unserialize($GLOBALS['meta']['SquelettesMots:fond_pour_groupe']);
     if (is_array($fonds) && (list($id_groupe,$table,$id_table) = $fonds[$fond])) {
       $trouve = false;
+ $stop = false;
       if (($id = $contexte[$id_table]) && ($n = sql_mot_squelette($id,$id_groupe,$table,$id_table))) {
- if ($squel = find_in_path("$fond-$n.$ext")) {
+ if ($squel = find_in_path("$fond=$n.$ext")) {
+ $squelette = substr($squel, 0, - strlen(".$ext"));
+ $trouve = true;
+ $stop = true;
+ }
+ else if ($squel = find_in_path("$fond-$n.$ext")) {
           $squelette = substr($squel, 0, - strlen(".$ext"));
           $trouve = true;
         }
       }
- if((!$trouve) && ($n = sql_mot_squelette($id_rub_init,$id_groupe,'rubriques','id_rubrique',true))) {
+ if((!$trouve) && (!$stop) && ($n = sql_mot_squelette($id_rub_init,$id_groupe,'rubriques','id_rubrique',true))) {
         if ($squel = find_in_path("$fond-$n.$ext")) {
           $squelette = substr($squel, 0, - strlen(".$ext"));
         }
@@ -106,9 +112,9 @@
   if ($r) {
     include_spip("inc/charsets");
      include_spip("inc/filtres");
- return translitteration(preg_replace('["\'.] ','_',extraire_multi($r['titre'])));
+ return translitteration(preg_replace('/["\'.\s]/','_',extraire_multi($r['titre'])));
   }
- if(!recurse) return '';
+ if(!$recurse) return '';
   $id = sql_parent($id);
   }
   return '';