[SPIP] ~2.1.12 -->2.1.25
[velocampus/web/www.git] / www / ecrire / exec / breves_voir.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
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
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 include_spip('inc/presentation');
16 include_spip('inc/actions');
17
18 // http://doc.spip.org/@exec_breves_voir_dist
19 function exec_breves_voir_dist()
20 {
21 $id_breve = intval(_request('id_breve'));
22 exec_breves_voir_args($id_breve, _request('cherche_mot'), _request('select_groupe'));
23 }
24
25 // http://doc.spip.org/@exec_breves_voir_args
26 function exec_breves_voir_args($id_breve, $cherche_mot, $select_groupe)
27 {
28 $row = sql_fetsel("*", "spip_breves", "id_breve=$id_breve");
29 if (!$row OR !autoriser('voir','breve',$id_breve)){
30 include_spip('inc/minipres');
31 echo minipres();
32 } else {
33 $id_breve=$row['id_breve'];
34 $date_heure=$row['date_heure'];
35 $titre_breve=$row['titre'];
36 $titre=$row['titre'];
37 $texte=$row['texte'];
38 $extra=$row['extra'];
39 $lien_titre=$row['lien_titre'];
40 $lien_url=$row['lien_url'];
41 $statut=$row['statut'];
42 $id_rubrique=$row['id_rubrique'];
43
44 $commencer_page = charger_fonction('commencer_page', 'inc');
45
46 $flag_editable = autoriser('modifier','breve',$id_breve);
47
48 // Est-ce que quelqu'un a deja ouvert la breve en edition ?
49 if ($flag_editable
50 AND $GLOBALS['meta']['articles_modif'] != 'non') {
51 include_spip('inc/drapeau_edition');
52 $modif = mention_qui_edite($id_breve, 'breve');
53 } else
54 $modif = array();
55
56
57 pipeline('exec_init',
58 array(
59 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve),
60 'data'=>''
61 )
62 );
63 $iconifier = charger_fonction('iconifier', 'inc');
64
65 $dater = charger_fonction('dater', 'inc');
66 $meme_rubrique = charger_fonction('meme_rubrique', 'inc');
67 $editer_mots = charger_fonction('editer_mots', 'inc');
68
69 echo $commencer_page("&laquo; $titre_breve &raquo;", "naviguer", "breves", $id_rubrique);
70
71 echo debut_grand_cadre(true);
72 echo afficher_hierarchie($id_rubrique);
73 echo fin_grand_cadre(true);
74
75 echo debut_gauche('', true);
76
77 echo debut_boite_info(true)
78 . pipeline ('boite_infos', array('data' => '',
79 'args' => array(
80 'type'=>'breve',
81 'id' => $id_breve,
82 'row' => $row
83 )))
84 . fin_boite_info(true);
85
86 echo pipeline('affiche_gauche',
87 array(
88 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve),
89 'data'=>''
90 )
91 );
92 echo $iconifier('id_breve', $id_breve, 'breves_voir', false, autoriser('publierdans','rubrique',$id_rubrique));
93
94 echo creer_colonne_droite('', true);
95 echo pipeline('affiche_droite',
96 array(
97 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve),
98 'data'=>''
99 )
100 );
101 echo $meme_rubrique($id_rubrique, $id_breve, 'breve', 'date_heure');
102
103 /* raccourcis ont disparu */
104 echo bloc_des_raccourcis(icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui&id_rubrique=$id_rubrique"), "breve-24.gif","creer.gif", 0));
105
106 $actions = $flag_editable
107 ? icone_inline(
108 // TODO -- _L("Fil a travaille sur cette breve il y a x minutes")
109 !$modif ? _T('icone_modifier_breve')
110 : _T('texte_travail_article', $modif),
111 generer_url_ecrire("breves_edit","id_breve=$id_breve&retour=nav"),
112 !$modif ? "breve-24.gif" : "warning-24.gif",
113 !$modif ? "edit.gif" : '',
114 $GLOBALS['spip_lang_right']
115 )
116 : "";
117
118 $haut =
119 "<div class='bandeau_actions'>$actions</div>"
120 . gros_titre($titre,'', false);
121
122 $type = 'breve';
123 $contexte = array('id'=>$id_breve,'id_rubrique'=>$id_rubrique);
124 $fond = recuperer_fond("prive/contenu/$type",$contexte);
125 // permettre aux plugin de faire des modifs ou des ajouts
126 $fond = pipeline('afficher_contenu_objet',
127 array(
128 'args'=>array(
129 'type'=>$type,
130 'id_objet'=>$id_breve,
131 'contexte'=>$contexte),
132 'data'=> $fond));
133
134 $onglet_contenu = "<div id='wysiwyg'>$fond</div>";
135
136 $onglet_proprietes =
137 afficher_breve_rubrique($id_breve, $id_rubrique, $statut)
138 . ($dater
139 ? $dater($id_breve, $flag_editable, $statut, 'breve', 'breves_voir', $date_heure)
140 : ''
141 )
142
143 . $editer_mots('breve', $id_breve, $cherche_mot, $select_groupe, $flag_editable, true, 'breves_voir')
144 . ((($GLOBALS['meta']['multi_articles'] == 'oui') AND ($flag_editable)) ? langue_breve($id_breve,$row):"")
145 . pipeline('affiche_milieu',array(
146 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve),
147 'data'=>''))
148 ;
149
150 $onglet_documents = "";
151
152 $onglet_interactivite = "";
153
154 $discuter = charger_fonction('discuter', 'inc');
155 $onglet_discuter = $discuter($id_breve, 'breves_voir', 'id_breve');
156
157 echo debut_droite('', true)
158 . "<div class='fiche_objet'>"
159 . $haut
160 . afficher_onglets_pages(array(
161 'voir' => _T('onglet_contenu'),
162 'props' => _T('onglet_proprietes'),
163 'docs' => _T('onglet_documents'),
164 'interactivite' => _T('onglet_interactivite'),
165 'discuter' => _T('onglet_discuter')),
166 _INTERFACE_ONGLETS?
167 array(
168 'props'=>$onglet_proprietes,
169 'voir'=>$onglet_contenu,
170 'docs'=>$onglet_documents,
171 'interactivite'=>$onglet_interactivite,
172 'discuter'=>$onglet_discuter)
173 :
174 array(
175 'props'=>$onglet_proprietes,
176 'voir'=>$onglet_contenu)
177 )
178 . "</div>"
179 . (_INTERFACE_ONGLETS?"":$onglet_discuter)
180 . fin_gauche()
181 . fin_page();
182 }
183 }
184
185 // http://doc.spip.org/@langue_breve
186 function langue_breve($id_breve, $row){
187 $id_rubrique = $row['id_rubrique'];
188 //
189 // Langue de la breve
190 //
191 $row2 = sql_fetsel("lang", "spip_rubriques", "id_rubrique=$id_rubrique");
192 $langue_parent = $row2['lang'];
193
194 $langue_breve = $row['lang'];
195
196 $res = "";
197 #$bouton = bouton_block_depliable(_T('titre_langue_breve')."&nbsp; (".traduire_nom_langue($langue_breve).")",false,'languesbreve');
198 $res .= debut_cadre_enfonce('langues-24.gif',true/*,'',$bouton*/);
199
200 #$res .= debut_block_depliable(false,'languesbreve');
201 $res .= "<div class='langue'>";
202
203 if ($menu = liste_options_langues('changer_lang', $langue_breve, $langue_parent)) {
204 $lien = "\nonchange=\"this.nextSibling.firstChild.style.visibility='visible';\"";
205 $menu = select_langues('changer_lang', $lien, $menu, _T('titre_langue_breve'))
206 . "<span><input type='submit' class='visible_au_chargement' value='". _T('bouton_changer')."' /></span>";
207 }
208 $res .= redirige_action_auteur('editer_breve', "$id_breve/$id_rubrique", "breves_voir","id_breve=$id_breve", $menu);
209 $res .= "</div>\n";
210 #$res .= fin_block();
211
212 $res .= fin_cadre_enfonce(true);
213 return $res;
214 }
215
216
217 // http://doc.spip.org/@afficher_breve_rubrique
218 function afficher_breve_rubrique($id_breve, $id_rubrique, $statut)
219 {
220 if (!_INTERFACE_ONGLETS) return "";
221 global $spip_lang_right;
222 $aider = charger_fonction('aider', 'inc');
223 $chercher_rubrique = charger_fonction('chercher_rubrique', 'inc');
224
225 $form = $chercher_rubrique($id_rubrique, 'breve', ($statut == 'publie'));
226 if (strpos($form,'<select')!==false) {
227 $form .= "<div style='text-align: $spip_lang_right;'>"
228 . '<input type="submit" value="'._T('bouton_choisir').'"/>'
229 . "</div>";
230 }
231
232 $form = redirige_action_post('editer_breve', $id_breve, 'breves_voir', "id_breve=$id_breve", $form, " class='submit_plongeur'" );
233
234
235 if ($id_rubrique == 0) $logo = "racine-site-24.gif";
236 else $logo = "secteur-24.gif";
237
238 return
239 debut_cadre_couleur($logo, true, "",_T('entree_interieur_rubrique').$aider ("brevesrub"))
240 . $form
241 . fin_cadre_couleur(true);
242
243 }
244 ?>