source: spip-zone/_core_/plugins/grenier/inc/formater_auteur.php @ 93641

Last change on this file since 93641 was 93641, checked in by marcimat@…, 5 years ago

Meilleure compatibilité avec PSR-2 et nos règles d'écriture, en appliquant
différents fix avec php-cs-fixers. Fixers appliqués ici :

'encoding', utf8
'eof_ending',
un saut de ligne en fin de fichier
'elseif', elseif plutôt que else if
'function_call_space',
espaces sur fonctions
'function_declaration', espaces sur fonctions
'function_typehint_space',
espaces sur fonctions
'linefeed', sauts de ligne \n uniquement
'lowercase_constants',
true, false, null en munuscule
'lowercase_keywords', mots clés PHP en lowercase
'method_argument_space',
espaces sur appels de fonctions
'multiple_use', use unique sur fonctions anonymes
'newline_after_open_tag',
ouverture de php… et c'est tout sur cette ligne
'operators_spaces', espaces de part et d'autres des opérateurs binaires
'parenthesis',
pas d'espace juste après parenthèse ouvrante, ou avant parenthèse fermante
'php_closing_tag', pas de fermeture de php
'short_tag',
tag PHP corrects
'trailing_spaces', pas d'espace qui traîne en fin de ligne
'visibility',
déclarer 'public / private / protected' sur les méthodes

File size: 4.2 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2015                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined('_ECRIRE_INC_VERSION')) return;
14
15include_spip('inc/lien');
16
17//
18// Construit un tableau des 5 informations principales sur un auteur,
19// avec des liens vers les scripts associes:
20// 1. l'icone du statut, avec lien vers la page de tous ceux ayant ce statut
21// 2. l'icone du mail avec un lien mailto ou a defaut la messagerie de Spip
22// 3. le nom, avec lien vers la page complete des informations
23// 4. le mot "site" avec le lien vers le site Web personnelle
24// 5. le nombre d'objets publies
25//
26
27// Un auteur sans autorisation de modification de soi  est un visiteur;
28// il n'a pas de messagerie interne, et n'a publie que des messages de forum
29
30// http://code.spip.net/@inc_formater_auteur_dist
31function inc_formater_auteur_dist($id_auteur, $row = null) {
32
33  global $connect_id_auteur, $connect_statut;
34
35        $id_auteur = intval($id_auteur);
36
37        if ($row === null)
38                $row = sql_fetsel("*, " . sql_date_proche('en_ligne', -15, 'DAY') . " AS ici", "spip_auteurs", "id_auteur=$id_auteur");
39
40        $vals = array();
41        $statut = $row['statut'];
42        $href = generer_url_ecrire("auteurs", "statut=$statut");
43        $vals[] = "<a href='$href'>" . bonhomme_statut($row) . '</a>';
44
45        if (($id_auteur == $connect_id_auteur) or !$row['ici'])
46                $vals[] = '&nbsp;';
47        else    $vals[] = formater_auteur_mail($row, $id_auteur);
48
49        if (!$nom = typo($row['nom']))
50                $nom = "<span style='color: red'>" . _T('texte_vide') . '</span>';
51
52
53        $chercher_logo = ($spip_display != 1
54                and $spip_display != 4
55                and $GLOBALS['meta']['image_process'] != "non")
56                        ? charger_fonction('chercher_logo', 'inc')
57                        : false;
58
59        if ($chercher_logo
60        and $logo = $chercher_logo($id_auteur, 'id_auteur', 'on')) {
61                list($fid) = $logo;
62                include_spip('inc/filtres_images_mini');
63                $logo = image_reduire("<img src='$fid' alt='' style='float:right;' />", 26, 20);
64        }
65        else $logo = '';
66
67        $vals[] = "<a href='"
68        . generer_url_ecrire('auteur', "id_auteur=$id_auteur")
69        . "'"
70        . (!$row['bio'] ? '' : (" title=\"" . attribut_html(couper(textebrut($row["bio"]), 200)) ."\""))
71        . ">$nom</a>" . $logo;
72
73        $url = traiter_lien_explicite($row["url_site"]);
74
75        $vals[] =  !$url ? "&nbsp;"
76          :  "<a href='$url'>".couper(sinon(typo($row['nom_site']), $row["url_site"]), 30)."</a>";
77
78        $contributions = array();
79        if (autoriser('modifier', 'auteur', $id_auteur, $row)) {
80                $in = sql_in('statut',
81                        ($connect_statut == "0minirezo"
82                        ? array('prepa', 'prop', 'publie', 'refuse')
83                        : array('prop', 'publie')));
84                if ($cpt = sql_countsel("spip_auteurs_liens AS L LEFT JOIN spip_articles AS A ON (A.id_article=L.id_objet AND objet='article')", "L.id_auteur=$id_auteur AND $in")){
85                        $contributions[] = ($cpt > 1?$cpt.' '._T('info_article_2'):_T('info_1_article'));
86                }
87        }
88
89        $contributions = pipeline('compter_contributions_auteur', array('args' => array('id_auteur' => $id_auteur, 'row' => $row), 'data' => $contributions));
90
91        $vals[] =  (is_array($contributions) and count($contributions))?implode('<br />', $contributions):"&nbsp;";
92
93        return $vals;
94}
95
96// http://code.spip.net/@formater_auteur_mail
97function formater_auteur_mail($row, $id_auteur)
98{
99        if (!in_array($row['statut'], array('0minirezo', '1comite')))
100                return '';
101
102        if ($row['imessage'] != 'non'
103        and $GLOBALS['meta']['messagerie_agenda'] != 'non')
104                $href = generer_action_auteur("editer_message", "normal/$id_auteur");
105        elseif (strlen($row['email'])
106        and autoriser('voir', 'auteur', $id_auteur))
107                $href = 'mailto:' . $row['email'];
108        else    return '';
109
110        return "<a href='$href' title=\""
111          .  _T('info_envoyer_message_prive')
112          . "\" class='message'>&nbsp;</a>";
113}
Note: See TracBrowser for help on using the repository browser.