diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php index daf04c30a630016938072f167637552f5cb610ac..3d535bfc631109cd3f027afa734842088c94d1f7 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 c32d3eed01e95eb12804a94d2a3859e283285064..d56663cd7aad39148a59257b3d3bd8d0b38b341b 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 3442c878ffde1e86efba7f9d8f6522e8b95a3e94..8594988070ddbe9e4b3be7c37f85d3495a2f582d 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 c6179efec9c6a4c24c37699f2fac023ac7a3b1b9..119b6547e4e6843fe4ea90e5d3f49a55cebb3bc2 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 5f5ee42e9502c365a524b219bce73f794ed85eb0..7711b98ce249822a7c6ce90db2b314add0222c7f 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 70e0ad81bef40f0794ad19e377b4a747de40f075..3ef10440f1a6304f097dd53edd40c319e80e315c 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 fc4483bb9859b64ba09ee5f6fe87127a1ec4fed7..5ed588020e5563d9d334af503ccaffa567e9de90 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; +} ?>