Subversion Repositories Applications.papyrus

Rev

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

Rev Author Line No. Line
6 jpm 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
270 jpm 22
// CVS : $Id: afficheur.php,v 1.4 2005-02-22 18:25:13 jpm Exp $
6 jpm 23
/**
24
* Application réalisant l'affichage du contenu stocké dans Papyrus.
25
*
26
* Récupère le dernier contenu lié à un menu et le retourne.
27
*
28
*@package Afficheur
29
//Auteur original :
30
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
31
//Autres auteurs :
32
*@author        Alexandre GRANIER <alexandrel@tela-botanica.org>
33
*@copyright     Tela-Botanica 2000-2004
270 jpm 34
*@version       $Revision: 1.4 $ $Date: 2005-02-22 18:25:13 $
6 jpm 35
// +------------------------------------------------------------------------------------------------------+
36
*/
37
 
38
// +------------------------------------------------------------------------------------------------------+
39
// |                                            ENTÊTE du PROGRAMME                                       |
40
// +------------------------------------------------------------------------------------------------------+
181 jpm 41
/** Inclusion du fichier de configuration de cette application.*/
42
require_once GEN_CHEMIN_PAP.'applications/afficheur/configuration/affi_configuration.inc.php';
43
/** Inclusion de la bibliothèque PEAR Text_Wiki.*/
44
require_once AFFI_CHEMIN_BIBLIOTHEQUE_PEAR.'Text/Wiki.php';
6 jpm 45
 
46
// +------------------------------------------------------------------------------------------------------+
47
// |                                            CORPS du PROGRAMME                                        |
48
// +------------------------------------------------------------------------------------------------------+
49
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus.
50
*
51
* Elle retourne l'entête de l'application..
52
*
53
* @return  string  du code XHTML correspondant à la zone d'entête de l'application.
54
*/
55
function afficherContenuTete()
56
{
57
    return '';
58
}
59
 
60
/** Fonction afficherContenuCorps() - Fonction appelé par le gestionnaire Papyrus.
61
*
62
* Elle retourne le contenu stocké dans Papyrus pour le menu courant demandé.
63
*
64
* @return  string  du code XHTML correspondant au contenu du menu demandé.
65
*/
66
function afficherContenuCorps()
67
{
68
    //----------------------------------------------------------------------------
69
    // Initialisation des variable
70
    $retour = '';
181 jpm 71
 
6 jpm 72
    //----------------------------------------------------------------------------
73
    // Récupération du dernier contenu
181 jpm 74
    $requete =  'SELECT gmc_contenu, gmc_ce_type_contenu '.
6 jpm 75
                'FROM gen_menu_contenu '.
181 jpm 76
                'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '.
6 jpm 77
                'AND gmc_bool_dernier = 1';
78
 
181 jpm 79
    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
270 jpm 80
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
6 jpm 81
    $ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
181 jpm 82
    $contenu = $ligne_contenu->gmc_contenu;
6 jpm 83
 
181 jpm 84
    /** Inclusion de la bibliothèque Text_Wiki_Papyrus.*/
225 jpm 85
    include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_papyrus/Papyrus.class.php';
181 jpm 86
    // Nous regardons si nous avons à faire à un texte sous format Wikini
87
    if ($ligne_contenu->gmc_ce_type_contenu == 1) {
88
        // Création d'un objet Text_Papyrus :
89
        $papyrus =& new Text_Papyrus();
90
        // Pour éviter de remplacer les caractères spéciaux du XHTML:
91
        $papyrus->setFormatConf('Xhtml', 'translate', false);
92
        // Pour indiquer le jeu de caractères (encodage) de la page courante :
93
        $papyrus->setRenderConf('Xhtml', 'inclure', 'encodage', $GLOBALS['_AFFICHEUR']['jeu_de_caracteres']);
94
        // Pour indiquer les infos sur les pages des sites à intégrer :
95
        $papyrus->setRenderConf('Xhtml', 'inclure', 'sites', $GLOBALS['_AFFICHEUR']['inclure_sites']);
96
        // Application des règles de Papyrus :
97
        $retour = $papyrus->transform($contenu, 'Xhtml');
98
    } else if ($ligne_contenu->gmc_ce_type_contenu == 2) {
225 jpm 99
        include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
181 jpm 100
        // Création d'un objet Text_Wikini :
101
        $wikini =& new Text_Wikini();
102
        // Pour éviter de remplacer les caractères spéciaux du XHTML:
103
        $wikini->setFormatConf('Xhtml', 'translate', false);
104
        // Configuration de la règle Freelink :
105
        $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
106
        $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
107
        // Configuration de la règle Interwiki :
108
        $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
109
        // Application des règles de Wikini :
110
        $contenu = $wikini->transform($contenu, 'Xhtml');
111
        // Création d'un objet Text_Papyrus :
112
        $papyrus =& new Text_Papyrus();
113
        // Pour éviter de remplacer les caractères spéciaux du XHTML:
114
        $papyrus->setFormatConf('Xhtml', 'translate', false);
115
        // Pour indiquer le jeu de caractères (encodage) de la page courante :
116
        $papyrus->setRenderConf('Xhtml', 'inclure', 'encodage', $GLOBALS['_AFFICHEUR']['jeu_de_caracteres']);
117
        // Pour indiquer les infos sur les pages des sites à intégrer :
118
        $papyrus->setRenderConf('Xhtml', 'inclure', 'sites', $GLOBALS['_AFFICHEUR']['inclure_sites']);
119
        // Application des règles de Papyrus :
120
        $retour = $papyrus->transform($contenu, 'Xhtml');
121
    }
122
 
6 jpm 123
    //----------------------------------------------------------------------------
124
    // Renvoie du contenu de la page
125
    return $retour;
126
}
127
// +------------------------------------------------------------------------------------------------------+
128
// |                                           LISTE de FONCTIONS                                         |
129
// +------------------------------------------------------------------------------------------------------+
130
 
181 jpm 131
 
132
 
6 jpm 133
// +------------------------------------------------------------------------------------------------------+
134
// |                                            PIED du PROGRAMME                                         |
135
// +------------------------------------------------------------------------------------------------------+
136
 
137
 
181 jpm 138
 
6 jpm 139
/* +--Fin du code ----------------------------------------------------------------------------------------+
140
*
141
* $Log: not supported by cvs2svn $
270 jpm 142
* Revision 1.3  2004/12/07 12:24:30  jpm
143
* Changement chemin d'accés à l'api Text/Wiki...
144
*
225 jpm 145
* Revision 1.2  2004/11/26 13:10:05  jpm
146
* Utilisation des actions Papyrus et implémentation de la syntaxe Wikini.
147
*
181 jpm 148
* Revision 1.1  2004/06/16 14:35:26  jpm
149
* Changement de nom de Génésia en Papyrus.
150
* Changement de l'arborescence.
151
*
6 jpm 152
* Revision 1.12  2004/05/05 11:35:12  jpm
153
* Amélioration de la gestion de l'internationalisation.
154
*
155
* Revision 1.11  2004/05/05 06:45:40  jpm
156
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
157
*
158
* Revision 1.10  2004/05/04 16:28:22  jpm
159
* Réduction de code pour la fonction afficherContenuTete().
160
*
161
*
162
* +-- Fin du code ----------------------------------------------------------------------------------------+
163
*/
181 jpm 164
?>