source: spip-zone/_plugins_/spip_proprietaire/exec/spip_proprio_tech.php @ 48801

Last change on this file since 48801 was 48801, checked in by piero.wbmstr@…, 10 years ago

Modification de tous les appels de langue suite à commits 48650 et 48651

  • Property svn:executable set to *
File size: 6.2 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3//ini_set('display_errors', 1);error_reporting(E_ALL);
4
5function spip_proprio_exporter($what=array()){
6        $code = '';
7        if(isset($what['configuration']) && $what['configuration']=='oui') {
8                $conf = spip_proprio_recuperer_config();
9                $code .= "\n".'$proprio_config = '.var_export($conf, true).";\n";
10        }
11        if(isset($what['languages']) && $what['languages']=='oui') {
12                $langues_du_site = array('fr');
13                foreach(array('langues_utilisees', 'langues_multilingue', 'langue_site') as $ln_meta) {
14                        if (isset($GLOBALS['meta'][$ln_meta]))
15                                $langues_du_site = array_merge($langues_du_site, explode(',',$GLOBALS['meta'][$ln_meta]));
16                }
17                $langues_du_site = array_unique($langues_du_site);
18                foreach($langues_du_site as $ln) {
19                        spip_proprio_proprietaire_texte('', '', $ln);
20//                      spip_proprio_proprietaire_texte();
21                        $code .= "\n".'$proprio_i18n_proprietaire_'.$ln.' = '.var_export($GLOBALS['i18n_proprietaire_'.$ln], true).";\n";
22                }
23        }
24
25        $code = "// Exportation config SPIP Proprio\n// Site d'origine : ".$GLOBALS['meta']['nom_site']."\n// Cree le : ".date("Y-m-d H:i:s")."\n".$code;
26        $fichier_dump = 'spiproprio_export_'.date('Ymd').'.php.gz';
27        $log = ecrire_fichier(_DIR_DUMP.$fichier_dump, '<'."?php\n$code\n?".'>', true);
28        if ($log);
29                return $fichier_dump;
30        return false;
31}
32
33function spip_proprio_importer($file=null){
34        if (is_null($file)) return;
35        $ok = false;
36
37        $archive = _DIR_DUMP.$file;
38        if (@file_exists($archive) AND $gz = gzopen($archive, "rb")) {
39                $php='';
40            while(!gzeof($gz)) {
41                $text = gzgets($gz, 1024);
42                if(!substr_count($text, '<?php') && !substr_count($text, '?>'))
43                        $php .= $text;
44            }
45//          var_export($php); exit;
46            eval("$php");
47            if (isset($proprio_config)) {
48                        include_spip('inc/meta');
49                        $ok = ecrire_meta(_META_SPIP_PROPRIO, serialize($proprio_config), 'non');
50                        ecrire_metas();
51                       
52                }
53                foreach(explode(',', $GLOBALS['meta']['langues_proposees']) as $ln_spip) {
54                        $ln_glb = "proprio_i18n_proprietaire_$ln_spip";
55                        if (isset($$ln_glb)) {
56                                $ok = creer_fichier_textes_proprietaire($ln_glb, $ln_spip);
57                        }
58                }
59        }
60        return $ok;
61}
62
63function liste_proprio_dump() {
64        $str = '';
65        $liste_dump = preg_files(_DIR_DUMP,'\.php\.gz?$',50,false);
66        if ($liste_dump && count($liste_dump))
67                foreach($liste_dump as $i=>$file) {
68                        $filename = substr($file, strrpos($file, '/')+1);
69                        $filename_short = str_replace('.php.gz', '', $filename);
70                        $str .= "<option value='$filename'>$filename_short</option>";
71                }
72        return $str;
73}
74
75function exec_spip_proprio_tech() {
76        global $connect_statut, $spip_lang_right, $spip_lang_left;
77        if ($connect_statut != "0minirezo" ) { include_spip('inc/minipres'); echo minipres(); exit; }
78        include_spip('inc/presentation');
79        $commencer_page = charger_fonction('commencer_page', 'inc');
80        $titre_page = _T('spipproprio:proprietaire_export_import');
81
82// --------
83// Traitement du formulaire
84        $msg_export = $msg_import = false;
85        if ($a = _request('do_proprio_export')) {
86                $datas = array(
87                        'configuration' => _request('configuration'),
88                        'languages' => _request('languages'),
89                );
90                if( $ok = spip_proprio_exporter($datas) )
91                        $msg_export = _T('spipproprio:ok_export', array('fichier'=>_DIR_DUMP.$ok));
92                else $msg_export = _T('spipproprio:erreur_export');
93        }
94        elseif ($a = _request('do_proprio_import')) {
95                $archive = _request('import_archive');
96                if( $ok = spip_proprio_importer($archive) )
97                        $msg_import = _T('spipproprio:ok_import');
98                else $msg_import = _T('spipproprio:erreur_import');
99        }
100// -------
101
102        $contenu = debut_cadre_trait_couleur("rien.gif", true, "", _T('spipproprio:outil_exporter'))
103                .( $msg_export ? "<p><strong>".$msg_export."</strong></p>" : '' )
104                ."<form method='get' action='' enctype='multipart/form-data'><div>
105                        <input type='hidden' name='exec' value='spip_proprio_tech' />
106                        <input type='hidden' name='do_proprio_export' value='oui' />
107                        <p class='editer'><label>
108                                <input type='checkbox' class='checkbox' name='configuration' id='configuration' value='oui' />
109                                "._T('spipproprio:exporter_configuration')."</label>
110                        </p>
111                        <p class='editer'><label>
112                                <input type='checkbox' class='checkbox' name='languages' id='languages' value='oui' />
113                                "._T('spipproprio:exporter_fichiers_langues')."</label>
114                        </p>
115                        <span><input type='submit' value='"._T('spipproprio:bouton_exporter')."' class='fondo' style='float: right' /></span>
116                </div></form>"
117                . fin_cadre_trait_couleur(true);
118        $liste = liste_proprio_dump();
119        if($liste)
120                $contenu .= debut_cadre_trait_couleur("rien.gif", true, "", _T('spipproprio:outil_importer'))
121                .( $msg_import ? "<p><strong>".$msg_import."</strong></p>" : '' )
122                . "\n<div class='verdana2' style='margin:1em;text-align: justify'>"
123                . http_img_pack("warning.gif", (_T('avis_attention')),
124                        "width='48' height='48' style='float: $spip_lang_right; padding-$spip_lang_left: 10px;'")
125                . _T('spipproprio:import_avertissement')
126                . "</div><br class=\"nettoyeur\" />"
127                ."<form method='get' action='' enctype='multipart/form-data'><div>
128                        <input type='hidden' name='exec' value='spip_proprio_tech' />
129                        <input type='hidden' name='do_proprio_import' value='oui' />
130                        <p class='editer'><label>
131                                "._T('spipproprio:importer_dump')."
132                                <select name='import_archive' id='import_archive'>
133                                ".$liste."
134                                </select>
135                                </label>
136                        </p>
137                        <p><small>"._T('spipproprio:sauvegardes_dans_dump')."</small></p>
138                        <span><input type='submit' value='"._T('spipproprio:bouton_importer')."' class='fondo' style='float: right' /></span>
139                </div></form>"
140                . fin_cadre_trait_couleur(true);
141        $info_texte = icone_horizontale(_T('spipproprio:proprietaire_retour_plateforme'), generer_url_ecrire('spip_proprio'), find_in_path('images/idisk-dir-24.png'), 'rien.gif', false);
142        $info_supp = _T("spipproprio:proprietaire_export_import_texte_supp");
143        $icone = find_in_path('images/stock_export.png');
144
145
146        echo($commencer_page(_T('spipproprio:spip_proprio')." - ".$titre_page, 'configuration', "configuration")),
147                "<br /><br />", debut_gauche('', true),
148                debut_cadre_relief($icone, true, "", $titre_page), $info_supp, $info_texte, fin_cadre_relief(true), 
149                "<br class='nettoyeur' />", creer_colonne_droite('', true), debut_droite('', true), 
150                gros_titre($titre_page,'', false), $contenu, fin_gauche(), fin_page();
151}
152
153?>
Note: See TracBrowser for help on using the repository browser.