Subversion Repositories Applications.papyrus

Rev

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

Rev 832 Rev 1028
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: selecteur_sites.php,v 1.9 2006-04-28 12:41:49 florian Exp $
22
// CVS : $Id: selecteur_sites.php,v 1.10 2006-10-11 17:20:19 jp_milcent Exp $
23
/**
23
/**
24
* Applette : selecteur sites
24
* Applette : selecteur sites
25
*
25
*
26
* Génère un formulaire contenant un menu déroulant permettant de choisir un site parmis les disponibles.
26
* Génère un formulaire contenant un menu déroulant permettant de choisir un site parmis les disponibles.
27
* Nécessite :
27
* Nécessite :
Line 38... Line 38...
38
//Auteur original :
38
//Auteur original :
39
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
39
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
40
//Autres auteurs :
40
//Autres auteurs :
41
*@author        Aucun
41
*@author        Aucun
42
*@copyright     Tela-Botanica 2000-2004
42
*@copyright     Tela-Botanica 2000-2004
43
*@version       $Revision: 1.9 $ $Date: 2006-04-28 12:41:49 $
43
*@version       $Revision: 1.10 $ $Date: 2006-10-11 17:20:19 $
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
45
*/
45
*/
Line 46... Line 46...
46
 
46
 
47
// +------------------------------------------------------------------------------------------------------+
47
// +------------------------------------------------------------------------------------------------------+
Line 102... Line 102...
102
    if (isset($tab_applette_arguments[2]) && $tab_applette_arguments[2] == 'XHTML') {
102
    if (isset($tab_applette_arguments[2]) && $tab_applette_arguments[2] == 'XHTML') {
103
        $bln_xhtml_strict = 1;
103
        $bln_xhtml_strict = 1;
104
    }
104
    }
105
    // Nous vérifions s'il y a des sites que nous ne voulons pas afficher:
105
    // Nous vérifions s'il y a des sites que nous ne voulons pas afficher:
106
    $morceau_requete_id_suppr = '';
106
    $morceau_requete_id_suppr = '';
107
    $tab_id_suppr_groupe='';
107
    $tab_id_suppr_groupe = '';
108
    if (isset($tab_applette_arguments[3]) && ereg('SANS_(.+)', $tab_applette_arguments[3], $tab_id_suppr_groupe)) {
108
    if (isset($tab_applette_arguments[3]) && ereg('SANS_(.+)', $tab_applette_arguments[3], $tab_id_suppr_groupe)) {
109
        if (preg_match('/^\d+$/', $tab_id_suppr_groupe[1])) {
109
        if (preg_match('/^\d+$/', $tab_id_suppr_groupe[1])) {
110
            $liste_id_suppr = $tab_id_suppr_groupe[1];
110
            $liste_id_suppr = $tab_id_suppr_groupe[1];
111
        } else if (preg_match('/^\d+(?:_\d+)+$/', $tab_id_suppr_groupe[1])) {
111
        } else if (preg_match('/^\d+(?:_\d+)+$/', $tab_id_suppr_groupe[1])) {
112
            $liste_id_suppr = preg_replace('/_/', ', ', $tab_id_suppr_groupe[1]);
112
            $liste_id_suppr = preg_replace('/_/', ', ', $tab_id_suppr_groupe[1]);
Line 118... Line 118...
118
    
118
    
Line 119... Line 119...
119
    // Recherche de tous les sites  langue en cours
119
    // Recherche de tous les sites  langue en cours
Line 120... Line 120...
120
    
120
    
121
    // On recherche l'ensemble des site en excluant le site admin ? (administration de Papyrus).
121
    // On recherche l'ensemble des site en excluant le site admin ? (administration de Papyrus).
122
 
122
 
123
	if (isset($id_langue) && ($id_langue!='')) {
123
	if (isset($id_langue) && ($id_langue != '')) {
124
		$langue_test=$id_langue;
124
		$langue_test = $id_langue;
Line 125... Line 125...
125
	} else {
125
	} else {
126
		$langue_test=GEN_I18N_ID_DEFAUT;
126
		$langue_test = GEN_I18N_ID_DEFAUT;
127
	}
127
	}
Line 136... Line 136...
136
                'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
136
                'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe"
Line 137... Line 137...
137
                
137
                
138
    $resultat = $objet_pear_db->query($requete);
138
    $resultat = $objet_pear_db->query($requete);
Line 139... Line 139...
139
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
139
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line 140... Line 140...
140
    
140
    
141
    $liste_site=array();
141
    $liste_site = array();
142
    
142
    
143
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
143
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
144
    	         // Si le site trouvé est une traduction vers la langue principale, on ne le selectionne pas
144
    	         // Si le site trouvé est une traduction vers la langue principale, on ne le selectionne pas
145
    			if ($langue_test == GEN_I18N_ID_DEFAUT) {
145
    			if ($langue_test == GEN_I18N_ID_DEFAUT) {
146
    		  		$requete_est_traduction =   'SELECT gsr_id_site_01 '.
146
    		  		$requete_est_traduction = 'SELECT gsr_id_site_01 '.
147
	                       'FROM  gen_site_relation '.
147
	                       'FROM  gen_site_relation '.
Line 153... Line 153...
153
		            (DB::isError($resultat_est_traduction))
153
		            (DB::isError($resultat_est_traduction))
154
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
154
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
155
		                : '';
155
		                : '';
Line 156... Line 156...
156
		                
156
		                
157
		   			if ( $resultat_est_traduction->numRows() == 0 ) {
157
		   			if ( $resultat_est_traduction->numRows() == 0 ) {
158
	    	 			$liste_site[]=$ligne;
158
	    	 			$liste_site[] = $ligne;
159
		            }
159
		            }
160
    			}
160
    			}
161
    			else {
161
    			else {
162
    				$liste_site[]=$ligne;
162
    				$liste_site[] = $ligne;
163
    			}
163
    			}
164
    }
-
 
165
    
164
    }
166
    $resultat->free();
-
 
Line 167... Line 165...
167
    
165
    $resultat->free();
168
 
166
 
169
    // Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue
-
 
Line 170... Line 167...
170
    // la langue par defaut et non traduits dans la langue en cours.
167
    // Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue
171
  	
-
 
172
 
168
    // la langue par defaut et non traduits dans la langue en cours.
173
    // On recherche l'ensemble des site en excluant le site admin (administration de Papyrus).
-
 
174
 
-
 
175
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
169
 
176
    
170
    // On recherche l'ensemble des site en excluant le site admin (administration de Papyrus).
177
    
171
	if ($langue_test != GEN_I18N_ID_DEFAUT) {
178
    // Site ayant commme langue, la langue par defaut 
172
    // Site ayant commme langue, la langue par defaut 
179
	    $requete =  'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '.
173
	    $requete =  'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '.
Line 187... Line 181...
187
	                
181
	                
188
	    $resultat = $objet_pear_db->query($requete);
182
	    $resultat = $objet_pear_db->query($requete);
Line 189... Line 183...
189
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
183
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
190
	    
-
 
191
	    // Est il traduit ? Non, alors affichage 
184
	    
192
	    
-
 
193
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
185
	    // Est il traduit ? Non, alors affichage 
194
	    	
186
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
195
				if (isset($id_langue) && ($id_langue!='')) {
187
				if (isset($id_langue) && ($id_langue != '')) {
196
					$langue_test=$id_langue;
188
					$langue_test=$id_langue;
197
				} else {
189
				} else {
Line 198... Line 190...
198
					$langue_test=GEN_I18N_ID_DEFAUT;
190
					$langue_test=GEN_I18N_ID_DEFAUT;
199
				}
191
				}
200
			    
192
			    
201
	    				$requete_est_traduction =   'SELECT gsr_id_site_01 '.
193
				$requete_est_traduction =   'SELECT gsr_id_site_01 '.
202
	                                'FROM  gen_site_relation '.
194
											'FROM  gen_site_relation '.
Line 203... Line 195...
203
	                                'WHERE '.$ligne['gs_id_site'].' = gsr_id_site_02 ' .
195
											'WHERE '.$ligne['gs_id_site'].' = gsr_id_site_02 ' .
204
	                                'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
196
	                            		    'AND  gsr_id_site_01 <> gsr_id_site_02 ' .
205
	                                'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
197
											'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction"
206
	                                
198
	                                
Line 207... Line 199...
207
	                                
199
	                                
208
	            $resultat_est_traduction = $objet_pear_db->query($requete_est_traduction);
-
 
209
	            (DB::isError($resultat_est_traduction))
-
 
210
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
-
 
211
	                : '';
200
	            $resultat_est_traduction = $objet_pear_db->query($requete_est_traduction);
212
	                
201
	            (DB::isError($resultat_est_traduction))
213
	            if ( $resultat_est_traduction->numRows() == 0 ) {
202
	                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction))
214
	    
203
	                : '';
215
			    
204
	                
Line 225... Line 214...
225
		            (DB::isError($resultat_traduction))
214
		            (DB::isError($resultat_traduction))
226
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
215
		                ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
227
		                : '';
216
		                : '';
Line 228... Line 217...
228
		                
217
		                
229
		            if ( $resultat_traduction->numRows() == 0 ) {
218
		            if ( $resultat_traduction->numRows() == 0 ) {
230
		            	$liste_site []=$ligne;
219
		            	$liste_site[] = $ligne;
Line 231... Line 220...
231
		            }
220
		            }
232
		            
221
		            
Line 297... Line 286...
297
 
286
 
298
 
287
 
299
/* +--Fin du code ----------------------------------------------------------------------------------------+
288
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
289
*
-
 
290
* $Log: not supported by cvs2svn $
-
 
291
* Revision 1.9  2006/04/28 12:41:49  florian
300
*
292
* corrections erreurs chemin
301
* $Log: not supported by cvs2svn $
293
*
302
* Revision 1.8  2006/03/02 10:49:49  ddelon
294
* Revision 1.8  2006/03/02 10:49:49  ddelon
303
* Fusion branche multilinguisme dans branche principale
295
* Fusion branche multilinguisme dans branche principale
304
*
296
*