Subversion Repositories Applications.papyrus

Rev

Rev 793 | Rev 1017 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 793 Rev 832
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
3
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
4
//
4
//
5
// Ce logiciel est un programme informatique servant à gérer du contenu et des
5
// Ce logiciel est un programme informatique servant à gérer du contenu et des
6
// applications web.
6
// applications web.
7
                                                                                                      
7
                                                                                                      
8
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
8
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
9
// respectant les principes de diffusion des logiciels libres. Vous pouvez
9
// respectant les principes de diffusion des logiciels libres. Vous pouvez
10
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
10
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
11
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
11
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
12
// sur le site "http://www.cecill.info".
12
// sur le site "http://www.cecill.info".
13
 
13
 
14
// En contrepartie de l'accessibilité au code source et des droits de copie,
14
// En contrepartie de l'accessibilité au code source et des droits de copie,
15
// de modification et de redistribution accordés par cette licence, il n'est
15
// de modification et de redistribution accordés par cette licence, il n'est
16
// offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
16
// offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
17
// seule une responsabilité restreinte pèse sur l'auteur du programme,  le
17
// seule une responsabilité restreinte pèse sur l'auteur du programme,  le
18
// titulaire des droits patrimoniaux et les concédants successifs.
18
// titulaire des droits patrimoniaux et les concédants successifs.
19
 
19
 
20
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
20
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
21
// associés au chargement,  à l'utilisation,  à la modification et/ou au
21
// associés au chargement,  à l'utilisation,  à la modification et/ou au
22
// développement et à la reproduction du logiciel par l'utilisateur étant 
22
// développement et à la reproduction du logiciel par l'utilisateur étant 
23
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
23
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
24
// manipuler et qui le réserve donc à des développeurs et des professionnels
24
// manipuler et qui le réserve donc à des développeurs et des professionnels
25
// avertis possédant  des  connaissances  informatiques approfondies.  Les
25
// avertis possédant  des  connaissances  informatiques approfondies.  Les
26
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
26
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
27
// logiciel à leurs besoins dans des conditions permettant d'assurer la
27
// logiciel à leurs besoins dans des conditions permettant d'assurer la
28
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
28
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
29
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
29
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
30
 
30
 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
33
// termes.
33
// termes.
34
// ----
34
// ----
35
// CVS : $Id: adme_general.fonct.php,v 1.15 2006-03-24 13:03:24 ddelon Exp $
35
// CVS : $Id: adme_general.fonct.php,v 1.16 2006-04-28 12:41:49 florian Exp $
36
/**
36
/**
37
* Contient l'affichage par défaut de l'appli quand aucune actin
37
* Contient l'affichage par défaut de l'appli quand aucune actin
38
*
38
*
39
* Ce fichier contient les fonctions d'affichage commune à toute l'application Admin Menu.
39
* Ce fichier contient les fonctions d'affichage commune à toute l'application Admin Menu.
40
* Nous y trouvons, entre autre, la fonction d'affichage par défaut de l'appli.
40
* Nous y trouvons, entre autre, la fonction d'affichage par défaut de l'appli.
41
*
41
*
42
*@package Admin_menu
42
*@package Admin_menu
43
*@subpackage Fonctions
43
*@subpackage Fonctions
44
//Auteur original :
44
//Auteur original :
45
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
45
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
46
//Autres auteurs :
46
//Autres auteurs :
47
*@author        Aucun
47
*@author        Aucun
48
*@copyright     Tela-Botanica 2000-2004
48
*@copyright     Tela-Botanica 2000-2004
49
*@version       $Revision: 1.15 $ $Date: 2006-03-24 13:03:24 $
49
*@version       $Revision: 1.16 $ $Date: 2006-04-28 12:41:49 $
50
// +------------------------------------------------------------------------------------------------------+
50
// +------------------------------------------------------------------------------------------------------+
51
*/
51
*/
52
 
52
 
53
// +------------------------------------------------------------------------------------------------------+
53
// +------------------------------------------------------------------------------------------------------+
54
// |                                            ENTETE du PROGRAMME                                       |
54
// |                                            ENTETE du PROGRAMME                                       |
55
// +------------------------------------------------------------------------------------------------------+
55
// +------------------------------------------------------------------------------------------------------+
56
 
56
 
57
 
57
 
58
// +------------------------------------------------------------------------------------------------------+
58
// +------------------------------------------------------------------------------------------------------+
59
// |                                           LISTE de FONCTIONS                                         |
59
// |                                           LISTE de FONCTIONS                                         |
60
// +------------------------------------------------------------------------------------------------------+
60
// +------------------------------------------------------------------------------------------------------+
61
/** Fonction ADME_afficherFormPrincipal() - Affichage par défaut.
61
/** Fonction ADME_afficherFormPrincipal() - Affichage par défaut.
62
*
62
*
63
* Fournit l'affichage par défaut de l'application Admin Menus.
63
* Fournit l'affichage par défaut de l'application Admin Menus.
64
*
64
*
65
* @param  object objet Pear de connection à la base de données.
65
* @param  object objet Pear de connection à la base de données.
66
* @param  object objet Pear représentant l'url de base.
66
* @param  object objet Pear représentant l'url de base.
67
* @return string le XHTML par défaut de la page.
67
* @return string le XHTML par défaut de la page.
68
*/
68
*/
69
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action)
69
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action)
70
{
70
{
71
	/*
71
	/*
72
	$id_langue = $GLOBALS['_GEN_commun']['i18n'];//identifiant de la langue choisie
72
	$id_langue = $GLOBALS['_GEN_commun']['i18n'];//identifiant de la langue choisie
73
	
73
	
74
    //---------------------------------------------------------------------------------------------------------------
74
    //---------------------------------------------------------------------------------------------------------------
75
    // Nous affichons la liste des menus classiques et communs
75
    // Nous affichons la liste des menus classiques et communs
76
    $retour = '';
76
    $retour = '';
77
 
77
 
78
	if (isset($id_langue) && ($id_langue!='')) {
78
	if (isset($id_langue) && ($id_langue!='')) {
79
		$langue_test=$id_langue;
79
		$langue_test=$id_langue;
80
	} else {
80
	} else {
81
		$langue_test=GEN_I18N_ID_DEFAUT;
81
		$langue_test=GEN_I18N_ID_DEFAUT;
82
	}
82
	}
83
    */
83
    */
84
    
84
    
85
    $db=$objet_pear_db;
85
    $db=$objet_pear_db;
86
    
86
    
87
    $id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie
87
    $id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie
88
	
88
	
89
	// Langue en cours : langue choisie ou langue par defaut (principale)
89
	// Langue en cours : langue choisie ou langue par defaut (principale)
90
	
90
	
91
	if (isset($id_langue) && ($id_langue!='')) {
91
	if (isset($id_langue) && ($id_langue!='')) {
92
		$langue_test=$id_langue;
92
		$langue_test=$id_langue;
93
	} else {
93
	} else {
94
		$langue_test=GEN_I18N_ID_DEFAUT;
94
		$langue_test=GEN_I18N_ID_DEFAUT;
95
	}
95
	}
96
 
96
 
97
//$langue_test=GEN_I18N_ID_DEFAUT;
97
//$langue_test=GEN_I18N_ID_DEFAUT;
98
 
98
 
99
    // Liste des sites principaux :
99
    // Liste des sites principaux :
100
    // Recherche de tous les sites langue en cours
100
    // Recherche de tous les sites langue en cours
101
    
101
    
102
    $requete =  'SELECT * '.
102
    $requete =  'SELECT * '.
103
                'FROM gen_site, gen_site_relation '.
103
                'FROM gen_site, gen_site_relation '.
104
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
104
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
105
                'AND gsr_id_site_01 = gs_id_site '.
105
                'AND gsr_id_site_01 = gs_id_site '.
106
                'AND gsr_id_valeur IN (102, 103) '.
106
                'AND gsr_id_valeur IN (102, 103) '.
107
                'AND gs_ce_i18n = "'.$langue_test.'" '.
107
                'AND gs_ce_i18n = "'.$langue_test.'" '.
108
                'ORDER BY gsr_ordre';
108
                'ORDER BY gsr_ordre';
109
                    
109
                    
110
    
110
    
111
    $resultat = $db->query($requete);
111
    $resultat = $db->query($requete);
112
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
112
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
113
    
113
    
114
    $liste_site=array();
114
    $liste_site=array();
115
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
115
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
116
    	
116
    	
117
    		if ($langue_test == GEN_I18N_ID_DEFAUT) {
117
    		if ($langue_test == GEN_I18N_ID_DEFAUT) {
118
    			
118
    			
119
    		  $requete_est_traduction =   'SELECT gsr_id_site_01 '.
119
    		  $requete_est_traduction =   'SELECT gsr_id_site_01 '.
120
	                       'FROM  gen_site_relation '.
120
	                       'FROM  gen_site_relation '.
121
	                       'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
121
	                       'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
122
	                  	   'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
122
	                  	   'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
123
	                       'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
123
	                       'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
124
	                                
124
	                                
125
	                                
125
	                                
126
	            $resultat_est_traduction = $db->query($requete_est_traduction);
126
	            $resultat_est_traduction = $db->query($requete_est_traduction);
127
	            (DB::isError($resultat_est_traduction))
127
	            (DB::isError($resultat_est_traduction))
128
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
128
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
129
	                : '';
129
	                : '';
130
	                
130
	                
131
	   			if ( $resultat_est_traduction->numRows() == 0 ) {
131
	   			if ( $resultat_est_traduction->numRows() == 0 ) {
132
    	 			$liste_site[]=$ligne;
132
    	 			$liste_site[]=$ligne;
133
	            }
133
	            }
134
    		}
134
    		}
135
    		else {
135
    		else {
136
    			   $liste_site[]=$ligne;
136
    			   $liste_site[]=$ligne;
137
    		}
137
    		}
138
    }
138
    }
139
    $resultat->free();
139
    $resultat->free();
140
    
140
    
141
    // Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue
141
    // Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue
142
    // la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions
142
    // la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions
143
  	
143
  	
144
  	
144
  	
145
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
145
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
146
 
146
 
147
    
147
    
148
	    $requete =  'SELECT * '.
148
	    $requete =  'SELECT * '.
149
	                'FROM gen_site, gen_site_relation '.
149
	                'FROM gen_site, gen_site_relation '.
150
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
150
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
151
	                'AND gs_id_site = gsr_id_site_01 '.
151
	                'AND gs_id_site = gsr_id_site_01 '.
152
	                'AND gsr_id_valeur IN (102, 103) '.
152
	                'AND gsr_id_valeur IN (102, 103) '.
153
	                'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
153
	                'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
154
	                'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
154
	                'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
155
	                
155
	                
156
	    $resultat = $db->query($requete);
156
	    $resultat = $db->query($requete);
157
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
157
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
158
	    
158
	    
159
	    
159
	    
160
	            
160
	            
161
	    
161
	    
162
	    // Recherche de tous les sites de la langue principale  qui ne sont pas traduits dans la langue en cours
162
	    // Recherche de tous les sites de la langue principale  qui ne sont pas traduits dans la langue en cours
163
	    
163
	    
164
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
164
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
165
	    	
165
	    	
166
	    		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
166
	    		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
167
	                                'FROM  gen_site_relation '.
167
	                                'FROM  gen_site_relation '.
168
	                                'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
168
	                                'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
169
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
169
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
170
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
170
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
171
	                                
171
	                                
172
	                                
172
	                                
173
	            $resultat_est_traduction = $db->query($requete_est_traduction);
173
	            $resultat_est_traduction = $db->query($requete_est_traduction);
174
	            (DB::isError($resultat_est_traduction))
174
	            (DB::isError($resultat_est_traduction))
175
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
175
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
176
	                : '';
176
	                : '';
177
	                
177
	                
178
	            if ( $resultat_est_traduction->numRows() == 0 ) {
178
	            if ( $resultat_est_traduction->numRows() == 0 ) {
179
	            	
179
	            	
180
		    	
180
		    	
181
					if (isset($id_langue) && ($id_langue!='')) {
181
					if (isset($id_langue) && ($id_langue!='')) {
182
						$langue_test=$id_langue;
182
						$langue_test=$id_langue;
183
					} else {
183
					} else {
184
						$langue_test=GEN_I18N_ID_DEFAUT;
184
						$langue_test=GEN_I18N_ID_DEFAUT;
185
					}
185
					}
186
				    	
186
				    	
187
		    		$requete_traduction =   'SELECT gsr_id_site_01 '.
187
		    		$requete_traduction =   'SELECT gsr_id_site_01 '.
188
		                                    'FROM  gen_site_relation, gen_site '.
188
		                                    'FROM  gen_site_relation, gen_site '.
189
		                                    'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
189
		                                    'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
190
		                                    'AND gsr_id_site_02 = gs_id_site '.
190
		                                    'AND gsr_id_site_02 = gs_id_site '.
191
		                                    'AND gs_ce_i18n = "'.$langue_test.'" '.
191
		                                    'AND gs_ce_i18n = "'.$langue_test.'" '.
192
		                                    'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
192
		                                    'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
193
		                                    
193
		                                    
194
		            $resultat_traduction = $db->query($requete_traduction);
194
		            $resultat_traduction = $db->query($requete_traduction);
195
		            (DB::isError($resultat_traduction))
195
		            (DB::isError($resultat_traduction))
196
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
196
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
197
		                : '';
197
		                : '';
198
		                
198
		                
199
		            if ( $resultat_traduction->numRows() == 0 ) {
199
		            if ( $resultat_traduction->numRows() == 0 ) {
200
		            	$liste_site []=$ligne;
200
		            	$liste_site []=$ligne;
201
		            }
201
		            }
202
		            
202
		            
203
		            $resultat_traduction->free();
203
		            $resultat_traduction->free();
204
		            
204
		            
205
	            }
205
	            }
206
	               $resultat_est_traduction->free();
206
	               $resultat_est_traduction->free();
207
		    
207
		    
208
	    }
208
	    }
209
	    $resultat->free();
209
	    $resultat->free();
210
	}
210
	}
211
    
211
    
212
    
212
    
213
    
213
    
214
    
214
    
215
    /*
215
    /*
216
    $requete =  'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '.
216
    $requete =  'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '.
217
                'FROM gen_site, gen_site_relation '.
217
                'FROM gen_site, gen_site_relation '.
218
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
218
                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
219
                'AND gs_id_site = gsr_id_site_01 '.
219
                'AND gs_id_site = gsr_id_site_01 '.
220
                'AND gsr_id_valeur = 102 '.// 102 = site "principal"
220
                'AND gsr_id_valeur = 102 '.// 102 = site "principal"
221
                'AND gs_ce_i18n = "'.$langue_test.'" '.
221
                'AND gs_ce_i18n = "'.$langue_test.'" '.
222
                'ORDER BY gsr_ordre DESC';
222
                'ORDER BY gsr_ordre DESC';
223
                
223
                
224
    $resultat = $objet_pear_db->query($requete);
224
    $resultat = $objet_pear_db->query($requete);
225
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
225
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
226
    
226
    
227
    $liste_site=array();
227
    $liste_site=array();
228
    
228
    
229
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
229
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
230
    	         // Si le site trouvé est une traduction vers la langue principale, on ne le selectionne pas
230
    	         // Si le site trouvé est une traduction vers la langue principale, on ne le selectionne pas
231
    			if ($langue_test == GEN_I18N_ID_DEFAUT) {
231
    			if ($langue_test == GEN_I18N_ID_DEFAUT) {
232
    		  		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
232
    		  		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
233
	                       'FROM  gen_site_relation '.
233
	                       'FROM  gen_site_relation '.
234
	                       'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
234
	                       'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
235
	                  	   'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
235
	                  	   'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
236
	                       'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
236
	                       'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
237
	                                
237
	                                
238
		            $resultat_est_traduction = $objet_pear_db->query($requete_est_traduction);
238
		            $resultat_est_traduction = $objet_pear_db->query($requete_est_traduction);
239
		            (DB::isError($resultat_est_traduction))
239
		            (DB::isError($resultat_est_traduction))
240
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
240
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
241
		                : '';
241
		                : '';
242
		                
242
		                
243
		   			if ( $resultat_est_traduction->numRows() == 0 ) {
243
		   			if ( $resultat_est_traduction->numRows() == 0 ) {
244
	    	 			$liste_site[]=$ligne;
244
	    	 			$liste_site[]=$ligne;
245
		            }
245
		            }
246
    			}
246
    			}
247
    			else {
247
    			else {
248
    				$liste_site[]=$ligne;
248
    				$liste_site[]=$ligne;
249
    			}
249
    			}
250
    }
250
    }
251
    
251
    
252
    $resultat->free();
252
    $resultat->free();
253
    
253
    
254
    
254
    
255
    
255
    
256
    // On recherche l'ensemble des site en excluant le site admin (administration de Papyrus).
256
    // On recherche l'ensemble des site en excluant le site admin (administration de Papyrus).
257
 
257
 
258
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
258
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
259
    
259
    
260
    
260
    
261
    // Site ayant commme langue, la langue par defaut 
261
    // Site ayant commme langue, la langue par defaut 
262
	    $requete =  'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '.
262
	    $requete =  'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '.
263
	                'FROM gen_site, gen_site_relation '.
263
	                'FROM gen_site, gen_site_relation '.
264
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
264
	                'WHERE gsr_id_site_01 = gsr_id_site_02 '.
265
	                'AND gs_id_site = gsr_id_site_01 '.
265
	                'AND gs_id_site = gsr_id_site_01 '.
266
	                'AND gsr_id_valeur = 102 '.// 102 = site "principal"
266
	                'AND gsr_id_valeur = 102 '.// 102 = site "principal"
267
	                'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
267
	                'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
268
	                'ORDER BY gsr_ordre DESC';
268
	                'ORDER BY gsr_ordre DESC';
269
	                
269
	                
270
	    $resultat = $objet_pear_db->query($requete);
270
	    $resultat = $objet_pear_db->query($requete);
271
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
271
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
272
	    
272
	    
273
	    // Est il traduit ? Non, alors affichage 
273
	    // Est il traduit ? Non, alors affichage 
274
	    
274
	    
275
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
275
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
276
	    	
276
	    	
277
				if (isset($id_langue) && ($id_langue!='')) {
277
				if (isset($id_langue) && ($id_langue!='')) {
278
					$langue_test=$id_langue;
278
					$langue_test=$id_langue;
279
				} else {
279
				} else {
280
					$langue_test=GEN_I18N_ID_DEFAUT;
280
					$langue_test=GEN_I18N_ID_DEFAUT;
281
				}
281
				}
282
			    
282
			    
283
	    				$requete_est_traduction =   'SELECT gsr_id_site_01 '.
283
	    				$requete_est_traduction =   'SELECT gsr_id_site_01 '.
284
	                                'FROM  gen_site_relation '.
284
	                                'FROM  gen_site_relation '.
285
	                                'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
285
	                                'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' .
286
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
286
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
287
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
287
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
288
	                                
288
	                                
289
	                                
289
	                                
290
	            $resultat_est_traduction = $objet_pear_db->query($requete_est_traduction);
290
	            $resultat_est_traduction = $objet_pear_db->query($requete_est_traduction);
291
	            (DB::isError($resultat_est_traduction))
291
	            (DB::isError($resultat_est_traduction))
292
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
292
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
293
	                : '';
293
	                : '';
294
	                
294
	                
295
	            if ( $resultat_est_traduction->numRows() == 0 ) {
295
	            if ( $resultat_est_traduction->numRows() == 0 ) {
296
	    
296
	    
297
			    
297
			    
298
			    	
298
			    	
299
		    		$requete_traduction =   'SELECT gsr_id_site_01 '.
299
		    		$requete_traduction =   'SELECT gsr_id_site_01 '.
300
		                                    'FROM  gen_site_relation, gen_site '.
300
		                                    'FROM  gen_site_relation, gen_site '.
301
		                                    'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
301
		                                    'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' .
302
		                                    'AND gsr_id_site_02 = gs_id_site '.
302
		                                    'AND gsr_id_site_02 = gs_id_site '.
303
		                                    'AND gs_ce_i18n = "'.$langue_test.'" '.
303
		                                    'AND gs_ce_i18n = "'.$langue_test.'" '.
304
		                                    'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
304
		                                    'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
305
		                                    
305
		                                    
306
		            $resultat_traduction = $objet_pear_db->query($requete_traduction);
306
		            $resultat_traduction = $objet_pear_db->query($requete_traduction);
307
		            (DB::isError($resultat_traduction))
307
		            (DB::isError($resultat_traduction))
308
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
308
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
309
		                : '';
309
		                : '';
310
		                
310
		                
311
		            if ( $resultat_traduction->numRows() == 0 ) {
311
		            if ( $resultat_traduction->numRows() == 0 ) {
312
		            	$liste_site []=$ligne;
312
		            	$liste_site []=$ligne;
313
		            }
313
		            }
314
		            
314
		            
315
		            $resultat_traduction->free();
315
		            $resultat_traduction->free();
316
	            }
316
	            }
317
		    
317
		    
318
	    }
318
	    }
319
	    $resultat->free();
319
	    $resultat->free();
320
	}
320
	}
321
      
321
      
322
    */  
322
    */  
323
      
323
      
324
      
324
      
325
              // Traduction d'un site principal uniquement :
325
              // Traduction d'un site principal uniquement :
326
	        
326
	        
327
	        $requete =  'SELECT * '.
327
	        $requete =  'SELECT * '.
328
	                    'FROM gen_site_relation '.
328
	                    'FROM gen_site_relation '.
329
	                    'WHERE gsr_id_site_02 = '.$adme_site_id.' '.
329
	                    'WHERE gsr_id_site_02 = '.$adme_site_id.' '.
330
	                    'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
330
	                    'AND gsr_id_valeur =1  '; // 1 = "avoir traduction"
331
	        
331
	        
332
	        $resultat = $db->query($requete);
332
	        $resultat = $db->query($requete);
333
	        
333
	        
334
	        if (DB::isError($resultat)) {
334
	        if (DB::isError($resultat)) {
335
	            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
335
	            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
336
	        }
336
	        }
337
	
337
	
338
	        if ( $resultat->numRows() == 0 ) {
338
	        if ( $resultat->numRows() == 0 ) {
339
	        	$adme_site_id =$adme_site_id;
339
	        	$adme_site_id =$adme_site_id;
340
	        }
340
	        }
341
	        else {
341
	        else {
342
	        	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
342
	        	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
343
		        $adme_site_id = $ligne->gsr_id_site_01;
343
		        $adme_site_id = $ligne->gsr_id_site_01;
344
	        }
344
	        }
345
	        $resultat->free();
345
	        $resultat->free();
346
       		 
346
       		 
347
    
347
    
348
    	
348
    	
349
    //---------------------------------------------------------------------------------------------------------------
349
    //---------------------------------------------------------------------------------------------------------------
350
    // Création du formulaire
350
    // Création du formulaire
351
    // Notes : Quickform semble remplacer les & des &amp; à nouveau par des &amp; solution utiliser str_replace()...
351
    // Notes : Quickform semble remplacer les & des &amp; à nouveau par des &amp; solution utiliser str_replace()...
352
    $form =& new HTML_QuickForm('adme_form_sites', 'post', str_replace('&amp;', '&', $objet_pear_url->getUrl()));
352
    $form =& new HTML_QuickForm('adme_form_sites', 'post', str_replace('&amp;', '&', $objet_pear_url->getUrl()));
353
    $tab_index = 1000;
353
    $tab_index = 1000;
354
    $squelette =& $form->defaultRenderer();
354
    $squelette =& $form->defaultRenderer();
355
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n"."\n".'</form>'."\n");
355
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n"."\n".'</form>'."\n");
356
    $squelette->setElementTemplate( '{label}'."\n".'{element}'."\n".
356
    $squelette->setElementTemplate( '{label}'."\n".'{element}'."\n".
357
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
357
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
358
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n");
358
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n");
359
    $partie_site_debut =    '<fieldset>'."\n".
359
    $partie_site_debut =    '<fieldset>'."\n".
360
                            '<legend>'.ADME_LG_FORM_SITE_TITRE.'</legend>'."\n";
360
                            '<legend>'.ADME_LG_FORM_SITE_TITRE.'</legend>'."\n";
361
    $form->addElement('html', $partie_site_debut);
361
    $form->addElement('html', $partie_site_debut);
362
    $id = 'adme_site_id';
362
    $id = 'adme_site_id';
363
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onchange' => 'javascript:this.form.submit();');
363
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'onchange' => 'javascript:this.form.submit();');
364
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_SITE_CHOIX.'</label>';
364
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_SITE_CHOIX.'</label>';
365
    $objet_select = new HTML_QuickForm_select($id, $label, '', $aso_attributs);
365
    $objet_select = new HTML_QuickForm_select($id, $label, '', $aso_attributs);
366
    $aso_options = array();
366
    $aso_options = array();
367
    foreach ($liste_site as $ligne ) {
367
    foreach ($liste_site as $ligne ) {
368
        if (!isset($adme_site_id) || $adme_site_id == 0) {
368
        if (!isset($adme_site_id) || $adme_site_id == 0) {
369
            $adme_site_id = $ligne->gs_id_site;
369
            $adme_site_id = $ligne->gs_id_site;
370
        }
370
        }
371
        if ($ligne->gs_id_site == $adme_site_id) {
371
        if ($ligne->gs_id_site == $adme_site_id) {
372
            $objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site, 'selected="selected"');
372
            $objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site, 'selected="selected"');
373
            // Attribution du nom du site sur lequel on travaille pour le titre
373
            // Attribution du nom du site sur lequel on travaille pour le titre
374
            $site_nom = $ligne->gs_nom;
374
            $site_nom = $ligne->gs_nom;
375
        } else {
375
        } else {
376
            $objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site);
376
            $objet_select->addOption(htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'), $ligne->gs_id_site);
377
        }
377
        }
378
    }
378
    }
379
    $form->addElement($objet_select);
379
    $form->addElement($objet_select);
380
    $form->addElement('submit', 'choisir_site', ADME_LG_FORM_SITE_VALIDER);
380
    $form->addElement('submit', 'choisir_site', ADME_LG_FORM_SITE_VALIDER);
381
    $partie_site_fin = "\n".'</fieldset>';
381
    $partie_site_fin = "\n".'</fieldset>';
382
    $form->addElement('html', $partie_site_fin);
382
    $form->addElement('html', $partie_site_fin);
383
    
383
    
384
    // Instanciation des valeurs par défaut du formulaire
384
    // Instanciation des valeurs par défaut du formulaire
385
    $form->setDefaults($adme_site_id);
385
    $form->setDefaults($adme_site_id);
386
    $retour ='';
386
    $retour ='';
387
    $retour .= '<h1>'.ADME_LG_MENU_TITRE.$site_nom.'</h1>'."\n";
387
    $retour .= '<h1>'.ADME_LG_MENU_TITRE.$site_nom.'</h1>'."\n";
388
    $retour .= $form->toHTML()."\n";
388
    $retour .= $form->toHTML()."\n";
389
    
389
    
390
    //---------------------------------------------------------------------------------------------------------------
390
    //---------------------------------------------------------------------------------------------------------------
391
    // Gestion des menus classiques
391
    // Gestion des menus classiques
392
    $retour .= '<p>'."\n";
392
    $retour .= '<p>'."\n";
393
    $objet_pear_url_copie = $objet_pear_url;
393
    $objet_pear_url_copie = $objet_pear_url;
394
    $objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER);
394
    $objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER);
395
    $objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id);
395
    $objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id);
396
    $objet_pear_url_copie->addQueryString('adme_menu_id', 0);
396
    $objet_pear_url_copie->addQueryString('adme_menu_id', 0);
397
    $url_ajout_menu_classique_n1 = $objet_pear_url_copie->getURL();
397
    $url_ajout_menu_classique_n1 = $objet_pear_url_copie->getURL();
398
    unset($url_ajout_menu_n1);
398
    //unset($url_ajout_menu_n1);
399
    $retour .=    '<a href="'.$url_ajout_menu_classique_n1.'" >'.
399
    $retour .=    '<a href="'.$url_ajout_menu_classique_n1.'" >'.
400
                            ADME_LG_MENU_CLASSIQUE_RACINE.'&nbsp;'.
400
                            ADME_LG_MENU_CLASSIQUE_RACINE.'&nbsp;'.
401
                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'.
401
                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'.
402
                        '</a>'."\n";
402
                        '</a>'."\n";
403
    $retour .= '</p>'."\n";
403
    $retour .= '</p>'."\n";
404
    
404
    
405
    $retour .= ADME_afficherListeMenuClassique($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0);
405
    $retour .= ADME_afficherListeMenuClassique($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0);
406
    //---------------------------------------------------------------------------------------------------------------
406
    //---------------------------------------------------------------------------------------------------------------
407
    // Gestion des menus communs
407
    // Gestion des menus communs
408
    $retour .=     '<p>'."\n";
408
    $retour .=     '<p>'."\n";
409
    $objet_pear_url_copie = $objet_pear_url;
409
    $objet_pear_url_copie = $objet_pear_url;
410
    $objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_AJOUTER);
410
    $objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_AJOUTER);
411
    $objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id);
411
    $objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id);
412
    $objet_pear_url_copie->addQueryString('adme_menu_id', 0);
412
    $objet_pear_url_copie->addQueryString('adme_menu_id', 0);
413
    $url_ajout_menu_commun_n1 = $objet_pear_url_copie->getURL();
413
    $url_ajout_menu_commun_n1 = $objet_pear_url_copie->getURL();
414
    unset($url_ajout_menu_n1);
414
    //unset($url_ajout_menu_n1);
415
    $retour .=     '<a href="'.$url_ajout_menu_commun_n1.'">'.
415
    $retour .=     '<a href="'.$url_ajout_menu_commun_n1.'">'.
416
                            ADME_LG_MENU_COMMUN_RACINE.'&nbsp;'.
416
                            ADME_LG_MENU_COMMUN_RACINE.'&nbsp;'.
417
                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'.
417
                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="+" />'.
418
                        '</a>'."\n";
418
                        '</a>'."\n";
419
    $retour .=     '</p>'."\n";
419
    $retour .=     '</p>'."\n";
420
    $retour .= ADME_afficherListeMenuCommun($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0);
420
    $retour .= ADME_afficherListeMenuCommun($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0);
421
    return $retour;
421
    return $retour;
422
}
422
}
423
 
423
 
424
// +------------------------------------------------------------------------------------------------------+
424
// +------------------------------------------------------------------------------------------------------+
425
// |                                            PIED du PROGRAMME                                         |
425
// |                                            PIED du PROGRAMME                                         |
426
// +------------------------------------------------------------------------------------------------------+
426
// +------------------------------------------------------------------------------------------------------+
427
 
427
 
428
 
428
 
429
/* +--Fin du code ----------------------------------------------------------------------------------------+
429
/* +--Fin du code ----------------------------------------------------------------------------------------+
430
*
430
*
431
* $Log: not supported by cvs2svn $
431
* $Log: not supported by cvs2svn $
-
 
432
* Revision 1.15  2006/03/24 13:03:24  ddelon
-
 
433
* bug afficheur multilinguisme
-
 
434
*
432
* Revision 1.14  2006/03/23 20:24:59  ddelon
435
* Revision 1.14  2006/03/23 20:24:59  ddelon
433
* *** empty log message ***
436
* *** empty log message ***
434
*
437
*
435
* Revision 1.13  2006/03/13 21:00:20  ddelon
438
* Revision 1.13  2006/03/13 21:00:20  ddelon
436
* Suppression messages d'erreur multilinguisme
439
* Suppression messages d'erreur multilinguisme
437
*
440
*
438
* Revision 1.12  2006/03/02 10:49:49  ddelon
441
* Revision 1.12  2006/03/02 10:49:49  ddelon
439
* Fusion branche multilinguisme dans branche principale
442
* Fusion branche multilinguisme dans branche principale
440
*
443
*
441
* Revision 1.11.2.1  2006/02/28 14:02:11  ddelon
444
* Revision 1.11.2.1  2006/02/28 14:02:11  ddelon
442
* Finition multilinguisme
445
* Finition multilinguisme
443
*
446
*
444
* Revision 1.11  2005/07/18 16:14:32  ddelon
447
* Revision 1.11  2005/07/18 16:14:32  ddelon
445
* css admin + menu communs
448
* css admin + menu communs
446
*
449
*
447
* Revision 1.10  2005/07/08 21:57:24  ddelon
450
* Revision 1.10  2005/07/08 21:57:24  ddelon
448
* Copyright
451
* Copyright
449
*
452
*
450
* Revision 1.9  2005/05/12 16:51:37  alex
453
* Revision 1.9  2005/05/12 16:51:37  alex
451
* Changement de l'odre d'apparition des sites dans l'administration des menus.
454
* Changement de l'odre d'apparition des sites dans l'administration des menus.
452
*
455
*
453
* Revision 1.8  2005/01/26 16:18:05  jpm
456
* Revision 1.8  2005/01/26 16:18:05  jpm
454
* Correction bogue 221 : mauvais réglage du titre.
457
* Correction bogue 221 : mauvais réglage du titre.
455
*
458
*
456
* Revision 1.7  2004/11/24 11:31:51  jpm
459
* Revision 1.7  2004/11/24 11:31:51  jpm
457
* Ajout d'une contante de langue à la place d'un texte.
460
* Ajout d'une contante de langue à la place d'un texte.
458
*
461
*
459
* Revision 1.6  2004/11/10 17:26:07  jpm
462
* Revision 1.6  2004/11/10 17:26:07  jpm
460
* Fin gestion de la traduction.
463
* Fin gestion de la traduction.
461
*
464
*
462
* Revision 1.5  2004/11/10 11:58:54  jpm
465
* Revision 1.5  2004/11/10 11:58:54  jpm
463
* Mise en place des constantes de traduction de l'appli.
466
* Mise en place des constantes de traduction de l'appli.
464
*
467
*
465
* Revision 1.4  2004/11/09 17:48:35  jpm
468
* Revision 1.4  2004/11/09 17:48:35  jpm
466
* Gestion de différentes interfaces d'administration.
469
* Gestion de différentes interfaces d'administration.
467
*
470
*
468
* Revision 1.3  2004/11/09 12:37:34  jpm
471
* Revision 1.3  2004/11/09 12:37:34  jpm
469
* Fin de gestion des menus et mise en conformité avec la convention de codage.
472
* Fin de gestion des menus et mise en conformité avec la convention de codage.
470
*
473
*
471
* Revision 1.2  2004/11/08 17:41:07  jpm
474
* Revision 1.2  2004/11/08 17:41:07  jpm
472
* Légères corrections : multisite, corrections SQL.
475
* Légères corrections : multisite, corrections SQL.
473
*
476
*
474
* Revision 1.1  2004/11/04 12:26:42  jpm
477
* Revision 1.1  2004/11/04 12:26:42  jpm
475
* Contient les fonctions d'affichage général de l'appli ADME.
478
* Contient les fonctions d'affichage général de l'appli ADME.
476
*
479
*
477
*
480
*
478
* +-- Fin du code ----------------------------------------------------------------------------------------+
481
* +-- Fin du code ----------------------------------------------------------------------------------------+
479
*/
482
*/
480
?>
483
?>