Changeset 54392 in spip-zone


Ignore:
Timestamp:
Nov 13, 2011, 4:15:08 PM (8 years ago)
Author:
esj@…
Message:

langonet Eviter des warning et des blocs dépliables vides.

Location:
_plugins_/langonet
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/langonet/formulaires/langonet_verifier.php

    r54366 r54392  
    354354                $occ = langonet_lister_occ($type, $k, $v, $extra, $f_coloriser);
    355355                $brut = preg_match('/^(.*)[{].*[}]$/', $k, $m) ? $m[1]:$k;
    356                 $tableau[$k] = bouton_block_depliable($brut, false) .
     356                if (!$occ)
     357                  $tableau[$k] = "<p style='font-weight:bold;padding-left:2em;'>$brut</p>";
     358                else
     359                  $tableau[$k] = bouton_block_depliable($brut, false) .
    357360                        debut_block_depliable(false) .
    358361                        $occ .
     
    375378function langonet_lister_occ($type, $item, $detail, $extra, $f_coloriser)
    376379{
    377         $liste_lignes = '';
     380        $occ = '';
    378381
    379382        foreach ($detail as $fichier => $lignes) {
    380                 $liste_lignes .= "\t<span style=\"font-weight:bold;padding-left:2em;\">" .$fichier. "</span><br />\n";
     383                $occ .= "\t<span style=\"font-weight:bold;padding-left:2em;\">" .$fichier. "</span><br />\n";
    381384                foreach ($lignes as $ligne_n => $ligne_t) {
    382385                        $L = sprintf("%04s", intval($ligne_n+1));
     
    393396                        } else $T = htmlspecialchars($T);
    394397
    395                         $liste_lignes .= "\t\t<code style='padding-left:4em;text-indent: -5em;'>L$L : $T</code><br />\n";
    396                 }
    397         }
    398         // Qaund l'index ne correspond pas aux occurrences (on prend la derniere)
     398                        $occ .= "\t\t<code style='padding-left:4em;text-indent: -5em;'>L$L : $T</code><br />\n";
     399                }
     400        }
     401
     402        if ($occ) $occ = _T('langonet:texte_item_utilise_ou')."\n<br />" . $occ;
     403
     404        // Quand l'index ne correspond pas aux occurrences (on prend la derniere)
    399405        // typiquement quand c'est un md5, donner l'index prevu pour aider a trouver l'homonyme
    400406        // (mais ce serait encore mieux que Langonet le donne)
    401         if ($item !==  $match[2]) {
    402           $index = langonet_index_brut($match[2]);
    403           $v = ("(<b>" . $index . "</b>)<br />");
    404         } else $v = '';
    405 
    406         $liste_lignes = "<p style=\"padding-left:2em;\">\n  ".
    407         $v .
    408         _T('langonet:texte_item_utilise_ou')."\n<br />" .
    409         $liste_lignes ."</p>";
     407        if ($match[2] AND ($item !==  $match[2])) {
     408                $index = langonet_index_brut($match[2]);
     409                $occ = "(<b>" . $index . "</b>)<br />" . $occ;
     410        }
     411
     412        if ($occ) $occ = "<p style=\"padding-left:2em;\">\n$occ</p>";
    410413
    411414        if ($type != 'non' AND isset($extra[$item])) {
    412                 $liste_lignes .= "<p style=\"padding-left:2em;\">  " . (($type=='non_mais_nok') ? _T('langonet:texte_item_mal_defini') : _T('langonet:texte_item_defini_ou')) . "\n<br />";
     415                $occ .= "<p style=\"padding-left:2em;\">  " . (($type=='non_mais_nok') ? _T('langonet:texte_item_mal_defini') : _T('langonet:texte_item_defini_ou')) . "\n<br />";
    413416                foreach ($extra[$item] as $fichier_def) {
    414                         $liste_lignes .= "\t<span style=\"font-weight:bold;padding-left:2em;\">" .$fichier_def. "</span><br />\n";
    415                 }
    416                 $liste_lignes .= "</p>\n";
     417                        $occ .= "\t<span style=\"font-weight:bold;padding-left:2em;\">" .$fichier_def. "</span><br />\n";
     418                }
     419                $occ .= "</p>\n";
    417420        } elseif ($type == 'non_mais_nok') {
    418                         $liste_lignes .= "<p style=\"padding-left:2em;\">  " . _T('langonet:texte_item_non_defini') . "</p>\n<br />\n";
    419         }
    420         return $liste_lignes;
     421                $occ .= "<p style=\"padding-left:2em;\">  " . _T('langonet:texte_item_non_defini') . "</p>\n<br />\n";
     422        }
     423        return $occ;
    421424}
    422425
     
    539542                        else continue;
    540543                } else {
    541                         // si c'est un <: ... :> normaliser au besoin
     544                        // si c'est un <: :> normaliser au besoin
    542545                        if ($val[0]!=='<') continue;
    543546                        if (!preg_match(_LANGONET_ITEM_H, $val, $m)) continue;
  • _plugins_/langonet/inc/langonet_verifier_items.php

    r54366 r54392  
    1212define("_LANGONET_ITEM_G",
    1313       '%_[TU]\s*[(]\s*"(?:([a-z0-9_]+):)?([^"]*)"\s*([^.,)]*[^)]*)%S');
    14 // squelette avec <: ... :>
     14// squelette avec <: :>
    1515define("_LANGONET_ITEM_H",
    1616       "%<:(?:([a-z0-9_]+):)?([^:|{}>]+)([^>]*)%S");
     
    9898function langonet_match(&$utilises, $occ, $_fichier, $ligne, $eval=false)
    9999{
     100        if (!trim($occ[2])) return;
    100101        list($item, $args) = langonet_argumenter($occ[2]);
    101102        $index = langonet_index($occ[2], $utilises['items']) . $args;
     
    150151                                // L'item est utilise dans un contexte variable
    151152                                $item_peut_etre[] = $_item;
    152                                 $fichier_peut_etre[$_item] = $utilises['item_tous'][$_item];
     153                                $fichier_peut_etre[$_item] = array();
    153154                        }
    154155                }
     
    232233                                foreach($init as $_item => $_traduction) {
    233234                                        if (substr($_item, 0, strlen($_valeur)) == $_valeur) {
     235                                                $item_trouve = true;
    234236                                                $item_peut_etre[] = $_valeur;
    235                                                 if (is_array($utilises['item_tous'][$_cle])) {
    236                                                         $fichier_peut_etre[$_item] = $utilises['item_tous'][$_cle];
    237                                                 }
    238                                                 $item_trouve = true;
     237                                                $fichier_peut_etre[$_item] = is_array($utilises['item_tous'][$_cle]) ? $utilises['item_tous'][$_cle] : array();
    239238                                        }
    240239                                }
     
    245244                                        $_item = ltrim($_valeur, '\'".\\');
    246245                                        $item_peut_etre[] = $_item;
    247                                         if (is_array($utilises['item_tous'][$_cle])) {
    248                                                 $fichier_peut_etre[$_item] = $utilises['item_tous'][$_cle];
    249                                         }
     246                                        $fichier_peut_etre[$_item] = is_array($utilises['item_tous'][$_cle]) ? $utilises['item_tous'][$_cle] : array();
    250247                                }
    251248                        }
  • _plugins_/langonet/inc/langonet_verifier_l.php

    r54366 r54392  
    88 */
    99// Ces 2 REGEXP de recherche de _L
    10 // doivent fournir les memes tableaux que les RegExp de recherche de <:... :>
     10// doivent fournir les memes tableaux que les RegExp de recherche de <: :>
    1111define("_LANGONET_FONCTION_L",
    1212#       "`_L\([\"'](.+)(?:[,\"']|[\"'][,].*)\)`iUm"); # old
     
    5252                                        $fichier_non[$index][$_fichier][$ligne][] = $occ;
    5353                                }
    54                         if (preg_match_all(_LANGONET_FONCTION_L2, $texte, $m, PREG_SET_ORDER))
     54                        elseif (preg_match_all(_LANGONET_FONCTION_L2, $texte, $m, PREG_SET_ORDER))
    5555                                foreach ($m as $occ) {
    5656                                        $index = langonet_index($occ[2], $item_md5);
Note: See TracChangeset for help on using the changeset viewer.