Changeset 110648 in spip-zone


Ignore:
Timestamp:
Jun 13, 2018, 8:01:40 PM (3 years ago)
Author:
eric@…
Message:

On corrige la librairie sfyaml qui finalement ne supportait pas le paramétrage de l'indentation.
On copie le fonctionnement de symfony v4 et ça marche.
Donc on a plus de préfixe espaces sur chaque ligne (realet).
Reste à supprimer les open dashes de la chaine produite en YAML avec spyc et libyaml

Location:
_plugins_/yaml/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/yaml/trunk/inc/sfyaml.php

    r110508 r110648  
    2626        // Traitement des options
    2727        if (empty($options['inline']) or (isset($options['inline']) and !is_int($options['inline']))) {
    28                 $options['inline'] = 2;
     28                $options['inline'] = 3;
    2929        }
    3030        if (empty($options['indent']) or (isset($options['indent']) and !is_int($options['indent']))) {
     
    3232        }
    3333
    34         // On crée l'objet de dump.
    35         $yaml = new sfYamlDumper();
     34        // On crée l'objet de dump avec le paramètre d'indentation.
     35        $yaml = new sfYamlDumper($options['indent']);
    3636
    37         return $yaml->dump($structure, $options['inline'], $options['indent']);
     37        return $yaml->dump($structure, $options['inline']);
    3838}
    3939
  • _plugins_/yaml/trunk/inc/symfony.php

    r110508 r110648  
    2727        // Traitement des options du dump
    2828        if (empty($options['inline']) or (isset($options['inline']) and !is_int($options['inline']))) {
    29                 $options['inline'] = 2;
     29                $options['inline'] = 3;
    3030        }
    3131        if (empty($options['indent']) or (isset($options['indent']) and !is_int($options['indent']))) {
  • _plugins_/yaml/trunk/paquet.xml

    r110519 r110648  
    22        prefix="yaml"
    33        categorie="outil"
    4         version="2.0.2"
     4        version="2.0.3"
    55        etat="test"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/yaml/trunk/sfyaml/sfYaml.php

    r110496 r110648  
    126126   * @return string A YAML string representing the original PHP array
    127127   */
    128   public static function dump($array, $inline = 2)
     128  public static function dump($array, $inline = 2, $indent = 2)
    129129  {
    130130    require_once dirname(__FILE__).'/sfYamlDumper.php';
    131131
    132     $yaml = new sfYamlDumper();
     132    $yaml = new sfYamlDumper($indent);
    133133
    134     return $yaml->dump($array, $inline);
     134    return $yaml->dump($array, $inline, 0);
    135135  }
    136136}
  • _plugins_/yaml/trunk/sfyaml/sfYamlDumper.php

    r31565 r110648  
    2121class sfYamlDumper
    2222{
     23  protected $indentation;
     24
     25  /**
     26   * Set indentation on creation.
     27   * @fork correction pour coincider avec le fonctionnement de symfony v4
     28   *       pas de risque car cette librairie n'évoluera plus
     29   *
     30   * @param  integer $indent The amount of spaces to use for indentation of nested nodes.
     31   */
     32  public function __construct($indentation = 2)
     33  {
     34    if ($indentation < 1) {
     35      $this->indentation = 2;
     36    } else {
     37      $this->indentation = $indentation;
     38    }
     39
     40  }
     41
    2342  /**
    2443   * Dumps a PHP value to YAML.
     
    2645   * @param  mixed   $input  The PHP value
    2746   * @param  integer $inline The level where you switch to inline YAML
    28    * @param  integer $indent The level o indentation indentation (used internally)
     47   * @param  integer $indent The level o indentation (used internally)
    2948   *
    3049   * @return string  The YAML representation of the PHP value
     
    5170          $isAHash ? sfYamlInline::dump($key).':' : '-',
    5271          $willBeInlined ? ' ' : "\n",
    53           $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + 2)
     72          $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation)
    5473        ).($willBeInlined ? "\n" : '');
    5574      }
Note: See TracChangeset for help on using the changeset viewer.