Subversion Repositories Applications.papyrus

Rev

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

Rev 795 Rev 796
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.14 2006-03-24 15:54:13 ddelon Exp $
22
// CVS : $Id: afficheur.admin.php,v 1.15 2006-03-27 10:14:43 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.14 $ $Date: 2006-03-24 15:54:13 $
35
*@version       $Revision: 1.15 $ $Date: 2006-03-27 10:14:43 $
36
// +------------------------------------------------------------------------------------------------------+
36
// +------------------------------------------------------------------------------------------------------+
37
*/
37
*/
Line 38... Line 38...
38
 
38
 
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
Line 95... Line 95...
95
    *
95
    *
96
    *
96
    *
97
    *   @return  void  les données sont enregistrées dans la base de données.
97
    *   @return  void  les données sont enregistrées dans la base de données.
98
    */
98
    */
99
    function _redigerContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action)
99
    function _redigerContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action)
100
    {
100
    {
101
        //-------------------------------------------------------------------------------------------------------------------
-
 
102
        // Initialisation de variable
-
 
103
        $url->addQueryString('adme_site_id', $adme_site_id);
-
 
104
        $url->addQueryString('adme_menu_id', $adme_menu_id);
-
 
105
        $url->addQueryString('adme_action', $adme_action);
-
 
106
        
101
    	
107
	    $rappel_init=0;
102
    	$contenu='';
-
 
103
    	
-
 
104
    	
108
	                
105
    		                
109
	    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
106
	    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
Line 110... Line 107...
110
	    
107
	    
111
	    if (isset($id_langue) && ($id_langue!='')) {
108
	    if (isset($id_langue) && ($id_langue!='')) {
112
			$langue_test=$id_langue;
109
			$langue_test=$id_langue;
113
		} else {
110
		} else {
114
			$langue_test=GEN_I18N_ID_DEFAUT;
111
			$langue_test=GEN_I18N_ID_DEFAUT;
Line -... Line 112...
-
 
112
		}
-
 
113
	
-
 
114
    	
-
 
115
    	
-
 
116
        //-------------------------------------------------------------------------------------------------------------------
-
 
117
        // Initialisation de variable
-
 
118
        $url->addQueryString('adme_site_id', $adme_site_id);
Line 115... Line 119...
115
		}
119
        $url->addQueryString('adme_menu_id', $adme_menu_id);
116
	
120
        $url->addQueryString('adme_action', $adme_action);
117
        
121
        
Line 124... Line 128...
124
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
128
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
125
                'Ligne n° : '. __LINE__ .'<br />'.
129
                'Ligne n° : '. __LINE__ .'<br />'.
126
                'Fichier n° : '. __FILE__ .'<br />');
130
                'Fichier n° : '. __FILE__ .'<br />');
127
        }
131
        }
Line 128... Line -...
128
        
-
 
129
 
132
        
130
	
-
 
131
    // Comment ca marche ?
-
 
132
    // Historiquement, le code menu est associé au contenu
-
 
133
    // Depuis le passage au multilinguisme : ce comportement est conservé mais :
-
 
134
    // Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le 
-
 
135
    // type contenu.
-
 
136
    
133
        
Line 137... Line 134...
137
    // Récupération identifiant du menu en cours 
134
    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
138
    
135
    
139
    $requete =  'SELECT gm_id_menu, gm_code_num   '.
-
 
140
                'FROM gen_menu  '.
-
 
141
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
142
                'AND gm_ce_i18n = "'.$ligne_menu['gm_ce_i18n'].'" ';
-
 
143
 
-
 
144
 
-
 
145
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
146
	
-
 
147
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
136
    if (isset($id_langue) && ($id_langue!='')) {
148
 
-
 
149
	if ( $resultat->numRows() > 0 ) {
137
		$langue_test=$id_langue;
150
	
138
	} else {
151
			$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
-
 
152
	}
-
 
153
	else {
-
 
154
	
-
 
155
	// Pas d'identifiant pour le menu en cours ? Il n'a pas encore été traduit, on recupere l'identifiant
-
 
156
	// de la langue en cours
-
 
157
	
-
 
158
	$requete =  'SELECT gm_id_menu, gm_code_num   '.
-
 
159
                'FROM gen_menu  '.
-
 
160
                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
-
 
Line 161... Line -...
161
                'AND gm_ce_i18n = "'.$langue_test.'" ';
-
 
162
                
-
 
163
 
-
 
164
		$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
165
 
-
 
166
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
Line 167... Line 139...
167
		
139
		$langue_test=GEN_I18N_ID_DEFAUT;
168
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
140
	}
-
 
141
 
169
	}  
142
 
-
 
143
    // Récupération du dernier contenu : cas d'un traduction 
-
 
144
    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '.
-
 
145
                'FROM gen_menu_contenu  '.
-
 
146
                'WHERE truncate((gmc_ce_type_contenu/10),0) = '.  $adme_menu_id . ' '.
170
 
147
                'AND gmc_bool_dernier = 1';
-
 
148
                
Line -... Line 149...
-
 
149
    	$resultat = $db->query($requete);
-
 
150
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
151
			
171
	// Ici, on a un identifiant pour le menu, soit : 
152
			// Cas historique 
-
 
153
 
-
 
154
			if ( $resultat->numRows() == 0 ) {
-
 
155
				
172
	// - l'identifiant du menu selectionné, s'il a été traduit
156
				    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '.
-
 
157
				                'FROM gen_menu_contenu  '.
-
 
158
				                'WHERE gmc_ce_menu = '.$adme_menu_id.' '.
Line 173... Line -...
173
	// - l'identifiant du menu par defaut, s'il n'a pas été traduit
-
 
174
	
-
 
175
 
-
 
176
    // On recherche maintenant le contenu :
-
 
177
    
-
 
178
    
-
 
179
	// Cas historique, recherche sur le code menu uniquement.
-
 
180
	
159
				                'AND gmc_ce_type_contenu in (1,2) '.
181
	$requete =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
-
 
182
	                'FROM gen_menu_contenu  '.
-
 
183
	                'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '.
-
 
184
	                'AND gmc_ce_type_contenu in (1,2) '.
-
 
185
	                'AND gmc_bool_dernier = 1';
-
 
186
	                
-
 
187
	 //'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '.
-
 
188
	     
-
 
189
	     
-
 
190
	$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
-
 
191
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
192
	
-
 
193
	
-
 
194
	// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu 
-
 
195
	
-
 
196
	if ( $resultat->numRows() == 0 ) {
-
 
197
	
-
 
198
		
-
 
199
	    // Multilinguisme :
-
 
200
	     
-
 
201
	    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
-
 
202
	                'FROM gen_menu_contenu  '.
-
 
203
	                'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
-
 
204
	                'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
-
 
205
	                'AND gmc_bool_dernier = 1';
-
 
Line 206... Line 160...
206
	    
160
				                'AND gmc_bool_dernier = 1';
207
	    
161
				                
-
 
162
				    $resultat = $db->query($requete);
Line 208... Line 163...
208
	    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
163
				    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
209
	    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
164
    
210
	
165
			}
211
		// Pas de contenu, tentative de recuperation contenu initial
166
			
Line 212... Line 167...
212
			
167
					// Pas de contenu, tentative de recuperation contenu non traduit (apres mutlilinguisme)
Line 213... Line 168...
213
		if ( $resultat->numRows() == 0 ) {
168
		
Line 214... Line 169...
214
 
169
			if ( $resultat->numRows() == 0 ) {
215
 
-
 
216
					$requete =  'SELECT gm_id_menu, gm_code_num  '.
170
 
217
				                'FROM gen_menu  '.
171
					$requete_defaut =  'SELECT gm_id_menu, gm_code_num  '.
218
				                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
172
				                'FROM gen_menu  '.
219
				                'AND gm_ce_i18n = "'.$langue_test.'" ';
173
				                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
220
				                
174
				                'AND gm_ce_i18n = "'.$langue_test.'" ';
221
					$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
175
				                
Line 222... Line 176...
222
				
176
					$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut);
223
					(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete)) : '';
177
				
Line -... Line 178...
-
 
178
					(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : '';
-
 
179
						
-
 
180
					$ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
-
 
181
					
-
 
182
					$requete_defaut =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
-
 
183
	        	        'FROM gen_menu_contenu  '.
-
 
184
	            	    'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
-
 
185
	                	'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne_defaut->gm_id_menu . ' '.
-
 
186
	                	'AND gmc_bool_dernier = 1';
224
						
187
 
-
 
188
					    $resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut);
-
 
189
					    (DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : '';
-
 
190
	    
-
 
191
				  $ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
-
 
192
					
-
 
193
				  $contenu = $ligne_defaut->gmc_contenu;
-
 
194
				  
-
 
195
				// Pas de contenu, tentative de recuperation contenu non traduit (avant multilinguisme)
-
 
196
		
-
 
197
					if ( $resultat_defaut->numRows() == 0 ) {
-
 
198
		
-
 
199
							$requete_defaut =  'SELECT gm_id_menu, gm_code_num  '.
-
 
200
						                'FROM gen_menu  '.
-
 
201
						                'WHERE gm_code_num =  '.$ligne_menu['gm_code_num'].' '.
225
					$ligne = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
202
						                'AND gm_ce_i18n = "'.$langue_test.'" ';
-
 
203
						                
-
 
204
							$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut);
226
 
205
						
-
 
206
							(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : '';
227
			
207
								
-
 
208
							$ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
228
				    $requete =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
209
							
-
 
210
							$requete_defaut =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
229
	        	        'FROM gen_menu_contenu  '.
211
			        	        'FROM gen_menu_contenu  '.
Line -... Line 212...
-
 
212
			            	    'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
-
 
213
			            	    'AND gmc_ce_type_contenu in (1,2) '.
-
 
214
						                'AND gmc_bool_dernier = 1';
Line 230... Line 215...
230
	            	    'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '.
215
						                
-
 
216
							    $resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut);
Line -... Line 217...
-
 
217
							    (DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : '';
Line 231... Line -...
231
	                	'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '.
-
 
Line 232... Line 218...
232
	                	'AND gmc_bool_dernier = 1';
218
			    
233
 
219
						  $ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT);
234
					    $resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete);
220
							
Line 272... Line 258...
272
        $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
258
        $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
Line 273... Line 259...
273
        
259
        
274
        if ($GLOBALS['_AFFI_']['fckeditor']['utilisation']) {
260
        if ($GLOBALS['_AFFI_']['fckeditor']['utilisation']) {
275
            /** Inclusion du fichier de FCKeditor*/
261
            /** Inclusion du fichier de FCKeditor*/
276
            require_once AFFI_CHEMIN_FCKEDITOR.'fckeditor.php';
262
            require_once AFFI_CHEMIN_FCKEDITOR.'fckeditor.php';
-
 
263
            $fckeditor = new FCKeditor('gmc_contenu');
277
            $fckeditor = new FCKeditor('gmc_contenu');
264
            if ($ligne_dernier_contenu['gmc_contenu']) {
-
 
265
	            $fckeditor->Value = $ligne_dernier_contenu['gmc_contenu'];
-
 
266
            }
-
 
267
            else {
-
 
268
            	if ($contenu) {
-
 
269
            		$fckeditor->Value = $contenu;
-
 
270
            	}
-
 
271
            	else {
-
 
272
            		$fckeditor->Value = '';
-
 
273
            	}
-
 
274
            } 
278
            $fckeditor->Value = $ligne_dernier_contenu['gmc_contenu'];
275
            
279
            $fckeditor->Height = $GLOBALS['_AFFI_']['fckeditor']['hauteur'];
276
            $fckeditor->Height = $GLOBALS['_AFFI_']['fckeditor']['hauteur'];
280
            $fckeditor->ToolbarSet = $GLOBALS['_AFFI_']['fckeditor']['barre'];
277
            $fckeditor->ToolbarSet = $GLOBALS['_AFFI_']['fckeditor']['barre'];
281
            $fckeditor->Config['CustomConfigurationsPath']=$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath'];
278
            $fckeditor->Config['CustomConfigurationsPath']=$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath'];
282
            $fckeditor->Config['AutoDetectLanguage'] = false;
279
            $fckeditor->Config['AutoDetectLanguage'] = false;
Line 307... Line 304...
307
        $id = 'gmc_resume_modification';
304
        $id = 'gmc_resume_modification';
308
        $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255);
305
        $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255);
309
        $label = '<label for="'.$id.'">'.'Resumé modification : '.'</label>';
306
        $label = '<label for="'.$id.'">'.'Resumé modification : '.'</label>';
310
        $form->addElement('text', $id, $label, $aso_attributs);
307
        $form->addElement('text', $id, $label, $aso_attributs);
311
        $form->addElement('hidden','gmc_ce_menu',$ligne_dernier_contenu['gmc_ce_menu']);
308
        $form->addElement('hidden','gmc_ce_menu',$ligne_dernier_contenu['gmc_ce_menu']);
312
        
-
 
313
        if ($rappel_init) {
-
 
314
        	$ligne_dernier_contenu['gmc_ce_type_contenu']=$ligne_dernier_contenu['gmc_ce_type_contenu']+(10*$adme_menu_id);
-
 
315
        }
-
 
316
        
-
 
317
        $form->addElement('hidden','gmc_ce_type_contenu_table',$ligne_dernier_contenu['gmc_ce_type_contenu']);
309
        $form->addElement('hidden','gmc_ce_type_contenu_table',$ligne_dernier_contenu['gmc_ce_type_contenu']);
Line 318... Line 310...
318
        
310
        
319
        $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
311
        $liste_bouton_debut = '<ul class="liste_bouton">'."\n";
320
        $form->addElement('html', $liste_bouton_debut);
312
        $form->addElement('html', $liste_bouton_debut);
Line 360... Line 352...
360
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
352
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
361
                'Ligne n° : '. __LINE__ .'<br />'.
353
                'Ligne n° : '. __LINE__ .'<br />'.
362
                'Fichier n° : '. __FILE__ .'<br />');
354
                'Fichier n° : '. __FILE__ .'<br />');
363
        }
355
        }
Line 364... Line -...
364
        
-
 
365
        
356
        
366
        if ((isset($tab_valeur['gmc_ce_menu']) && $tab_valeur['gmc_ce_menu']!='') && (isset($tab_valeur['gmc_ce_type_contenu_table']) && $tab_valeur['gmc_ce_type_contenu_table']!='')) {
-
 
Line 367... Line 357...
367
        
357
        if ((isset($tab_valeur['gmc_ce_menu']) && $tab_valeur['gmc_ce_menu']!='') && (isset($tab_valeur['gmc_ce_type_contenu_table']) && $tab_valeur['gmc_ce_type_contenu_table']!='')) {
368
         
358
         
369
	        //-------------------------------------------------------------------------------------------------------------------
-
 
370
	        // Mise à jour de l'ancien contenu du menu
359
	        //-------------------------------------------------------------------------------------------------------------------
371
	        
360
	        // Mise à jour de l'ancien contenu du menu
372
	        $requete =  'UPDATE gen_menu_contenu SET '.
361
	        $requete =  'UPDATE gen_menu_contenu SET '.
373
	                    'gmc_bool_dernier = 0 '.
362
	                    'gmc_bool_dernier = 0 '.
Line 374... Line -...
374
	                    'WHERE gmc_ce_menu = '.$tab_valeur['gmc_ce_menu'] . ' '.
-
 
375
		                'AND gmc_ce_type_contenu = '. $tab_valeur['gmc_ce_type_contenu_table']. ' ';
-
 
376
	
-
 
Line 377... Line 363...
377
			
363
	                    'WHERE gmc_ce_menu = '.$tab_valeur['gmc_ce_menu'] . ' '.
378
			// 			
364
		                'AND gmc_ce_type_contenu = '. $tab_valeur['gmc_ce_type_contenu_table']. ' ';
Line 379... Line 365...
379
 
365
	
Line 412... Line 398...
412
 
398
 
413
 
399
 
414
/* +--Fin du code ----------------------------------------------------------------------------------------+
400
/* +--Fin du code ----------------------------------------------------------------------------------------+
415
*
-
 
416
* $Log: not supported by cvs2svn $
-
 
417
* Revision 1.13  2006/03/24 14:36:19  ddelon
-
 
418
* bug afficheur multilinguisme
-
 
419
*
-
 
420
* Revision 1.12  2006/03/24 13:03:24  ddelon
-
 
421
* bug afficheur multilinguisme
401
*
422
*
402
* $Log: not supported by cvs2svn $
423
* Revision 1.11  2006/03/13 22:27:23  ddelon
403
* Revision 1.11  2006/03/13 22:27:23  ddelon
424
* bug afficheur multilinguisme
404
* bug afficheur multilinguisme
425
*
405
*