source: spip-zone/_plugins_/comments/trunk/comments_pipelines.php @ 48574

Last change on this file since 48574 was 48574, checked in by cedric@…, 10 years ago

chaine de langue de l'extension forum, et autorisation redondante avec l'extension

File size: 3.3 KB
Line 
1<?php
2/*
3 * Plugin Comments
4 * (c) 2010 Collectif
5 * Distribue sous licence GPL
6 *
7 */
8
9/* pour que le pipeline ne rale pas ! */
10function comments_autoriser(){}
11
12/**
13 *
14 * Inserer des styles
15 *
16 * @param string $flux
17 * @return string
18 */
19function comments_insert_head_css($flux){
20        if ($f = find_in_path("css/comments.css"))
21                $flux .= '<link rel="stylesheet" href="'.direction_css($f).'" type="text/css" media="all" />';
22        return $flux;
23}
24
25
26/**
27 * Generer les boutons d'admin des forum selon les droits du visiteur
28 * en SPIP 2.1 uniquement
29 *
30 * @param object $p
31 * @return object
32 */
33function balise_BOUTONS_ADMIN_FORUM_dist($p) {
34        if (($_id = interprete_argument_balise(1,$p))===NULL)
35                $_id = champ_sql('id_forum', $p);
36
37                $p->code = "
38'<'.'?php
39        if (\$GLOBALS[\'visiteur_session\'][\'statut\']==\'0minirezo\'
40                AND (\$id = '.intval($_id).')
41                AND     include_spip(\'inc/autoriser\')
42                AND autoriser(\'moderer\',\'forum\',\$id)) {
43                        include_spip(\'inc/actions\');
44                        echo \"<div class=\'boutons spip-admin actions modererforum\'>\"
45                        . bouton_action(_T(\'forum:icone_supprimer_message\'),generer_action_auteur(\'instituer_forum\',\$id.\'-off\',ancre_url(self(),\'forum\')))
46                        . bouton_action(_T(\'forum:icone_bruler_message\'),generer_action_auteur(\'instituer_forum\',\$id.\'-spam\',ancre_url(self(),\'forum\')))
47                        . \"</div>\";
48                }
49?'.'>'";
50
51        $p->interdire_scripts = false;
52        return $p;
53}
54
55/**
56 * Traiter le formulaire de forum :
57 *
58 * - ne pas rediriger en fin de traitement si pas d'url demandee explicitement
59 *   et si on est pas sur la ?page=forum
60 *
61 * - preparer un message en cas de moderation
62 *
63 * @param array $flux
64 * @return array
65 */
66function comments_formulaire_traiter($flux){
67        if ($flux['args']['form']=='forum'
68                ){
69                // args :
70                // $titre, $table, $type, $script,
71                // $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic,
72                // $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour
73                // si pas d'url de retour explicite
74                $redirect = $flux['data']['redirect'];
75                if (!isset($flux['args']['args'][12]) OR !$flux['args']['args'][12]){
76                        // si on est pas sur la page forum, on ne redirige pas
77                        // mais il faudra traiter l'ancre
78                        if (!($p=_request('page')) OR $p!=='forum'){
79                                unset($flux['data']['redirect']);
80                                // mais on le remet editable !
81                                $flux['data']['editable']=true;
82                                // vider la saisie :
83                                set_request('texte');
84                                set_request('titre');
85                                set_request('url_site');
86                                set_request('ajouter_groupe');
87                                set_request('ajouter_mot');
88                                set_request('id_forum');
89                        }
90                }
91
92                $id_forum = $flux['data']['id_forum'];
93                include_spip('base/abstract_sql');
94                $statut = sql_getfetsel('statut','spip_forum','id_forum='.intval($id_forum));
95                if ($statut=='publie'){
96                        // le message est OK, il suffit de mettre une ancre !
97                        $flux['data']['message_ok'] = 
98                          _T('comments:reponse_comment_ok')
99                                . "<script type='text/javascript'>jQuery(function(){
100                        jQuery('#formulaire_forum .reponse_formulaire').detach().appendTo(jQuery('#forum$id_forum').parent()).addClass('success');
101                        jQuery('#forum$id_forum').parent().positionner();
102                        //window.location.hash='forum$id_forum';
103                        });</script>";
104                        ;
105                }
106                else {
107                        // dire que le message a ete modere
108                        $flux['data']['message_ok'] = _T('comments:reponse_comment_modere');
109                }
110               
111                $res = $flux['data'];
112        #var_dump($flux);
113        }
114        #die('paf');
115        return $flux;
116
117}
118?>
Note: See TracBrowser for help on using the repository browser.