
16 changed files with 987 additions and 0 deletions
@ -1,7 +1,22 @@
|
||||
* text=auto !eol |
||||
action/editer_breve.php -text |
||||
action/instituer_breve.php -text |
||||
base/breves.php -text |
||||
base/breves_upgrade.php -text |
||||
/breves_autoriser.php -text |
||||
/breves_pipelines.php -text |
||||
exec/breves_edit.php -text |
||||
exec/breves_voir.php -text |
||||
formulaires/configurer_breves.html -text |
||||
formulaires/configurer_breves.php -text |
||||
formulaires/editer_breve.html -text |
||||
formulaires/editer_breve.php -text |
||||
inc/instituer_breve.php -text |
||||
/plugin.xml -text |
||||
prive/contenu/breve.html -text |
||||
prive/editer/breve.html -text |
||||
prive/infos/breve.html -text |
||||
prive/infos/breve_fonctions.php -text |
||||
prive/listes/breves.html -text |
||||
prive/squelettes/contenu/page-breves.html -text |
||||
public/breves.php -text |
||||
|
@ -0,0 +1,214 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
// http://doc.spip.org/@action_editer_breve_dist |
||||
function action_editer_breve_dist($arg=null) { |
||||
|
||||
if (is_null($arg)){ |
||||
$securiser_action = charger_fonction('securiser_action', 'inc'); |
||||
$arg = $securiser_action(); |
||||
} |
||||
|
||||
// Envoi depuis les boutons "publier/supprimer cette breve" |
||||
if (preg_match(',^(\d+)\Wstatut\W(\w+)$,', $arg, $r)) { |
||||
$id_breve = $r[1]; |
||||
set_request('statut', $r[2]); |
||||
revisions_breves($id_breve); |
||||
} |
||||
// Envoi depuis le formulaire d'edition pour chgt de langue |
||||
else 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 existante |
||||
else if ($id_breve = intval($arg)) { |
||||
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')) { |
||||
$redirect = parametre_url(urldecode(_request('redirect')), |
||||
'id_breve', $id_breve, '&'); |
||||
|
||||
include_spip('inc/headers'); |
||||
redirige_par_entete($redirect); |
||||
} |
||||
else |
||||
return array($id_breve,''); |
||||
} |
||||
|
||||
// http://doc.spip.org/@insert_breve |
||||
function insert_breve($id_rubrique) { |
||||
|
||||
include_spip('inc/rubriques'); |
||||
|
||||
// Si id_rubrique vaut 0 ou n'est pas definie, creer la breve |
||||
// dans la premiere rubrique racine |
||||
if (!$id_rubrique = intval($id_rubrique)) { |
||||
$id_rubrique = sql_getfetsel("id_rubrique", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1"); |
||||
} |
||||
|
||||
// La langue a la creation : c'est la langue de la rubrique |
||||
$row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique"); |
||||
$lang = $row['lang']; |
||||
$id_rubrique = $row['id_secteur']; // garantir la racine |
||||
|
||||
$champs = array( |
||||
'id_rubrique' => $id_rubrique, |
||||
'statut' => 'prop', |
||||
'date_heure' => date('Y-m-d H:i:s'), |
||||
'lang' => $lang, |
||||
'langue_choisie' => 'non'); |
||||
|
||||
// Envoyer aux plugins |
||||
$champs = pipeline('pre_insertion', |
||||
array( |
||||
'args' => array( |
||||
'table' => 'spip_breves', |
||||
), |
||||
'data' => $champs |
||||
) |
||||
); |
||||
$id_breve = sql_insertq("spip_breves", $champs); |
||||
pipeline('post_insertion', |
||||
array( |
||||
'args' => array( |
||||
'table' => 'spip_breves', |
||||
'id_objet' => $id_breve |
||||
), |
||||
'data' => $champs |
||||
) |
||||
); |
||||
return $id_breve; |
||||
} |
||||
|
||||
|
||||
// Enregistre une revision de breve |
||||
// $c est un contenu (par defaut on prend le contenu via _request()) |
||||
// http://doc.spip.org/@revisions_breves |
||||
function revisions_breves ($id_breve, $c=false) { |
||||
|
||||
// champs normaux |
||||
if ($c === false) { |
||||
$c = array(); |
||||
foreach (array( |
||||
'titre', 'texte', 'lien_titre', 'lien_url', |
||||
'id_parent', 'statut' |
||||
) as $champ) |
||||
if (($a = _request($champ)) !== null) |
||||
$c[$champ] = $a; |
||||
} |
||||
|
||||
// Si la breve est publiee, invalider les caches et demander sa reindexation |
||||
$t = sql_getfetsel("statut", "spip_breves", "id_breve=$id_breve"); |
||||
if ($t == 'publie') { |
||||
$invalideur = "id='breve/$id_breve'"; |
||||
$indexation = true; |
||||
} |
||||
|
||||
include_spip('inc/modifier'); |
||||
modifier_contenu('breve', $id_breve, |
||||
array( |
||||
'nonvide' => array('titre' => _T('info_sans_titre')), |
||||
'invalideur' => $invalideur, |
||||
'indexation' => $indexation |
||||
), |
||||
$c); |
||||
|
||||
|
||||
// Changer le statut de la breve ? |
||||
$row = sql_fetsel("statut, id_rubrique,lang, langue_choisie", "spip_breves", "id_breve=$id_breve"); |
||||
|
||||
$id_rubrique = $row['id_rubrique']; |
||||
$statut_ancien = $statut = $row['statut']; |
||||
$langue_old = $row['lang']; |
||||
$langue_choisie_old = $row['langue_choisie']; |
||||
|
||||
if (_request('statut', $c) |
||||
AND _request('statut', $c) != $statut |
||||
AND autoriser('publierdans', 'rubrique', $id_rubrique)) { |
||||
$statut = $champs['statut'] = _request('statut', $c); |
||||
} |
||||
|
||||
// Changer de rubrique ? |
||||
// Verifier que la rubrique demandee est a la racine et differente |
||||
// 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")))) { |
||||
$champs['id_rubrique'] = $id_parent; |
||||
// - changer sa langue (si heritee) |
||||
if ($langue_choisie_old != "oui") { |
||||
if ($lang != $langue_old) |
||||
$champs['lang'] = $lang; |
||||
} |
||||
// si la breve est publiee |
||||
// et que le demandeur n'est pas admin de la rubrique |
||||
// repasser la breve en statut 'prop'. |
||||
if ($statut == 'publie') { |
||||
if (!autoriser('publierdans','rubrique',$id_parent)) |
||||
$champs['statut'] = $statut = 'prop'; |
||||
} |
||||
} |
||||
|
||||
if (!$champs) return; |
||||
|
||||
sql_updateq('spip_breves', $champs, "id_breve=$id_breve"); |
||||
|
||||
// |
||||
// Post-modifications |
||||
// |
||||
|
||||
// Invalider les caches |
||||
include_spip('inc/invalideur'); |
||||
suivre_invalideur("id='breve/$id_breve'"); |
||||
|
||||
// Au besoin, changer le statut des rubriques concernees |
||||
include_spip('inc/rubriques'); |
||||
calculer_rubriques_if($id_rubrique, $champs, $statut_ancien); |
||||
|
||||
// Notifications |
||||
if ($notifications = charger_fonction('notifications', 'inc')) { |
||||
$notifications('instituerbreve', $id_breve, |
||||
array('statut' => $statut, 'statut_ancien' => $statut_ancien) |
||||
); |
||||
} |
||||
|
||||
} |
||||
|
||||
// http://doc.spip.org/@revisions_breves_langue |
||||
function revisions_breves_langue($id_breve, $id_rubrique, $changer_lang) |
||||
{ |
||||
if ($changer_lang == "herit") { |
||||
$row = sql_fetsel("lang", "spip_rubriques", "id_rubrique=$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"); |
||||
include_spip('inc/rubriques'); |
||||
$langues = calculer_langues_utilisees(); |
||||
ecrire_meta('langues_utilisees', $langues); |
||||
} |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,33 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
// http://doc.spip.org/@action_instituer_breve_dist |
||||
function action_instituer_breve_dist() { |
||||
|
||||
$securiser_action = charger_fonction('securiser_action', 'inc'); |
||||
$arg = $securiser_action(); |
||||
|
||||
list($id_breve, $statut) = preg_split('/\W/', $arg); |
||||
if (!$statut) $statut = _request('statut_nouv'); // cas POST |
||||
if (!$statut) return; // impossible mais sait-on jamais |
||||
|
||||
$id_breve = intval($id_breve); |
||||
|
||||
include_spip('action/editer_breve'); |
||||
|
||||
revisions_breves($id_breve, array('statut' => $statut)); |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,120 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
include_spip('inc/presentation'); |
||||
include_spip('inc/documents'); |
||||
include_spip('inc/barre'); |
||||
|
||||
// http://doc.spip.org/@exec_breves_edit_dist |
||||
function exec_breves_edit_dist() |
||||
{ |
||||
exec_breves_edit_args(intval(_request('id_breve')), |
||||
intval(_request('id_rubrique')), |
||||
_request('new')); |
||||
} |
||||
|
||||
// http://doc.spip.org/@exec_breves_edit_args |
||||
function exec_breves_edit_args($id_breve, $id_rubrique, $new) |
||||
{ |
||||
global $connect_id_rubrique; |
||||
// appel du script a la racine, faut choisir |
||||
// on prend le dernier secteur cree |
||||
// dans une liste restreinte si admin restreint |
||||
|
||||
if ($new === 'oui' AND $id_rubrique) |
||||
$id_rubrique = sql_getfetsel('id_secteur', 'spip_rubriques', "id_rubrique=$id_rubrique"); |
||||
|
||||
if (!$id_rubrique) { |
||||
$in = !count($connect_id_rubrique) |
||||
? '' |
||||
: (" AND " . sql_in('id_rubrique', $connect_id_rubrique)); |
||||
|
||||
$id_rubrique = sql_getfetsel('id_rubrique','spip_rubriques', "id_parent=0$in",'', "id_rubrique DESC", 1); |
||||
|
||||
if (!autoriser('creerbrevedans','rubrique',$id_rubrique )){ |
||||
// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises |
||||
$res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0"); |
||||
while (!autoriser('creerbrevedans','rubrique',$id_rubrique ) && $row_rub = sql_fetch($res)){ |
||||
$id_rubrique = $row_rub['id_rubrique']; |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
$row = false; |
||||
if (!( ($new!='oui' AND (!autoriser('voir','breve',$id_breve) OR !autoriser('modifier','breve', $id_breve))) |
||||
OR ($new=='oui' AND !autoriser('creerbrevedans','rubrique',$id_rubrique)) )) { |
||||
if ($new != "oui") |
||||
$row = sql_fetsel("*", "spip_breves", "id_breve=$id_breve"); |
||||
else $row = true; |
||||
} |
||||
if (!$row) { |
||||
include_spip('inc/minipres'); |
||||
echo minipres(); |
||||
} else breves_edit_ok($row, $id_breve, $id_rubrique, $new); |
||||
} |
||||
|
||||
// http://doc.spip.org/@breves_edit_ok |
||||
function breves_edit_ok($row, $id_breve, $id_rubrique, $new) |
||||
{ |
||||
global $connect_statut, $spip_lang_right; |
||||
|
||||
if ($new != 'oui') { |
||||
$id_breve=$row['id_breve']; |
||||
$titre=$row['titre']; |
||||
$statut=$row['statut']; |
||||
$id_rubrique=$row['id_rubrique']; |
||||
} else { |
||||
$titre = filtrer_entites(_T('titre_nouvelle_breve')); |
||||
$statut = "prop"; |
||||
} |
||||
|
||||
$commencer_page = charger_fonction('commencer_page', 'inc'); |
||||
pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>'')); |
||||
|
||||
echo $commencer_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", $id_rubrique); |
||||
|
||||
echo debut_grand_cadre(true); |
||||
echo afficher_hierarchie($id_rubrique,'',$id_breve,'breve',$row['id_secteur'],($row['statut'] == 'publie')); |
||||
|
||||
echo fin_grand_cadre(true); |
||||
echo debut_gauche('', true); |
||||
if ($new != 'oui' AND ($connect_statut=="0minirezo" OR $statut=="prop")) { |
||||
# affichage sur le cote des images, en reperant les inserees |
||||
# note : traiter_modeles($texte, true) repere les doublons |
||||
# aussi efficacement que propre(), mais beaucoup plus rapidement |
||||
traiter_modeles("$titre$texte", true); |
||||
echo afficher_documents_colonne($id_breve, "breve"); |
||||
} |
||||
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>'')); |
||||
echo creer_colonne_droite('', true); |
||||
echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>'')); |
||||
echo debut_droite('', true); |
||||
|
||||
$contexte = array( |
||||
'icone_retour'=>$new=='oui'?'':icone_inline(_T('icone_retour'), generer_url_ecrire("breves_voir","id_breve=$id_breve"), "breve-24.png", "",$GLOBALS['spip_lang_left']), |
||||
'redirect'=>generer_url_ecrire("breves_voir"), |
||||
'titre'=>$titre, |
||||
'new'=>$new == "oui"?$new:$id_breve, |
||||
'id_rubrique'=>$id_rubrique, |
||||
'config_fonc'=>'breves_edit_config' |
||||
); |
||||
|
||||
echo recuperer_fond("prive/editer/breve", $contexte); |
||||
|
||||
echo fin_gauche(), fin_page(); |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,241 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
include_spip('inc/presentation'); |
||||
include_spip('inc/actions'); |
||||
|
||||
// http://doc.spip.org/@exec_breves_voir_dist |
||||
function exec_breves_voir_dist() |
||||
{ |
||||
$id_breve = intval(_request('id_breve')); |
||||
exec_breves_voir_args($id_breve, _request('cherche_mot'), _request('select_groupe')); |
||||
} |
||||
|
||||
// http://doc.spip.org/@exec_breves_voir_args |
||||
function exec_breves_voir_args($id_breve, $cherche_mot, $select_groupe) |
||||
{ |
||||
$row = sql_fetsel("*", "spip_breves", "id_breve=$id_breve"); |
||||
if (!$row OR !autoriser('voir','breve',$id_breve)){ |
||||
include_spip('inc/minipres'); |
||||
echo minipres(); |
||||
} else { |
||||
$id_breve=$row['id_breve']; |
||||
$date_heure=$row['date_heure']; |
||||
$titre_breve=$row['titre']; |
||||
$titre=$row['titre']; |
||||
$texte=$row['texte']; |
||||
$extra=$row['extra']; |
||||
$lien_titre=$row['lien_titre']; |
||||
$lien_url=$row['lien_url']; |
||||
$statut=$row['statut']; |
||||
$id_rubrique=$row['id_rubrique']; |
||||
|
||||
$commencer_page = charger_fonction('commencer_page', 'inc'); |
||||
|
||||
$flag_editable = autoriser('modifier','breve',$id_breve); |
||||
|
||||
// Est-ce que quelqu'un a deja ouvert la breve en edition ? |
||||
if ($flag_editable |
||||
AND $GLOBALS['meta']['articles_modif'] != 'non') { |
||||
include_spip('inc/drapeau_edition'); |
||||
$modif = mention_qui_edite($id_breve, 'breve'); |
||||
} else |
||||
$modif = array(); |
||||
|
||||
|
||||
pipeline('exec_init', |
||||
array( |
||||
'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), |
||||
'data'=>'' |
||||
) |
||||
); |
||||
$iconifier = charger_fonction('iconifier', 'inc'); |
||||
|
||||
$dater = charger_fonction('dater', 'inc'); |
||||
$meme_rubrique = charger_fonction('meme_rubrique', 'inc'); |
||||
|
||||
echo $commencer_page("« $titre_breve »", "naviguer", "breves", $id_rubrique); |
||||
|
||||
echo debut_grand_cadre(true); |
||||
echo afficher_hierarchie($id_rubrique,true,$id_breve,'breve',$row['id_secteur'],($row['statut'] == 'publie')); |
||||
echo fin_grand_cadre(true); |
||||
|
||||
echo debut_gauche('', true); |
||||
|
||||
echo debut_boite_info(true) |
||||
. pipeline ('boite_infos', array('data' => '', |
||||
'args' => array( |
||||
'type'=>'breve', |
||||
'id' => $id_breve, |
||||
'row' => $row |
||||
))) |
||||
. fin_boite_info(true); |
||||
|
||||
echo pipeline('affiche_gauche', |
||||
array( |
||||
'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), |
||||
'data'=>'' |
||||
) |
||||
); |
||||
echo $iconifier('breve', $id_breve, 'breves_voir', false, autoriser('publierdans','rubrique',$id_rubrique)); |
||||
|
||||
echo pipeline('afficher_config_objet',array('args'=>array('type'=>'breve','id'=>$id_breve),'data'=>'')); |
||||
|
||||
echo creer_colonne_droite('', true); |
||||
echo pipeline('affiche_droite', |
||||
array( |
||||
'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), |
||||
'data'=>'' |
||||
) |
||||
); |
||||
echo $meme_rubrique($id_rubrique, $id_breve, 'breve', 'date_heure'); |
||||
|
||||
/* raccourcis ont disparu */ |
||||
echo bloc_des_raccourcis(icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui&id_rubrique=$id_rubrique"), "breve-24.png","new", 0)); |
||||
|
||||
$actions = $flag_editable |
||||
? icone_inline( |
||||
// TODO -- _L("Fil a travaille sur cette breve il y a x minutes") |
||||
!$modif ? _T('icone_modifier_breve') |
||||
: _T('texte_travail_article', $modif), |
||||
generer_url_ecrire("breves_edit","id_breve=$id_breve&retour=nav"), |
||||
!$modif ? "breve-24.png" : "warning-24.png", |
||||
!$modif ? "edit" : '', |
||||
$GLOBALS['spip_lang_right'] |
||||
) |
||||
: ""; |
||||
|
||||
$haut = |
||||
"<div class='bandeau_actions'>$actions</div>" |
||||
. gros_titre($titre,'', false); |
||||
|
||||
$type = 'breve'; |
||||
$contexte = array('id'=>$id_breve,'id_rubrique'=>$id_rubrique); |
||||
$fond = recuperer_fond("prive/contenu/$type",$contexte); |
||||
// permettre aux plugin de faire des modifs ou des ajouts |
||||
$fond = pipeline('afficher_contenu_objet', |
||||
array( |
||||
'args'=>array( |
||||
'type'=>$type, |
||||
'id_objet'=>$id_breve, |
||||
'contexte'=>$contexte), |
||||
'data'=> $fond)); |
||||
|
||||
$onglet_contenu = "<div id='wysiwyg'>$fond</div>"; |
||||
|
||||
$onglet_proprietes = |
||||
afficher_breve_rubrique($id_breve, $id_rubrique, $statut) |
||||
. ($dater |
||||
? $dater($id_breve, $flag_editable, $statut, 'breve', 'breves_voir', $date_heure) |
||||
: '' |
||||
) |
||||
|
||||
. ((($GLOBALS['meta']['multi_articles'] == 'oui') AND ($flag_editable)) ? langue_breve($id_breve,$row):"") |
||||
. pipeline('affiche_milieu',array( |
||||
'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), |
||||
'data'=>'')) |
||||
; |
||||
|
||||
$onglet_documents = ""; |
||||
|
||||
$onglet_interactivite = ""; |
||||
|
||||
echo debut_droite('', true) |
||||
. pipeline('afficher_fiche_objet',array('args'=>array('type'=>'breve','id'=>$id_breve),'data'=> |
||||
"<div class='fiche_objet'>" |
||||
. $haut |
||||
. afficher_onglets_pages(array( |
||||
'voir' => _T('onglet_contenu'), |
||||
'props' => _T('onglet_proprietes'), |
||||
'docs' => _T('onglet_documents'), |
||||
'interactivite' => _T('onglet_interactivite'), |
||||
), |
||||
_INTERFACE_ONGLETS? |
||||
array( |
||||
'props'=>$onglet_proprietes, |
||||
'voir'=>$onglet_contenu, |
||||
'docs'=>$onglet_documents, |
||||
'interactivite'=>$onglet_interactivite, |
||||
) |
||||
: |
||||
array( |
||||
'props'=>$onglet_proprietes, |
||||
'voir'=>$onglet_contenu) |
||||
) |
||||
. "</div>")) |
||||
. fin_gauche() |
||||
. fin_page(); |
||||
} |
||||
} |
||||
|
||||
// http://doc.spip.org/@langue_breve |
||||
function langue_breve($id_breve, $row){ |
||||
$id_rubrique = $row['id_rubrique']; |
||||
// |
||||
// Langue de la breve |
||||
// |
||||
$row2 = sql_fetsel("lang", "spip_rubriques", "id_rubrique=$id_rubrique"); |
||||
$langue_parent = $row2['lang']; |
||||
|
||||
$langue_breve = $row['lang']; |
||||
|
||||
$res = ""; |
||||
#$bouton = bouton_block_depliable(_T('titre_langue_breve')." (".traduire_nom_langue($langue_breve).")",false,'languesbreve'); |
||||
$res .= debut_cadre_enfonce('langue-24.png',true/*,'',$bouton*/); |
||||
|
||||
#$res .= debut_block_depliable(false,'languesbreve'); |
||||
$res .= "<div class='langue'>"; |
||||
|
||||
if ($menu = liste_options_langues('changer_lang', $langue_breve, $langue_parent)) { |
||||
$lien = "\nonchange=\"this.nextSibling.firstChild.style.visibility='visible';\""; |
||||
$menu = select_langues('changer_lang', $lien, $menu, _T('titre_langue_breve')) |
||||
. "<span><input type='submit' class='visible_au_chargement fondo' value='". _T('bouton_changer')."' /></span>"; |
||||
} |
||||
$res .= redirige_action_auteur('editer_breve', "$id_breve/$id_rubrique", "breves_voir","id_breve=$id_breve", $menu); |
||||
$res .= "</div>\n"; |
||||
#$res .= fin_block(); |
||||
|
||||
$res .= fin_cadre_enfonce(true); |
||||
return $res; |
||||
} |
||||
|
||||
|
||||
// http://doc.spip.org/@afficher_breve_rubrique |
||||
function afficher_breve_rubrique($id_breve, $id_rubrique, $statut) |
||||
{ |
||||
if (!_INTERFACE_ONGLETS) return ""; |
||||
global $spip_lang_right; |
||||
$aider = charger_fonction('aider', 'inc'); |
||||
$chercher_rubrique = charger_fonction('chercher_rubrique', 'inc'); |
||||
|
||||
$form = $chercher_rubrique($id_rubrique, 'breve', ($statut == 'publie')); |
||||
if (strpos($form,'<select')!==false) { |
||||
$form .= "<div style='text-align: $spip_lang_right;'>" |
||||
. '<input class="fondo" type="submit" value="'._T('bouton_choisir').'"/>' |
||||
. "</div>"; |
||||
} |
||||
|
||||
$form = redirige_action_post('editer_breve', $id_breve, 'breves_voir', "id_breve=$id_breve", $form, " class='submit_plongeur'" ); |
||||
|
||||
|
||||
if ($id_rubrique == 0) $logo = "racine-24.png"; |
||||
else $logo = "secteur-24.png"; |
||||
|
||||
return |
||||
debut_cadre_couleur($logo, true, "",_T('entree_interieur_rubrique').$aider ("brevesrub")) |
||||
. $form |
||||
. fin_cadre_couleur(true); |
||||
|
||||
} |
||||
?> |
@ -0,0 +1,31 @@
|
||||
<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> |
||||
<h3 class='titrem'><img src="#CHEMIN_IMAGE{breve-24.png}" class="cadre-icone" /><:titre_breves:>#AIDER{confbreves}</h3> |
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] |
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] |
||||
[(#ENV{editable}) |
||||
<p><:texte_breves:></p> |
||||
<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div> |
||||
[(#REM) declarer les hidden qui declencheront le service du formulaire |
||||
parametre : url d'action ] |
||||
#ACTION_FORMULAIRE{#ENV{action}} |
||||
<ul> |
||||
#SET{name,activer_breves}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} |
||||
<li class="long_label editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> |
||||
<label for="#GET{name}"><:info_breves:></label>[ |
||||
<span class='erreur_message'>(#GET{erreurs})</span> |
||||
]<div class="choix"> |
||||
<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui" |
||||
[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_utiliser_breves:></label> |
||||
</div> |
||||
<div class="choix"> |
||||
<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non" |
||||
[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non_utiliser_breves:></label> |
||||
</div> |
||||
</li> |
||||
</ul> |
||||
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] |
||||
<!--extra--> |
||||
<p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> |
||||
</div></form> |
||||
] |
||||
</div> |
@ -0,0 +1,36 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
function formulaires_configurer_breves_charger_dist(){ |
||||
foreach(array( |
||||
"activer_breves", |
||||
) as $m) |
||||
$valeurs[$m] = $GLOBALS['meta'][$m]; |
||||
|
||||
return $valeurs; |
||||
} |
||||
|
||||
|
||||
function formulaires_configurer_breves_traiter_dist(){ |
||||
$res = array('editable'=>true); |
||||
foreach(array( |
||||
"activer_breves", |
||||
) as $m) |
||||
if (!is_null($v=_request($m))) |
||||
ecrire_meta($m, $v=='oui'?'oui':'non'); |
||||
|
||||
$res['message_ok'] = _T('config_info_enregistree'); |
||||
return $res; |
||||
} |
||||
|
@ -0,0 +1,70 @@
|
||||
<div class='formulaire_spip formulaire_editer formulaire_editer_breve formulaire_editer_breve-#ENV{id_breve,nouveau}'> |
||||
<!-- <br class='bugajaxie' /> --> |
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] |
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] |
||||
[(#ENV{editable}) |
||||
<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div> |
||||
[(#REM) declarer les hidden qui declencheront le service du formulaire |
||||
parametre : url d'action ] |
||||
#ACTION_FORMULAIRE{#ENV{action}} |
||||
<input type='hidden' name='id_breve' value='#ENV{id_breve}' /> |
||||
<ul> |
||||
<li class="editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]"> |
||||
<label for="titre"><:info_titre:></label>[ |
||||
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{titre})</span> |
||||
]<input type='text' class='text' name='titre' id='titre' value="[(#ENV**{titre,#REM|concat{titre_nouvelle_breve}|_T})]" |
||||
[(#ENV{titre,''}|?{'',' '})onfocus="if(!antifocus){this.value='';antifocus=true;}"]/> |
||||
</li> |
||||
|
||||
[<li class="editer_parent[ (#ENV**{erreurs}|table_valeur{id_rubrique}|oui)erreur]"> |
||||
<label for="id_parent"><:entree_interieur_rubrique:><em class='aide'>#AIDER{id_parent}</em></label> |
||||
(#VAL|chercher_rubrique{#ENV{id_breve},#ENV{id_rubrique}|sinon{#ENV{id_parent}},'breve',#ENV{id_secteur},#ENV**{config}|table_valeur{restreint},0,form_simple}) |
||||
</li>] |
||||
|
||||
<li class="editer_texte[ (#ENV**{erreurs}|table_valeur{texte}|oui)erreur]"> |
||||
<label for="text_area"><:entree_texte_breve:></label>[ |
||||
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{texte})</span> |
||||
][(#ENV**{_texte_trop_long,''}) |
||||
]<textarea name='texte' id='text_area' rows='[(#ENV**{config}|table_valeur{lignes}|plus{2})]' cols='40'>[(#ENV**{texte})]</textarea> |
||||
</li> |
||||
<li class="editer_liens_sites fieldset"> |
||||
<fieldset> |
||||
<h3 class="legend"><:entree_liens_sites:></h3> |
||||
<ul> |
||||
<li class="editer_lien_titre[ (#ENV**{erreurs}|table_valeur{lien_titre}|oui)erreur]"> |
||||
<label for="lien_titre"><:info_titre:><em class='aide'>#AIDER{lien_titre}</em></label>[ |
||||
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{lien_titre})</span> |
||||
]<input type='text' class='text' name='lien_titre' id='lien_titre' value="[(#ENV**{lien_titre})]" /> |
||||
</li> |
||||
<li class="editer_lien_url[ (#ENV**{erreurs}|table_valeur{lien_url}|oui)erreur]"> |
||||
<label for="lien_url"><:info_url:></label>[ |
||||
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{lien_url})</span> |
||||
]<input type='text' class='text' name='lien_url' id='lien_url' value="[(#ENV**{lien_url})]" /> |
||||
</li> |
||||
</ul> |
||||
</fieldset> |
||||
</li> |
||||
|
||||
[(#SESSION{statut}|=={0minirezo}|oui) |
||||
<li class="fieldset"> |
||||
<fieldset> |
||||
<ul> |
||||
<li class="editer_statut obligatoire"> |
||||
<label for='statut'><:entree_breve_publiee:><em class='aide'>#AIDER{statut}</em> |
||||
</label><select name='statut' id='statut' size='1'> |
||||
<option value='prop'[(#ENV**{statut}|=={prop}|?{' selected="selected"'})] style='background-color: white'><:item_breve_proposee:></option> |
||||
<option value='refuse'[(#ENV**{statut}|=={refuse}|?{' selected="selected"'})] class='danger'><:item_breve_refusee:></option> |
||||
<option value='publie'[(#ENV**{statut}|=={publie}|?{' selected="selected"'})] style='background-color: #B4E8C5'><:item_breve_validee:></option> |
||||
</select> |
||||
</li> |
||||
</ul> |
||||
</fieldset> |
||||
</li> |
||||
] |
||||
</ul> |
||||
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] |
||||
<!--extra--> |
||||
<p class="boutons"><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> |
||||
</div></form> |
||||
] |
||||
</div> |
@ -0,0 +1,62 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
include_spip('inc/actions'); |
||||
include_spip('inc/editer'); |
||||
|
||||
function formulaires_editer_breve_charger_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){ |
||||
$valeurs = formulaires_editer_objet_charger('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden); |
||||
// un bug a permis a un moment que des breves soient dans des sous rubriques |
||||
// lorsque ce cas se presente, il faut relocaliser la breve dans son secteur, plutot que n'importe ou |
||||
if ($valeurs['id_rubrique']) |
||||
$valeurs['id_parent'] = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($valeurs['id_rubrique'])); |
||||
// et on enleve id_rubrique des valeurs saisies (c'est id_parent) |
||||
unset($valeurs['id_rubrique']); |
||||
return $valeurs; |
||||
} |
||||
|
||||
/** |
||||
* Identifier le formulaire en faisant abstraction des parametres qui |
||||
* ne representent pas l'objet edite |
||||
*/ |
||||
function formulaires_editer_breve_identifier_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){ |
||||
return serialize(array($id_breve,$lier_trad,$row)); |
||||
} |
||||
|
||||
|
||||
// Choix par defaut des options de presentation |
||||
function breves_edit_config($row) |
||||
{ |
||||
global $spip_ecran, $spip_lang, $spip_display; |
||||
|
||||
$config = $GLOBALS['meta']; |
||||
$config['lignes'] = ($spip_ecran == "large")? 8 : 5; |
||||
$config['langue'] = $spip_lang; |
||||
|
||||
$config['restreint'] = ($row['statut'] == 'publie'); |
||||
return $config; |
||||
} |
||||
|
||||
function formulaires_editer_breve_verifier_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){ |
||||
|
||||
$erreurs = formulaires_editer_objet_verifier('breve',$id_breve,array('titre')); |
||||
return $erreurs; |
||||
} |
||||
|
||||
// http://doc.spip.org/@inc_editer_article_dist |
||||
function formulaires_editer_breve_traiter_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){ |
||||
return formulaires_editer_objet_traiter('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden); |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,47 @@
|
||||
<?php |
||||
|
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
// http://doc.spip.org/@inc_instituer_breve_dist |
||||
function inc_instituer_breve_dist($id_breve, $statut=-1) |
||||
{ |
||||
if ($statut == -1) return ""; |
||||
|
||||
$liste_statuts = array( |
||||
// statut => array(titre,image) |
||||
'prop' => array(_T('item_breve_proposee'),''), |
||||
'publie' => array(_T('item_breve_validee'),''), |
||||
'refuse' => array(_T('item_breve_refusee'),'') |
||||
); |
||||
if (!in_array($statut, array_keys($liste_statuts))) |
||||
$liste_statuts[$statut] = array($statut,''); |
||||
|
||||
$res = |
||||
"<ul id='instituer_breve-$id_breve' class='instituer_breve instituer'>" |
||||
. "<li>" . _T('entree_breve_publiee') |
||||
."<ul>"; |
||||
|
||||
$href = redirige_action_auteur('editer_breve',$id_breve,'breves_voir', "id_breve=$id_breve"); |
||||
foreach($liste_statuts as $s=>$affiche){ |
||||
$href = parametre_url($href,'statut',$s); |
||||
if ($s==$statut) |
||||
$res .= "<li class='$s selected'>" . puce_statut($s) . $affiche[0] . '</li>'; |
||||
else |
||||
$res .= "<li class='$s'><a href='$href' onclick='return confirm(confirm_changer_statut);'>" . puce_statut($s) . $affiche[0] . '</a></li>'; |
||||
} |
||||
|
||||
$res .= "</ul></li></ul>"; |
||||
return $res; |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,18 @@
|
||||
<BOUCLE_afficher_contenu(BREVES){id_breve=#ENV{id}}{statut?}> |
||||
<div class="champ contenu_titre[ (#TITRE*|strlen|?{'',vide})]"> |
||||
<div class='label'><:info_titre:></div> |
||||
<div dir='#LANG_DIR' class='#EDIT{titre} titre'>#TITRE</div> |
||||
</div> |
||||
<div class="champ contenu_texte[ (#TEXTE*|strlen|?{'',vide})]"> |
||||
<div class='label'><:info_texte:></div> |
||||
<div dir='#LANG_DIR' class='#EDIT{texte} texte'>#TEXTE</div> |
||||
</div> |
||||
<div class="champ contenu_lien_titre[ (#LIEN_TITRE*|strlen|?{'',vide})]"> |
||||
<div class='label'><:lien_voir_en_ligne:></div> |
||||
<div dir='#LANG_DIR' class='#EDIT{hyperlien} lien_titre'><a href='#LIEN_URL'>#LIEN_TITRE</a></div> |
||||
</div> |
||||
[<div class="champ contenu_notes"> |
||||
<div class='label'><:info_notes:></div> |
||||
<div dir='#LANG_DIR' class='#EDIT{notes} notes'>(#NOTES)</div> |
||||
</div>] |
||||
</BOUCLE_afficher_contenu> |
@ -0,0 +1,8 @@
|
||||
<div class='cadre-formulaire-editer'> |
||||
<div class="entete-formulaire"> |
||||
#ENV**{icone_retour} |
||||
[<:info_modifier_breve:> |
||||
<h1>(#ENV{titre})</h1>] |
||||
</div> |
||||
#FORMULAIRE_EDITER_BREVE{#ENV{new},#ENV{id_rubrique},#ENV{redirect},#ENV{lier_trad},#ENV{config_fonc}} |
||||
</div> |
@ -0,0 +1,20 @@
|
||||
<BOUCLE_breve(BREVES){id_breve=#ENV{id}}{statut?}{!lang_select}> |
||||
<div class='infos'> |
||||
<div class='numero'><:info_gauche_numero_breve:><p>#ID_BREVE</p></div> |
||||
|
||||
[(#REM) |
||||
|
||||
Bloc de changement de statut |
||||
|
||||
] |
||||
[(#ID_BREVE|instituer_breve{#ID_RUBRIQUE,#STATUT})] |
||||
|
||||
|
||||
[(#REM) |
||||
|
||||
Bouton voir en ligne |
||||
|
||||
][(#VAL{breve}|voir_en_ligne{#ID_BREVE,#STATUT,racine-24.gif,0,0})] |
||||
|
||||
</div> |
||||
</BOUCLE_breve> |
@ -0,0 +1,10 @@
|
||||
<?php |
||||
function instituer_breve($id_breve, $id_rubrique, $statut=-1){ |
||||
$statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique); |
||||
if ($statut_rubrique) { |
||||
$instituer_breve = charger_fonction('instituer_breve', 'inc'); |
||||
return $instituer_breve($id_breve,$statut); |
||||
} |
||||
return ""; |
||||
} |
||||
?> |
@ -0,0 +1,38 @@
|
||||
[(#SET{defaut_tri,#ARRAY{ |
||||
date,#ENV{date_sens,-1}, |
||||
date_heure,#ENV{date_sens,-1}, |
||||
titre,1, |
||||
id_breve,1 |
||||
}}) |
||||
]<B_liste_bre> |
||||
#ANCRE_PAGINATION |
||||
<div class="liste-objets breves"> |
||||
<table class='spip liste'> |
||||
[<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{info_1_breve,info_nb_breves}})</strong></caption>] |
||||
<thead> |
||||
<tr class='first_row'> |
||||
<th class='statut'>[(#TRI{statut,<span title="<:afficher_objets:info_statut|attribut_html:>">#</span>,ajax})]</th> |
||||
<th class='titre'>[(#TRI{titre,<:info_titre:>,ajax})]</th> |
||||
<th class='date'>[(#TRI{date,<:date:>,ajax})]</th> |
||||
<th class='id'>[(#TRI{id_breve,<:info_numero_abbreviation:>,ajax})]</th> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
<BOUCLE_liste_bre(BREVES){id_breve?}{id_secteur?}{id_mot?}{id_rubrique?}{where?}{statut?}{tri #ENV{par,date},#GET{defaut_tri}}{pagination #ENV{nb,10}}> |
||||
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> |
||||
<td class='statut'>[(#ID_BREVE|puce_changement_statut{#STATUT,#ID_RUBRIQUE,breve})]</td> |
||||
<td class='titre principale'>[(#LOGO_BREVE|image_reduire{20,26})]<a href="[(#ID_BREVE|generer_url_entite{breve})]">#TITRE</a></td> |
||||
<td class='date secondaire'>[(#DATE|affdate_jourcourt)]</td> |
||||
<td class='id'>[(#AUTORISER{modifier,breve,#ID_BREVE}|?{ |
||||
<a href="[(#URL_ECRIRE{breves_edit,id_breve=#ID_BREVE})]">#ID_BREVE</a>, |
||||
#ID_BREVE |
||||
})]</td> |
||||
</tr> |
||||
</BOUCLE_liste_bre> |
||||
</tbody> |
||||
</table> |
||||
[<p class='pagination'>(#PAGINATION{prive})</p>] |
||||
</div> |
||||
</B_liste_bre>[ |
||||
<div class="liste-objets breves"><strong class="caption">(#ENV*{sinon,''})</strong></div> |
||||
]<//B_liste_bre> |
@ -0,0 +1,24 @@
|
||||
[(#REM) |
||||
/***************************************************************************\ |
||||
* SPIP, Systeme de publication pour l'internet * |
||||
* * |
||||
* Copyright (c) 2001-2010 * |
||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
||||
* * |
||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
||||
\***************************************************************************/ |
||||
] |
||||
|
||||
<h1><:titre_page_breves:></h1> |
||||
|
||||
<BOUCLE_secteurs(RUBRIQUES){statut?}{racine}{par num titre,titre}> |
||||
#SET{editable,#AUTORISER{publierdans,rubrique,#ID_RUBRIQUE}} |
||||
<INCLURE{fond=listes/breves,titre=#TITRE|concat{#AIDER{breves}},sinon=#TITRE|concat{#AIDER{breves}},status=#ARRAY{0,prop,1,publie,2,#GET{editable}|?{refuse,xx}},id_rubrique,par=date_heure}> |
||||
|
||||
[(#GET{editable}) |
||||
[(#URL_ECRIRE{breves_edit,new=oui}|parametre_url{id_rubrique,#ID_RUBRIQUE}|icone_verticale{<:icone_nouvelle_breve:>,breve,new,right})] |
||||
] |
||||
<br class='nettoyeur' /> |
||||
|
||||
</BOUCLE_secteurs> |
Loading…
Reference in new issue