From df9b1d5006ec9de94707f5cd84fec0119fe3e0fd Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Mon, 28 Jan 2008 10:58:34 +0000 Subject: [PATCH] =?UTF-8?q?La=20fonction=20''meme=5Frubrique''=20devient?= =?UTF-8?q?=20surchargeable,=20ce=20qui=20permettra=20=C3=A0=20ceux=20voul?= =?UTF-8?q?ant=20recup=C3=A9rer=20le=20mode=20exp=C3=A9rimental=20MEME=5FR?= =?UTF-8?q?UBRIQUE=20(cf=20[8228]=20parlant=20de=20[8227])=20de=20le=20fai?= =?UTF-8?q?re=20dans=20une=20extension=20perso.=20Permettra=20aussi=20d'am?= =?UTF-8?q?=C3=A9liorer=20sa=20pr=C3=A9sentation=20pour=20ceux=20qui=20le?= =?UTF-8?q?=20souhaitent.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 1 + ecrire/exec/articles.php | 3 +- ecrire/exec/breves_voir.php | 4 +- ecrire/exec/meme_rubrique.php | 4 +- ecrire/exec/sites.php | 3 +- ecrire/inc/meme_rubrique.php | 91 +++++++++++++++++++++++++++++++++++ ecrire/inc/presentation.php | 76 ----------------------------- ecrire/inc/vieilles_defs.php | 7 ++- 8 files changed, 105 insertions(+), 84 deletions(-) create mode 100644 ecrire/inc/meme_rubrique.php diff --git a/.gitattributes b/.gitattributes index 7033e4ce1f..0fa05d3edb 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 28425bd647..d3d09bfda7 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 1e22dc84bb..f49f005589 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 dc70ccd490..cc1f7795a0 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 65914a3397..2b73fe0969 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 0000000000..6ebc21934d --- /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 981c71490e..bf7ea22841 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 f74ef59ae0..1adcd9a4c4 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"); -- GitLab