Subversion Repositories Applications.papyrus

Rev

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

Rev 754 Rev 767
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.6 2006-03-02 10:49:49 ddelon Exp $
22
// CVS : $Id: afficheur.php,v 1.7 2006-03-13 21:00:20 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.6 $ $Date: 2006-03-02 10:49:49 $
34
*@version       $Revision: 1.7 $ $Date: 2006-03-13 21:00:20 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
Line 37... Line 37...
37
 
37
 
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
Line 74... Line 74...
74
		$langue_test=$id_langue;
74
		$langue_test=$id_langue;
75
	} else {
75
	} else {
76
		$langue_test=GEN_I18N_ID_DEFAUT;
76
		$langue_test=GEN_I18N_ID_DEFAUT;
77
	}
77
	}
Line 78... Line -...
78
 
-
 
79
 
78
 
80
	//-------------------------------------------------------------------------------------------------------------------
79
	//-------------------------------------------------------------------------------------------------------------------
81
        // Récupération des informations du contenu concerné.
80
        // Récupération des informations du contenu concerné.
Line 88... Line 87...
88
                'Ligne n° : '. __LINE__ .'<br />'.
87
                'Ligne n° : '. __LINE__ .'<br />'.
89
                'Fichier n° : '. __FILE__ .'<br />');
88
                'Fichier n° : '. __FILE__ .'<br />');
90
     }
89
     }
Line -... Line 90...
-
 
90
        
-
 
91
 
-
 
92
    // Comment ca marche ?
-
 
93
    // Historiquement, le code menu est associé au contenu
-
 
94
    // Depuis le passage au multilinguisme : ce comportement est conservé mais :
-
 
95
    // Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le 
91
        
96
    // type contenu.
Line 92... Line 97...
92
 
97
    
93
    // Récupération identifiant du menu en cours 
98
    // Récupération identifiant du menu en cours 
94
    
99
    
95
    $requete =  'SELECT gm_id_menu  '.
100
    $requete =  'SELECT gm_id_menu, gm_code_num   '.
Line 96... Line 101...
96
                'FROM gen_menu  '.
101
                'FROM gen_menu  '.
Line 97... Line 102...
97
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
102
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
103
                'AND gm_ce_i18n = "'.$langue_test.'" ';
-
 
104
 
-
 
105
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
106
	
-
 
107
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
108
 
-
 
109
	if ( $resultat->numRows() > 0 ) {
-
 
110
	
-
 
111
			$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
112
	}
-
 
113
	else {
-
 
114
	
-
 
115
	$requete =  'SELECT gm_id_menu, gm_code_num   '.
-
 
116
                'FROM gen_menu  '.
-
 
117
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' ';
-
 
118
 
-
 
119
		$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
120
 
-
 
121
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
122
		
-
 
123
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
124
	}  
-
 
125
 
-
 
126
	// Cas historique :
-
 
127
	
-
 
128
	$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
129
	                'FROM gen_menu_contenu  '.
-
 
130
	                'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '.
Line -... Line 131...
-
 
131
	                'AND gmc_ce_type_contenu in (1,2) '.
-
 
132
	                'AND gmc_bool_dernier = 1';
98
                'AND gm_ce_i18n = "'.$langue_test.'" ';
133
	
Line 99... Line -...
99
 
-
 
100
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
Line 101... Line 134...
101
	
134
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
135
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
102
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
136
	
103
	
137
	
104
	
138
	// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu 
105
	if ($resultat->numRows() > 0) {
139
	
106
	
140
	if ( $resultat->numRows() == 0 ) {
107
	    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
108
	    
141
	
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  '.
142
		
113
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
143
	    // Multilinguisme :
Line -... Line 144...
-
 
144
	     
-
 
145
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
114
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
146
	                'FROM gen_menu_contenu  '.
Line 115... Line 147...
115
	                'AND gmc_bool_dernier = 1';
147
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
116
	         
148
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
117
	       
149
	                'AND gmc_bool_dernier = 1';
-
 
150
	    
118
	
151
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
119
		//print $requete;
152
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
120
		                
153
	
121
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
154
		// Pas de contenu, tentative de recuperation contenu initial
122
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
155
			
Line -... Line 156...
-
 
156
		if ( $resultat->numRows() == 0 ) {
123
	
157
					
-
 
158
					    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
124
				if ( $resultat->numRows() == 0 ) {
159
					                'FROM gen_menu_contenu, gen_menu_relation '.
125
					
-
 
126
					    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
160
					                'WHERE truncate((gmc_ce_type_contenu/10),0) = gmr_id_menu_01 '.
127
					                'FROM gen_menu_contenu  '.
161
					                'AND '.$ligne->gm_id_menu.' = gmr_id_menu_02 '.
128
					                'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '.
162
					                'AND gmr_id_valeur = 2 '.
129
					                'AND gmc_ce_type_contenu in (1,2) '.
163
					                'AND gmc_bool_dernier = 1';
130
					                'AND gmc_bool_dernier = 1';
164
 
131
					                
165
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
132
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
166
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
167
	    
Line 133... Line 168...
133
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
168
									
134
	    
169
				}
Line -... Line 170...
-
 
170
				// Toujours rien ?
-
 
171
					
-
 
172
				if ( $resultat->numRows() == 0 ) {
-
 
173
					
Line 135... Line -...
135
				}
-
 
136
		
174
						$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
137
		}
-
 
Line 138... Line 175...
138
		else {
175
	                	'FROM gen_menu_contenu  '.
139
			
176
	                	'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '.
Line 140... Line 177...
140
						    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
177
	                	'AND gmc_ce_type_contenu in (1,2) '.
141
					                'FROM gen_menu_contenu  '.
178
	                	'AND gmc_bool_dernier = 1';
Line 142... Line 179...
142
					                'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '.
179
					                
Line 193... Line 230...
193
 
230
 
194
 
231
 
195
/* +--Fin du code ----------------------------------------------------------------------------------------+
232
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
233
*
-
 
234
* $Log: not supported by cvs2svn $
-
 
235
* Revision 1.6  2006/03/02 10:49:49  ddelon
196
*
236
* Fusion branche multilinguisme dans branche principale
197
* $Log: not supported by cvs2svn $
237
*
198
* Revision 1.5.2.3  2006/03/02 00:22:23  ddelon
238
* Revision 1.5.2.3  2006/03/02 00:22:23  ddelon
199
* bug afficheur multilinguisme
239
* bug afficheur multilinguisme
200
*
240
*