Subversion Repositories Applications.papyrus

Rev

Rev 2087 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2087 Rev 2150
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
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                                  |
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                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: afficheur.php,v 1.14 2007-06-26 15:38:39 jp_milcent Exp $
22
// CVS : $Id: afficheur.php,v 1.14 2007-06-26 15:38:39 jp_milcent Exp $
23
/**
23
/**
24
* Application réalisant l'affichage du contenu stocké dans Papyrus.
24
* Application réalisant l'affichage du contenu stocké dans Papyrus.
25
*
25
*
26
* Récupère le dernier contenu lié à un menu et le retourne.
26
* Récupère le dernier contenu lié à un menu et le retourne.
27
*
27
*
28
*@package Afficheur
28
*@package Afficheur
29
//Auteur original :
29
//Auteur original :
30
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
30
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
31
//Autres auteurs :
31
//Autres auteurs :
32
*@author        Alexandre GRANIER <alexandrel@tela-botanica.org>
32
*@author        Alexandre GRANIER <alexandrel@tela-botanica.org>
33
*@copyright     Tela-Botanica 2000-2004
33
*@copyright     Tela-Botanica 2000-2004
34
*@version       $Revision: 1.14 $ $Date: 2007-06-26 15:38:39 $
34
*@version       $Revision: 1.14 $ $Date: 2007-06-26 15:38:39 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
37
 
37
 
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
39
// |                                            ENTÊTE du PROGRAMME                                       |
39
// |                                            ENTÊTE du PROGRAMME                                       |
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
41
/** Inclusion du fichier de configuration de cette application.*/
41
/** Inclusion du fichier de configuration de cette application.*/
42
require_once GEN_CHEMIN_PAP.'applications/afficheur/configuration/affi_configuration.inc.php';
42
require_once GEN_CHEMIN_PAP.'applications/afficheur/configuration/affi_configuration.inc.php';
43
// Inclusion de la bibliothèque PEAR Text_Wiki réalisées par Papyrus.
43
// Inclusion de la bibliothèque PEAR Text_Wiki réalisées par Papyrus.
44
 
44
 
45
// +------------------------------------------------------------------------------------------------------+
45
// +------------------------------------------------------------------------------------------------------+
46
// |                                            CORPS du PROGRAMME                                        |
46
// |                                            CORPS du PROGRAMME                                        |
47
// +------------------------------------------------------------------------------------------------------+
47
// +------------------------------------------------------------------------------------------------------+
48
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus.
48
/** Fonction afficherContenuTete() - Fonction appelé par le gestionnaire Papyrus.
49
*
49
*
50
* Elle retourne l'entête de l'application..
50
* Elle retourne l'entête de l'application..
51
*
51
*
52
* @return  string  du code XHTML correspondant à la zone d'entête de l'application.
52
* @return  string  du code XHTML correspondant à la zone d'entête de l'application.
53
*/
53
*/
54
function afficherContenuTete()
54
function afficherContenuTete()
55
{
55
{
56
    return '';
56
    return '';
57
}
57
}
58
 
58
 
59
function afficherContenuCorps() {
59
function afficherContenuCorps() {
60
	// si moteur de recherche est actif (paramètre "search") on ne poursuit pas la construction du corps de page
-
 
61
	// cf: papyrus/applettes/google/google.php
-
 
62
	if(isset($_GET['r'])) return '';
-
 
63
 
-
 
64
	$retour = '';
60
	$retour = '';
65
    $db = $GLOBALS['_AFFICHEUR']['objet_pear_db'];
61
    $db = $GLOBALS['_AFFICHEUR']['objet_pear_db'];
66
	$id_or = GEN_rechercheMenuCode($db, GEN_rechercheMenuIdentifiant($db, $GLOBALS['_AFFICHEUR']['menu_courant_id']));
62
	$id_or = GEN_rechercheMenuCode($db, GEN_rechercheMenuIdentifiant($db, $GLOBALS['_AFFICHEUR']['menu_courant_id']));
67
 
63
 
68
    $ligne_contenu = GEN_rechercheContenu($db, $id_or);
64
    $ligne_contenu = GEN_rechercheContenu($db, $id_or);
69
	        
65
	        
70
	$contenu = $ligne_contenu->gmc_contenu;
66
	$contenu = $ligne_contenu->gmc_contenu;
71
	
67
	
72
	// Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement
68
	// Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement
73
	// Les actions Text_Wiki_Papyrus sont gérées par Papyrus
69
	// Les actions Text_Wiki_Papyrus sont gérées par Papyrus
74
	
70
	
75
	// Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML
71
	// Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML
76
	if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) {
72
	if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) {
77
	    $retour = $contenu;
73
	    $retour = $contenu;
78
	} elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){
74
	} elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){
79
	    include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
75
	    include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
80
	    // Création d'un objet Text_Wikini :
76
	    // Création d'un objet Text_Wikini :
81
	    $wikini =& new Text_Wikini();
77
	    $wikini =& new Text_Wikini();
82
	    // Pour éviter de remplacer les caractères spéciaux du XHTML:
78
	    // Pour éviter de remplacer les caractères spéciaux du XHTML:
83
	    $wikini->setFormatConf('Xhtml', 'translate', false);
79
	    $wikini->setFormatConf('Xhtml', 'translate', false);
84
	    // Configuration de la règle Freelink :
80
	    // Configuration de la règle Freelink :
85
	    $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
81
	    $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
86
	    $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
82
	    $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
87
	    // Configuration de la règle Interwiki :
83
	    // Configuration de la règle Interwiki :
88
	    $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
84
	    $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
89
	    // Application des règles de Wikini :
85
	    // Application des règles de Wikini :
90
	    $retour = $wikini->transform($contenu, 'Xhtml');
86
	    $retour = $wikini->transform($contenu, 'Xhtml');
91
	}
87
	}
92
  
88
	
93
	// +---------------------------------------------------------------------------------------------------------------+
89
	// +---------------------------------------------------------------------------------------------------------------+
94
	// Nous regardons si nous voulons surligner ou pas des mots
90
	// Nous regardons si nous voulons surligner ou pas des mots
95
	if (isset($_GET['var_recherche'])) {
91
	if (isset($_GET['var_recherche'])) {
96
		$tab_mots = explode(' ', rawurldecode($_GET['var_recherche']));
92
		$tab_mots = explode(' ', rawurldecode($_GET['var_recherche']));
97
		foreach ($tab_mots as $mot) {
93
		foreach ($tab_mots as $mot) {
98
			if (strlen($mot) >= 2) {
94
			if (strlen($mot) >= 2) {
99
				$regexp = '/(>[^<]*)('.$mot.'\b)/Uis';
95
				$regexp = '/(>[^<]*)('.$mot.'\b)/Uis';
100
				$retour = preg_replace($regexp, '$1<span class="surlignage">$2</span>', $retour);
96
				$retour = preg_replace($regexp, '$1<span class="surlignage">$2</span>', $retour);
101
			}
97
			}
102
		}
98
		}
103
	}
99
	}
104
	
100
	
105
    //----------------------------------------------------------------------------
101
    //----------------------------------------------------------------------------
106
    // Renvoie du contenu de la page
102
    // Renvoie du contenu de la page
107
    return $retour;
103
    return $retour;
108
}
104
}
109
	
105
	
110
 
106
 
111
 
107
 
112
/** Fonction afficherContenuCorps() - Fonction appelé par le gestionnaire Papyrus.
108
/** Fonction afficherContenuCorps() - Fonction appelé par le gestionnaire Papyrus.
113
*
109
*
114
* Elle retourne le contenu stocké dans Papyrus pour le menu courant demandé.
110
* Elle retourne le contenu stocké dans Papyrus pour le menu courant demandé.
115
*
111
*
116
* @return  string  du code XHTML correspondant au contenu du menu demandé.
112
* @return  string  du code XHTML correspondant au contenu du menu demandé.
117
*/
113
*/
118
function afficherContenuCorpsOld()
114
function afficherContenuCorpsOld()
119
{
115
{
120
    //----------------------------------------------------------------------------
116
    //----------------------------------------------------------------------------
121
    // Initialisation des variable
117
    // Initialisation des variable
122
    $retour = '';
118
    $retour = '';
123
    
119
    
124
    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
120
    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
125
    
121
    
126
    if (isset($id_langue) && ($id_langue!='')) {
122
    if (isset($id_langue) && ($id_langue!='')) {
127
		$langue_test=$id_langue;
123
		$langue_test=$id_langue;
128
	} else {
124
	} else {
129
		$langue_test=GEN_I18N_ID_DEFAUT;
125
		$langue_test=GEN_I18N_ID_DEFAUT;
130
	}
126
	}
131
 
127
 
132
	//-------------------------------------------------------------------------------------------------------------------
128
	//-------------------------------------------------------------------------------------------------------------------
133
        // Récupération des informations du contenu concerné.
129
        // Récupération des informations du contenu concerné.
134
     $ligne_menu = GEN_lireInfoMenu($GLOBALS['_AFFICHEUR']['objet_pear_db'], $GLOBALS['_AFFICHEUR']['menu_courant_id'], DB_FETCHMODE_ASSOC);
130
     $ligne_menu = GEN_lireInfoMenu($GLOBALS['_AFFICHEUR']['objet_pear_db'], $GLOBALS['_AFFICHEUR']['menu_courant_id'], DB_FETCHMODE_ASSOC);
135
        
131
        
136
        
132
        
137
     if ($ligne_menu == false) {
133
     if ($ligne_menu == false) {
138
            die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'.
134
            die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'.
139
                'Idenitifiant du menu n° : '. $GLOBALS['_AFFICHEUR']['objet_pear_db'] .'<br />'.
135
                'Idenitifiant du menu n° : '. $GLOBALS['_AFFICHEUR']['objet_pear_db'] .'<br />'.
140
                'Ligne n° : '. __LINE__ .'<br />'.
136
                'Ligne n° : '. __LINE__ .'<br />'.
141
                'Fichier n° : '. __FILE__ .'<br />');
137
                'Fichier n° : '. __FILE__ .'<br />');
142
     }
138
     }
143
        
139
        
144
 
140
 
145
    // Comment ca marche ?
141
    // Comment ca marche ?
146
    // Historiquement, le code menu est associé au contenu
142
    // Historiquement, le code menu est associé au contenu
147
    // Depuis le passage au multilinguisme : ce comportement est conservé mais :
143
    // Depuis le passage au multilinguisme : ce comportement est conservé mais :
148
    // Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le 
144
    // Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le 
149
    // type contenu.
145
    // type contenu.
150
    
146
    
151
    // Récupération identifiant du menu en cours 
147
    // Récupération identifiant du menu en cours 
152
    
148
    
153
    $requete =  'SELECT gm_id_menu, gm_code_num   '.
149
    $requete =  'SELECT gm_id_menu, gm_code_num   '.
154
                'FROM gen_menu  '.
150
                'FROM gen_menu  '.
155
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
151
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
156
                'AND gm_ce_i18n = "'.$langue_test.'" ';
152
                'AND gm_ce_i18n = "'.$langue_test.'" ';
157
 
153
 
158
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
154
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
159
	
155
	
160
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
156
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
161
	if ( $resultat->numRows() > 0 ) {
157
	if ( $resultat->numRows() > 0 ) {
162
	
158
	
163
			$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
159
			$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
164
	}
160
	}
165
	else {
161
	else {
166
	
162
	
167
	// Recherche defaut :
163
	// Recherche defaut :
168
 
164
 
169
	$requete =  'SELECT gm_id_menu, gm_code_num   '.
165
	$requete =  'SELECT gm_id_menu, gm_code_num   '.
170
                'FROM gen_menu  '.
166
                'FROM gen_menu  '.
171
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' ';
167
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' ';
172
                'AND gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" ';
168
                'AND gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" ';
173
 
169
 
174
		$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
170
		$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
175
 
171
 
176
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
172
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
177
		
173
		
178
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
174
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
179
		
175
		
180
			if ($langue_test!=GEN_I18N_ID_DEFAUT) {
176
			if ($langue_test!=GEN_I18N_ID_DEFAUT) {
181
		
177
		
182
			    $requete_defaut =   'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '.
178
			    $requete_defaut =   'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '.
183
	                            	'FROM  gen_menu_relation '.
179
	                            	'FROM  gen_menu_relation '.
184
	                            	'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' .
180
	                            	'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' .
185
	                            	'AND  gmr_id_valeur  = 105 ';// 105 Traduction par defaut
181
	                            	'AND  gmr_id_valeur  = 105 ';// 105 Traduction par defaut
186
				$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut);
182
				$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut);
187
				(DB::isError($resultat_defaut))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut))
183
				(DB::isError($resultat_defaut))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut))
188
				: '';
184
				: '';
189
				if ($resultat_defaut->numRows() > 0) {
185
				if ($resultat_defaut->numRows() > 0) {
190
						$ligne=$resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
186
						$ligne=$resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
191
				}
187
				}
192
			}
188
			}
193
		}  
189
		}  
194
 
190
 
195
	// Cas historique : ce menu n'a jamais été traduit.
191
	// Cas historique : ce menu n'a jamais été traduit.
196
	$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
192
	$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
197
	                'FROM gen_menu_contenu  '.
193
	                'FROM gen_menu_contenu  '.
198
	                'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '.
194
	                'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '.
199
	                'AND gmc_ce_type_contenu in (1,2) '.
195
	                'AND gmc_ce_type_contenu in (1,2) '.
200
	                'AND gmc_bool_dernier = 1';
196
	                'AND gmc_bool_dernier = 1';
201
	
197
	
202
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
198
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
203
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
199
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
204
	
200
	
205
	
201
	
206
	// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu 
202
	// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu 
207
	
203
	
208
	if ( $resultat->numRows() == 0 ) {
204
	if ( $resultat->numRows() == 0 ) {
209
	
205
	
210
		
206
		
211
	    // Migration multilinguisme 
207
	    // Migration multilinguisme 
212
	     
208
	     
213
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
209
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
214
	                'FROM gen_menu_contenu  '.
210
	                'FROM gen_menu_contenu  '.
215
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
211
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
216
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
212
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
217
	                'AND gmc_bool_dernier = 1';
213
	                'AND gmc_bool_dernier = 1';
218
	    
214
	    
219
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
215
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
220
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
216
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
221
	
217
	
222
		// Pas de contenu, tentative de recuperation du contenu se 
218
		// Pas de contenu, tentative de recuperation du contenu se 
223
			
219
			
224
		if ( $resultat->numRows() == 0 ) {
220
		if ( $resultat->numRows() == 0 ) {
225
			
221
			
226
					
222
					
227
	
223
	
228
						    $requete =   'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '.
224
						    $requete =   'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '.
229
				                            	'FROM  gen_menu_relation '.
225
				                            	'FROM  gen_menu_relation '.
230
				                            	'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' .
226
				                            	'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' .
231
				                            	'AND  gmr_id_valeur  = 105 ';// 105 Traduction par defaut
227
				                            	'AND  gmr_id_valeur  = 105 ';// 105 Traduction par defaut
232
				                            	
228
				                            	
233
							$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
229
							$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
234
							
230
							
235
				                            	
231
				                            	
236
							(DB::isError($resultat))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
232
							(DB::isError($resultat))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
237
							: '';
233
							: '';
238
 
234
 
239
						
235
						
240
					    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
236
					    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
241
		                'FROM gen_menu_contenu, gen_menu_relation '.
237
		                'FROM gen_menu_contenu, gen_menu_relation '.
242
		                'WHERE truncate((gmc_ce_type_contenu/10),0) = gmr_id_menu_01 '.
238
		                'WHERE truncate((gmc_ce_type_contenu/10),0) = gmr_id_menu_01 '.
243
		                'AND '.$ligne->gm_id_menu.' = gmr_id_menu_02 '.
239
		                'AND '.$ligne->gm_id_menu.' = gmr_id_menu_02 '.
244
		                'AND gmr_id_valeur = 2 '.
240
		                'AND gmr_id_valeur = 2 '.
245
		                'AND gmc_bool_dernier = 1';
241
		                'AND gmc_bool_dernier = 1';
246
 
242
 
247
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
243
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
248
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
244
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
249
 
245
 
250
/*   
246
/*   
251
	
247
	
252
						    $requete =   'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '.
248
						    $requete =   'SELECT gmr_id_menu_02 as gm_id_menu , ' . $ligne->gm_code_num . ' as gm_code_num '.
253
				                            	'FROM  gen_menu_relation '.
249
				                            	'FROM  gen_menu_relation '.
254
				                            	'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' .
250
				                            	'WHERE '.$ligne->gm_id_menu. ' = gmr_id_menu_01 ' .
255
				                            	'AND  gmr_id_valeur  = 105 ';// 105 Traduction par defaut
251
				                            	'AND  gmr_id_valeur  = 105 ';// 105 Traduction par defaut
256
				                            	
252
				                            	
257
							$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
253
							$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
258
							print_r ($requete);
254
							print_r ($requete);
259
							
255
							
260
				                            	
256
				                            	
261
							(DB::isError($resultat))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
257
							(DB::isError($resultat))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
262
							: '';
258
							: '';
263
*/
259
*/
264
									
260
									
265
				}
261
				}
266
				// Toujours rien ?
262
				// Toujours rien ?
267
					
263
					
268
				if ( $resultat->numRows() == 0 ) {
264
				if ( $resultat->numRows() == 0 ) {
269
					
265
					
270
						$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
266
						$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
271
	                	'FROM gen_menu_contenu  '.
267
	                	'FROM gen_menu_contenu  '.
272
	                	'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '.
268
	                	'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '.
273
	                	'AND gmc_ce_type_contenu in (1,2) '.
269
	                	'AND gmc_ce_type_contenu in (1,2) '.
274
	                	'AND gmc_bool_dernier = 1';
270
	                	'AND gmc_bool_dernier = 1';
275
					                
271
					                
276
					                
272
					                
277
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
273
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
278
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
274
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
279
	    
275
	    
280
									
276
									
281
				}
277
				}
282
				
278
				
283
		}
279
		}
284
			
280
			
285
		 $ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
281
		 $ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
286
	    
282
	    
287
	        
283
	        
288
	$contenu = $ligne_contenu->gmc_contenu;
284
	$contenu = $ligne_contenu->gmc_contenu;
289
	
285
	
290
	    // Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement
286
	    // Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement
291
	    // Les actions Text_Wiki_Papyrus sont gérées par Papyrus
287
	    // Les actions Text_Wiki_Papyrus sont gérées par Papyrus
292
	    
288
	    
293
	    // Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML
289
	    // Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML
294
	    if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) {
290
	    if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) {
295
	        $retour = $contenu;
291
	        $retour = $contenu;
296
	    } elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){
292
	    } elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){
297
	        include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
293
	        include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
298
	        // Création d'un objet Text_Wikini :
294
	        // Création d'un objet Text_Wikini :
299
	        $wikini =& new Text_Wikini();
295
	        $wikini =& new Text_Wikini();
300
	        // Pour éviter de remplacer les caractères spéciaux du XHTML:
296
	        // Pour éviter de remplacer les caractères spéciaux du XHTML:
301
	        $wikini->setFormatConf('Xhtml', 'translate', false);
297
	        $wikini->setFormatConf('Xhtml', 'translate', false);
302
	        // Configuration de la règle Freelink :
298
	        // Configuration de la règle Freelink :
303
	        $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
299
	        $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
304
	        $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
300
	        $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
305
	        // Configuration de la règle Interwiki :
301
	        // Configuration de la règle Interwiki :
306
	        $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
302
	        $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
307
	        // Application des règles de Wikini :
303
	        // Application des règles de Wikini :
308
	        $retour = $wikini->transform($contenu, 'Xhtml');
304
	        $retour = $wikini->transform($contenu, 'Xhtml');
309
	    }
305
	    }
310
 
306
 
311
	// +---------------------------------------------------------------------------------------------------------------+
307
	// +---------------------------------------------------------------------------------------------------------------+
312
	// Nous regardons si nous voulons surligner ou pas des mots
308
	// Nous regardons si nous voulons surligner ou pas des mots
313
	if (isset($_GET['var_recherche'])) {
309
	if (isset($_GET['var_recherche'])) {
314
		$tab_mots = explode(' ', rawurldecode($_GET['var_recherche']));
310
		$tab_mots = explode(' ', rawurldecode($_GET['var_recherche']));
315
		foreach ($tab_mots as $mot) {
311
		foreach ($tab_mots as $mot) {
316
			if (strlen($mot) >= 2) {
312
			if (strlen($mot) >= 2) {
317
				$regexp = '/(>[^<]*)('.$mot.'\b)/Uis';
313
				$regexp = '/(>[^<]*)('.$mot.'\b)/Uis';
318
				$retour = preg_replace($regexp, '$1<span class="surlignage">$2</span>', $retour);
314
				$retour = preg_replace($regexp, '$1<span class="surlignage">$2</span>', $retour);
319
			}
315
			}
320
		}
316
		}
321
	}
317
	}
322
 
318
 
323
    //----------------------------------------------------------------------------
319
    //----------------------------------------------------------------------------
324
    // Renvoie du contenu de la page
320
    // Renvoie du contenu de la page
325
    return $retour;
321
    return $retour;
326
}
322
}
327
// +------------------------------------------------------------------------------------------------------+
323
// +------------------------------------------------------------------------------------------------------+
328
// |                                           LISTE de FONCTIONS                                         |
324
// |                                           LISTE de FONCTIONS                                         |
329
// +------------------------------------------------------------------------------------------------------+
325
// +------------------------------------------------------------------------------------------------------+
330
 
326
 
331
 
327
 
332
 
328
 
333
// +------------------------------------------------------------------------------------------------------+
329
// +------------------------------------------------------------------------------------------------------+
334
// |                                            PIED du PROGRAMME                                         |
330
// |                                            PIED du PROGRAMME                                         |
335
// +------------------------------------------------------------------------------------------------------+
331
// +------------------------------------------------------------------------------------------------------+
336
 
332
 
337
 
333
 
338
 
334
 
339
/* +--Fin du code ----------------------------------------------------------------------------------------+
335
/* +--Fin du code ----------------------------------------------------------------------------------------+
340
*
336
*
341
* $Log: not supported by cvs2svn $
337
* $Log: afficheur.php,v $
-
 
338
* Revision 1.14  2007-06-26 15:38:39  jp_milcent
-
 
339
* Ajout de la gestion de l'historique du contenu.
-
 
340
* Réédition possible des versions archivées du contenu.
-
 
341
*
342
* Revision 1.13  2006-11-21 18:52:20  jp_milcent
342
* Revision 1.13  2006-11-21 18:52:20  jp_milcent
343
* Ajout de la possibilité de surligner des mots.
343
* Ajout de la possibilité de surligner des mots.
344
*
344
*
345
* Revision 1.12  2006/11/21 15:50:05  jp_milcent
345
* Revision 1.12  2006/11/21 15:50:05  jp_milcent
346
* Ajout du surlignage des mots passé dans la query string via la variable var_recherche.
346
* Ajout du surlignage des mots passé dans la query string via la variable var_recherche.
347
*
347
*
348
* Revision 1.11  2006/10/16 15:49:07  ddelon
348
* Revision 1.11  2006/10/16 15:49:07  ddelon
349
* Refactorisation code mulitlinguisme et gestion menu invisibles
349
* Refactorisation code mulitlinguisme et gestion menu invisibles
350
*
350
*
351
* Revision 1.10  2006/06/29 15:12:26  ddelon
351
* Revision 1.10  2006/06/29 15:12:26  ddelon
352
* Multilinguisme : contenu par defaut
352
* Multilinguisme : contenu par defaut
353
*
353
*
354
* Revision 1.9  2006/03/27 10:50:24  ddelon
354
* Revision 1.9  2006/03/27 10:50:24  ddelon
355
* Still some pb
355
* Still some pb
356
*
356
*
357
* Revision 1.7  2006/03/13 21:00:20  ddelon
357
* Revision 1.7  2006/03/13 21:00:20  ddelon
358
* Suppression messages d'erreur multilinguisme
358
* Suppression messages d'erreur multilinguisme
359
*
359
*
360
* Revision 1.6  2006/03/02 10:49:49  ddelon
360
* Revision 1.6  2006/03/02 10:49:49  ddelon
361
* Fusion branche multilinguisme dans branche principale
361
* Fusion branche multilinguisme dans branche principale
362
*
362
*
363
* Revision 1.5.2.3  2006/03/02 00:22:23  ddelon
363
* Revision 1.5.2.3  2006/03/02 00:22:23  ddelon
364
* bug afficheur multilinguisme
364
* bug afficheur multilinguisme
365
*
365
*
366
* Revision 1.5.2.2  2006/03/01 23:51:07  ddelon
366
* Revision 1.5.2.2  2006/03/01 23:51:07  ddelon
367
* bug afficheur multilinguisme
367
* bug afficheur multilinguisme
368
*
368
*
369
* Revision 1.5.2.1  2006/02/28 14:02:11  ddelon
369
* Revision 1.5.2.1  2006/02/28 14:02:11  ddelon
370
* Finition multilinguisme
370
* Finition multilinguisme
371
*
371
*
372
* Revision 1.5  2005/04/21 16:46:17  jpm
372
* Revision 1.5  2005/04/21 16:46:17  jpm
373
* Gestion via Papyrus du XHTML.
373
* Gestion via Papyrus du XHTML.
374
*
374
*
375
* Revision 1.4  2005/02/22 18:25:13  jpm
375
* Revision 1.4  2005/02/22 18:25:13  jpm
376
* Déplacement d'un message d'alerte en cas d'erreur sql.
376
* Déplacement d'un message d'alerte en cas d'erreur sql.
377
*
377
*
378
* Revision 1.3  2004/12/07 12:24:30  jpm
378
* Revision 1.3  2004/12/07 12:24:30  jpm
379
* Changement chemin d'accés à l'api Text/Wiki...
379
* Changement chemin d'accés à l'api Text/Wiki...
380
*
380
*
381
* Revision 1.2  2004/11/26 13:10:05  jpm
381
* Revision 1.2  2004/11/26 13:10:05  jpm
382
* Utilisation des actions Papyrus et implémentation de la syntaxe Wikini.
382
* Utilisation des actions Papyrus et implémentation de la syntaxe Wikini.
383
*
383
*
384
* Revision 1.1  2004/06/16 14:35:26  jpm
384
* Revision 1.1  2004/06/16 14:35:26  jpm
385
* Changement de nom de Génésia en Papyrus.
385
* Changement de nom de Génésia en Papyrus.
386
* Changement de l'arborescence.
386
* Changement de l'arborescence.
387
*
387
*
388
* Revision 1.12  2004/05/05 11:35:12  jpm
388
* Revision 1.12  2004/05/05 11:35:12  jpm
389
* Amélioration de la gestion de l'internationalisation.
389
* Amélioration de la gestion de l'internationalisation.
390
*
390
*
391
* Revision 1.11  2004/05/05 06:45:40  jpm
391
* Revision 1.11  2004/05/05 06:45:40  jpm
392
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
392
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
393
*
393
*
394
* Revision 1.10  2004/05/04 16:28:22  jpm
394
* Revision 1.10  2004/05/04 16:28:22  jpm
395
* Réduction de code pour la fonction afficherContenuTete().
395
* Réduction de code pour la fonction afficherContenuTete().
396
*
396
*
397
*
397
*
398
* +-- Fin du code ----------------------------------------------------------------------------------------+
398
* +-- Fin du code ----------------------------------------------------------------------------------------+
399
*/
399
*/
400
?>
400
?>