Subversion Repositories Applications.papyrus

Rev

Rev 351 | Rev 767 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 351 Rev 754
Line 17... Line 17...
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.5 2005-04-21 16:46:17 jpm Exp $
22
// CVS : $Id: afficheur.php,v 1.6 2006-03-02 10:49:49 ddelon 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
*
Line 29... Line 29...
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.5 $ $Date: 2005-04-21 16:46:17 $
34
*@version       $Revision: 1.6 $ $Date: 2006-03-02 10:49:49 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
Line 37... Line 37...
37
 
37
 
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
Line 66... Line 66...
66
{
66
{
67
    //----------------------------------------------------------------------------
67
    //----------------------------------------------------------------------------
68
    // Initialisation des variable
68
    // Initialisation des variable
69
    $retour = '';
69
    $retour = '';
Line 70... Line -...
70
    
-
 
71
    //----------------------------------------------------------------------------
-
 
72
    // Récupération du dernier contenu
-
 
73
    $requete =  'SELECT gmc_contenu, gmc_ce_type_contenu '.
-
 
74
                'FROM gen_menu_contenu '.
-
 
75
                'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '.
-
 
76
                'AND gmc_bool_dernier = 1';
-
 
77
    
-
 
78
    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
79
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
80
    $ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
70
    
81
    $contenu = $ligne_contenu->gmc_contenu;
-
 
82
    
-
 
83
    // Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement
-
 
Line 84... Line -...
84
    // Les actions Text_Wiki_Papyrus sont gérées par Papyrus
-
 
85
    
71
    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
86
    // Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML
72
    
-
 
73
    if (isset($id_langue) && ($id_langue!='')) {
87
    if ($ligne_contenu->gmc_ce_type_contenu == 1) {
74
		$langue_test=$id_langue;
-
 
75
	} else {
-
 
76
		$langue_test=GEN_I18N_ID_DEFAUT;
-
 
77
	}
88
        $retour = $contenu;
78
 
89
    } elseif ($ligne_contenu->gmc_ce_type_contenu == 2) {
79
 
90
        include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
-
 
91
        // Création d'un objet Text_Wikini :
80
	//-------------------------------------------------------------------------------------------------------------------
92
        $wikini =& new Text_Wikini();
-
 
-
 
81
        // Récupération des informations du contenu concerné.
-
 
82
     $ligne_menu = GEN_lireInfoMenu($GLOBALS['_AFFICHEUR']['objet_pear_db'], $GLOBALS['_AFFICHEUR']['menu_courant_id'], DB_FETCHMODE_ASSOC);
93
        // Pour éviter de remplacer les caractères spéciaux du XHTML:
83
        
94
        $wikini->setFormatConf('Xhtml', 'translate', false);
-
 
95
        // Configuration de la règle Freelink :
84
        
96
        $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
-
 
97
        $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
85
     if ($ligne_menu == false) {
98
        // Configuration de la règle Interwiki :
86
            die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'.
99
        $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
87
                'Idenitifiant du menu n° : '. $GLOBALS['_AFFICHEUR']['objet_pear_db'] .'<br />'.
100
        // Application des règles de Wikini :
88
                'Ligne n° : '. __LINE__ .'<br />'.
-
 
89
                'Fichier n° : '. __FILE__ .'<br />');
-
 
90
     }
-
 
91
        
Line -... Line 92...
-
 
92
 
-
 
93
    // Récupération identifiant du menu en cours 
-
 
94
    
-
 
95
    $requete =  'SELECT gm_id_menu  '.
-
 
96
                'FROM gen_menu  '.
-
 
97
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
98
                'AND gm_ce_i18n = "'.$langue_test.'" ';
-
 
99
 
-
 
100
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
101
	
-
 
102
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
103
	
-
 
104
	
-
 
105
	if ($resultat->numRows() > 0) {
-
 
106
	
-
 
107
	    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
108
	    
-
 
109
		
-
 
110
	    // Récupération du dernier contenu : cas d'un traduction 
-
 
111
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
112
	                'FROM gen_menu_contenu  '.
-
 
113
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
-
 
114
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
-
 
115
	                'AND gmc_bool_dernier = 1';
-
 
116
	         
-
 
117
	       
-
 
118
	
-
 
119
		//print $requete;
-
 
120
		                
-
 
121
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
122
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
123
	
-
 
124
				if ( $resultat->numRows() == 0 ) {
-
 
125
					
-
 
126
					    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
127
					                'FROM gen_menu_contenu  '.
-
 
128
					                'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '.
-
 
129
					                'AND gmc_ce_type_contenu in (1,2) '.
-
 
130
					                'AND gmc_bool_dernier = 1';
-
 
131
					                
-
 
132
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
133
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
134
	    
-
 
135
				}
-
 
136
		
-
 
137
		}
-
 
138
		else {
-
 
139
			
-
 
140
						    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
141
					                'FROM gen_menu_contenu  '.
-
 
142
					                'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '.
-
 
143
					                'AND gmc_ce_type_contenu in (1,2) '.
-
 
144
					                'AND gmc_bool_dernier = 1';
-
 
145
					                
-
 
146
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
147
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
148
	    
-
 
149
			
-
 
150
		}		
-
 
151
	    $ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
152
	    
-
 
153
	    
-
 
154
	    
-
 
155
	    $contenu = $ligne_contenu->gmc_contenu;
-
 
156
	
-
 
157
	    // Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement
-
 
158
	    // Les actions Text_Wiki_Papyrus sont gérées par Papyrus
-
 
159
	    
-
 
160
	    // Nous regardons si nous avons à faire à un texte sous format Wikini ou XHTML
-
 
161
	    if (($ligne_contenu->gmc_ce_type_contenu == 1)||(substr($ligne_contenu->gmc_ce_type_contenu,-1)== 1)) {
-
 
162
	        $retour = $contenu;
-
 
163
	    } elseif (($ligne_contenu->gmc_ce_type_contenu == 2) || (substr($ligne_contenu->gmc_ce_type_contenu,-1)== 2)){
-
 
164
	        include_once AFFI_CHEMIN_BIBLIOTHEQUE_API.'text/wiki_wikini/Wikini.class.php';
-
 
165
	        // Création d'un objet Text_Wikini :
-
 
166
	        $wikini =& new Text_Wikini();
-
 
167
	        // Pour éviter de remplacer les caractères spéciaux du XHTML:
-
 
168
	        $wikini->setFormatConf('Xhtml', 'translate', false);
-
 
169
	        // Configuration de la règle Freelink :
-
 
170
	        $wikini->setRenderConf('Xhtml', 'freelink', 'pages', null);
-
 
171
	        $wikini->setRenderConf('Xhtml', 'freelink', 'view_url', AFFI_URL_PAPYRUS);
-
 
172
	        // Configuration de la règle Interwiki :
-
 
173
	        $wikini->setRenderConf('Xhtml', 'interwiki', 'sites', $GLOBALS['_AFFICHEUR']['interwiki_sites']);
-
 
174
	        // Application des règles de Wikini :
-
 
175
	        $retour = $wikini->transform($contenu, 'Xhtml');
101
        $retour = $wikini->transform($contenu, 'Xhtml');
176
	    }
102
    }
177
 
103
    
178
  
104
    //----------------------------------------------------------------------------
179
    //----------------------------------------------------------------------------
105
    // Renvoie du contenu de la page
180
    // Renvoie du contenu de la page
Line 118... Line 193...
118
 
193
 
119
 
194
 
120
/* +--Fin du code ----------------------------------------------------------------------------------------+
195
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
196
*
-
 
197
* $Log: not supported by cvs2svn $
-
 
198
* Revision 1.5.2.3  2006/03/02 00:22:23  ddelon
-
 
199
* bug afficheur multilinguisme
-
 
200
*
-
 
201
* Revision 1.5.2.2  2006/03/01 23:51:07  ddelon
-
 
202
* bug afficheur multilinguisme
-
 
203
*
-
 
204
* Revision 1.5.2.1  2006/02/28 14:02:11  ddelon
-
 
205
* Finition multilinguisme
-
 
206
*
-
 
207
* Revision 1.5  2005/04/21 16:46:17  jpm
121
*
208
* Gestion via Papyrus du XHTML.
122
* $Log: not supported by cvs2svn $
209
*
123
* Revision 1.4  2005/02/22 18:25:13  jpm
210
* Revision 1.4  2005/02/22 18:25:13  jpm
124
* Déplacement d'un message d'alerte en cas d'erreur sql.
211
* Déplacement d'un message d'alerte en cas d'erreur sql.
125
*
212
*