[SPIP] v3.2.12 -> v3.2.12 - Reinstallation avec le spip_loader
[lhc/web/www.git] / www / plugins-dist / textwheel / inc / texte.php
old mode 100644 (file)
new mode 100755 (executable)
index 2bfec78..325bedb
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2019                                                *
+ *  Copyright (c) 2001-2020                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -377,18 +377,18 @@ function traiter_tableau($bloc) {
        $lignes = array();
        $debut_table = $summary = '';
        $l = 0;
-       $numeric = true;
 
        // Traiter chaque ligne
        $reg_line1 = ',^(\|(' . _RACCOURCI_TH_SPAN . '))+$,sS';
        $reg_line_all = ',^(' . _RACCOURCI_TH_SPAN . ')$,sS';
        $hc = $hl = array();
+       $thead_ok = false;
        foreach ($regs[1] as $ligne) {
                $l++;
 
                // Gestion de la premiere ligne :
-               if ($l == 1) {
-                       // - <caption> et summary dans la premiere ligne :
+               if (!$thead_ok and $l == 1) {
+                       // - <caption> et summary dans la premiere ligne (seulement si on n'a pas dépassé le premier thead) :
                        //   || caption | summary || (|summary est optionnel)
                        if (preg_match(',^\|\|([^|]*)(\|(.*))?$,sS', rtrim($ligne, '|'), $cap)) {
                                $cap = array_pad($cap, 4, null);
@@ -425,6 +425,7 @@ function traiter_tableau($bloc) {
                                        $debut_table .= "<thead><tr class='row_first'>" .
                                                $ligne . "</tr></thead>\n";
                                        $l = 0;
+                                       $thead_ok = true;
                                }
                        }
                }
@@ -461,8 +462,9 @@ function traiter_tableau($bloc) {
        // du nombre de colonnes dans la premiere ligne.
        // Reperer egalement les colonnes numeriques pour les cadrer a droite
        $rowspans = $numeric = array();
-       $n = count($lignes[0]);
        $k = count($lignes);
+       $n = $k ? count($lignes[0]) : 0;
+
        // distinguer les colonnes numeriques a point ou a virgule,
        // pour les alignements eventuels sur "," ou "."
        $numeric_class = array(