[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / cfg / cfg / params / rediriger.php
1 <?php
2
3 /**
4 * Plugin générique de configuration pour SPIP
5 *
6 * @license GNU/GPL
7 * @package plugins
8 * @subpackage cfg
9 * @category outils
10 * @copyright (c) toggg, marcimat 2007-2008
11 * @link http://www.spip-contrib.net/
12 * @version $Id: rediriger.php 53409 2011-10-13 20:42:57Z yffic@lefourneau.com $
13 */
14 if (!defined("_ECRIRE_INC_VERSION")) return;
15
16
17 /**
18 * restaure des messages serialises dans une meta 'cfg_message_{id_auteur}'
19 *
20 * Si le formulaire cfg avait demande une redirection...
21 * (et provient de cette redirection), il est possible
22 * qu'il y ait un message a afficher
23 *
24 * @param mixed $valeur # inutilisé
25 * @param Object $cfg
26 */
27 function cfg_pre_charger_param_rediriger($valeur, &$cfg){
28 if ($messages = $GLOBALS['meta']['cfg_message_'.$GLOBALS['auteur_session']['id_auteur']]){
29 include_spip('inc/meta');
30 effacer_meta('cfg_message_'.$GLOBALS['auteur_session']['id_auteur']);
31 if (defined('_COMPAT_CFG_192')) ecrire_metas();
32 $cfg->messages = array_merge($cfg->messages, unserialize($messages));
33 }
34 }
35
36 /**
37 * Traite une demande de redirection
38 *
39 * Si le fond du formulaire demande expressement une redirection
40 * par <!-- rediriger=1 -->, on stocke le message dans une meta
41 * et on redirige le client, de maniere a charger la page
42 * avec la nouvelle config (ce qui permet par exemple a Autorite
43 * de controler d'eventuels conflits generes par les nouvelles autorisations)
44 *
45 * @param mixed $valeur # inutilisé
46 * @param Object $cfg
47 */
48 function cfg_post_traiter_param_rediriger($valeur, &$cfg){
49 if ($cfg->messages) {
50 include_spip('inc/meta');
51 ecrire_meta('cfg_message_'.$GLOBALS['auteur_session']['id_auteur'], serialize($cfg->messages), 'non');
52 if (defined('_COMPAT_CFG_192')) ecrire_metas();
53 include_spip('inc/headers');
54 redirige_par_entete(parametre_url(self(),null,null,'&'));
55 }
56 }
57
58 ?>