Changeset 32270 in spip-zone


Ignore:
Timestamp:
Oct 21, 2009, 9:51:03 PM (11 years ago)
Author:
prigent.yohann@…
Message:

des syntaxes de fichie plus simple avec serialize et unserialize... + cosmétique

Location:
_plugins_/savecfg
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/savecfg/formulaires/exporter_savecfg.html

    r31247 r32270  
    11#SET{fond, #SELF|match{(cfg=)(\w+?),2}}
    22<B_savecfg_export>
     3<hr />
    34<div class="formulaire_spip formulaire_savecfg">
    45        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
  • _plugins_/savecfg/formulaires/exporter_savecfg.php

    r31224 r32270  
    1616function exporter_savecfg() {
    1717        $fichier = '';
    18         $i = 0;
     18        $save = array();
    1919        foreach (_request('export') as $key=>$value) {
    2020                if ($value == 'on') {
    21                  $sfg = sql_fetsel(array('fond', 'valeur', 'titre'), 'spip_savecfg', 'id_savecfg='.sql_quote($key));
    22                 if ($i > 0)
    23                         $fichier .= ':!;!:';
    24                 $fichier .= '!:;:!';
    25                 $fichier .= $sfg['fond'];
    26                 $fichier .= '!:;:!';
    27                 $fichier .= $sfg['valeur'];
    28                 $fichier .= '!:;:!';
    29                 $fichier .= $sfg['titre'];
    30                 $i++;
     21                $sfg = sql_fetsel(array('fond', 'valeur', 'titre', 'date'), 'spip_savecfg', 'id_savecfg='.sql_quote($key));
     22                $save[$sfg['titre']] = array( 'id_savecfg' => $key, 'fond' => $sfg['fond'], 'valeur' => $sfg['valeur'], 'date' => $sfg['date']);
    3123                }
    3224        }
     25        $save = serialize($save);
    3326        header("Content-type: application/cfg");
    3427        header("Content-disposition: attachment; filename=SaveCFG_" . date("Ymd").".cfg");
    35         echo ($fichier);
     28        echo ($save);
    3629        exit;
    3730        return true;
  • _plugins_/savecfg/formulaires/gerer_savecfg.html

    r31267 r32270  
    22<B_savecfg>
    33<div class="ajax formulaire_spip formulaire_savecfg">
     4        <hr />
    45        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    56        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
  • _plugins_/savecfg/formulaires/importer_savecfg.php

    r31224 r32270  
    99        $erreurs = array();
    1010        if (strtolower(substr(strrchr($_FILES['fichier']['name'], '.'),1)) != 'cfg')
    11                 $erreurs['message_erreur'] == 'mauvaise extension';
    12         $file = explode(':!;!:', file_get_contents($_FILES['fichier']['tmp_name']));
     11                $erreurs['message_erreur'] == _T('savecfg:fichier_mauvaise_extension');
     12        $file = unserialize(file_get_contents($_FILES['fichier']['tmp_name']));
    1313        foreach($file as $save=>$value) {
    14                 $content = explode('!:;:!', $value);
    15         if ((!is_array(unserialize($content[2]))) OR (count($content) < 4))
    16                 $erreurs['message_erreur'] = 'mauvais';
    17         }
     14                if ((!is_array($file[$save])) OR (count($file[$save]) < 4))
     15                        $erreurs['message_erreur'] = _T('savecfg:fichier_mauvaise_syntaxe');
     16                }
    1817        return $erreurs;
    1918}
     
    2322}
    2423function importer_savecfg($fichier) {
    25         $file = explode(':!;!:', file_get_contents($_FILES[$fichier]['tmp_name']));
     24        $file = unserialize(file_get_contents($_FILES['fichier']['tmp_name']));
    2625        foreach($file as $save=>$value) {
    27                 $content = explode('!:;:!', $value);
    28                 sql_insertq(
    29                         'spip_savecfg',
    30                         array(
    31                                 'id_savecfg' => $content[0],
    32                                 'fond' => $content[1],
    33                                 'valeur' => $content[2],
    34                                 'titre' => $content[3],
    35                                 'date' => date('Y-m-d H:m:s')
    36                         )
    37                 );
     26                foreach($file[$save] as $mat=>$content) {
     27                        if ($mat == 'id_savecfg')
     28                                $file[$save][$mat] = '';
     29                        $file[$save]['titre'] = $save;
     30                }
     31                sql_insertq('spip_savecfg', $file[$save]);
    3832        }
    3933        return _T('savecfg:import_ok');
  • _plugins_/savecfg/lang/savecfg_fr.php

    r31224 r32270  
    55        'exporter_savecfg' => 'Exporter des sauvegardes',
    66        'fichier_import' => 'Choisissez le fichier &agrave; importer au format .cfg',
     7        'fichier_mauvaise_extension' => 'Fichier invalide : Mauvaise extension',
     8        'fichier_mauvaise_syntaxe' => 'Fichier invalide : Mauvaise syntaxe',
    79        'gerer_restauration' => 'G&eacute;rer les restaurations du fond <b>@fond@</b>',
    810        'import_ok' => 'Import effectu&eacute;e',
  • _plugins_/savecfg/prive/formulaire_savecfg_import.html

    r31240 r32270  
     1<hr />
    12#FORMULAIRE_IMPORTER_SAVECFG
    23
  • _plugins_/savecfg/prive/formulaires_savecfg.html

    r31240 r32270  
    22<BOUCLE_present2(META){nom=#GET{fond}}{0,1}>
    33#FORMULAIRE_SAUVEGARDER_SAVECFG
    4 
    54</BOUCLE_present2>
    65#FORMULAIRE_GERER_SAVECFG
Note: See TracChangeset for help on using the changeset viewer.