[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / noiZetier / formulaires / editer_composition_heritages_noizetier.php
1 <?php
2
3 // Sécurité
4 if (!defined("_ECRIRE_INC_VERSION")) return;
5
6 include_spip('inc/editer');
7
8 function heritiers(){
9 // Pour le moment (à reprendre en SPIP 3.0), on définit en dur les types pouvant recevoir un héritage
10 return array('article','rubrique','breve','site');
11 };
12
13 function formulaires_editer_composition_heritages_noizetier_charger($id){
14 include_spip('inc/autoriser');
15 $contexte = array();
16
17 $type = noizetier_page_type($id);
18 $compo = noizetier_page_composition($id);
19 // Seulement si on a le droit de configurer le noizetier
20 // et qu'il s'agit d'une composition de rubrique
21 if (autoriser('configurer', 'noizetier') AND $type AND $type=='rubrique') {
22 $contexte['editable'] = true;
23 } else {
24 $contexte['message_erreur'] = _T('spip:erreur');
25 }
26
27 // Si on peut bien éditer la composition
28 if ($contexte['editable']){
29 $contexte['_noizetier_compositions'] = unserialize($GLOBALS['meta']['noizetier_compositions']);
30 $contexte['_heritiers'] = heritiers();
31 foreach($contexte['_heritiers'] as $t)
32 if (isset($contexte['_noizetier_compositions']['rubrique'][$compo]['branche'][$t]))
33 $contexte['heritage-'.$t] = $contexte['_noizetier_compositions']['rubrique'][$compo]['branche'][$t];
34 }
35 else{
36 $contexte['editable'] = false;
37 }
38
39 return $contexte;
40 }
41
42 function formulaires_editer_composition_heritages_noizetier_traiter($id){
43 include_spip('inc/autoriser');
44 include_spip('inc/noizetier');
45 $retours = array();
46 $type = noizetier_page_type($id);
47 $compo = noizetier_page_composition($id);
48 if (autoriser('configurer', 'noizetier') AND $type AND $type=='rubrique') {
49 $noizetier_compositions = unserialize($GLOBALS['meta']['noizetier_compositions']);
50 $branche = array();
51 foreach(heritiers() as $t)
52 if ($h = _request('heritage-'.$t))
53 $branche[$t] = $h;
54 if (count($branche)>0)
55 $noizetier_compositions['rubrique'][$compo]['branche'] = $branche;
56 else
57 unset($noizetier_compositions['rubrique'][$compo]['branche']);
58 ecrire_meta('noizetier_compositions',serialize($noizetier_compositions));
59 $retours['message_ok'] = _T('noizetier:formulaire_composition_mise_a_jour');
60
61 //Si on est dans l'espace privé, on redirige vers la liste des compos
62 if (_request('exec') == 'noizetier_composition_heritages')
63 $retours['redirect'] = generer_url_ecrire('noizetier_compositions');
64 }
65 return $retours;
66 }
67
68 ?>