| 53 | jpm | 1 | <?php
 | 
        
           | 51 | fred | 2 | /*vim: set expandtab tabstop=4 shiftwidth=4: */
 | 
        
           |  |  | 3 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           | 58 | jpm | 4 | // | PHP version 5.0.3                                                                                    |
 | 
        
           | 51 | fred | 5 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 6 | // | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
 | 
        
           |  |  | 7 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 8 | // | This file is part of eFlore-Serveur.                                                                 |
 | 
        
           |  |  | 9 | // |                                                                                                      |
 | 
        
           |  |  | 10 | // | Foobar is free software; you can redistribute it and/or modify                                       |
 | 
        
           |  |  | 11 | // | it under the terms of the GNU General Public License as published by                                 |
 | 
        
           |  |  | 12 | // | the Free Software Foundation; either version 2 of the License, or                                    |
 | 
        
           |  |  | 13 | // | (at your option) any later version.                                                                  |
 | 
        
           |  |  | 14 | // |                                                                                                      |
 | 
        
           |  |  | 15 | // | Foobar is distributed in the hope that it will be useful,                                            |
 | 
        
           |  |  | 16 | // | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
 | 
        
           |  |  | 17 | // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
 | 
        
           |  |  | 18 | // | GNU General Public License for more details.                                                         |
 | 
        
           |  |  | 19 | // |                                                                                                      |
 | 
        
           |  |  | 20 | // | You should have received a copy of the GNU General Public License                                    |
 | 
        
           |  |  | 21 | // | along with Foobar; if not, write to the Free Software                                                |
 | 
        
           |  |  | 22 | // | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
 | 
        
           |  |  | 23 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 24 | //
 | 
        
           |  |  | 25 | /**
 | 
        
           |  |  | 26 | * Fichier de traduction des définitions en php.
 | 
        
           |  |  | 27 | *
 | 
        
           |  |  | 28 | * Ce fichier permet de transformer la définition d'un macro-element ou d'un
 | 
        
           |  |  | 29 | * groupe de macro-elements en code php.
 | 
        
           |  |  | 30 | *
 | 
        
           |  |  | 31 | * Abréviation du programme : EFSE
 | 
        
           |  |  | 32 | *
 | 
        
           |  |  | 33 | *@package eFlore-Serveur
 | 
        
           |  |  | 34 | //Auteur original :
 | 
        
           |  |  | 35 | *@author        Frédéric LEGENS <flegens@free.fr>
 | 
        
           |  |  | 36 | //Autres auteurs :
 | 
        
           |  |  | 37 | *@author        Aucun
 | 
        
           |  |  | 38 | *@copyright     Tela-Botanica 2000-2004
 | 
        
           | 58 | jpm | 39 | *@version       $Revision: 1.4 $ $Date: 2004-12-23 15:45:48 $
 | 
        
           | 51 | fred | 40 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 41 | */
 | 
        
           |  |  | 42 |   | 
        
           |  |  | 43 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 44 | // |                                            ENTETE du PROGRAMME                                       |
 | 
        
           |  |  | 45 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 46 |   | 
        
           | 53 | jpm | 47 | require_once '../configuration/eflore_config.php';
 | 
        
           |  |  | 48 | require_once '../configuration/eflore_config_avancee.inc.php';
 | 
        
           |  |  | 49 |   | 
        
           | 51 | fred | 50 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 51 | // |                                            CORPS du PROGRAMME                                        |
 | 
        
           |  |  | 52 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 53 |   | 
        
           | 53 | jpm | 54 | if(!empty($_REQUEST['listemacroelements']))
 | 
        
           |  |  | 55 | {
 | 
        
           |  |  | 56 |     genererTousMacroElements(EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_DEF_MACRO);
 | 
        
           |  |  | 57 |     //genererTousMacroElements('..\\'.$appConfig['def_macro']);
 | 
        
           |  |  | 58 | }
 | 
        
           |  |  | 59 |   | 
        
           |  |  | 60 | if(!empty($_REQUEST['groupesmacroelements']))
 | 
        
           |  |  | 61 | {
 | 
        
           |  |  | 62 |     genererTousGroupesMacroElements(EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_DEF_MACRO_GROUPE);
 | 
        
           |  |  | 63 |     //genererTousGroupesMacroElements('..\\'.$appConfig['def_groupes']);
 | 
        
           |  |  | 64 | }
 | 
        
           |  |  | 65 |   | 
        
           | 51 | fred | 66 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 67 | // |                                           LISTE de FONCTIONS                                         |
 | 
        
           |  |  | 68 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 69 |   | 
        
           |  |  | 70 | function genererTousGroupesMacroElements($chemin)
 | 
        
           |  |  | 71 | {
 | 
        
           | 53 | jpm | 72 |     $repertoire = openDir($chemin);
 | 
        
           |  |  | 73 |     while ($fichier = readDir($repertoire)) {
 | 
        
           |  |  | 74 |         if (($fichier != '.') && ($fichier != '..') && ($fichier != 'CVS')) {
 | 
        
           |  |  | 75 |             echo '<li>'.$fichier.' début de la génération';
 | 
        
           |  |  | 76 |             $res = EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_MV_MACRO_GROUPE.$fichier.'.php';
 | 
        
           |  |  | 77 |             genererFichier(EFSE_CHEMIN_GENE_XSLT.'groupemacroelement.xslt', $chemin.$fichier, $res);
 | 
        
           |  |  | 78 |             echo 'Fin de la génération';
 | 
        
           |  |  | 79 |         }
 | 
        
           |  |  | 80 |     }
 | 
        
           |  |  | 81 |     closeDir($repertoire);
 | 
        
           | 51 | fred | 82 | }
 | 
        
           | 53 | jpm | 83 |   | 
        
           | 51 | fred | 84 | function genererTousMacroElements($chemin)
 | 
        
           | 53 | jpm | 85 | {
 | 
        
           |  |  | 86 |     $repertoire = openDir($chemin);
 | 
        
           |  |  | 87 |     while ($fichier = readDir($repertoire)) {
 | 
        
           |  |  | 88 |         if (($fichier != '.') && ($fichier != '..') && ($fichier != 'CVS')) {
 | 
        
           |  |  | 89 |             echo '<li>'.$fichier.' début de la génération';
 | 
        
           |  |  | 90 |             $res = EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_MV_MACRO.$fichier.'.php';
 | 
        
           |  |  | 91 |             genererFichier(EFSE_CHEMIN_GENE_XSLT.'macroelement.xslt',$chemin.$fichier,$res);
 | 
        
           |  |  | 92 |             echo 'Fin de la génération';
 | 
        
           |  |  | 93 |         }
 | 
        
           | 51 | fred | 94 |     }
 | 
        
           | 53 | jpm | 95 |     closeDir($repertoire);
 | 
        
           |  |  | 96 | }
 | 
        
           |  |  | 97 |   | 
        
           |  |  | 98 | function genererFichier($xsltFilePath, $xmlFilePath, $resFilePath)
 | 
        
           | 51 | fred | 99 | {
 | 
        
           |  |  | 100 |     $processeur = new XSLTprocessor();
 | 
        
           | 53 | jpm | 101 |   | 
        
           | 51 | fred | 102 |     $style = new domDocument();
 | 
        
           |  |  | 103 |     $style->load($xsltFilePath);
 | 
        
           | 53 | jpm | 104 |   | 
        
           | 51 | fred | 105 |     $processeur->importStyleSheet($style);
 | 
        
           | 53 | jpm | 106 |   | 
        
           | 51 | fred | 107 |     $doc = new domDocument();
 | 
        
           | 53 | jpm | 108 |   | 
        
           | 51 | fred | 109 |     $doc->load($xmlFilePath);
 | 
        
           | 53 | jpm | 110 |   | 
        
           |  |  | 111 |     $handle = fopen ($resFilePath, 'w');
 | 
        
           |  |  | 112 |     fwrite($handle, $processeur->transformToXML($doc));
 | 
        
           | 51 | fred | 113 |     fclose($handle);
 | 
        
           |  |  | 114 | }
 | 
        
           |  |  | 115 |   | 
        
           |  |  | 116 | /* +--Fin du code ----------------------------------------------------------------------------------------+
 | 
        
           |  |  | 117 | *
 | 
        
           |  |  | 118 | * $Log: not supported by cvs2svn $
 | 
        
           | 58 | jpm | 119 | * Revision 1.3  2004/12/23 15:21:48  jpm
 | 
        
           |  |  | 120 | * Mise en conformité convention de codage.
 | 
        
           |  |  | 121 | *
 | 
        
           | 53 | jpm | 122 | * Revision 1.2  2004/12/22 23:29:15  fred
 | 
        
           |  |  | 123 | * intégration de la license
 | 
        
           | 51 | fred | 124 | *
 | 
        
           | 53 | jpm | 125 | *
 | 
        
           | 51 | fred | 126 | * +-- Fin du code ----------------------------------------------------------------------------------------+
 | 
        
           | 53 | jpm | 127 | */
 | 
        
           | 27 | jpm | 128 | ?>
 |