Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 58 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
// +------------------------------------------------------------------------------------------------------+
93 jpm 8
// | This file is part of Serveur eRibosome.                                                              |
51 fred 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
*
93 jpm 31
* Abréviation du programme : ERIBO
51 fred 32
*
93 jpm 33
*@package eRibosome
34
*@subpackage Generateur
51 fred 35
//Auteur original :
36
*@author        Frédéric LEGENS <flegens@free.fr>
37
//Autres auteurs :
38
*@author        Aucun
39
*@copyright     Tela-Botanica 2000-2004
93 jpm 40
*@version       $Revision: 1.5 $ $Date: 2005-01-19 15:43:40 $
51 fred 41
// +------------------------------------------------------------------------------------------------------+
42
*/
43
 
44
// +------------------------------------------------------------------------------------------------------+
45
// |                                            ENTETE du PROGRAMME                                       |
46
// +------------------------------------------------------------------------------------------------------+
47
 
93 jpm 48
require_once '../configuration/eribo_config.php';
49
require_once '../configuration/eribo_config_avancee.inc.php';
53 jpm 50
 
51 fred 51
// +------------------------------------------------------------------------------------------------------+
52
// |                                            CORPS du PROGRAMME                                        |
53
// +------------------------------------------------------------------------------------------------------+
54
 
53 jpm 55
if(!empty($_REQUEST['listemacroelements']))
56
{
57
    genererTousMacroElements(EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_DEF_MACRO);
58
    //genererTousMacroElements('..\\'.$appConfig['def_macro']);
59
}
60
 
61
if(!empty($_REQUEST['groupesmacroelements']))
62
{
63
    genererTousGroupesMacroElements(EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_DEF_MACRO_GROUPE);
64
    //genererTousGroupesMacroElements('..\\'.$appConfig['def_groupes']);
65
}
66
 
51 fred 67
// +------------------------------------------------------------------------------------------------------+
68
// |                                           LISTE de FONCTIONS                                         |
69
// +------------------------------------------------------------------------------------------------------+
70
 
71
function genererTousGroupesMacroElements($chemin)
72
{
53 jpm 73
    $repertoire = openDir($chemin);
74
    while ($fichier = readDir($repertoire)) {
75
        if (($fichier != '.') && ($fichier != '..') && ($fichier != 'CVS')) {
76
            echo '<li>'.$fichier.' début de la génération';
77
            $res = EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_MV_MACRO_GROUPE.$fichier.'.php';
78
            genererFichier(EFSE_CHEMIN_GENE_XSLT.'groupemacroelement.xslt', $chemin.$fichier, $res);
79
            echo 'Fin de la génération';
80
        }
81
    }
82
    closeDir($repertoire);
51 fred 83
}
53 jpm 84
 
51 fred 85
function genererTousMacroElements($chemin)
53 jpm 86
{
87
    $repertoire = openDir($chemin);
88
    while ($fichier = readDir($repertoire)) {
89
        if (($fichier != '.') && ($fichier != '..') && ($fichier != 'CVS')) {
90
            echo '<li>'.$fichier.' début de la génération';
91
            $res = EFSE_CHEMIN_GENERATEUR_RACINE.EFSE_CHEMIN_MV_MACRO.$fichier.'.php';
92
            genererFichier(EFSE_CHEMIN_GENE_XSLT.'macroelement.xslt',$chemin.$fichier,$res);
93
            echo 'Fin de la génération';
94
        }
51 fred 95
    }
53 jpm 96
    closeDir($repertoire);
97
}
98
 
99
function genererFichier($xsltFilePath, $xmlFilePath, $resFilePath)
51 fred 100
{
101
    $processeur = new XSLTprocessor();
53 jpm 102
 
51 fred 103
    $style = new domDocument();
104
    $style->load($xsltFilePath);
53 jpm 105
 
51 fred 106
    $processeur->importStyleSheet($style);
53 jpm 107
 
51 fred 108
    $doc = new domDocument();
53 jpm 109
 
51 fred 110
    $doc->load($xmlFilePath);
53 jpm 111
 
112
    $handle = fopen ($resFilePath, 'w');
113
    fwrite($handle, $processeur->transformToXML($doc));
51 fred 114
    fclose($handle);
115
}
116
 
117
/* +--Fin du code ----------------------------------------------------------------------------------------+
118
*
119
* $Log: not supported by cvs2svn $
93 jpm 120
* Revision 1.4  2004/12/23 15:45:48  jpm
121
* Changement de version de PHP.
122
*
58 jpm 123
* Revision 1.3  2004/12/23 15:21:48  jpm
124
* Mise en conformité convention de codage.
125
*
53 jpm 126
* Revision 1.2  2004/12/22 23:29:15  fred
127
* intégration de la license
51 fred 128
*
53 jpm 129
*
51 fred 130
* +-- Fin du code ----------------------------------------------------------------------------------------+
53 jpm 131
*/
27 jpm 132
?>