Browse Source

page breve complete en squelette. Evacuation des cas particuliers de action/editer_breve

svn/root/tags/plugins/breves/1.1.2
cedric@yterium.com 12 years ago
parent
commit
12f72c85ce
  1. 43
      action/editer_breve.php
  2. 14
      prive/squelettes/contenu/breve.html

43
action/editer_breve.php

@ -20,23 +20,20 @@ function action_editer_breve_dist($arg=null) {
$arg = $securiser_action();
}
// Envoi depuis le formulaire d'edition pour chgt de langue
if (preg_match(',^(\d+)\W(\w+)$,', $arg, $r)) {
revisions_breves_langue($id_breve=$r[1], $r[2], _request('changer_lang'));
// Envoi depuis le formulaire d'edition d'une breve
if (!$id_breve = intval($arg)) {
$id_breve = insert_breve(_request('id_parent'));
}
// Envoi depuis le formulaire d'edition d'une breve existante
else if ($id_breve = intval($arg)) {
if ($id_breve) {
revisions_breves($id_breve);
}
// Envoi depuis le formulaire de creation d'une breve
else if ($arg == 'oui') {
$id_breve = insert_breve(_request('id_parent'));
if ($id_breve) revisions_breves($id_breve);
}
// Erreur
else{
include_spip('inc/headers');
redirige_url_ecrire();
if (_request('redirect')) {
include_spip('inc/headers');
redirige_url_ecrire();
}
return array(0,''); // erreur
}
if (_request('redirect')) {
@ -106,7 +103,7 @@ function revisions_breves ($id_breve, $c=false) {
$c = array();
foreach (array(
'titre', 'texte', 'lien_titre', 'lien_url',
'id_parent', 'statut'
'id_parent', 'statut','changer_lang'
) as $champ)
if (($a = _request($champ)) !== null)
$c[$champ] = $a;
@ -128,11 +125,15 @@ function revisions_breves ($id_breve, $c=false) {
),
$c);
// Changer le statut de la breve ?
$row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=$id_breve");
$row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=".intval($id_breve));
$id_rubrique = $row['id_rubrique'];
if ($changer_lang = _request('changer_lang',$c)){
revisions_breves_langue($id_breve, $id_rubrique, $changer_lang);
$row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=".intval($id_breve));
$id_rubrique = $row['id_rubrique'];
}
$statut_ancien = $statut = $row['statut'];
$langue_old = $row['lang'];
$langue_choisie_old = $row['langue_choisie'];
@ -148,7 +149,7 @@ function revisions_breves ($id_breve, $c=false) {
// de la rubrique actuelle
if ($id_parent = intval(_request('id_parent', $c))
AND $id_parent != $id_rubrique
AND (NULL !== ($lang=sql_getfetsel('lang', 'spip_rubriques', "id_parent=0 AND id_rubrique=$id_parent")))) {
AND (NULL !== ($lang=sql_getfetsel('lang', 'spip_rubriques', "id_parent=0 AND id_rubrique=".intval($id_parent))))) {
$champs['id_rubrique'] = $id_parent;
// - changer sa langue (si heritee)
if ($langue_choisie_old != "oui") {
@ -193,11 +194,11 @@ function revisions_breves ($id_breve, $c=false) {
function revisions_breves_langue($id_breve, $id_rubrique, $changer_lang)
{
if ($changer_lang == "herit") {
$row = sql_fetsel("lang", "spip_rubriques", "id_rubrique=$id_rubrique");
$row = sql_fetsel("lang", "spip_rubriques", "id_rubrique=".intval($id_rubrique));
$langue_parent = $row['lang'];
sql_updateq('spip_breves', array('lang'=>$langue_parent, 'langue_choisie'=>'non'), "id_breve=$id_breve");
} else {
sql_updateq('spip_breves', array('lang'=>$changer_lang, 'langue_choisie'=>'oui'), "id_breve=$id_breve");
sql_updateq('spip_breves', array('lang'=>$langue_parent, 'langue_choisie'=>'non'), "id_breve=".intval($id_breve));
} else {
sql_updateq('spip_breves', array('lang'=>$changer_lang, 'langue_choisie'=>'oui'), "id_breve=".intval($id_breve));
include_spip('inc/rubriques');
$langues = calculer_langues_utilisees();
ecrire_meta('langues_utilisees', $langues);

14
prive/squelettes/contenu/breve.html

@ -1,7 +1,14 @@
<BOUCLE_breve(BREVES){id_breve}{statut?}{si #ENV{exec}|=={breve}}>
[(#BOITE_OUVRIR{[
[(#AUTORISER{modifier,breve,#ID_BREVE})
[(#URL_ECRIRE{breve_edit,id_breve=#ID_BREVE}|icone_verticale{<:icone_modifier_breve:>,breve,edit,right ajax preload})]
[(#ID_BREVE|afficher_qui_edite{breve}|non)
[(#URL_ECRIRE{breve_edit,id_breve=#ID_BREVE}|icone_verticale{<:icone_modifier_breve:>,breve,edit,right ajax preload})]
]
[(#ID_BREVE|afficher_qui_edite{breve}|oui)
[(#URL_ECRIRE{breve_edit,id_breve=#ID_BREVE}|icone_verticale{#ID_BREVE|afficher_qui_edite{breve},warning-24,'',right ajax preload})]
]
]
<h1>[(#RANG). ](#TITRE|sinon{<:info_sans_titre:>})[(#CHEMIN_IMAGE{breve-24.png}|balise_img{breve,cadre-icone})]</h1>
],simple fiche_objet})]
@ -10,8 +17,9 @@
#FORMULAIRE_DATER{breve,#ID_BREVE}
</div>
TODO : langue des breves
<div class="ajax">
#FORMULAIRE_CHANGER_LANGUE{breve,#ID_BREVE}
</div>
<div id="wysiwyg">
<INCLURE{fond=prive/contenu/breve,id=#ID_BREVE}>

Loading…
Cancel
Save