source: spip-zone/_plugins_/projets/branches/v0/exec/projets.php @ 78524

Last change on this file since 78524 was 78524, checked in by teddy.spip@…, 6 years ago

Suite à r78521, il ne faut oublier tout ce qui va de paire…

  • Property svn:eol-style set to native
File size: 4.4 KB
Line 
1<?php
2/**
3 * Plugn SPIP-Projet
4 * Licence GPL
5 *
6 * Affichage de la liste des projets (exec=projets)
7 *
8 */
9
10if (!defined("_ECRIRE_INC_VERSION")) return;
11
12include_spip('inc/presentation');
13include_spip('inc/actions');
14
15function exec_projets_dist()
16{
17        exec_projets_args(intval(_request('id_projet')));
18}
19
20function exec_projets_args($id_projet)
21{
22        pipeline('exec_init',array('args'=>array('exec'=>'projets','id_projet'=>$id_projet),'data'=>''));
23
24        $row = sql_fetsel("*", "spip_projets", "id_projet=$id_projet");
25
26        if (!$row
27        OR !autoriser('voir', 'projet', $id_projet)) {
28                include_spip('inc/minipres');
29                echo minipres(_T('projets:aucun_projet'));
30        } else {
31                $row['titre'] = sinon($row["titre"],_T('info_sans_titre'));
32
33                $res = debut_gauche('accueil',true)
34                  .  projets_affiche($id_projet, $row, _request('cherche_auteur'), _request('ids'), _request('cherche_mot'), _request('select_groupe'))
35                  . "<br /><br /><div class='centered'>"
36                . "</div>"
37                . fin_gauche();
38
39                $commencer_page = charger_fonction('commencer_page', 'inc');
40                echo $commencer_page("&laquo; ". $row['titre'] ." &raquo;", "naviguer", "projets", $row['id_parent']);
41
42                echo debut_grand_cadre(true),
43                        fin_grand_cadre(true),
44                        $res,
45                        fin_page();
46        }
47}
48
49function projets_affiche($id_projet, $row, $cherche_auteur, $ids, $cherche_mot,  $select_groupe)
50{
51        global $spip_lang_right, $logo_libelles;
52
53        $id_parent = $row['id_parent'];
54        $statut_projet = $row['statut'];
55        $titre = $row["titre"];
56        $descriptif = $row["descriptif"];
57        $texte = $row["texte"];
58        $date = $row["date"];
59
60        $statut_rubrique = autoriser('modifier', 'projet', $id_parent);
61        $flag_editable = autoriser('modifier', 'projet', $id_projet);
62
63        $iconifier = charger_fonction('iconifier', 'inc');
64        $icone = $iconifier('id_projet', $id_projet,'projets', false, $flag_editable);
65
66        $boite = pipeline ('boite_infos', array('data' => '',
67                'args' => array(
68                        'type'=>'projet',
69                        'id' => $id_projet,
70                        'row' => $row
71                )
72        ));
73
74        $navigation =
75          debut_boite_info(true). $boite . fin_boite_info(true)
76          . $icone
77          . pipeline('affiche_gauche',array('args'=>array('exec'=>'projets','id_projet'=>$id_projet),'data'=>''));
78
79        $extra = creer_colonne_droite('', true)
80          . pipeline('affiche_droite',array('args'=>array('exec'=>'projets','id_projet'=>$id_projet),'data'=>''))
81          . debut_droite('',true);
82
83        // affecter les globales dictant les regles de typographie de la langue
84        changer_typo($row['lang']);
85
86        $actions =
87          ($flag_editable ? bouton_modifier_projets($id_projet, $id_parent, $modif, _T('projets:avis_projets_modifie', $modif), chemin('prive/images/projets-24.gif'), "edit.gif",$spip_lang_right) : "");
88
89        $haut =
90                "<div class='bandeau_actions'>$actions</div>"
91                . gros_titre($titre, '' , false);
92
93        $onglet_contenu =
94          afficher_corps_projets($id_projet,$row);
95
96        $onglet_proprietes = ((!_INTERFACE_ONGLETS) ? "" :"")
97          . pipeline('affiche_milieu',array('args'=>array('exec'=>'projets','id_projet'=>$id_projet),'data'=>''));
98
99        $res = $navigation
100          . $extra
101          . "<div class='fiche_objet'>"
102          . $haut
103          . afficher_onglets_pages(
104                array(
105                        'voir' => _T('onglet_contenu'),
106                        'props' => _T('onglet_proprietes')
107                        ),
108                array(
109                'props'=>$onglet_proprietes,
110                'voir'=>$onglet_contenu)
111                )
112          . "</div>";
113         
114        $res .= pipeline('affiche_enfants',array('args'=>array('exec'=>'projets','id_projet'=>$id_projet),'data'=>''));
115
116        return $res;
117}
118
119function bouton_modifier_projets($id_projet, $id_parent, $flag_modif, $mode, $ip, $im, $align='')
120{
121        if ($flag_modif) {
122                return icone_inline(_T('projets:icone_modifier_projet'), generer_url_ecrire("projet_edit","id_projet=$id_projet"), $ip, $im, $align, false)
123                . "<span class='arial1 spip_small'>$mode</span>";
124        }
125        else return icone_inline(_T('projets:icone_modifier_projet'), generer_url_ecrire("projet_edit","id_projet=$id_projet"), chemin("prive/images/projets-24.gif"), "edit.gif", $align);
126}
127
128function afficher_corps_projets($id_projet, $row)
129{
130        $res = '';
131        if ($row['statut'] == 'prop') {
132                $res .= "<p class='projets_prop'>"._T('projets:text_projets_propose_publication');
133                $res.= "</p>";
134        }
135
136        $type = 'projet';
137        $contexte = array(
138                'id'=>$id_projet,
139                'id_parent' => $row['id_parent']
140        );
141        $fond = recuperer_fond("prive/contenu/$type",$contexte);
142        // permettre aux plugin de faire des modifs ou des ajouts
143        $fond = pipeline('afficher_contenu_objet',
144                array(
145                'args'=>array(
146                        'type'=>$type,
147                        'id_objet'=>$id_projet,
148                        'contexte'=>$contexte),
149                'data'=> ($fond)));
150
151        $res .= "<div id='wysiwyg'>$fond</div>";
152
153        return $res;
154}
155
156?>
Note: See TracBrowser for help on using the repository browser.