Changeset 111770 in spip-zone


Ignore:
Timestamp:
Sep 29, 2018, 8:35:47 AM (15 months ago)
Author:
cedric@…
Message:

Report de r111695 : Fix https://core.spip.net/issues/4132 : une fonction escape/unescape avec de la croute pour echapper sans risque ni failure et ne pas casser le code JS qu'on compresse

Location:
_core_/branches/spip-3.1/plugins
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.1/plugins

  • _core_/branches/spip-3.1/plugins/compresseur

  • _core_/branches/spip-3.1/plugins/compresseur/lib/JavascriptPacker/class.JavaScriptPacker.php

    r104360 r111770  
    725725        function _escape($string, $escapeChar) {
    726726                if ($escapeChar) {
    727                         $this->buffer = $escapeChar;
    728727                        return preg_replace_callback(
    729728                                '/\\' . $escapeChar . '(.)' .'/',
     
    738737// https://code.spip.net/@_escapeBis
    739738        function _escapeBis($match) {
    740                 $this->_escaped[] = $match[1];
    741                 return $this->buffer;
     739                $this->_escaped[] = $match[0];
     740                return "@@@@AVECDELACROUTE".(count($this->_escaped)-1)."@@@@";
    742741        }
    743742
     
    746745        function _unescape($string, $escapeChar) {
    747746                if ($escapeChar) {
    748                         $regexp = '/'.'\\'.$escapeChar.'/';
    749                         $this->buffer = array('escapeChar'=> $escapeChar, 'i' => 0);
     747                        $regexp = '/@@@@AVECDELACROUTE(\d+)@@@@/';
    750748                        return preg_replace_callback
    751749                        (
     
    760758        }
    761759// https://code.spip.net/@_unescapeBis
    762         function _unescapeBis() {
    763                 if (isset($this->_escaped[$this->buffer['i']])
    764                         && $this->_escaped[$this->buffer['i']] != '')
    765                 {
    766                          $temp = $this->_escaped[$this->buffer['i']];
    767                 } else {
    768                         $temp = '';
    769                 }
    770                 $this->buffer['i']++;
    771                 return $this->buffer['escapeChar'] . $temp;
     760        function _unescapeBis($r) {
     761                return $this->_escaped[$r[1]];
    772762        }
    773763
  • _core_/branches/spip-3.1/plugins/compresseur/paquet.xml

    r111768 r111770  
    22        prefix="compresseur"
    33        categorie="performance"
    4         version="1.10.7"
     4        version="1.10.8"
    55        etat="stable"
    66        compatibilite="[3.1.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.