Subversion Repositories Applications.papyrus

Rev

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

Rev 769 Rev 793
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.admin.php,v 1.11 2006-03-13 22:27:23 ddelon Exp $
22
// CVS : $Id: afficheur.admin.php,v 1.12 2006-03-24 13:03:24 ddelon Exp $
23
/**
23
/**
24
* Gestion de la rédaction du contenu pour Papyrus.
24
* Gestion de la rédaction du contenu pour Papyrus.
25
*
25
*
26
* Contient les fonctions nécessaires à la gestion du contenu de Papyrus.
26
* Contient les fonctions nécessaires à la gestion du contenu de Papyrus.
27
*
27
*
Line 30... Line 30...
30
//Auteur original :
30
//Auteur original :
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
//Autres auteurs :
32
//Autres auteurs :
33
*@author        Aucun
33
*@author        Aucun
34
*@copyright     Tela-Botanica 2000-2004
34
*@copyright     Tela-Botanica 2000-2004
35
*@version       $Revision: 1.11 $ $Date: 2006-03-13 22:27:23 $
35
*@version       $Revision: 1.12 $ $Date: 2006-03-24 13:03:24 $
36
// +------------------------------------------------------------------------------------------------------+
36
// +------------------------------------------------------------------------------------------------------+
37
*/
37
*/
Line 38... Line 38...
38
 
38
 
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
Line 102... Line 102...
102
        // Initialisation de variable
102
        // Initialisation de variable
103
        $url->addQueryString('adme_site_id', $adme_site_id);
103
        $url->addQueryString('adme_site_id', $adme_site_id);
104
        $url->addQueryString('adme_menu_id', $adme_menu_id);
104
        $url->addQueryString('adme_menu_id', $adme_menu_id);
105
        $url->addQueryString('adme_action', $adme_action);
105
        $url->addQueryString('adme_action', $adme_action);
Line -... Line 106...
-
 
106
        
-
 
107
	                
-
 
108
	    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
-
 
109
	    
-
 
110
	    if (isset($id_langue) && ($id_langue!='')) {
-
 
111
			$langue_test=$id_langue;
-
 
112
		} else {
-
 
113
			$langue_test=GEN_I18N_ID_DEFAUT;
-
 
114
		}
-
 
115
	
106
        
116
        
107
        //-------------------------------------------------------------------------------------------------------------------
117
        //-------------------------------------------------------------------------------------------------------------------
108
        // Récupération des informations du contenu concerné.
118
        // Récupération des informations du contenu concerné.
Line 109... Line 119...
109
        $ligne_menu = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
119
        $ligne_menu = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
Line 113... Line 123...
113
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
123
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
114
                'Ligne n° : '. __LINE__ .'<br />'.
124
                'Ligne n° : '. __LINE__ .'<br />'.
115
                'Fichier n° : '. __FILE__ .'<br />');
125
                'Fichier n° : '. __FILE__ .'<br />');
116
        }
126
        }
Line -... Line 127...
-
 
127
        
117
        
128
 
-
 
129
	
118
        
130
    // Comment ca marche ?
-
 
131
    // Historiquement, le code menu est associé au contenu
-
 
132
    // Depuis le passage au multilinguisme : ce comportement est conservé mais :
-
 
133
    // Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le 
Line 119... Line 134...
119
    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
134
    // type contenu.
-
 
135
    
120
    
136
    // Récupération identifiant du menu en cours 
121
    if (isset($id_langue) && ($id_langue!='')) {
137
    
-
 
138
    $requete =  'SELECT gm_id_menu, gm_code_num   '.
122
		$langue_test=$id_langue;
139
                'FROM gen_menu  '.
123
	} else {
140
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
Line -... Line 141...
-
 
141
                'AND gm_ce_i18n = "'.$ligne_menu['gm_ce_i18n'].'" ';
-
 
142
 
-
 
143
 
Line -... Line 144...
-
 
144
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
145
	
-
 
146
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
147
 
-
 
148
	if ( $resultat->numRows() > 0 ) {
-
 
149
	
124
		$langue_test=GEN_I18N_ID_DEFAUT;
150
			$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
151
	}
-
 
152
	else {
125
	}
153
	
126
 
154
	// Pas d'identifiant pour le menu en cours ? Il n'a pas encore été traduit, on recupere l'identifiant
127
 
155
	// de la langue en cours
128
    // Récupération du dernier contenu : cas d'un traduction 
156
	
Line -... Line 157...
-
 
157
	$requete =  'SELECT gm_id_menu, gm_code_num   '.
-
 
158
                'FROM gen_menu  '.
-
 
159
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
160
                'AND gm_ce_i18n = "'.$langue_test.'" ';
-
 
161
                
-
 
162
 
-
 
163
		$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
164
 
-
 
165
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
166
		
-
 
167
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
168
	}  
-
 
169
 
-
 
170
	// Ici, on a un identifiant pour le menu, soit : 
-
 
171
	// - l'identifiant du menu selectionné, s'il a été traduit
-
 
172
	// - l'identifiant du menu par defaut, s'il n'a pas été traduit
-
 
173
	
-
 
174
 
-
 
175
    // On recherche maintenant le contenu :
-
 
176
    
-
 
177
    
-
 
178
	// Cas historique, recherche sur le code menu uniquement.
-
 
179
	
-
 
180
	$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
181
	                'FROM gen_menu_contenu  '.
-
 
182
	                'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '.
-
 
183
	                'AND gmc_ce_type_contenu in (1,2) '.
-
 
184
	                'AND gmc_bool_dernier = 1';
-
 
185
	                
-
 
186
	 //'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '.
-
 
187
	     
-
 
188
	     
-
 
189
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
190
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
191
	
-
 
192
	
-
 
193
	// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu 
-
 
194
	
-
 
195
	if ( $resultat->numRows() == 0 ) {
-
 
196
	
-
 
197
		
-
 
198
	    // Multilinguisme :
-
 
199
	     
-
 
200
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
201
	                'FROM gen_menu_contenu  '.
129
    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '.
202
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
130
                'FROM gen_menu_contenu  '.
203
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
-
 
204
	                'AND gmc_bool_dernier = 1';
-
 
205
	    
Line -... Line 206...
-
 
206
	    
Line 131... Line -...
131
                'WHERE truncate((gmc_ce_type_contenu/10),0) = '.  $adme_menu_id . ' '.
-
 
132
                'AND gmc_bool_dernier = 1';
207
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
133
                
208
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
134
    	$resultat = $db->query($requete);
209
	
135
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
210
		// Pas de contenu, tentative de recuperation contenu initial
136
			
211
			
137
 
-
 
Line -... Line 212...
-
 
212
		if ( $resultat->numRows() == 0 ) {
-
 
213
 
-
 
214
 
-
 
215
					$requete =  'SELECT gm_id_menu, gm_code_num   '.
-
 
216
				                'FROM gen_menu  '.
-
 
217
				                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
218
				                'AND gm_ce_i18n = "'.$langue_test.'" ';
-
 
219
				                
-
 
220
					$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
221
				
-
 
222
					(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete)) : '';
-
 
223
						
-
 
224
					$ligne = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
138
			if ( $resultat->numRows() == 0 ) {
225
 
139
				
226
			
-
 
227
				    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
140
				    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '.
228
	        	        'FROM gen_menu_contenu  '.
141
				                'FROM gen_menu_contenu  '.
229
	            	    'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
-
 
230
	                	'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
-
 
231
	                	'AND gmc_bool_dernier = 1';
142
				                'WHERE gmc_ce_menu = '.$adme_menu_id.' '.
232
 
Line 143... Line 233...
143
				                'AND gmc_ce_type_contenu in (1,2) '.
233
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
144
				                'AND gmc_bool_dernier = 1';
234
					    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line 145... Line -...
145
				                
-
 
146
				    $resultat = $db->query($requete);
-
 
147
				    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
Line 148... Line 235...
148
    
235
	    
149
			}
236
									
150
        
237
		}
151
        
238
				
Line 309... Line 396...
309
 
396
 
310
 
397
 
311
/* +--Fin du code ----------------------------------------------------------------------------------------+
398
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
399
*
-
 
400
* $Log: not supported by cvs2svn $
-
 
401
* Revision 1.11  2006/03/13 22:27:23  ddelon
312
*
402
* bug afficheur multilinguisme
313
* $Log: not supported by cvs2svn $
403
*
314
* Revision 1.10  2006/03/13 22:12:20  ddelon
404
* Revision 1.10  2006/03/13 22:12:20  ddelon
315
* bug afficheur multilinguisme
405
* bug afficheur multilinguisme
316
*
406
*