source: spip-zone/_plugins_/listes_articles_completes/listes_articles_completes.php @ 70522

Last change on this file since 70522 was 35554, checked in by arno@…, 10 years ago

Styles en CSS, du coup meilleure gestion du survol.

File size: 5.3 KB
Line 
1<?php
2
3// http://doc.spip.org/@inc_afficher_articles_dist
4function inc_afficher_articles($titre, $requete, $formater='') {
5
6        if (!isset($requete['FROM'])) $requete['FROM'] = 'spip_articles AS articles';
7
8        if (!isset($requete['SELECT'])) {
9                $requete['SELECT'] = "articles.id_article, articles.surtitre, articles.titre, articles.soustitre, articles.visites, articles.popularite, articles.id_rubrique, articles.statut, articles.date, articles.lang, articles.id_trad, articles.descriptif";
10        }
11
12        if (!isset($requete['GROUP BY'])) $requete['GROUP BY'] = '';
13
14        $cpt = sql_countsel($requete['FROM'], $requete['WHERE'], $requete['GROUP BY']);
15
16        if (!$cpt) return '' ;
17
18        $requete['FROM'] = preg_replace("/(spip_articles(\s+AS\s+\w+)?)/i", "\\1 LEFT JOIN spip_petitions AS petitions ON articles.id_article=petitions.id_article", $requete['FROM']);
19
20        $requete['SELECT'] .= ", petitions.id_article AS petition ";
21
22        // memorisation des arguments pour gerer l'affichage par tranche
23        // et/ou par langues.
24
25
26        $hash = sauver_requete($titre, $requete, $formater);
27
28        if (isset($requete['LIMIT'])) $cpt = min($requete['LIMIT'], $cpt);
29        return afficher_articles_trad($titre, $requete, $formater, $hash, $cpt);
30}
31
32
33// http://doc.spip.org/@inc_formater_article_dist
34function inc_formater_article($row, $own='')
35{
36        global $spip_lang_right, $spip_display;
37        static $pret = false;
38        static $chercher_logo, $img_admin, $formater_auteur, $nb, $langue_defaut, $afficher_langue, $puce_statut;
39
40        $id_article = $row['id_article'];
41
42        if (!autoriser('voir','article',$id_article)) return '';
43
44        if (!$pret) {
45                $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non");
46                if ($chercher_logo) 
47                        $chercher_logo = charger_fonction('chercher_logo', 'inc');
48                $formater_auteur = charger_fonction('formater_auteur', 'inc');
49                $img_admin = http_img_pack("admin-12.gif", "", " width='12' height='12'", _T('titre_image_admin_article'));
50
51                if (($GLOBALS['meta']['multi_rubriques'] == 'oui' AND (!isset($GLOBALS['id_rubrique']))) OR $GLOBALS['meta']['multi_articles'] == 'oui') {
52                        $afficher_langue = true;
53                        $langue_defaut = !isset($GLOBALS['langue_rubrique'])
54                          ? $GLOBALS['meta']['langue_site']
55                          : $GLOBALS['langue_rubrique'];
56                }
57                $puce_statut = charger_fonction('puce_statut', 'inc');
58                $pret = true;
59        }
60
61        if ($chercher_logo) {
62                if ($logo = $chercher_logo($id_article, 'id_article', 'on')) {
63                        list($fid, $dir, $nom, $format) = $logo;
64                        include_spip('inc/filtres_images_mini');
65                        $logo = image_reduire("<img src='$fid' alt='' />", 70, 50);
66                }
67        } else $logo ='';
68
69        $surtitre = typo(supprime_img($row['surtitre']));
70        $soustitre = typo(supprime_img($row['soustitre']));
71        $titre = sinon($row['titre'], _T('ecrire:info_sans_titre'));
72       
73        $titre = "$titre";
74       
75        if (strlen(trim($surtitre)) > 0) $titre = "<i>$surtitre</i><br />$titre";
76        if (strlen(trim($soustitre)) > 0) $titre = "$titre<br /><i>$soustitre</i>";
77       
78        $visites = $row['visites'];
79        $popularite = round($row['popularite']);
80       
81        $id_rubrique = $row['id_rubrique'];
82        $date = $row['date'];
83        $statut = $row['statut'];
84        $descriptif = $row['descriptif'];
85        $lang_dir = lang_dir(($lang = $row['lang']) ? changer_typo($lang):'');
86
87        $lien  = "<div>"
88        . "<a href='"
89        . generer_url_ecrire("articles","id_article=$id_article")
90        . "'"
91        . (!$descriptif ? '' : 
92             (' title="'.attribut_html(typo($descriptif)).'"'))
93        . " dir='$lang_dir'>"
94        . (!$logo ? '' :
95           ("<span style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>" . $logo . "</span>"))
96        . (acces_restreint_rubrique($id_rubrique) ? $img_admin : '')
97          . typo(supprime_img($titre,''))
98        . (!($afficher_langue AND $lang != $GLOBALS['meta']['langue_site'] AND strlen($lang)) ? '' :
99           (" <span class='spip_xx-small' style='color: #666666' dir='$lang_dir'>(".traduire_nom_langue($lang).")</span>"))
100          . (!$row['petition'] ? '' :
101             ("</a> <a href='" . generer_url_ecrire('controle_petition', "id_article=$id_article") . "' class='spip_xx-small' style='color: red'>"._T('lien_petitions')))
102        . "</a>"
103        . "</div>"
104        ."<div class='liens'>"
105        .( (autoriser('modifier','article', $id_article)) ? " <a href='?exec=articles_edit&amp;id_article=$id_article'>"._T('admin_modifier_article')."</a> &nbsp; " : "")
106        .(($statut == "publie") ? " <a href='?exec=articles&amp;action=redirect&amp;type=article&amp;id=$id_article' class='spip_out'>"._T('icone_voir_en_ligne')."</a>" : "")
107        ."</div>";
108       
109        if ($spip_display == 4) return array($lien);
110
111        $puce = $puce_statut($id_article, $statut, $id_rubrique,'article');
112
113        $auteurs = auteurs_article($id_article); 
114        foreach ($auteurs as $k => $r) {
115                list(, $mail, $nom,,) = $formater_auteur($r['id_auteur']);
116                $auteurs[$k]= "$mail&nbsp;$nom";
117        }
118
119        $date = affdate_jourcourt($date);
120        if (!$date) $date = '&nbsp;';
121       
122        if ($visites > 0) $date = "$date <br /><a href='?exec=statistiques_visites&amp;id_article=$id_article'>"._T("info_popularite", array('popularite'=>$popularite, 'visites'=>$visites))."</a>";
123
124        $num = afficher_numero_edit($id_article, 'id_article', 'article');
125
126        // Afficher le numero (JMB)
127
128        return array($puce, $lien, join('<br />', $auteurs), $date, $num);
129}
130
131
132
133function listes_articles_completes_header_prive($flux) {
134       
135        $flux .= "
136                <style type='text/css'><!--
137                        .tr_liste .liens {
138                                visibility: hidden;
139                                font-size: 85%;
140                                padding-top: 3px;
141                        }
142                        .tr_liste_over .liens, .tr_liste:hover .liens {
143                                visibility: visible;
144                        }
145                --></style>
146        ";
147       
148       
149        return $flux;
150}
151
152
153
154?>
Note: See TracBrowser for help on using the repository browser.