diff --git a/.gitattributes b/.gitattributes index 7033e4ce1fbb488c17b2aa9204d0ba5716084686..0fa05d3edbb048472d27c95756235dfcc5f61486 100644 --- a/.gitattributes +++ b/.gitattributes @@ -640,6 +640,7 @@ ecrire/inc/lang_liste.php -text ecrire/inc/legender.php -text ecrire/inc/lien.php -text ecrire/inc/mail.php -text +ecrire/inc/meme_rubrique.php -text ecrire/inc/message_select.php -text ecrire/inc/minipres.php -text ecrire/inc/modifier.php -text diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php index 28425bd6472465c7cb8822c96e3aaf7e7c86ab99..d3d09bfda7aac211d78df16fa8f2923f5c1ee68b 100644 --- a/ecrire/exec/articles.php +++ b/ecrire/exec/articles.php @@ -96,6 +96,7 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot $referencer_traduction = charger_fonction('referencer_traduction', 'inc'); $discuter = charger_fonction('discuter', 'inc'); + $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); $iconifier = charger_fonction('iconifier', 'inc'); $icone = $iconifier('id_article', $id_article,'articles', false, $flag_editable); @@ -115,7 +116,7 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')); $extra = creer_colonne_droite('', true) - . meme_rubrique($id_rubrique, $id_article, 'article') + . $meme_rubrique($id_rubrique, $id_article, 'article') . pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) . debut_droite('',true); diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php index 1e22dc84bb5f351d22ef7f1421158ee495e4f4a6..f49f0055892337a13be325b4eb6d2d034d157f6a 100644 --- a/ecrire/exec/breves_voir.php +++ b/ecrire/exec/breves_voir.php @@ -65,7 +65,7 @@ function exec_breves_voir_args($id_breve, $cherche_mot, $select_groupe) $iconifier = charger_fonction('iconifier', 'inc'); $dater = charger_fonction('dater', 'inc'); - + $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); $editer_mot = charger_fonction('editer_mot', 'inc'); if ($champs_extra AND $extra) include_spip('inc/extra'); @@ -102,7 +102,7 @@ function exec_breves_voir_args($id_breve, $cherche_mot, $select_groupe) 'data'=>'' ) ); - echo meme_rubrique($id_rubrique, $id_breve, 'breve', 'date_heure'); + 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.gif","creer.gif", 0)); diff --git a/ecrire/exec/meme_rubrique.php b/ecrire/exec/meme_rubrique.php index dc70ccd490b047afe83fffa654bf0195c376c3c0..cc1f7795a0af48ec9281a0f6d5729fbb50087418 100644 --- a/ecrire/exec/meme_rubrique.php +++ b/ecrire/exec/meme_rubrique.php @@ -26,9 +26,9 @@ function exec_meme_rubrique_args($id, $type, $order) include_spip('inc/minipres'); echo minipres(); } else { - include_spip('inc/presentation'); + $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); // on connait pas le vrai 2e arg mais c'est pas dramatique - $res = meme_rubrique($id, 0, $type, $order, NULL, true); + $res = $meme_rubrique($id, 0, $type, $order, NULL, true); ajax_retour($res); } } diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php index 65914a3397e9d3ff01f31013e87fd5796d5b5cfe..2b73fe09693c967546cf3929e0ee3ca4c00d799f 100644 --- a/ecrire/exec/sites.php +++ b/ecrire/exec/sites.php @@ -64,6 +64,7 @@ function afficher_site($id_syndic, $id_rubrique, $nom_site, $row){ $flag_administrable = autoriser('modifier','site',$id_syndic); $flag_editable = ($flag_administrable OR ($GLOBALS['meta']["proposer_sites"] > 0 AND ($statut == 'prop'))); + $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); $iconifier = charger_fonction('iconifier', 'inc'); if ($flag_editable AND ($statut == 'publie')) $dater = charger_fonction('dater', 'inc'); @@ -93,7 +94,7 @@ function afficher_site($id_syndic, $id_rubrique, $nom_site, $row){ echo pipeline('affiche_gauche',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')); echo creer_colonne_droite('', true); - echo meme_rubrique($id_rubrique, $id_syndic, 'syndic'); + echo $meme_rubrique($id_rubrique, $id_syndic, 'syndic'); echo pipeline('affiche_droite',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')); echo bloc_des_raccourcis( diff --git a/ecrire/inc/meme_rubrique.php b/ecrire/inc/meme_rubrique.php new file mode 100644 index 0000000000000000000000000000000000000000..6ebc21934decd0a38c02ade1260b8be3e582000b --- /dev/null +++ b/ecrire/inc/meme_rubrique.php @@ -0,0 +1,91 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2008 * + * 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/@meme_rubrique +function inc_meme_rubrique_dist($id_rubrique, $id, $type, $order='date', $limit=NULL, $ajax=false) +{ + global $spip_lang_right, $spip_lang_left; + include_spip('inc/presentation'); + include_spip('inc/afficher_objets'); + + $table = table_objet_sql($type); + if (!id_table_objet($table)) { + spip_log("meme_rubrique: $type table inconnue"); + $type = 'article'; + $table = 'spip_articles'; + } + $prim = 'id_' . $type; + if (!$limit) $limit = 10; + + $titre = ($type!='syndic'?'titre':'nom_site'); + $exec = array('article'=>'articles','breve'=>'breves_voir','syndic'=>'sites'); + + $where = (($GLOBALS['visiteur_session']['statut'] == '0minirezo') + ? '' + : "(statut = 'publie' OR statut = 'prop') AND ") + . "id_rubrique=$id_rubrique AND ($prim != $id)"; + + $select = "$prim AS id, $titre AS titre, statut"; + + $n = sql_countsel($table, $where); + + if (!$n) return ''; + + $voss = sql_select($select, $table, $where, '', "$order DESC", $limit); + + $limit = $n - $limit; + $retour = ''; + $fstatut = 'puce_statut_' . ($type!='syndic'?$type:'site'); + $idom = 'rubrique_' . $type; + + while($row = sql_fetch($voss)) { + $id = $row['id']; + $num = afficher_numero_edit($id, $prim, $type); + $statut = $row['statut']; + $statut = $fstatut($id, $statut, $id_rubrique, $type); + $href = "<a class='verdana1' href='" + . generer_url_ecrire($exec[$type],"$prim=$id") + . "'>" + . sinon(typo($row['titre']), _T('info_sans_titre')) + . "</a>"; + + // Todo: refaire en css plus sains + $retour .= "\n<div>" + . "\n<div style='float:$spip_lang_right;width: 32%'>" + . $num . "</div>" + . "<div style='float:$spip_lang_left; padding-top:1px; width:18px;'>".$statut ."</div>" + . "<div style='padding-$spip_lang_left:18px;'>".$href."</div>" + . "<div style='clear:both; height: 3px;'></div>" + . "</div>"; + } + + $icone = '<b>' . _T('info_meme_rubrique') . '</b>'; + $bouton = bouton_block_depliable(_T('info_meme_rubrique'),true,'memerub'); + + $retour = + debut_cadre('meme-rubriques',"article-24.gif",'',$bouton) + . debut_block_depliable(true,'memerub') + . $retour; + + + // $retour .= (($limit <= 0) ? '' : "<tr><td colspan='3' style='text-align: center'>+ $limit</td></tr>"); + + $retour .= fin_block() + . fin_cadre('meme-rubriques'); + + if ($ajax) return $retour; + + // id utilise dans puce_statut_article + return "\n<div id='imgstatut$idom$id_rubrique'>$retour</div>"; +} +?> diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index 981c71490e464d6e2b269875ba377cc51567a207..bf7ea228410d2f640e287c4487e808ba759d32f4 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -1344,82 +1344,6 @@ function debloquer_article($arg, $texte) { "</a>"; } -// http://doc.spip.org/@meme_rubrique -function meme_rubrique($id_rubrique, $id, $type, $order='date', $limit=NULL, $ajax=false) -{ - global $spip_lang_right, $spip_lang_left; - include_spip('inc/afficher_objets'); - - $table = table_objet_sql($type); - if (!id_table_objet($table)) { - spip_log("meme_rubrique: $type table inconnue"); - $type = 'article'; - $table = 'spip_articles'; - } - $prim = 'id_' . $type; - if (!$limit) $limit = 10; - - $titre = ($type!='syndic'?'titre':'nom_site'); - $exec = array('article'=>'articles','breve'=>'breves_voir','syndic'=>'sites'); - - $where = (($GLOBALS['visiteur_session']['statut'] == '0minirezo') - ? '' - : "(statut = 'publie' OR statut = 'prop') AND ") - . "id_rubrique=$id_rubrique AND ($prim != $id)"; - - $select = "$prim AS id, $titre AS titre, statut"; - - $n = sql_countsel($table, $where); - - if (!$n) return ''; - - $voss = sql_select($select, $table, $where, '', "$order DESC", $limit); - - $limit = $n - $limit; - $retour = ''; - $fstatut = 'puce_statut_' . ($type!='syndic'?$type:'site'); - $idom = 'rubrique_' . $type; - - while($row = sql_fetch($voss)) { - $id = $row['id']; - $num = afficher_numero_edit($id, $prim, $type); - $statut = $row['statut']; - $statut = $fstatut($id, $statut, $id_rubrique, $type); - $href = "<a class='verdana1' href='" - . generer_url_ecrire($exec[$type],"$prim=$id") - . "'>" - . sinon(typo($row['titre']), _T('info_sans_titre')) - . "</a>"; - - // Todo: refaire en css plus sains - $retour .= "\n<div>" - . "\n<div style='float:$spip_lang_right;width: 32%'>" - . $num . "</div>" - . "<div style='float:$spip_lang_left; padding-top:1px; width:18px;'>".$statut ."</div>" - . "<div style='padding-$spip_lang_left:18px;'>".$href."</div>" - . "<div style='clear:both; height: 3px;'></div>" - . "</div>"; - } - - $icone = '<b>' . _T('info_meme_rubrique') . '</b>'; - $bouton = bouton_block_depliable(_T('info_meme_rubrique'),true,'memerub'); - - $retour = - debut_cadre('meme-rubriques',"article-24.gif",'',$bouton) - . debut_block_depliable(true,'memerub') - . $retour; - - - // $retour .= (($limit <= 0) ? '' : "<tr><td colspan='3' style='text-align: center'>+ $limit</td></tr>"); - - $retour .= fin_block() - . fin_cadre('meme-rubriques'); - - if ($ajax) return $retour; - - // id utilise dans puce_statut_article - return "\n<div id='imgstatut$idom$id_rubrique'>$retour</div>"; -} // // Afficher la hierarchie des rubriques diff --git a/ecrire/inc/vieilles_defs.php b/ecrire/inc/vieilles_defs.php index f74ef59ae0e75713b001d6fbc1d71aa6e9c72505..1adcd9a4c4c407794656c1e1630030e548376fac 100644 --- a/ecrire/inc/vieilles_defs.php +++ b/ecrire/inc/vieilles_defs.php @@ -794,8 +794,11 @@ $GLOBALS[\'all_langs\'] = @$GLOBALS[\'meta\'][\'langues_proposees\']; $boucle->id_boucle); return false; } -' - +', +'meme_rubrique' => '($id_rubrique, $id, $type, $order="date", $limit=NULL, $ajax=false) { + $meme_rubrique = charger_fonction("meme_rubrique", "inc"); + return $meme_rubrique($id_rubrique, $id, $type, $order, $limit, $ajax); +}' ) as $f => $def) { if (!function_exists($f)) { eval("function $f$def");