source: plugins_spip/gestion_mutu/exec/mutus.php @ 2994

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

On se rapproche des objets habituels de SPIP

File size: 5.1 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2010                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15include_spip('inc/presentation');
16include_spip('inc/actions');
17
18// http://doc.spip.org/@exec_mutus_dist
19function exec_mutus_dist()
20{
21        exec_mutus_args(intval(_request('id_mutu')));
22}
23
24// http://doc.spip.org/@exec_mutus_args
25function exec_mutus_args($id_mutu)
26{
27        pipeline('exec_init',array('args'=>array('exec'=>'mutus','id_mutu'=>$id_mutu),'data'=>''));
28
29        $row = sql_fetsel("*", "spip_mutus", "id_mutu=$id_mutu");
30
31        if (!$row
32        OR !autoriser('voir', 'mutu', $id_mutu)) {
33                include_spip('inc/minipres');
34                echo minipres(_T('gestion_mutus:aucun_mutu'));
35        } else {
36                $row['titre'] = sinon($row["titre"],_T('info_sans_titre'));
37
38                $res = debut_gauche('accueil',true)
39                  .  mutus_affiche($id_mutu, $row, _request('cherche_auteur'), _request('ids'))
40                  . "<br /><br /><div class='centered'>"
41                . "</div>"
42                . fin_gauche();
43
44                $commencer_page = charger_fonction('commencer_page', 'inc');
45                echo $commencer_page("&laquo; ". $row['titre'] ." &raquo;", "naviguer", "mutus", $row['id_rubrique']);
46
47                echo debut_grand_cadre(true),
48                        afficher_hierarchie($row['id_rubrique'],_T('titre_cadre_interieur_rubrique'),$id_mutu,'mutu',$row['id_secteur'],($row['statut'] == 'publie')),
49                        fin_grand_cadre(true),
50                        $res,
51                        fin_page();
52        }
53}
54
55// http://doc.spip.org/@mutus_affiche
56function mutus_affiche($id_mutu, $row, $cherche_auteur, $ids)
57{
58        global $spip_lang_right, $dir_lang;
59
60        $statut_mutu = $row['statut'];
61        $titre = $row["titre"];
62        $descriptif = $row["descriptif"];
63        $date = $row["date"];
64
65        $flag_editable = autoriser('modifier', 'mutu', $id_mutu);
66
67        $modif = array();
68
69
70 // chargement prealable des fonctions produisant des formulaires
71
72        $dater = charger_fonction('dater', 'inc');
73        $editer_auteurs = charger_fonction('editer_auteurs', 'inc');
74
75        $boite = pipeline ('boite_infos', array('data' => '',
76                'args' => array(
77                        'type'=>'mutu',
78                        'id' => $id_mutu,
79                        'row' => $row
80                )
81        ));
82
83        $navigation =
84          debut_boite_info(true). $boite . fin_boite_info(true)
85          . $icone
86          . pipeline('affiche_gauche',array('args'=>array('exec'=>'mutus','id_mutu'=>$id_mutu),'data'=>''));
87
88        $extra = creer_colonne_droite('', true)
89          . pipeline('affiche_droite',array('args'=>array('exec'=>'mutus','id_mutu'=>$id_mutu),'data'=>''))
90          . debut_droite('',true);
91
92        $actions =
93          ($flag_editable ? bouton_modifier_mutus($id_mutu, $id_rubrique, $modif, _T('avis_mutu_modifie', $modif), "mutu-24.gif", "edit.gif",$spip_lang_right) : "");
94
95        $haut =
96                "<div class='bandeau_actions'>$actions</div>"
97                . gros_titre($titre, '' , false);
98
99        $onglet_contenu =
100          afficher_corps_mutus($id_mutu,$row)
101                .               "<div class='bandeau_actions'>$actions</div>";
102
103        $onglet_proprietes = ((!_INTERFACE_ONGLETS) ? "" :"")
104          . $dater($id_mutu, $flag_editable, $statut_mutu, 'mutu', 'mutus', $date, $date_redac)
105          . $editer_auteurs('mutu', $id_mutu, $flag_editable, $cherche_auteur, $ids)
106          . pipeline('affiche_milieu',array('args'=>array('exec'=>'mutus','id_mutu'=>$id_mutu),'data'=>''))
107          ;
108
109        return
110          $navigation
111          . $extra
112          . pipeline('afficher_fiche_objet',array('args'=>array('type'=>'mutu','id'=>$id_mutu),'data'=>
113           "<div class='fiche_objet'>"
114          . $haut
115          . afficher_onglets_pages(
116                array(
117                'voir' => _T('onglet_contenu'),
118                'props' => _T('onglet_proprietes')),
119                array(
120            'props'=>$onglet_proprietes,
121            'voir'=>$onglet_contenu))
122          . "</div>"
123                ));
124}
125
126//
127// Boites de configuration avancee
128//
129
130function bouton_modifier_mutus($id_mutu, $id_rubrique, $flag_modif, $mode, $ip, $im, $align='')
131{
132        if ($flag_modif) {
133                return icone_inline(_T('gestion_mutus:icone_modifier_mutu'), generer_url_ecrire("mutus_editer","id_mutu=$id_mutu"), $ip, $im, $align, false)
134                . "<span class='arial1 spip_small'>$mode</span>";
135        }
136        else return icone_inline(_T('gestion_mutus:icone_modifier_mutu'), generer_url_ecrire("mutus_editer","id_mutu=$id_mutu"), find_in_path("images/gestion_mutu-32.png"), "edit.gif", $align);
137}
138
139function afficher_corps_mutus($id_mutu, $row)
140{
141        $res = '';
142        if ($row['statut'] == 'prop') {
143                $res .= "<p class='mutu_prop'>"._T('text_mutu_propose_publication');
144                $res.= "</p>";
145        }
146        else {
147                $type = 'mutu';
148                $contexte = array(
149                        'id'=>$id_mutu
150                );
151                $fond = recuperer_fond("prive/contenu/$type",$contexte);
152                // permettre aux plugin de faire des modifs ou des ajouts
153                $fond = pipeline('afficher_contenu_objet',
154                        array(
155                        'args'=>array(
156                                'type'=>$type,
157                                'id_objet'=>$id_mutu,
158                                'contexte'=>$contexte),
159                        'data'=> ($fond)));
160
161                $res .= "<div id='wysiwyg'>$fond</div>";
162        }
163        return $res;
164}
165
166?>
Note: See TracBrowser for help on using the repository browser.