source: plugins_spip/diogene_complements/diogene_spipicious/diogene_spipicious_pipelines.php @ 4248

Last change on this file since 4248 was 4248, checked in by kent1, 10 years ago

Code mort qui datait du temps d'emballe_medias je pense

File size: 4.0 KB
Line 
1<?php
2/**
3 * Insertion dans le pipeline diogene_avant_formulaire
4 * On insÚre du contenu avant le formulaire d'édition d'un objet
5 * Le js du sélecteur générique
6 *
7 * @param array $flux Le contexte du pipeline
8 * @return array $flux le contexte modifié passé aux suivants
9 */
10function diogene_spipicious_diogene_avant_formulaire($flux){
11    global $visiteur_session;
12    if(is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('spipicious',unserialize($flux['args']['champs_ajoutes']))){
13                include_spip('inc/autoriser');
14        if(autoriser('tagger_spipicious','article',$id_objet,$visiteur_session,$opt)){
15                $flux['data'] .= recuperer_fond('prive/diogene_spipicious_avant_formulaire', $flux['args']);
16                }
17    }
18    return $flux;
19}
20
21/**
22 * Insertion dans le formulaire DIOGENE_AJOUTER_MEDIA
23 *
24 * @param array $flux Le contexte du pipeline
25 * @return array $flux le contexte modifié passé aux suivants
26 */
27function diogene_spipicious_diogene_ajouter_saisies($flux){
28        global $visiteur_session;
29        $id_article = $flux['args']['contexte']['id_article'];
30        if(is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('spipicious',unserialize($flux['args']['champs_ajoutes']))){
31                include_spip('inc/autoriser');
32        if(autoriser('tagger_spipicious','article',$id_article,$visiteur_session,$opt)){
33                if(intval($id_article)){
34                                $tags = sql_select("mots.id_mot, mots.titre","spip_spipicious as spipicious LEFT join spip_mots as mots USING(id_mot)","spipicious.id_auteur=".intval($visiteur_session['id_auteur'])." AND spipicious.id_objet=".intval($id_article)." AND spipicious.objet='article'");
35                                while($tag = sql_fetch($tags)){
36                                        $tag_uniques[$tag['id_mot']] = $tag['titre'];
37                                }
38                                if(is_array($tag_uniques)){
39                                        $flux['args']['contexte']['diogene_spipicious_removal_tags'] = $tag_uniques;
40                                }
41                        }
42                $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_spipicious',$flux['args']['contexte']);
43                }
44        }
45    return $flux;
46}
47
48/**
49 * Fonction s'exécutant au traitement du formulaire DIOGENE_AJOUTER_MEDIA
50 *
51 * @param array $flux Le contexte du pipeline
52 * @return array $flux le contexte modifié passé aux suivants
53 */
54function diogene_spipicious_diogene_traiter($flux){
55        global $visiteur_session;
56        if($flux['args']['action']=='modifier'){
57
58                $id_objet = $flux['args']['id_objet'];
59                $type = $flux['args']['type'];
60                $table  = $flux['args']['table'];
61                $id_table_objet = id_table_objet($type);
62
63                include_spip('inc/autoriser');
64        if(!autoriser('tagger_spipicious',$type,$id_objet,$visiteur_session,$opt)){
65                return $flux;
66                }
67
68                include_spip('inc/invalideur');
69                $id_groupe = lire_config('spipicious/groupe_mot','1');
70                if($tags = _request('diogene_spipicious_tags')){
71                        /**
72                         * Insertion des tags
73                         */
74                        include_spip('action/spipicious_ajouter_tags');
75                        $tableau_tags = explode(";",$tags);
76                        $ajout = spipicious_ajouter_tags($tableau_tags,$visiteur_session['id_auteur'],$id_objet,$type,$id_table_objet,'spip_mots_'.$type.'s',$id_groupe,'oui');
77
78                        foreach($tableau_tags as $id_tag){
79                                suivre_invalideur("id='id_mot/$id_mot'",true);
80                        }
81                }
82                if(is_array(_request('diogene_spipicious_removal_tags'))){
83                        /**
84                         * Suppression des tags si demandée
85                         */
86                        include_spip('action/spipicious_supprimer_tags');
87                        $suppression = spipicious_supprimer_tags(_request('diogene_spipicious_removal_tags'),$visiteur_session['id_auteur'],$id_objet,$type,$id_table_objet,'spip_mots_'.$type.'s',$id_groupe);
88                        foreach(_request('diogene_spipicious_removal_tags') as $id_tag){
89                                suivre_invalideur("id='id_mot/$id_mot'",true);
90                        }
91                }
92        }
93        return $flux;
94}
95
96/**
97 * Insertion dans le pipeline diogene_champs_sup
98 * On ajoute la possibilité de prise en compte des tags sur :
99 * -* Les articles
100 * -* Les articles de type emballe_medias
101 *
102 * @param array $flux Un array des champs que l'on peut ajouter aux formulaires
103 */
104function diogene_spipicious_diogene_champs_sup($flux){
105        $flux['article']['spipicious'] = _T('diogene_spipicious:tags_spipicious');
106        $flux['emballe_media']['spipicious'] = _T('diogene_spipicious:tags_spipicious');
107        return $flux;
108}
109?>
Note: See TracBrowser for help on using the repository browser.