[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / exec / breves_edit.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2011 *
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/documents');
17
18 // http://doc.spip.org/@exec_breves_edit_dist
19 function exec_breves_edit_dist()
20 {
21 exec_breves_edit_args(intval(_request('id_breve')),
22 intval(_request('id_rubrique')),
23 _request('new'));
24 }
25
26 // http://doc.spip.org/@exec_breves_edit_args
27 function exec_breves_edit_args($id_breve, $id_rubrique, $new)
28 {
29 global $connect_id_rubrique;
30 // appel du script a la racine, faut choisir
31 // on prend le dernier secteur cree
32 // dans une liste restreinte si admin restreint
33
34 if ($new === 'oui' AND $id_rubrique)
35 $id_rubrique = sql_getfetsel('id_secteur', 'spip_rubriques', "id_rubrique=$id_rubrique");
36
37 if (!$id_rubrique) {
38 $in = !count($connect_id_rubrique)
39 ? ''
40 : (" AND " . sql_in('id_rubrique', $connect_id_rubrique));
41
42 $id_rubrique = sql_getfetsel('id_rubrique','spip_rubriques', "id_parent=0$in",'', "id_rubrique DESC", 1);
43
44 if (!autoriser('creerbrevedans','rubrique',$id_rubrique )){
45 // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
46 $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
47 while (!autoriser('creerbrevedans','rubrique',$id_rubrique ) && $row_rub = sql_fetch($res)){
48 $id_rubrique = $row_rub['id_rubrique'];
49 }
50 }
51 }
52
53
54 $row = false;
55 if (!( ($new!='oui' AND (!autoriser('voir','breve',$id_breve) OR !autoriser('modifier','breve', $id_breve)))
56 OR ($new=='oui' AND !autoriser('creerbrevedans','rubrique',$id_rubrique)) )) {
57 if ($new != "oui")
58 $row = sql_fetsel("*", "spip_breves", "id_breve=$id_breve");
59 else $row = true;
60 }
61 if (!$row) {
62 include_spip('inc/minipres');
63 echo minipres();
64 } else breves_edit_ok($row, $id_breve, $id_rubrique, $new);
65 }
66
67 // http://doc.spip.org/@breves_edit_ok
68 function breves_edit_ok($row, $id_breve, $id_rubrique, $new)
69 {
70 global $connect_statut, $spip_lang_right;
71
72 if ($new != 'oui') {
73 $id_breve=$row['id_breve'];
74 $titre=$row['titre'];
75 $statut=$row['statut'];
76 $id_rubrique=$row['id_rubrique'];
77 } else {
78 $titre = filtrer_entites(_T('titre_nouvelle_breve'));
79 $statut = "prop";
80 }
81
82 $commencer_page = charger_fonction('commencer_page', 'inc');
83 pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
84
85 echo $commencer_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", $id_rubrique);
86
87 echo debut_grand_cadre(true);
88 echo afficher_hierarchie($id_rubrique);
89
90 echo fin_grand_cadre(true);
91 echo debut_gauche('', true);
92 if ($new != 'oui' AND ($connect_statut=="0minirezo" OR $statut=="prop")) {
93 # affichage sur le cote des images, en reperant les inserees
94 # note : traiter_modeles($texte, true) repere les doublons
95 # aussi efficacement que propre(), mais beaucoup plus rapidement
96 traiter_modeles("$titre$texte", true);
97 echo afficher_documents_colonne($id_breve, "breve");
98 }
99 echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
100 echo creer_colonne_droite('', true);
101 echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
102 echo debut_droite('', true);
103
104 $contexte = array(
105 'icone_retour'=>$new=='oui'?'':icone_inline(_T('icone_retour'), generer_url_ecrire("breves_voir","id_breve=$id_breve"), "breve-24.gif", "rien.gif",$GLOBALS['spip_lang_left']),
106 'redirect'=>generer_url_ecrire("breves_voir"),
107 'titre'=>$titre,
108 'new'=>$new == "oui"?$new:$id_breve,
109 'id_rubrique'=>$id_rubrique,
110 'config_fonc'=>'breves_edit_config'
111 );
112
113 echo recuperer_fond("prive/editer/breve", $contexte);
114
115 echo fin_gauche(), fin_page();
116
117 }
118
119 ?>