source: spip-zone/_plugins_/spipBB/dev/2_1_0JR/spipbb_pipelines.php @ 39856

Last change on this file since 39856 was 39856, checked in by prigent.yohann@…, 10 years ago

et hop, c'est fait

File size: 5.6 KB
Line 
1<?php
2
3
4#
5# bouton interface spip
6#
7function spipbb_ajouter_boutons($boutons_admin) {
8        // si on est admin ou admin restreint
9        if ($GLOBALS['connect_statut'] == "0minirezo") {
10                // on voit le bouton dans la barre "statistiques"
11                $boutons_admin['forum']->sousmenu["spipbb_admin"]= new Bouton(
12                "../"._DIR_PLUGIN_SPIPBB."img_pack/spipbb-24.png",  // icone
13                _T('spipbb:titre_spipbb')       // titre
14                );
15        }
16        return $boutons_admin;
17}
18
19#
20# js + css prive
21#
22function spipbb_header_prive($flux) {
23        $exec = _request('exec');
24        if(strpos($exec, '^(spipbb_).*')!==false) { 
25        $flux .= '<link rel="stylesheet" type="text/css" href="'._DIR_PLUGIN_SPIPBB.'css/spipbb_styles.css" />'."\n";
26        $flux .= '<script type="text/javascript" src="'._DIR_PLUGIN_SPIPBB.'javascript/spipbb_vueavatar.js"></script>'."\n";
27        }
28        if($exec=="spipbb_formpost") {
29        $flux.='<script type="text/javascript" src="'._DIR_PLUGIN_SPIPBB.'javascript/spipbb_js_formpost.js"></script>'."\n";
30        }
31        return $flux;
32}
33
34#
35# bouton interface spip col. droite sur exec/naviguer (rubrique)
36#
37function spipbb_affiche_droite($flux)
38{
39        // [fr] Peut etre ajouter un controle d acces
40        // [en] Todo : maybe add access control
41
42        if ( ($flux['args']['exec']=='naviguer') AND (!empty($flux['args']['id_rubrique'])) )
43        { // AND (!empty($GLOBALS['meta']['spipbb']))
44                include_spip('inc/spipbb_util'); // pour spipbb_is_configured
45                $r = sql_fetsel("id_secteur", "spip_rubriques", "id_rubrique=".$flux['args']['id_rubrique']);
46                $GLOBALS['spipbb'] = @unserialize($GLOBALS['meta']['spipbb']);
47                if ( !spipbb_is_configured()
48                        OR ($GLOBALS['spipbb']['configure']!='oui')
49                        OR (empty($GLOBALS['spipbb']['id_secteur'])) ) {
50                // [fr] configuration pas terminee -> lien vers la config
51                        $url_lien = generer_url_ecrire('spipbb_configuration',"") ;
52                        $flux['data'] .= debut_cadre_relief('',true);
53                        $flux['data'] .= "<div style='font-size: x-small' class='verdana1'><b>" ;
54                        $flux['data'] .= _T('spipbb:admin_titre') . " :</b>\n";
55                        $flux['data'] .= "<table class='cellule-h-table' cellpadding='0' style='vertical-align: middle'>\n" ;
56                        $flux['data'] .= "<tr><td><a href='$url_lien' class='cellule-h'><span class='cell-i'>" ;
57                        $flux['data'] .= "<img src='"._DIR_PLUGIN_SPIPBB ."img_pack/spipbb-24.png' width='24' alt='";
58                        $flux['data'] .= _T('spipbb:admin_titre') . "' /></span></a></td>\n" ;
59                        $flux['data'] .= "<td class='cellule-h-lien'><a href='$url_lien' class='cellule-h'>" ;
60                        $flux['data'] .= _T('spipbb:config_spipbb') . "</a></td></tr></table>\n</div>\n" ;
61                        $flux['data'] .= fin_cadre_relief(true);
62                } elseif (is_array($r) AND ($r['id_secteur']!=$GLOBALS['meta']['spipbb']['id_secteur'])) {
63                // [fr] configuration Ok et on est dans la rubrique forum
64                        $url_lien = generer_url_ecrire('spipbb_admin',"") ;
65                        $flux['data'] .= debut_cadre_relief('',true);
66                        $flux['data'] .= "<div style='font-size: x-small' class='verdana1'><b>" . _T('spipbb:admin_titre') . " :</b>\n";
67                        $flux['data'] .= "<table class='cellule-h-table' cellpadding='0' style='vertical-align: middle'>\n" ;
68                        $flux['data'] .= "<tr><td><a href='$url_lien' class='cellule-h'><span class='cell-i'>" ;
69                        $flux['data'] .= "<img src='"._DIR_PLUGIN_SPIPBB ."img_pack/spipbb-24.png' width='24' alt='";
70                        $flux['data'] .= _T('spipbb:admin_surtitre') . "' /></span></a></td>\n" ;
71                        $flux['data'] .= "<td class='cellule-h-lien'><a href='$url_lien' class='cellule-h'>" ;
72                        $flux['data'] .= _T('spipbb:admin_sous_titre') . "</a></td></tr></table>\n</div>\n" ;
73                        $flux['data'] .= fin_cadre_relief(true);
74                }
75        }
76        return $flux;
77}
78
79#
80# affiche formulaire sur page exec_auteur_infos
81function spipbb_affiche_milieu($flux) {
82        $exec =  $flux['args']['exec'];
83        if ($exec=='auteur_infos'){
84                $id_auteur = $flux['args']['id_auteur'];
85                // c 7/12/8 plus d'extras donc... pour modifier il faut le plugin extras !!
86                if(lire_config("spipbb/support_auteurs")=="table") 
87                {
88                        include_spip('inc/spipbb_auteur_infos');
89                        $flux['data'].= spipbb_auteur_infos($id_auteur);
90                }
91        }
92        return $flux;
93}
94
95#
96# ch. traiter visite-forum en cron
97#
98function spipbb_taches_generales_cron($taches_generales){
99        if (!defined('_INC_SPIPBB_COMMON')) include_spip('inc/spipbb_common');
100        $taches_generales['statvisites'] = _SPIPBB_DELAIS_CRON ;
101        return $taches_generales;
102} // spipbb_taches_generales_cron
103
104#
105# Onglet dans la page de configuration
106#
107function spipbb_ajouter_onglets($flux){
108        // si on est admin...
109        if ($flux['args']=='configuration' && spipbb_autoriser())
110                $flux['data']['spipbb']= new Bouton(find_in_path('img_pack/spipbb-24.png'), _T('spipbb:titre_spipbb'), generer_url_ecrire('spipbb_configuration'));
111        return $flux;
112}
113
114
115// [Backick] Définir le squelette a utiliser si on est dans le cas d'une rubrique de spipBB
116function spipbb_styliser($flux){
117       
118
119        // si article ou rubrique
120        if (($fond = $flux['args']['fond'])
121        AND in_array($fond, array('article','rubrique'))) {
122               
123                $ext = $flux['args']['ext'];
124               
125                if ($id_rubrique = $flux['args']['id_rubrique']) {
126                        // calcul du secteur
127                        $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
128                       
129                        // je retrouve le secteur de spipBB grâce à CFG
130                        $spipbb_id_secteur =  lire_config('spipbb/id_secteur');
131                        // comparaison du secteur avec la config de spipBB
132                        if ($id_secteur==$spipbb_id_secteur) {
133                                // si un squelette $fond_spipbb existe
134                if ($squelette = test_squelette_spipbb($fond, $ext)) {
135                    $flux['data'] = $squelette;
136                }
137                        }
138
139                }
140        }
141        return $flux;
142}
143
144function test_squelette_spipbb($fond, $ext) {
145    if ($squelette = find_in_path($fond."_spipbb.$ext")) {
146        return substr($squelette, 0, -strlen(".$ext"));
147    }
148    return false;
149}
150
Note: See TracBrowser for help on using the repository browser.