Changeset 39774 in spip-zone


Ignore:
Timestamp:
Aug 11, 2010, 12:28:30 PM (9 years ago)
Author:
joseph@…
Message:

Mise en compatibilité du plugin avec PHP4 avec utilisation d'une version compatible PHP4 de spyc (version utilisée uniquement si PHP < 5).

Location:
_plugins_/yaml
Files:
2 added
2 edited

Legend:

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

    r32843 r39774  
    88# Regle de dev: ne pas se rendre dependant de la lib sous-jacente
    99
    10 // temporaire le temps de tester spyc
    11 define('_LIB_YAML','sfyaml');
    12 #define('_LIB_YAML','spyc');
    13 
     10// Si on est en PHP4
     11 if (version_compare(PHP_VERSION, '5.0.0', '<'))
     12        define('_LIB_YAML','spyc-php4');
     13 else {
     14        // temporaire le temps de tester spyc
     15        define('_LIB_YAML','sfyaml');
     16        #define('_LIB_YAML','spyc');
     17}
    1418/*
    1519 * Encode n'importe quelle structure en yaml
     
    1822 */
    1923function yaml_encode($struct, $opt = array()) {
     24        // Si PHP4
     25        if (_LIB_YAML == 'spyc-php4') {
     26                require_once _DIR_PLUGIN_YAML.'spyc/spyc-php4.php';
     27                return Spyc::YAMLDump($struct);
     28        }
    2029        // test temporaire
    2130        if (_LIB_YAML == 'spyc') {
     
    2332                return Spyc::YAMLDump($struct);
    2433        }
    25         require_once _DIR_PLUGIN_YAML.'sfyaml/sfYaml.php';
    26         require_once _DIR_PLUGIN_YAML.'sfyaml/sfYamlDumper.php';
    27         $opt = array_merge(
    28                 array(
    29                         'inline' => 2
    30                 ), $opt);
    31         $yaml = new sfYamlDumper();
    32         return $yaml->dump($struct, $opt['inline']);
     34
     35        require_once _DIR_PLUGIN_YAML.'inc/yaml_sfyaml.php';
     36        return yaml_sfyaml_encode($input);
    3337}
    3438
     
    3842 */
    3943function yaml_decode($input) {
     44        // Si PHP4
     45        if (_LIB_YAML == 'spyc-php4') {
     46                require_once _DIR_PLUGIN_YAML.'spyc/spyc-php4.php';
     47                return Spyc::YAMLLoad($input);
     48        }
    4049        // test temporaire
    4150        if (_LIB_YAML == 'spyc') {
     
    4352                return Spyc::YAMLLoad($input);
    4453        }
    45         require_once _DIR_PLUGIN_YAML.'sfyaml/sfYaml.php';
    46         require_once _DIR_PLUGIN_YAML.'sfyaml/sfYamlParser.php';
    4754
    48         $yaml = new sfYamlParser();
    49 
    50         try
    51         {
    52           $ret = $yaml->parse($input);
    53         }
    54         catch (Exception $e)
    55         {
    56                 throw new InvalidArgumentException(sprintf('Unable to parse string: %s', $e->getMessage()));
    57         }
    58 
    59         return $ret;
     55        require_once _DIR_PLUGIN_YAML.'inc/yaml_sfyaml.php';
     56        return yaml_sfyaml_decode($input);
    6057}
    6158
  • _plugins_/yaml/plugin.xml

    r32843 r39774  
    55        </auteur>
    66        <version>
    7         1.1
     7        1.2
    88        </version>
    99        <etat>
Note: See TracChangeset for help on using the changeset viewer.