source: plugins_spip/import_video/emballe_medias_gerer_auteurs/diogene_gerer_auteurs_pipelines.php @ 2963

Last change on this file since 2963 was 2963, checked in by kent1, 11 years ago

On switch vers Diogène

File size: 3.9 KB
Line 
1<?php
2        /**
3         * Insertion de contenu avant le formulaire
4         * Le js du sélecteur générique
5         *
6         * @param array $flux Le contexte du pipeline
7         * @return array $flux le contexte modifié passé aux suivants
8         */
9    function diogene_gerer_auteurs_em_avant_formulaire($flux){
10        $flux['data'] .= recuperer_fond('prive/diogene_gerer_auteurs_avant_formulaire', $flux['args']);
11        return $flux;
12    }
13
14        /**
15         * Insertion dans le CFG de texte de la configuration pour la gestion des auteurs
16         *
17         * @param array $flux Le contexte du pipeline
18         * @return array $flux le contexte modifié passé aux suivants
19         */
20        function diogene_gerer_auteurs_em_texte_cfg_form($flux){
21        $flux['data'] .= recuperer_fond('formulaires/config_diogene_texte_gerer_auteurs', $flux['args']);
22        return $flux;
23    }
24
25        /**
26         * Insertion dans le formulaire EM_AJOUTER_MEDIA
27         *
28         * @param array $flux Le contexte du pipeline
29         * @return array $flux le contexte modifié passé aux suivants
30         */
31        function diogene_gerer_auteurs_em_ajouter_media($flux){
32        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_gerer_auteurs',$flux['args']);
33        return $flux;
34    }
35
36        /**
37         * Fonction s'exécutant au traitement du formulaire EM_AJOUTER_MEDIA
38         *
39         * @param array $flux Le contexte du pipeline
40         * @return array $flux le contexte modifié passé aux suivants
41         */
42        function diogene_gerer_auteurs_em_ajout_media_post_traiter($flux){
43                global $visiteur_session;
44
45                spip_log("DIOGENE_GERER_AUTEURS : diogene_ajout_media_post_traiter");
46
47                $id_article = $flux['args']['id_article'];
48
49                include_spip('inc/autoriser');
50        if(!autoriser('modifier','article',$id_article,$visiteur_session,$opt)){
51                return $flux;
52                }
53
54                $valeurs = $flux['args']['valeurs'];
55
56                if($valeurs['diogene_gerer_id_auteurs']){
57                        /**
58                         * Insertion des auteurs
59                         */
60                        include_spip('action/editer_auteurs');
61                        $ajout = ajouter_auteur_et_rediriger('article', $id_article, $valeurs['em_gerer_id_auteurs'], '');
62                }
63                if(is_array($valeurs['diogene_gerer_auteurs_remove'])){
64                        /**
65                         * Suppression des auteurs si demandée
66                         */
67                        include_spip('action/editer_auteurs');
68                        foreach($valeurs['diogene_gerer_auteurs_remove'] as $id_auteur){
69                                $suppr = supprimer_auteur_et_rediriger('article', $id_article, $id_auteur, '');
70                        }
71                }
72                return $flux;
73        }
74
75        /**
76         * Fonction s'exécutant au chargement du formulaire EM_AJOUTER_MEDIA
77         * RécupÚre la liste des auteurs associés à l'article supprimables
78         *
79         * @param array $flux Le contexte du pipeline
80         * @return array $flux le contexte modifié passé aux suivants
81         */
82        function diogene_gerer_auteurs_em_ajout_media_post_charger($flux){
83                global $visiteur_session;
84
85                $id_article = $flux['args']['id_article'];
86
87                include_spip('inc/autoriser');
88                if(!autoriser('modifier','article',$id_article,$visiteur_session,$opt)){
89                return $flux;
90                }
91
92                if(intval($id_article)){
93                        spip_log("DIOGENE_GERER_AUTEURS : diogene_ajout_media_post_charger","emballe_media");
94                        $auteurs = sql_select("nom, auteur.id_auteur","spip_auteurs as auteur LEFT join spip_auteurs_articles as auteur_lien USING(id_auteur)","auteur.id_auteur!=".intval($visiteur_session['id_auteur'])." AND auteur_lien.id_article=".intval($id_article));
95                        while($auteur = sql_fetch($auteurs)){
96                                $auteur_uniques[$auteur['id_auteur']] = $auteur['nom'];
97                        }
98                        if(is_array($auteur_uniques)){
99                                $auteurs = array('diogene_gerer_auteurs_remove' => $auteur_uniques);
100                                $flux['data'] = array_merge($flux['data'],$auteurs);
101                        }
102                }
103                return $flux;
104        }
105
106        /**
107         * Fonction qui ajoute des valeurs récupérées dans le formulaire d'ajout de medias
108         * Ajoute des champs qui ne sont pas forcément dans la configuration texte
109         * Ici on ajoute la prise en compte de spipicious_remove_tags qui n'est pas dans la conf
110         */
111        function diogene_gerer_auteurs_em_champs_texte($flux){
112                $flux['data'][] = 'diogene_gerer_id_auteurs';
113                $flux['data'][] = 'diogene_gerer_auteurs_remove';
114                return $flux;
115        }
116?>
Note: See TracBrowser for help on using the repository browser.