Subversion Repositories Applications.papyrus

Rev

Rev 2049 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2049 Rev 2150
104
    {
104
    {
105
        //-------------------------------------------------------------------------------------------------------------------
105
        //-------------------------------------------------------------------------------------------------------------------
106
        // Initialisation de variable
106
        // Initialisation de variable
107
    	$contenu = '';
107
    	$contenu = '';
108
    	$donnees = array();
108
    	$donnees = array();
109
        $url->addQueryString('adme_site_id', $adme_site_id);
109
        $url->addQueryString('adme_site_id', $adme_site_id);
110
        $url->addQueryString('adme_menu_id', $adme_menu_id);
110
        $url->addQueryString('adme_menu_id', $adme_menu_id);
111
        $url->addQueryString('adme_action', $adme_action);
111
        $url->addQueryString('adme_action', $adme_action);
112
		
112
		
113
		if ($adme_contenu_id != '') {
113
		if ($adme_contenu_id != '') {
114
			// Nous réeditons une version archivée
114
			// Nous réeditons une version archivée
115
			$ligne_dernier_contenu = GEN_rechercheContenuIdentifiant($db, $adme_contenu_id, DB_FETCHMODE_ASSOC);
115
			$ligne_dernier_contenu = GEN_rechercheContenuIdentifiant($db, $adme_contenu_id, DB_FETCHMODE_ASSOC);
116
			$donnees['reedition_info'] = $ligne_dernier_contenu['gmc_date_modification'];
116
			$donnees['reedition_info'] = $ligne_dernier_contenu['gmc_date_modification'];
117
		} else {
117
		} else {
118
   			// Nous affichons la dernière version du contenu
118
   			// Nous affichons la dernière version du contenu
119
   			$ligne_dernier_contenu = GEN_rechercheContenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
119
   			$ligne_dernier_contenu = GEN_rechercheContenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
120
		}
120
		}
121
 
121
 
122
        //-------------------------------------------------------------------------------------------------------------------
122
        //-------------------------------------------------------------------------------------------------------------------
123
        // Récupération des données
123
        // Récupération des données
124
        $donnees['form_url'] = $url->getUrl();
124
        $donnees['form_url'] = $url->getUrl();
125
		
125
		
126
		// Gestion de FckEditor
126
		// Gestion de FckEditor
127
		$donnees['fck_editor'] = '';
127
		$donnees['fck_editor'] = '';
128
        if ($GLOBALS['_AFFI_']['fckeditor']['utilisation']) {
128
        if ($GLOBALS['_AFFI_']['fckeditor']['utilisation']) {
129
            /** Inclusion du fichier de FCKeditor*/
129
            /** Inclusion du fichier de FCKeditor*/
130
            require_once AFFI_CHEMIN_FCKEDITOR.'fckeditor.php';
130
            require_once AFFI_CHEMIN_FCKEDITOR.'fckeditor.php';
131
            $fckeditor = new FCKeditor('gmc_contenu');
131
            $fckeditor = new FCKeditor('gmc_contenu');
132
            if ($ligne_dernier_contenu['gmc_contenu']) {
132
            if ($ligne_dernier_contenu['gmc_contenu']) {
133
	            $fckeditor->Value = $ligne_dernier_contenu['gmc_contenu'];
133
	            $fckeditor->Value = $ligne_dernier_contenu['gmc_contenu'];
134
            } else {
134
            } else {
135
            	if ($contenu) {
135
            	if ($contenu) {
136
            		$fckeditor->Value = $contenu;
136
            		$fckeditor->Value = $contenu;
137
            	} else {
137
            	} else {
138
            		$fckeditor->Value = '';
138
            		$fckeditor->Value = '';
139
            	}
139
            	}
140
            } 
140
            } 
141
            $fckeditor->Height = $GLOBALS['_AFFI_']['fckeditor']['hauteur'];
141
            $fckeditor->Height = $GLOBALS['_AFFI_']['fckeditor']['hauteur'];
142
            $fckeditor->ToolbarSet = $GLOBALS['_AFFI_']['fckeditor']['barre'];
142
            $fckeditor->ToolbarSet = $GLOBALS['_AFFI_']['fckeditor']['barre'];
143
            $fckeditor->Config['CustomConfigurationsPath']=$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath'];
143
            $fckeditor->Config['CustomConfigurationsPath']=$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath'];
144
            $fckeditor->Config['AutoDetectLanguage'] = false;
144
            $fckeditor->Config['AutoDetectLanguage'] = false;
145
            $fckeditor->Config['DefaultLanguage'] = $GLOBALS['_AFFI_']['fckeditor']['langue'];
145
            $fckeditor->Config['DefaultLanguage'] = $GLOBALS['_AFFI_']['fckeditor']['langue'];
146
            $fckeditor->BasePath = AFFI_CHEMIN_FCKEDITOR;
146
            $fckeditor->BasePath = AFFI_CHEMIN_FCKEDITOR;
147
            if ($fckeditor->IsCompatible()) {
147
            if ($fckeditor->IsCompatible()) {
148
                $donnees['fck_editor'] = $fckeditor->CreateHtml();
148
                $donnees['fck_editor'] = $fckeditor->CreateHtml();
149
            }
149
            }
150
        }
150
        }
151
 
151
 
152
        // Identifiant du menu
152
        // Identifiant du menu
153
        $donnees['gmc_ce_menu'] = $adme_menu_id;
153
        $donnees['gmc_ce_menu'] = $adme_menu_id;
154
        
154
        
155
        // Type de contenu
155
        // Type de contenu
156
        // Par défaut c'est du XHTML (donc 1)
156
        // Par défaut c'est du XHTML (donc 1)
157
		$donnees['gmc_ce_type_contenu'] = 1;
157
		$donnees['gmc_ce_type_contenu'] = 1;
158
        if (isset($ligne_dernier_contenu['gmc_ce_type_contenu'])) {
158
        if (isset($ligne_dernier_contenu['gmc_ce_type_contenu'])) {
159
        	$donnees['gmc_ce_type_contenu'] = $ligne_dernier_contenu['gmc_ce_type_contenu'];
159
        	$donnees['gmc_ce_type_contenu'] = $ligne_dernier_contenu['gmc_ce_type_contenu'];
160
        }
160
        }
161
        
161
        
162
		$squelette = AFFI_CHEMIN_SQUELETTE.'formulaire.tpl.html';
162
		$squelette = AFFI_CHEMIN_SQUELETTE.'formulaire.tpl.html';
163
        
163
        
164
        return $this->_genererContenu($squelette, $donnees);
164
        return $this->_genererContenu($squelette, $donnees);
165
	}
165
	}
166
    
166
    
167
    function _reediterContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action)
167
    function _reediterContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action)
168
    {
168
    {
169
        //-------------------------------------------------------------------------------------------------------------------
169
        //-------------------------------------------------------------------------------------------------------------------
170
        // Initialisation de variable
170
        // Initialisation de variable
171
    	$contenu = '';
171
    	$contenu = '';
172
    	$donnees = array();
172
    	$donnees = array();
173
        $url->addQueryString('adme_site_id', $adme_site_id);
173
        $url->addQueryString('adme_site_id', $adme_site_id);
174
        $url->addQueryString('adme_menu_id', $adme_menu_id);
174
        $url->addQueryString('adme_menu_id', $adme_menu_id);
175
        $url->addQueryString('adme_action', $adme_action);
175
        $url->addQueryString('adme_action', $adme_action);
176
        
176
        
177
		$donnees['archives'] = GEN_lireContenuMenuHistorique(&$db, $adme_menu_id);
177
		$donnees['archives'] = GEN_lireContenuMenuHistorique(&$db, $adme_menu_id);
178
		
178
		
179
		foreach ($donnees['archives'] as $cle => $archive) {
179
		foreach ($donnees['archives'] as $cle => $archive) {
180
			$url->addQueryString('adme_version', $archive->gmc_id_contenu);
180
			$url->addQueryString('adme_version', $archive->gmc_id_contenu);
181
			$donnees['archives'][$cle]->url = $url->getURL();
181
			$donnees['archives'][$cle]->url = $url->getURL();
182
			$url->removeQueryString('adme_version');
182
			$url->removeQueryString('adme_version');
183
		}
183
		}
184
		// print_r($donnees['archives']);
184
		// print_r($donnees['archives']);
185
 
185
 
186
		$squelette = AFFI_CHEMIN_SQUELETTE.'historique.tpl.html';
186
		$squelette = AFFI_CHEMIN_SQUELETTE.'historique.tpl.html';
187
		
187
		
188
		return $this->_genererContenu($squelette, $donnees);
188
		return $this->_genererContenu($squelette, $donnees);
189
    }
189
    }
190
    
190
    
191
    /** Méthode ajouterContenu() - Enregistre les infos du formulaire de saisie d'un menu
191
    /** Méthode ajouterContenu() - Enregistre les infos du formulaire de saisie d'un menu
192
    *
192
    *
193
    *
193
    *
194
    *   @return  void  les données sont enregistrées dans la base de données.
194
    *   @return  void  les données sont enregistrées dans la base de données.
195
    */
195
    */
196
    function _ajouterContenu($db, $url, $auth, $adme_menu_id, $tab_valeur)
196
    function _ajouterContenu($db, $url, $auth, $adme_menu_id, $tab_valeur)
197
    {
197
    {
198
    	//-------------------------------------------------------------------------------------------------------------------
198
    	//-------------------------------------------------------------------------------------------------------------------
199
        // Récupération des informations du contenu concerné.
199
        // Récupération des informations du contenu concerné.
200
        $ligne_menu = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
200
        $ligne_menu = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
201
	        
201
	        
202
        if ($ligne_menu == false) {
202
        if ($ligne_menu == false) {
203
            die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'.
203
            die('ERREUR Papyrus Administrateur de Menus: impossible de lire les infos du menu.<br />'.
204
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
204
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
205
                'Ligne n° : '. __LINE__ .'<br />'.
205
                'Ligne n° : '. __LINE__ .'<br />'.
206
                'Fichier n° : '. __FILE__ .'<br />');
206
                'Fichier n° : '. __FILE__ .'<br />');
207
        }
207
        }
208
        
208
        
209
        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']!='')) {
209
        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']!='')) {
210
         
210
         
211
	        //-------------------------------------------------------------------------------------------------------------------
211
	        //-------------------------------------------------------------------------------------------------------------------
212
	        // Mise à jour de l'ancien contenu du menu
212
	        // Mise à jour de l'ancien contenu du menu
213
	        $requete =  'UPDATE gen_menu_contenu SET '.
213
	        $requete =  'UPDATE gen_menu_contenu SET '.
214
	                    'gmc_bool_dernier = 0 '.
214
	                    'gmc_bool_dernier = 0 '.
215
	                    'WHERE gmc_ce_menu = '.$tab_valeur['gmc_ce_menu'] . ' '.
215
	                    'WHERE gmc_ce_menu = '.$tab_valeur['gmc_ce_menu'] . ' '.
216
		                'AND gmc_ce_type_contenu = '. $tab_valeur['gmc_ce_type_contenu_table']. ' ';
216
		                'AND gmc_ce_type_contenu = '. $tab_valeur['gmc_ce_type_contenu_table']. ' ';
217
	
217
	
218
			                    
218
			                    
219
	        $result = $db->query($requete);
219
	        $result = $db->query($requete);
220
	        (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
220
	        (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
221
	        
221
	        
222
        }
222
        }
223
        
223
        
224
        //-------------------------------------------------------------------------------------------------------------------
224
        //-------------------------------------------------------------------------------------------------------------------
225
        // Obtention d'un nouvel identifiant de contenu
225
        // Obtention d'un nouvel identifiant de contenu
226
        $nouveau_id_contenu = SQL_obtenirNouveauId($db, 'gen_menu_contenu', 'gmc_id_contenu');
226
        $nouveau_id_contenu = SQL_obtenirNouveauId($db, 'gen_menu_contenu', 'gmc_id_contenu');
227
        
-
 
228
    	// FCK Editor remplace les " par des &quot; qui sont mal interprétés.
-
 
229
        // Remplacement des &quot;
-
 
230
        $tab_valeur['gmc_contenu'] = str_replace('&quot;', '\"', $tab_valeur['gmc_contenu']);
-
 
231
        
-
 
232
        // Pour l'enregistrement dans la BDD, les caractères spéciaux doivent être précédés de \ ou doublés
-
 
233
        // La fonction magic_quote (< php 6) échappe automatiquement ces caractères.
-
 
234
        // Ce n'est donc pas la peine de faire un traitement sur la chaine si l'option est activée
-
 
235
        if (get_magic_quotes_gpc() == 0)	{
-
 
236
        	   $tab_valeur['gmc_contenu'] = $db->escapeSimple($tab_valeur['gmc_contenu']);   
-
 
237
        }
-
 
-
 
227
        
-
 
228
	// remplacement des guillemets doubles pour les appels aux applettes de Papyrus
-
 
229
        $tab_valeur['gmc_contenu'] = str_replace('&quot;', '\"', $tab_valeur['gmc_contenu']); 
238
        
230
	
239
        //-------------------------------------------------------------------------------------------------------------------
231
        //-------------------------------------------------------------------------------------------------------------------
240
        // Ajout du nouveau contenu pour ce menu
232
        // Ajout du nouveau contenu pour ce menu
241
        $requete =  'INSERT INTO gen_menu_contenu SET '.
233
        $requete =  'INSERT INTO gen_menu_contenu SET '.
242
                    'gmc_id_contenu = '.$nouveau_id_contenu.', '.
234
                    'gmc_id_contenu = '.$nouveau_id_contenu.', '.
243
                    'gmc_ce_admin = '.$auth->getAuthData('ga_id_administrateur').', '.
235
                    'gmc_ce_admin = '.$auth->getAuthData('ga_id_administrateur').', '.
244
                    'gmc_ce_menu = '.$adme_menu_id.', '.
236
                    'gmc_ce_menu = '.$adme_menu_id.', '.
245
                    'gmc_ce_type_contenu = '.$tab_valeur['gmc_ce_type_contenu'].', '.
237
                    'gmc_ce_type_contenu = '.$tab_valeur['gmc_ce_type_contenu'].', '.
246
                    'gmc_contenu = "'.$tab_valeur['gmc_contenu'].'", '.
238
                    'gmc_contenu = "'.$tab_valeur['gmc_contenu'].'", '.
247
                    'gmc_ce_type_modification = '.$tab_valeur['gmc_ce_type_modification'].', '.
239
                    'gmc_ce_type_modification = '.$tab_valeur['gmc_ce_type_modification'].', '.
248
                    'gmc_resume_modification = "'.$tab_valeur['gmc_resume_modification'].'", '.
240
                    'gmc_resume_modification = "'.$tab_valeur['gmc_resume_modification'].'", '.
249
                    'gmc_date_modification = "'.date('Y-m-d H:i:s').'", '.
241
                    'gmc_date_modification = "'.date('Y-m-d H:i:s').'", '.
250
                    'gmc_bool_dernier = 1';
242
                    'gmc_bool_dernier = 1';
251
        $result = $db->query($requete);
243
        $result = $db->query($requete);
252
        (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
244
        (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
378
?>
374
?>
379
375