Subversion Repositories Applications.papyrus

Rev

Rev 769 | Rev 794 | Go to most recent revision | Show entire file | Regard 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 114... Line 124...
114
                'Ligne n° : '. __LINE__ .'<br />'.
124
                'Ligne n° : '. __LINE__ .'<br />'.
115
                'Fichier n° : '. __FILE__ .'<br />');
125
                'Fichier n° : '. __FILE__ .'<br />');
116
        }
126
        }
Line 117... Line -...
117
        
-
 
Line -... Line 127...
-
 
127
        
118
        
128
 
-
 
129
	
-
 
130
    // Comment ca marche ?
119
    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
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 
-
 
134
    // type contenu.
-
 
135
    
-
 
136
    // Récupération identifiant du menu en cours 
-
 
137
    
-
 
138
    $requete =  'SELECT gm_id_menu, gm_code_num   '.
-
 
139
                'FROM gen_menu  '.
-
 
140
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
141
                'AND gm_ce_i18n = "'.$ligne_menu['gm_ce_i18n'].'" ';
-
 
142
 
-
 
143
 
-
 
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 ) {
120
    
149
	
-
 
150
			$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
151
	}
-
 
152
	else {
-
 
153
	
-
 
154
	// Pas d'identifiant pour le menu en cours ? Il n'a pas encore été traduit, on recupere l'identifiant
-
 
155
	// de la langue en cours
-
 
156
	
-
 
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);
121
    if (isset($id_langue) && ($id_langue!='')) {
164
 
122
		$langue_test=$id_langue;
165
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line -... Line 166...
-
 
166
		
-
 
167
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
168
	}  
-
 
169
 
Line 123... Line 170...
123
	} else {
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
 
124
		$langue_test=GEN_I18N_ID_DEFAUT;
175
    // On recherche maintenant le contenu :
125
	}
176
    
126
 
177
    
-
 
178
	// Cas historique, recherche sur le code menu uniquement.
127
 
179
	
Line -... Line 180...
-
 
180
	$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
181
	                'FROM gen_menu_contenu  '.
-
 
182
	                'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '.
128
    // Récupération du dernier contenu : cas d'un traduction 
183
	                'AND gmc_ce_type_contenu in (1,2) '.
129
    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '.
184
	                'AND gmc_bool_dernier = 1';
Line -... Line 185...
-
 
185
	                
-
 
186
	 //'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '.
130
                'FROM gen_menu_contenu  '.
187
	     
Line -... Line 188...
-
 
188
	     
-
 
189
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
190
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
131
                'WHERE truncate((gmc_ce_type_contenu/10),0) = '.  $adme_menu_id . ' '.
191
	
132
                'AND gmc_bool_dernier = 1';
192
	
133
                
193
	// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu 
134
    	$resultat = $db->query($requete);
194
	
135
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
195
	if ( $resultat->numRows() == 0 ) {
Line -... Line 196...
-
 
196
	
136
			
197
		
137
 
198
	    // Multilinguisme :
Line 138... Line -...
138
			if ( $resultat->numRows() == 0 ) {
-
 
-
 
199
	     
Line -... Line 200...
-
 
200
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
Line -... Line 201...
-
 
201
	                'FROM gen_menu_contenu  '.
-
 
202
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
-
 
203
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
-
 
204
	                'AND gmc_bool_dernier = 1';
-
 
205
	    
-
 
206
	    
-
 
207
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
208
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
209
	
-
 
210
		// Pas de contenu, tentative de recuperation contenu initial
139
				
211
			
-
 
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);
140
				    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '.
221
				
Line 141... Line -...
141
				                'FROM gen_menu_contenu  '.
-
 
Line -... Line 222...
-
 
222
					(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete)) : '';
-
 
223
						
-
 
224
					$ligne = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
-
 
225
 
-
 
226
			
-
 
227
				    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu '.
-
 
228
	        	        'FROM gen_menu_contenu  '.
Line 142... Line 229...
142
				                'WHERE gmc_ce_menu = '.$adme_menu_id.' '.
229
	            	    'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
143
				                'AND gmc_ce_type_contenu in (1,2) '.
230
	                	'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
144
				                'AND gmc_bool_dernier = 1';
231
	                	'AND gmc_bool_dernier = 1';
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
*