From 454498d8da57f14c3438939a92ca0351adc5f68b Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Tue, 17 Oct 2006 16:14:46 +0000 Subject: [PATCH] =?UTF-8?q?La=20fonction=20formatant=20les=20informations?= =?UTF-8?q?=20sur=20un=20article,=20appel=C3=A9e=20notamment=20dans=20les?= =?UTF-8?q?=20boites=20de=2010=20tranches,=20devient=20surchargeable=20sou?= =?UTF-8?q?s=20le=20nom=20de=20inc=5Fformater=5Farticle.=20L'=C3=A9ph?= =?UTF-8?q?=C3=A9m=C3=A8re=20inc=5Fbouton=5Fauteur=20est=20renomm=C3=A9e?= =?UTF-8?q?=20inc=5Fformateur=5Fauteur=20pour=20unifier=20le=20nommage.=20?= =?UTF-8?q?Reste=20encore=20=C3=A0=20unifier=20les=20signatures,=20=C3=A7a?= =?UTF-8?q?=20viendra.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 3 +- ecrire/exec/auteurs.php | 4 +- ecrire/exec/forum_envoi.php | 4 +- ecrire/inc/editer_auteurs.php | 4 +- ecrire/inc/formater_article.php | 90 ++++++++++++++++ ...{bouton_auteur.php => formater_auteur.php} | 2 +- ecrire/inc/presentation.php | 101 +++--------------- 7 files changed, 112 insertions(+), 96 deletions(-) create mode 100644 ecrire/inc/formater_article.php rename ecrire/inc/{bouton_auteur.php => formater_auteur.php} (98%) diff --git a/.gitattributes b/.gitattributes index fb936520e3..f181c425b2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -430,7 +430,6 @@ ecrire/exec/virtualiser.php -text ecrire/inc/actions.php -text ecrire/inc/agenda.php -text ecrire/inc/article_select.php -text -ecrire/inc/bouton_auteur.php -text ecrire/inc/boutons.php -text ecrire/inc/chercher_logo.php -text ecrire/inc/chercher_rubrique.php -text @@ -445,6 +444,8 @@ ecrire/inc/editer_auteurs.php -text ecrire/inc/editer_mot.php -text ecrire/inc/envoyer_mail.php -text ecrire/inc/filtres_images.php -text +ecrire/inc/formater_article.php -text +ecrire/inc/formater_auteur.php -text ecrire/inc/forum_insert.php -text ecrire/inc/gadgets.php -text ecrire/inc/grouper_mots.php -text diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php index d56663cd7a..d6e1568f68 100644 --- a/ecrire/exec/auteurs.php +++ b/ecrire/exec/auteurs.php @@ -291,10 +291,10 @@ function afficher_n_auteurs($auteurs) { global $connect_statut, $options; $res = ''; - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); foreach ($auteurs as $row) { - list($s, $mail, $nom, $w, $p) = $bouton_auteur($row['id_auteur']); + list($s, $mail, $nom, $w, $p) = $formater_auteur($row['id_auteur']); $res .= "\n<tr style='background-color: #eeeeee;'>" . "\n<td style='border-top: 1px solid #cccccc;'>" . $s diff --git a/ecrire/exec/forum_envoi.php b/ecrire/exec/forum_envoi.php index 8594988070..36b3a07dd0 100644 --- a/ecrire/exec/forum_envoi.php +++ b/ecrire/exec/forum_envoi.php @@ -93,8 +93,8 @@ if ($id_parent) { echo "<span class='arial2'>$date_heure_parent</span> "; if ($id_auteur_parent) { - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - list($s, $mail, $nom, $w, $p) = $bouton_auteur($id_auteur_parent); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); + list($s, $mail, $nom, $w, $p) = $formater_auteur($id_auteur_parent); echo "$mail $nom"; } else echo " ", typo($auteur_parent); diff --git a/ecrire/inc/editer_auteurs.php b/ecrire/inc/editer_auteurs.php index a2c45ae22f..8e127e2626 100644 --- a/ecrire/inc/editer_auteurs.php +++ b/ecrire/inc/editer_auteurs.php @@ -174,9 +174,9 @@ function afficher_auteurs_articles($id_article, $flag_editable, $les_auteurs) $table = array(); - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); foreach($les_auteurs as $id_auteur) { - $vals = $bouton_auteur($id_auteur); + $vals = $formater_auteur($id_auteur); if ($flag_editable AND ($connect_id_auteur != $id_auteur OR $connect_statut == '0minirezo') AND $options == 'avancees') { $vals[] = ajax_action_auteur('editer_auteurs', "$id_article,-$id_auteur",'articles', "id_article=$id_article", array(_T('lien_retirer_auteur')." ". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'"))); diff --git a/ecrire/inc/formater_article.php b/ecrire/inc/formater_article.php new file mode 100644 index 0000000000..ca25df0b8c --- /dev/null +++ b/ecrire/inc/formater_article.php @@ -0,0 +1,90 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2006 * + * 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 inc_formater_article($id_article, $row, $afficher_auteurs, $afficher_langue, $langue_defaut) +{ + global $dir_lang, $options, $spip_lang_right, $spip_display; + static $pret = false; + static $chercher_logo, $img_admin, $bouton_auteur; + + if (!$pret) { + $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + if ($chercher_logo) + $chercher_logo = charger_fonction('chercher_logo', 'inc'); + if ($afficher_auteurs) + $formater_auteur = charger_fonction('formater_auteur', 'inc'); + $img_admin = http_img_pack("admin-12.gif", "", "width='12' height='12'", _T('titre_image_admin_article')); + $pret = true; + } + + if ($chercher_logo) { + if ($logo = $chercher_logo($id_article, 'id_article', 'on')) { + list($fid, $dir, $nom, $format) = $logo; + $logo = ratio_image($fid, $nom, $format, 26, 20, "alt=''"); + } + } else $logo =''; + + $vals = array(); + + $titre = sinon($row['titre'], _T('ecrire:info_sans_titre')); + $id_rubrique = $row['id_rubrique']; + $date = $row['date']; + $statut = $row['statut']; + if ($lang = $row['lang']) changer_typo($lang); + $descriptif = $row['descriptif']; + + $vals[] = puce_statut_article($id_article, $statut, $id_rubrique); + + $vals[]= "<div>" + . (acces_restreint_rubrique($id_rubrique) ? $img_admin : '') + . "<a href='" + . generer_url_ecrire("articles","id_article=$id_article") + . "'" + . (!$descriptif ? '' : + (' title="'.attribut_html(typo($descriptif)).'"')) + . $dir_lang + . " style=\"display:block;\">" + . (!$logo ? '' : + ("<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>" . $logo . "</div>")) + . typo($titre) + . (!($afficher_langue AND $lang != $langue_defaut) ? '' : + (" <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>")) + . (!$row['petition'] ? '' : (" <font size=1 color='red'>"._T('lien_petitions')."</font>")) + + . "</a>" + . "</div>"; + + if ($formater_auteur) { + $les_auteurs = ""; + $result_auteurs = auteurs_article($id_article); + + while ($row = spip_fetch_array($result_auteurs)) { + list($s, $mail, $nom, $w, $p) = $formater_auteur($row['id_auteur']); + $les_auteurs .= "$mail $nom, "; + } + $vals[] = substr($les_auteurs, 0, -2); + } + + // La date + $vals[] = affdate_jourcourt($date); + + // Le numero (moche) + if ($options == "avancees") { + $vals[] = "<b>"._T('info_numero_abbreviation')."$id_article</b>"; + } + + return $vals; +} + +?> diff --git a/ecrire/inc/bouton_auteur.php b/ecrire/inc/formater_auteur.php similarity index 98% rename from ecrire/inc/bouton_auteur.php rename to ecrire/inc/formater_auteur.php index f5ed2255aa..daadda8c91 100644 --- a/ecrire/inc/bouton_auteur.php +++ b/ecrire/inc/formater_auteur.php @@ -23,7 +23,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // 5. le nombre d'articles publies // -function inc_bouton_auteur_dist($id_auteur) { +function inc_formater_auteur_dist($id_auteur) { global $connect_id_auteur, $spip_lang_rtl; diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index 3ef10440f1..dbffd223a2 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -794,9 +794,6 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a echo "<div id='$tmp_var'>"; } - - $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); - //echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; echo afficher_liste_debut_tableau(), $tranches; @@ -804,8 +801,11 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $result = spip_query("SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999"))); $table = array(); + $formater_article = charger_fonction('formater_article', 'inc'); while ($row = spip_fetch_array($result)) { - $table[]= afficher_articles_boucle($row, $tous_id, $afficher_auteurs, $afficher_langue, $langue_defaut, $voir_logo); + $id = $row['id_article']; + $tous_id[]= $id; + $table[]= $formater_article($id, $row, $afficher_auteurs, $afficher_langue, $langue_defaut); } spip_free_result($result); @@ -843,81 +843,6 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a return $tous_id; } -// http://doc.spip.org/@afficher_articles_boucle -function afficher_articles_boucle($row, &$tous_id, $afficher_auteurs, $afficher_langue, $langue_defaut, $voir_logo) -{ - global $connect_id_auteur, $dir_lang, $options, $spip_lang_right; - - $vals = ''; - - $id_article = $row['id_article']; - $tous_id[] = $id_article; - $titre = sinon($row['titre'], _T('ecrire:info_sans_titre')); - $id_rubrique = $row['id_rubrique']; - $date = $row['date']; - $statut = $row['statut']; - if ($lang = $row['lang']) changer_typo($lang); - $descriptif = $row['descriptif']; - if ($descriptif) $descriptif = ' title="'.attribut_html(typo($descriptif)).'"'; - $petition = $row['petition']; - - // La petite puce de changement de statut - $vals[] = puce_statut_article($id_article, $statut, $id_rubrique); - - // Le titre (et la langue) - $s = "<div>"; - - if (acces_restreint_rubrique($id_rubrique)) - $s .= http_img_pack("admin-12.gif", "", "width='12' height='12'", _T('titre_image_admin_article')); - - $s .= "<a href='" . generer_url_ecrire("articles","id_article=$id_article") . - "'$descriptif$dir_lang style=\"display:block;\">"; - - if ($voir_logo) { - $logo_f = charger_fonction('chercher_logo', 'inc'); - if ($logo = $logo_f($id_article, 'id_article', 'on')) { - list($fid, $dir, $nom, $format) = $logo; - $logo = ratio_image($fid, $nom, $format, 26, 20, "alt=''"); - if ($logo) - $s .= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>$logo</div>"; - } - } - - $s .= typo($titre); - if ($afficher_langue AND $lang != $langue_defaut) - $s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>"; - if ($petition) $s .= " <font size=1 color='red'>"._T('lien_petitions')."</font>"; - $s .= "</a>"; - $s .= "</div>"; - - $vals[] = $s; - - - if ($afficher_auteurs) { - $les_auteurs = ""; - $result_auteurs = auteurs_article($id_article); - - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - while ($row = spip_fetch_array($result_auteurs)) { - list($s, $mail, $nom, $w, $p) = $bouton_auteur($row['id_auteur']); - $les_auteurs .= "$mail $nom, "; - } - $vals[] = substr($les_auteurs, 0, -2); - } - - // La date - $vals[] = affdate_jourcourt($date); - - // Le numero (moche) - if ($options == "avancees") { - $vals[] = "<b>"._T('info_numero_abbreviation')."$id_article</b>"; - } - - - return $vals; -} - - // http://doc.spip.org/@afficher_articles_trad function afficher_articles_trad($titre_table, $requete, $afficher_visites = false, $afficher_auteurs = true, $obligatoire = false, $afficher_cadre = true, $afficher_descriptif = true) { @@ -1015,7 +940,8 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals $table = array(); while ($row = spip_fetch_array($result)) { - $table[]=afficher_articles_trad_boucle($row, $tous_id, $afficher_langue, $langue_defaut, $langues_site); + $tous_id[] = $row['id_article']; + $table[]=afficher_articles_trad_boucle($row, $afficher_langue, $langue_defaut, $langues_site); } spip_free_result($result); @@ -1036,14 +962,13 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals } // http://doc.spip.org/@afficher_articles_trad_boucle -function afficher_articles_trad_boucle($row, &$tous_id, $afficher_langue, $langue_defaut, $langues_site) +function afficher_articles_trad_boucle($row, $afficher_langue, $langue_defaut, $langues_site) { global $dir_lang, $spip_lang_right; $vals = ''; $id_article = $row['id_article']; - $tous_id[] = $id_article; $titre = sinon($row['titre'], _T('ecrire:info_sans_titre')); $id_rubrique = $row['id_rubrique']; $date = $row['date']; @@ -1350,8 +1275,8 @@ function afficher_auteurs ($titre_table, $requete) { $table = array(); while ($row = spip_fetch_array($result)) { $tous_id[] = $row['id_auteur']; - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - $table[]= $bouton_auteur($row['id_auteur']); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); + $table[]= $formater_auteur($row['id_auteur']); } spip_free_result($result); $largeurs = array(20, 20, 200, 20, 50); @@ -1470,8 +1395,8 @@ function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_ $res .= "<span class='arial2'>". date_interface($date_heure) . "</span> "; if ($id_auteur) { - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - $res .= join(' ',$bouton_auteur($id_auteur)); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); + $res .= join(' ',$formater_auteur($id_auteur)); } else if ($email_auteur) $res .= "<a href='mailto:$email_auteur'>".typo($auteur)."</a>"; else $res .= typo($auteur); @@ -2358,10 +2283,10 @@ function auteurs_recemment_connectes() $result_auteurs = spip_query("SELECT id_auteur FROM spip_auteurs WHERE id_auteur!=$connect_id_auteur AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 MINUTE) AND statut IN ('0minirezo','1comite')"); if (spip_num_rows($result_auteurs)) { - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); + $formater_auteur = charger_fonction('formater_auteur', 'inc'); $res = "<b>"._T('info_en_ligne'). " </b>"; while ($row = spip_fetch_array($result_auteurs)) { - list($s, $mail, $nom, $w, $p) = $bouton_auteur($row['id_auteur']); + list($s, $mail, $nom, $w, $p) = $formater_auteur($row['id_auteur']); $res .= "$mail $nom, "; } $res = substr($res,0,-2); -- GitLab