Changeset 106131 in spip-zone


Ignore:
Timestamp:
Sep 6, 2017, 2:42:57 PM (2 years ago)
Author:
marcimat@…
Message:

Une palanquée de notice PHP en moins.

Location:
_plugins_/sale
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/sale/plugin.xml

    r90972 r106131  
    44        <prefix>sale</prefix>
    55        <auteur> Ma&#239;eul ROUQUETTE d'apr&#232;s le Travail de James ("Klike")</auteur>
    6         <version>0.1.2</version>
     6        <version>0.1.3</version>
    77        <etat>dev</etat>
    88        <description>Proposer une fonction sale() qui permet de passer du (X)HTML vers du SPIP</description>
  • _plugins_/sale/sale_fonctions.php

    r90974 r106131  
    2525}
    2626
    27 function decode_entites($texte) {
     27function decode_entites($texte, $quote_style = ENT_QUOTES) {
    2828        static $trans;
    2929        if (!isset($trans)) {
     
    237237        $pattern = '<table([^>]*)>(.*)</table>';
    238238        preg_match_all(",$pattern,Uims", $texte, $tableMatches, PREG_SET_ORDER);
    239         $textMatches = preg_split(",$pattern,Uims", $texte);
    240 
    241         foreach ($tableMatches as $key => $value) {
    242                 $tableMatches [$key][0] = recompose_tableau($value[1], $value[2]);
    243         }
    244         for ($i = 0; $i < count($textMatches); ++$i ) {
    245                 $textMatches [$i] = $textMatches [$i].$tableMatches [$i] [0];
    246         }
    247         $texte = implode('', $textMatches);
    248 
     239        if ($tableMatches) {
     240                $textMatches = preg_split(",$pattern,Uims", $texte);
     241                foreach ($tableMatches as $key => $value) {
     242                        $tableMatches [$key][0] = recompose_tableau($value[1], $value[2]);
     243                }
     244                for ($i = 0; $i < count($tableMatches); ++$i ) {
     245                        $textMatches [$i] = $textMatches [$i].$tableMatches [$i] [0];
     246                }
     247                $texte = implode('', $textMatches);
     248        }
    249249        return $texte;
    250250}
     
    309309        foreach ($liste_tests as $pattern => $shortcut) {
    310310                preg_match_all($pattern, $texte, $tagMatches, PREG_SET_ORDER);
    311                 $textMatches = preg_split($pattern, $texte);
    312 
    313                 foreach ($tagMatches as $key => $value) {
    314                         $tagMatches [$key][0] = retrouve_document($tagMatches[$key][1], $tagMatches[$key][0], $tagMatches[$key][2], $shortcut);
    315                 }
    316                 for ($i = 0; $i < count($textMatches); ++$i ) {
    317                         $textMatches [$i] = $textMatches [$i].$tagMatches [$i] [0];
    318                 }
    319                 $texte = implode('', $textMatches);
     311                if ($tagMatches) {
     312                        $textMatches = preg_split($pattern, $texte);
     313                        foreach ($textMatches as $key => $value) {
     314                                $tagMatches[$key][0] = retrouve_document($tagMatches[$key][1], $tagMatches[$key][0], $tagMatches[$key][2], $shortcut);
     315                        }
     316                        for ($i = 0; $i < count($tagMatches); ++$i ) {
     317                                $textMatches[$i] = $textMatches[$i] . $tagMatches[$i][0];
     318                        }
     319                        $texte = implode('', $textMatches);
     320                }
    320321        }
    321322
     
    336337        $pattern = ',<(div|span) [^>]*spip_code[^>]*><code>(.*)</code></\\1>,Uims';
    337338        preg_match_all($pattern, $contenu, $codeMatches, PREG_SET_ORDER);
    338         $textMatches = preg_split($pattern, $contenu);
    339 
    340         foreach ($codeMatches as $key => $value) {
    341                 $codeMatches [$key][0] = '<code>'.preg_replace(",<br[^>]*>\s*,i", "\r", $value[2]).'</code>';
    342         }
    343         for ($i = 0; $i < count($textMatches); ++$i ) {
    344                 $textMatches [$i] = $textMatches [$i].$codeMatches [$i] [0];
    345         }
    346         $contenu = implode('', $textMatches);
     339        if ($codeMatches) {
     340                $textMatches = preg_split($pattern, $contenu);
     341                foreach ($codeMatches as $key => $value) {
     342                        $codeMatches [$key][0] = '<code>'.preg_replace(",<br[^>]*>\s*,i", "\r", $value[2]).'</code>';
     343                }
     344                for ($i = 0; $i < count($codeMatches); ++$i ) {
     345                        $textMatches [$i] = $textMatches [$i].$codeMatches [$i] [0];
     346                }
     347                $contenu = implode('', $textMatches);
     348        }
    347349
    348350        return $contenu;
     
    353355        $pattern = ",<div [^>]*spip_poesie[^>]*>((\s*<div>.*</div>)*\s*)</div>,Uims";
    354356        preg_match_all($pattern, $contenu, $poesieMatches, PREG_SET_ORDER);
    355         $textMatches = preg_split($pattern, $contenu);
    356 
    357         foreach ($poesieMatches as $key => $value) {
    358                 $poesieMatches [$key][0] = '<poesie>'.preg_replace(",\s*<div>(.*)</div>,Uim", "\r\\1", $value[1]).'</poesie>';
    359         }
    360         for ($i = 0; $i < count($textMatches); ++$i ) {
    361                 $textMatches [$i] = $textMatches [$i].$poesieMatches [$i] [0];
    362         }
    363         $contenu = implode('', $textMatches);
     357        if ($poesieMatches) {
     358                $textMatches = preg_split($pattern, $contenu);
     359                foreach ($poesieMatches as $key => $value) {
     360                        $poesieMatches[$key][0] = '<poesie>'.preg_replace(",\s*<div>(.*)</div>,Uim", "\r\\1", $value[1]).'</poesie>';
     361                }
     362                for ($i = 0; $i < count($poesieMatches); ++$i ) {
     363                        $textMatches[$i] = $textMatches[$i] . $poesieMatches[$i][0];
     364                }
     365                $contenu = implode('', $textMatches);
     366        }
    364367
    365368        return $contenu;
Note: See TracChangeset for help on using the changeset viewer.