3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2011 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
13 if (!defined('_ECRIRE_INC_VERSION')) return;
15 include_spip('inc/presentation');
16 include_spip('inc/documents');
18 // http://doc.spip.org/@exec_breves_edit_dist
19 function exec_breves_edit_dist()
21 exec_breves_edit_args(intval(_request('id_breve')),
22 intval(_request('id_rubrique')),
26 // http://doc.spip.org/@exec_breves_edit_args
27 function exec_breves_edit_args($id_breve, $id_rubrique, $new)
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
34 if ($new === 'oui' AND $id_rubrique)
35 $id_rubrique = sql_getfetsel('id_secteur', 'spip_rubriques', "id_rubrique=$id_rubrique");
38 $in = !count($connect_id_rubrique)
40 : (" AND " . sql_in('id_rubrique', $connect_id_rubrique));
42 $id_rubrique = sql_getfetsel('id_rubrique','spip_rubriques', "id_parent=0$in",'', "id_rubrique DESC", 1);
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'];
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)) )) {
58 $row = sql_fetsel("*", "spip_breves", "id_breve=$id_breve");
62 include_spip('inc/minipres');
64 } else breves_edit_ok($row, $id_breve, $id_rubrique, $new);
67 // http://doc.spip.org/@breves_edit_ok
68 function breves_edit_ok($row, $id_breve, $id_rubrique, $new)
70 global $connect_statut, $spip_lang_right;
73 $id_breve=$row['id_breve'];
75 $statut=$row['statut'];
76 $id_rubrique=$row['id_rubrique'];
78 $titre = filtrer_entites(_T('titre_nouvelle_breve'));
82 $commencer_page = charger_fonction('commencer_page', 'inc');
83 pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
85 echo $commencer_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", $id_rubrique);
87 echo debut_grand_cadre(true);
88 echo afficher_hierarchie($id_rubrique);
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");
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);
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"),
108 'new'=>$new == "oui"?
$new:$id_breve,
109 'id_rubrique'=>$id_rubrique,
110 'config_fonc'=>'breves_edit_config'
113 echo recuperer_fond("prive/editer/breve", $contexte);
115 echo fin_gauche(), fin_page();