From 330380ae69b0c32e421f4aa0c3c9636eff849446 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Tue, 17 Oct 2006 12:20:27 +0000 Subject: [PATCH] =?UTF-8?q?[7637,=20suite:=20inc=5Fbouton=5Fauteur=20devie?= =?UTF-8?q?nt=20la=20fonction=20fabriquant=20le=20code=20HTML=20des=20info?= =?UTF-8?q?rmations=20sur=20un=20auteur,=20ce=20qui=20permet=20de=20partag?= =?UTF-8?q?er=20le=20code=20et=20homog=C3=A9nise=20l'interface.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dans le résultat de cette fonction, l'icone de messagerie reférence le mail s'il est présent dans la table, le script de messagerie interne sinon (cela pour prendre en compte le peu d'utilisation de cette messagerie, mais on peut toujours appliquer ce script à cet auteur par le bouton au bas de la page de l'auteur). Comme auparavant (mais à présent cela s'applique donc aussi au mail) cette icone n'apparait pas si l'auteur ne s'est pas connecté depuis plus de 15 jours (et n'apparait pas pour soi-meme). Enfin, cliquer sur l'icone de statut d'un auteur affiche la pages des auteurs ayant ce statut (nouvelle fonctionnalité du script auteurs.php). --- ecrire/exec/auteur_infos.php | 6 ++ ecrire/exec/auteurs.php | 114 +++++++++++++--------------------- ecrire/exec/forum_envoi.php | 9 ++- ecrire/inc/bouton_auteur.php | 64 ++++++++++++++----- ecrire/inc/editer_auteurs.php | 49 +++------------ ecrire/inc/presentation.php | 97 ++++++++++------------------- ecrire/inc/vieilles_defs.php | 18 ++++++ 7 files changed, 158 insertions(+), 199 deletions(-) diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php index daf04c30a6..3d535bfc63 100644 --- a/ecrire/exec/auteur_infos.php +++ b/ecrire/exec/auteur_infos.php @@ -91,6 +91,12 @@ function exec_auteur_infos_dist() debut_cadre_relief("redacteurs-24.gif", true), $legender_auteur, $instituer_auteur; + echo pipeline('affiche_milieu', + array('args' => array( + 'exec'=>'auteur_infos', + 'id_auteur'=>$id_auteur), + 'data'=>'')); + auteurs_interventions($id_auteur, $auteur['statut']); echo fin_cadre_relief(true), diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php index c32d3eed01..d56663cd7a 100644 --- a/ecrire/exec/auteurs.php +++ b/ecrire/exec/auteurs.php @@ -17,12 +17,12 @@ include_spip('inc/presentation'); // http://doc.spip.org/@exec_auteurs_dist function exec_auteurs_dist() { - global $visiteurs; $tri = preg_replace('/\W/', '', _request('tri')); if (!$tri) $tri='nom'; + $statut = preg_replace('/\W/', '', _request('statut')); - $result = requete_auteurs($tri, $visiteurs); + $result = requete_auteurs($tri, $statut); $nombre_auteurs = spip_num_rows($result); $max_par_page = 30; $debut = intval(_request('debut')); @@ -31,13 +31,13 @@ function exec_auteurs_dist() list($auteurs, $lettre)= lettres_d_auteurs($result, $debut, $max_par_page, $tri); - $res = auteurs_tranches(afficher_n_auteurs($auteurs), $debut, $lettre, $tri, $visiteurs, $max_par_page, $nombre_auteurs); + $res = auteurs_tranches(afficher_n_auteurs($auteurs), $debut, $lettre, $tri, $statut, $max_par_page, $nombre_auteurs); if (_request('var_ajaxcharset')) ajax_retour($res); pipeline('exec_init',array('args'=>array('exec'=>'auteurs'),'data'=>'')); - bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nombre_auteurs); + bandeau_auteurs($tri, $statut); echo "<div id='auteurs'>", $res, "</div>", fin_page(); } @@ -72,7 +72,7 @@ function lettres_d_auteurs($query, $debut, $max_par_page, $tri) // http://doc.spip.org/@bandeau_auteurs -function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nombre_auteurs) +function bandeau_auteurs($tri, $statut) { global $options, $spip_lang_right, $connect_id_auteur, $connect_statut, $connect_toutes_rubriques; @@ -81,24 +81,22 @@ function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nom if ($tri=='nombre') $s = _T('info_par_nombre_articles'); $s = ' ('._T('info_par_nombre_article').')'; - if ($visiteurs == "oui") { + if ($statut == '6forum') { debut_page(_T('titre_page_auteurs'),"auteurs","redacteurs"); - $visiteurs = '&visiteurs=oui'; } else { debut_page(_T('info_auteurs_par_tri', array('partri' => $s)),"auteurs","redacteurs"); - $visiteurs = ""; } debut_gauche(); debut_boite_info(); - if ($visiteurs) + if ($statut == '6forum') echo "\n<p class='arial1'>"._T('info_gauche_visiteurs_enregistres'), '</p>'; - else { + else echo "\n<p class='arial1'>"._T('info_gauche_auteurs'), '</p>'; if ($connect_statut == '0minirezo') echo "\n<br />". _T('info_gauche_auteurs_exterieurs'); - } + fin_boite_info(); @@ -108,14 +106,14 @@ function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nom $res = icone_horizontale(_T('icone_creer_nouvel_auteur'), generer_url_ecrire("auteur_infos"), "auteur-24.gif", "creer.gif", false); else $res = ''; - $res .= icone_horizontale(_T('icone_informations_personnelles'), generer_url_ecrire("auteurs_edit","id_auteur=$connect_id_auteur"), "fiche-perso-24.gif","rien.gif", false); + $res .= icone_horizontale(_T('icone_informations_personnelles'), generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur&initial=-1"), "fiche-perso-24.gif","rien.gif", false); $n = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs WHERE statut='6forum' LIMIT 1")); if ($n) { - if ($visiteurs) - $res .= icone_horizontale (_T('icone_afficher_auteurs'), generer_url_ecrire("auteurs",""), "auteur-24.gif", "", false); + if ($statut == '6forum') + $res .= icone_horizontale (_T('icone_afficher_auteurs'), generer_url_ecrire("auteurs"), "auteur-24.gif", "", false); else - $res .= icone_horizontale (_T('icone_afficher_visiteurs'), generer_url_ecrire("auteurs","visiteurs=oui"), "auteur-24.gif", "", false); + $res .= icone_horizontale (_T('icone_afficher_visiteurs'), generer_url_ecrire("auteurs","statut=6forum"), "auteur-24.gif", "", false); } echo bloc_des_raccourcis($res); } @@ -125,7 +123,7 @@ function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nom debut_droite(); echo "\n<br />"; - if ($visiteurs) + if ($statut == '6forum') gros_titre(_T('info_visiteurs')); else gros_titre(_T('info_auteurs')); @@ -133,7 +131,7 @@ function bandeau_auteurs($auteurs, $debut, $tri, $visiteurs, $max_par_page, $nom } // http://doc.spip.org/@auteurs_tranches -function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_page, $nombre_auteurs) +function auteurs_tranches($auteurs, $debut, $lettre, $tri, $statut, $max_par_page, $nombre_auteurs) { global $options, $spip_lang_right; @@ -147,29 +145,27 @@ function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_ $res .= auteurs_href(http_img_pack('admin-12.gif', $t, "border='0'"),'tri=statut', " title=\"$t\""); } - $res .= "</td><td>"; + $res .= "</td><td width='20'></td><td colspan='2'>"; if ($tri == '' OR $tri=='nom') $res .= '<b>'._T('info_nom').'</b>'; else $res .= auteurs_href(_T('info_nom'), "tri=nom", " title='"._T('lien_trier_nom'). "'"); - if ($options == 'avancees') - $res .= "</td><td colspan='2'>"._T('info_contact'); $res .= "</td><td>"; - if (!$visiteurs) { + if ($statut != '6forum') { if ($tri=='nombre') $res .= '<b>'._T('info_articles').'</b>'; else $res .= auteurs_href(_T('info_articles_2'), "tri=nombre", " title=\""._T('lien_trier_nombre_articles'). '"'); - } else $visiteurs = '&visiteurs=oui'; + } $res .= "</td></tr>\n"; if ($nombre_auteurs > $max_par_page) { - $res .= "\n<tr bgcolor='white'><td class='arial1' colspan='".($options == 'avancees' ? 5 : 3)."'>"; + $res .= "\n<tr bgcolor='white'><td class='arial1' colspan='5'>"; for ($j=0; $j < $nombre_auteurs; $j+=$max_par_page) { if ($j > 0) $res .= " | "; @@ -177,9 +173,9 @@ function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_ if ($j == $debut) $res .= "<b>$j</b>"; else if ($j > 0) - $res .= auteurs_href($j, "tri=$tri$visiteurs&debut=$j"); + $res .= auteurs_href($j, "tri=$tri&statut=$statut&debut=$j"); else - $res .= auteurs_href('0', "tri=$tri$visiteurs"); + $res .= auteurs_href('0', "tri=$tri&statut=$statut"); if ($debut > $j AND $debut < $j+$max_par_page){ $res .= " | <b>$debut</b>"; } @@ -192,7 +188,7 @@ function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_ if ($val == $debut) $res .= "<b>$key</b>\n"; else - $res .= auteurs_href($key, "tri=$tri$visiteurs&debut=$val") . "\n"; + $res .= auteurs_href($key, "tri=$tri&statut=$statut&debut=$val") . "\n"; } $res .= "</td></tr>\n"; } @@ -206,11 +202,11 @@ function auteurs_tranches($auteurs, $debut, $lettre, $tri, $visiteurs, $max_par_ if ($debut > 0) { $debut_prec = max($debut - $max_par_page, 0); - $nav .= auteurs_href('<<<',"tri=$tri&debut=$debut_prec$visiteurs"); + $nav .= auteurs_href('<<<',"tri=$tri&debut=$debut_prec&statut=$statut"); } $nav .= "</td><td style='text-align: $spip_lang_right'>"; if ($debut_suivant < $nombre_auteurs) { - $nav .= auteurs_href('>>>',"tri=$tri&debut=$debut_suivant$visiteurs"); + $nav .= auteurs_href('>>>',"tri=$tri&debut=$debut_suivant&statut=$statut"); } $nav .= "</td></tr></table>\n"; } @@ -236,7 +232,7 @@ function auteurs_href($clic, $args='', $att='') } // http://doc.spip.org/@requete_auteurs -function requete_auteurs($tri, $visiteurs) +function requete_auteurs($tri, $statut) { global $connect_statut, $spip_lang, $connect_id_auteur; @@ -248,8 +244,8 @@ function requete_auteurs($tri, $visiteurs) // sauf les admins, toujours visibles. // limiter les statuts affiches if ($connect_statut == '0minirezo') { - if ($visiteurs == "oui") { - $sql_visible = "aut.statut IN ('6forum','5poubelle')"; + if ($statut) { + $sql_visible = "aut.statut IN ('$statut')"; $tri = 'nom'; } else { $sql_visible = "aut.statut IN ('0minirezo','1comite','5poubelle')"; @@ -271,7 +267,7 @@ case 'nombre': break; case 'statut': - $sql_order = ' statut, login = "", unom'; + $sql_order = ' statut, unom'; break; case 'nom': @@ -286,7 +282,7 @@ default: // La requete de base est tres sympa // - $row = spip_query("SELECT aut.id_auteur AS id_auteur, aut.statut AS statut, aut.login AS login, aut.nom AS nom, aut.email AS email, aut.source AS source, aut.pass AS pass, aut.url_site AS url_site, aut.messagerie AS messagerie, UPPER(aut.nom) AS unom, count(lien.id_article) as compteur $sql_sel FROM spip_auteurs as aut LEFT JOIN spip_auteurs_articles AS lien ON aut.id_auteur=lien.id_auteur LEFT JOIN spip_articles AS art ON (lien.id_article = art.id_article) WHERE $sql_visible GROUP BY aut.id_auteur ORDER BY $sql_order"); + $row = spip_query("SELECT aut.id_auteur AS id_auteur, aut.statut AS statut, aut.nom AS nom, UPPER(aut.nom) AS unom, count(lien.id_article) as compteur $sql_sel FROM spip_auteurs as aut LEFT JOIN spip_auteurs_articles AS lien ON aut.id_auteur=lien.id_auteur LEFT JOIN spip_articles AS art ON (lien.id_article = art.id_article) WHERE $sql_visible GROUP BY aut.id_auteur ORDER BY $sql_order"); return $row; } @@ -298,48 +294,22 @@ function afficher_n_auteurs($auteurs) { $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); foreach ($auteurs as $row) { - $nom = typo($row['nom']); - + list($s, $mail, $nom, $w, $p) = $bouton_auteur($row['id_auteur']); $res .= "\n<tr style='background-color: #eeeeee;'>" . "\n<td style='border-top: 1px solid #cccccc;'>" - . bonhomme_statut($row) + . $s + . "</td><td class='arial1' style='border-top: 1px solid #cccccc;'>" + . $mail . "</td><td class='verdana11' style='border-top: 1px solid #cccccc;'>" - . "<a href='" - . generer_url_ecrire('auteurs_edit',"id_auteur=".$row['id_auteur']) - ."'>" - . ($nom ? $nom : ("<span style='color: red'>" . _T('texte_vide') . '</span>')) - . '</a>'; - - if (isset($row['restreint']) AND $row['restreint']) - $res .= " <small>"._T('statut_admin_restreint')."</small>"; - - - // contact - if ($options == 'avancees') { - $res .= "</td><td class='arial1' style='border-top: 1px solid #cccccc;'>"; - $res .= $bouton_auteur($row['id_auteur'])." "; - if ($connect_statut=="0minirezo") - if (strlen($row['email'])>3) - $res .= "<a href='mailto:".$row['email']."'>"._T('lien_email')."</a>"; - else - $res .= " "; - - if (strlen($row['url_site'])>3) - $res .= "</td><td class='arial1' style='border-top: 1px solid #cccccc;'><a href='".$row['url_site']."'>"._T('lien_site')."</a>"; - else - $res .= "</td><td style='border-top: 1px solid #cccccc;'> "; - } - - // nombre d'articles - $res .= "</td><td class='arial1' style='border-top: 1px solid #cccccc;'>"; - if ($row['compteur'] > 1) - $res .= $row['compteur']." "._T('info_article_2'); - else if($row['compteur'] == 1) - $res .= "1 "._T('info_article'); - else - $res .= " "; - - $res .= "</td></tr>\n"; + . $nom + . ((isset($row['restreint']) AND $row['restreint']) + ? (" <small>"._T('statut_admin_restreint')."</small>") + : '') + ."</td><td class='arial1' style='border-top: 1px solid #cccccc;'>" + . $w + . "</td><td class='arial1' style='border-top: 1px solid #cccccc;'>" + . $p + . "</td></tr>\n"; } return $res; } diff --git a/ecrire/exec/forum_envoi.php b/ecrire/exec/forum_envoi.php index 3442c878ff..8594988070 100644 --- a/ecrire/exec/forum_envoi.php +++ b/ecrire/exec/forum_envoi.php @@ -90,14 +90,13 @@ if ($id_parent) { if ($titre_parent) { debut_cadre_forum("forum-interne-24.gif", false, "", typo($titre_parent)); - echo "<span class='arial2'>$date_heure_parent</span>"; - echo " ".typo($auteur_parent); + echo "<span class='arial2'>$date_heure_parent</span> "; if ($id_auteur_parent) { $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - $bouton = $bouton_auteur($id_auteur_parent); - if ($bouton) echo " ".$bouton; - } + list($s, $mail, $nom, $w, $p) = $bouton_auteur($id_auteur_parent); + echo "$mail $nom"; + } else echo " ", typo($auteur_parent); echo justifier(propre($texte_parent)); diff --git a/ecrire/inc/bouton_auteur.php b/ecrire/inc/bouton_auteur.php index c6179efec9..119b6547e4 100644 --- a/ecrire/inc/bouton_auteur.php +++ b/ecrire/inc/bouton_auteur.php @@ -13,31 +13,61 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // -// affiche un bouton appelant le script de messagerie interne -// +// Construit un tableau des 5 informations principales sur un auteur, +// avec des liens vers les scripts associes: +// 1. l'icone du statut, avec lien vers la page de tous ceux ayant ce statut +// 2. le nom, avec lien vers la page complete des informations +// 3. le mot "mail" avec un lien mailto ou a defaut la messagerie de Spip +// 4. le nom du site perso avec le lien vers lui +// 5. le nombre d'articles publies function inc_bouton_auteur_dist($id_auteur) { global $connect_id_auteur, $spip_lang_rtl; - if ($id_auteur == $connect_id_auteur) - return ''; + $id_auteur = intval($id_auteur); + + $row = spip_fetch_array(spip_query("SELECT *, (en_ligne<DATE_SUB(NOW(),INTERVAL 15 DAY)) AS parti FROM spip_auteurs where id_auteur=$id_auteur")); + + $vals = array(); - $login_req = spip_query("SELECT login, messagerie FROM spip_auteurs where id_auteur=" . intval($id_auteur) ." AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 DAY)"); - $row = spip_fetch_array($login_req); + $href = generer_url_ecrire("auteurs","statut=" . $row['statut']); + $vals[] = "<a href='$href'>" . bonhomme_statut($row) . '</a>'; - if (($row['login'] == "") OR ($row['messagerie'] == "non")) { - return ''; + if (($id_auteur == $connect_id_auteur) OR $row['parti']) + $vals[]= ' '; + else { + if ($row['email']) $href='mailto:' . $row['email']; + else $href = generer_url_ecrire("message_edit","new=oui&dest=$id_auteur&type=normal"); + + $vals[]= "<a href='$href' title=\"" + . _T('email') + . '">' + . http_img_pack("m_envoi$spip_lang_rtl.gif", "m>", "width='14' height='7'", _T('info_envoyer_message_prive')) + . '</a>'; } - $title = _T('info_envoyer_message_prive'); - - return "<a href='" - . generer_url_ecrire("message_edit","new=oui&dest=$id_auteur&type=normal") - . "' title=\"" - . $title - . "\">" - . http_img_pack("m_envoi$spip_lang_rtl.gif", "m>", "width='14' height='7'", $title) - . "</a>"; + if ($bio_auteur = attribut_html(propre(couper($row["bio"], 100)))) + $bio_auteur = " title=\"$bio_auteur\""; + + if (!$nom = typo($row['nom'])) + $nom = "<span style='color: red'>" . _T('texte_vide') . '</span>'; + + $vals[] = "<a href='" + . generer_url_ecrire('auteur_infos', "id_auteur=$id_auteur&initial=-1") + . "' $bio_auteur>$nom</a>"; + + if ($url_site_auteur = $row["url_site"]) $vals[] = "<a href='$url_site_auteur'>"._T('info_site_min')."</a>"; + else $vals[] = " "; + + $cpt = spip_fetch_array(spip_query("SELECT COUNT(articles.id_article) AS n FROM spip_auteurs_articles AS lien, spip_articles AS articles WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article AND articles.statut IN " . ($connect_statut == "0minirezo" ? "('prepa', 'prop', 'publie', 'refuse')" : "('prop', 'publie')") . " GROUP BY lien.id_auteur")); + + $nombre_articles = intval($cpt['n']); + + if ($nombre_articles > 1) $vals[] = $nombre_articles.' '._T('info_article_2'); + elseif ($nombre_articles == 1) $vals[] = _T('info_1_article'); + else $vals[] = " "; + + return $vals; } ?> diff --git a/ecrire/inc/editer_auteurs.php b/ecrire/inc/editer_auteurs.php index 5f5ee42e95..7711b98ce2 100644 --- a/ecrire/inc/editer_auteurs.php +++ b/ecrire/inc/editer_auteurs.php @@ -22,7 +22,7 @@ function inc_editer_auteurs_dist($id_article, $flag, $cherche_auteur, $ids) { global $options; - $les_auteurs = join(',', determiner_auteurs_article($id_article)); + $les_auteurs = determiner_auteurs_article($id_article); if ($flag AND $options == 'avancees') { $futurs = ajouter_auteurs_articles($id_article, $les_auteurs); } else $futurs = ''; @@ -174,49 +174,18 @@ function afficher_auteurs_articles($id_article, $flag_editable, $les_auteurs) $table = array(); - $result = spip_query("SELECT * FROM spip_auteurs AS A WHERE A.id_auteur IN ($les_auteurs) ORDER BY A.nom"); - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - while ($row = spip_fetch_array($result)) { - $vals = array(); - $id_auteur = $row["id_auteur"]; - $nom_auteur = $row["nom"]; - $email_auteur = $row["email"]; - if ($bio_auteur = attribut_html(propre(couper($row["bio"], 100)))) - $bio_auteur = " title=\"$bio_auteur\""; - $url_site_auteur = $row["url_site"]; - - $vals[] = bonhomme_statut($row); - - $vals[] = "<a href='" . generer_url_ecrire('auteurs_edit', "id_auteur=$id_auteur") . "' $bio_auteur>".typo($nom_auteur)."</a>"; - - $vals[] = $bouton_auteur($id_auteur); - - if ($email_auteur) $vals[] = "<a href='mailto:$email_auteur'>"._T('email')."</a>"; - else $vals[] = " "; + foreach($les_auteurs as $id_auteur) { + $vals = $bouton_auteur($id_auteur); - if ($url_site_auteur) $vals[] = "<a href='$url_site_auteur'>"._T('info_site_min')."</a>"; - else $vals[] = " "; - - $cpt = spip_fetch_array(spip_query("SELECT COUNT(articles.id_article) AS n FROM spip_auteurs_articles AS lien, spip_articles AS articles WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article AND articles.statut IN " . ($connect_statut == "0minirezo" ? "('prepa', 'prop', 'publie', 'refuse')" : "('prop', 'publie')") . " GROUP BY lien.id_auteur")); - - $nombre_articles = intval($cpt['n']); - - if ($nombre_articles > 1) $vals[] = $nombre_articles.' '._T('info_article_2'); - elseif ($nombre_articles == 1) $vals[] = _T('info_1_article'); - else $vals[] = " "; - - 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'"))); - } else { - $vals[] = ""; - } - - $table[] = $vals; + 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'"))); + } else $vals[] = ""; + $table[] = $vals; } - $largeurs = array('14', '', '', '', '', '', ''); - $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial11', 'arial1'); + $largeurs = array('14', '', '', '', '', ''); + $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial1'); return "<div class='liste'><table width='100%' cellpadding='3' cellspacing='0' border='0' background=''>" . afficher_liste($largeurs, $table, $styles) diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index 70e0ad81be..3ef10440f1 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -861,27 +861,6 @@ function afficher_articles_boucle($row, &$tous_id, $afficher_auteurs, $afficher_ if ($descriptif) $descriptif = ' title="'.attribut_html(typo($descriptif)).'"'; $petition = $row['petition']; - if ($afficher_auteurs) { - $les_auteurs = ""; - $result_auteurs = spip_query("SELECT auteurs.id_auteur, nom, bio FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien WHERE lien.id_article=$id_article AND auteurs.id_auteur=lien.id_auteur ORDER BY nom"); - - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - while ($row = spip_fetch_array($result_auteurs)) { - $id_auteur = $row['id_auteur']; - $nom_auteur = typo($row['nom']); - - if ($bio = texte_backend(supprimer_tags(couper($row['bio'],50)))) - $bio = " title=\"$bio\""; - - - $les_auteurs .= ", <a href='" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur&initial=-1") . "'$bio>$nom_auteur</a>"; - if ($bouton = $bouton_auteur($id_auteur)) { - $les_auteurs .= " ".$bouton; - } - } - $les_auteurs = substr($les_auteurs, 2); - } - // La petite puce de changement de statut $vals[] = puce_statut_article($id_article, $statut, $id_rubrique); @@ -913,8 +892,18 @@ function afficher_articles_boucle($row, &$tous_id, $afficher_auteurs, $afficher_ $vals[] = $s; - // Les auteurs - if ($afficher_auteurs) $vals[] = $les_auteurs; + + 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); @@ -1347,7 +1336,7 @@ function afficher_auteurs ($titre_table, $requete) { echo "<p><table width='100%' cellpadding='0' cellspacing='0' border='0' background=''>"; echo "<tr><td width='100%' background=''>"; echo "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"; - echo "<tr bgcolor='#333333'><td width='100%' colspan='2'><font face='Verdana,Arial,Sans,sans-serif' size=3 color='#FFFFFF'>"; + echo "<tr bgcolor='#333333'><td width='100%' colspan='5'><font face='Verdana,Arial,Sans,sans-serif' size=3 color='#FFFFFF'>"; echo "<b>$titre_table</b></font></td></tr>"; } else { @@ -1360,38 +1349,22 @@ function afficher_auteurs ($titre_table, $requete) { $table = array(); while ($row = spip_fetch_array($result)) { - $table[]= affiche_auteur_boucle($row, $tous_id); + $tous_id[] = $row['id_auteur']; + $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); + $table[]= $bouton_auteur($row['id_auteur']); } spip_free_result($result); - $largeurs = array(''); - $styles = array('arial2'); + $largeurs = array(20, 20, 200, 20, 50); + $styles = array('','','arial2','arial1','arial1'); echo afficher_liste($largeurs, $table, $styles); - if ($titre_table) echo "</TABLE></TD></TR>"; - echo "</TABLE>"; + if ($titre_table) echo "</table></td></tr>"; + echo "</table>"; fin_cadre_relief(); return $tous_id; } -// http://doc.spip.org/@affiche_auteur_boucle -function affiche_auteur_boucle($row, &$tous_id) -{ - $vals = ''; - - $id_auteur = $row['id_auteur']; - $tous_id[] = $id_auteur; - $nom = $row['nom']; - - $s = bonhomme_statut($row); - $s .= "<a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$id_auteur") . "'>"; - $s .= typo($nom); - $s .= "</a>"; - $vals[] = $s; - - return $vals; -} - // // Afficher les forums // @@ -1494,19 +1467,14 @@ function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_ $res .= "<div style='border: 1px solid yellow; padding: 5px;'>"; } - $res .= "<span class='arial2'>". date_interface($date_heure) . "</span> "; - - if ($id_auteur) - $res .= "<a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$id_auteur") . "'>".typo($auteur)."</a>"; - else if ($email_auteur) - $res .= "<a href='mailto:$email_auteur'>".typo($auteur)."</a>"; - else $res .= typo($auteur); + $res .= "<span class='arial2'>". date_interface($date_heure) . "</span> "; if ($id_auteur) { $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); - $bouton = $bouton_auteur($id_auteur); - if ($bouton) $res .= " ".$bouton; - } + $res .= join(' ',$bouton_auteur($id_auteur)); + } else if ($email_auteur) + $res .= "<a href='mailto:$email_auteur'>".typo($auteur)."</a>"; + else $res .= typo($auteur); // boutons de moderation if ($controle_id_article) @@ -2270,7 +2238,7 @@ if (true /*$bandeau_colore*/) { if (!($connect_toutes_rubriques)) { echo http_img_pack("rien.gif", " ", "width='10'"); - echo "<a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$connect_id_auteur") . "' class='icone26' onmouseover=\"changestyle('bandeauinfoperso','visibility','visible');\">" . + echo "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur&initial=-1") . "' class='icone26' onmouseover=\"changestyle('bandeauinfoperso','visibility','visible');\">" . http_img_pack("fiche-perso.png", "", "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\""); echo "</a>"; } @@ -2387,17 +2355,16 @@ function auteurs_recemment_connectes() { global $connect_id_auteur; $res = ''; - $result_auteurs = spip_query("SELECT id_auteur, nom FROM spip_auteurs WHERE id_auteur!=$connect_id_auteur AND imessage!='non' AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 MINUTE) AND statut IN ('0minirezo','1comite')"); + $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')"); - $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); if (spip_num_rows($result_auteurs)) { - - $res = "<b>"._T('info_en_ligne')."</b>"; + $bouton_auteur = charger_fonction('bouton_auteur', 'inc'); + $res = "<b>"._T('info_en_ligne'). " </b>"; while ($row = spip_fetch_array($result_auteurs)) { - $id_auteur = $row["id_auteur"]; - $nom_auteur = typo($row["nom"]); - $res .= " ".bouton_auteur($id_auteur)." <a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$id_auteur") . "' style='color: #666666;'>$nom_auteur</a>"; + list($s, $mail, $nom, $w, $p) = $bouton_auteur($row['id_auteur']); + $res .= "$mail $nom, "; } + $res = substr($res,0,-2); } return "<div class='messages' style='color: #666666;'>$res</div>"; diff --git a/ecrire/inc/vieilles_defs.php b/ecrire/inc/vieilles_defs.php index fc4483bb98..5ed588020e 100644 --- a/ecrire/inc/vieilles_defs.php +++ b/ecrire/inc/vieilles_defs.php @@ -75,4 +75,22 @@ function afficher_script_layer(){echo $GLOBALS['browser_layer'];} // http://doc.spip.org/@test_layer function test_layer(){return $GLOBALS['browser_layer'];} + +// http://doc.spip.org/@affiche_auteur_boucle +function affiche_auteur_boucle($row, &$tous_id) +{ + $vals = ''; + + $id_auteur = $row['id_auteur']; + + $nom = $row['nom']; + + $s = bonhomme_statut($row); + $s .= "<a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$id_auteur") . "'>"; + $s .= typo($nom); + $s .= "</a>"; + $vals[] = $s; + + return $vals; +} ?> -- GitLab