source: trunk/spip/esqueleto-redcta/plugins/spip-listes_1_9_2/inc/affichage.php @ 90

Last change on this file since 90 was 90, checked in by guille, 15 years ago

importacion de spip-listes-1_9_2

File size: 24.9 KB
Line 
1<?php
2
3/******************************************************************************************/
4/* SPIP-listes est un système de gestion de listes d'information par email pour SPIP      */
5/* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net , http://bloog.net            */
6/*                                                                                        */
7/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
8/* de la Licence Publique Générale GNU publiée par la Free Software Foundation            */
9/* (version 2).                                                                           */
10/*                                                                                        */
11/* Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
12/* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
13/* d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU  */
14/* pour plus de détails.                                                                  */
15/*                                                                                        */
16/* Vous devez avoir reçu une copie de la Licence Publique Générale GNU                    */
17/* en même temps que ce programme ; si ce n'est pas le cas, écrivez à la                  */
18/* Free Software Foundation,                                                              */
19/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis.                   */
20/******************************************************************************************/
21
22include_spip('inc/spiplistes_api');
23
24
25function spip_listes_onglets($rubrique, $onglet){
26        global $id_auteur, $connect_id_auteur, $connect_statut, $statut_auteur, $options;
27       
28        echo debut_onglet();
29        if ($rubrique == "messagerie"){
30                echo onglet(_T('spiplistes:Historique_des_envois'), generer_url_ecrire("spip_listes"), "messagerie", $onglet, _DIR_PLUGIN_SPIPLISTES."img_pack/stock_hyperlink-mail-and-news-24.gif");
31                echo onglet(_T('spiplistes:Listes_de_diffusion'), generer_url_ecrire("listes_toutes"), "messagerie", $onglet, _DIR_PLUGIN_SPIPLISTES."img_pack/reply-to-all-24.gif");
32                echo onglet(_T('spiplistes:Suivi_des_abonnements'), generer_url_ecrire("abonnes_tous"), "messagerie", $onglet, _DIR_PLUGIN_SPIPLISTES."img_pack/addressbook-24.gif");
33        }
34        echo fin_onglet();
35}
36
37
38function boite_autocron(){
39        @define('_SPIP_LISTE_SEND_THREADS',1);
40        include_spip('inc/spiplistes_cron');
41        if (cron_spiplistes_cron(0)) return; // rien a faire
42        $res = spip_query("SELECT COUNT(a.id_auteur) AS n FROM spip_auteurs_courriers AS a JOIN spip_courriers AS c ON c.id_courrier=a.id_courrier WHERE c.statut='encour'");
43        $n = 0;
44        if ($row = spip_fetch_array($res))
45                $n = $row['n'];
46
47        if(true or $n > 0 ){
48                echo "<br />";
49                echo debut_boite_info();
50                //echo "<script type='text/javascript' src='".find_in_path('javascript/autocron.js')."'></script>";
51               
52                echo "<div style='font-weight:bold;text-align:center'>"._T('spiplistes:envoi_en_cours')."</div>";
53                echo "<div style='padding : 10px;text-align:center'><img src='"._DIR_PLUGIN_SPIPLISTES."img_pack/48_import.gif'></div>";
54               
55                $total = $n;
56                $res2 = spip_query("SELECT SUM(total_abonnes) AS total FROM spip_courriers WHERE statut='encour'");
57                $row2 = spip_fetch_array($res2);
58                $total = $row2['total'];
59                echo "<div id='meleuse'>";
60                echo "<p align='center' id='envoi_statut'>"._T('spiplistes:envoi_en_cours')." "
61                  . "<strong id='envois_restants'>$n</strong>/<span id='envois_total'>$total</span> (<span id='envois_restant_pourcent'>"
62                  . round($n/$total*100)."</span>%)</p>";
63                 
64                $href = generer_action_auteur('spiplistes_envoi_lot','envoyer');
65               
66                for ($i=0;$i<_SPIP_LISTE_SEND_THREADS;$i++)
67                        echo "<span id='proc$i' class='processus' name='$href'></span>";
68                if (_request('exec')=='spip_listes')
69                        echo "<a href='".generer_url_ecrire('spip_listes')."' id='redirect_after'></a>";
70                echo "</div>";
71               
72                echo "<script><!--
73                var target = $('#envois_restants');
74                var total = $('#envois_total').html();
75                var target_pc = $('#envois_restant_pourcent');
76                function redirect_fin(){
77                        redirect = $('#redirect_after');
78                        if (redirect.length>0){
79                                href = redirect.attr('href');
80                                setTimeout('document.location.href = \"'+href+'\"',0);
81                        }
82                }
83                jQuery.fn.runProcessus = function(url) {
84                        var proc=this;
85                        var href=url;
86                        $(target).load(url,function(data){
87                                restant = $(target).html();
88                                pourcent=Math.round(restant/total*100);
89                                $(target_pc).html(pourcent);
90                                if (Math.round(restant)>0)
91                                        $(proc).runProcessus(href);
92                                else
93                                        redirect_fin();
94                        });
95                }
96                $('span.processus').each(function(){
97                        var href = $(this).attr('name');
98                        $(this).html(ajax_image_searching).runProcessus(href);
99                        //run_processus($(this).attr('id'));
100                });
101                //--></script>";
102                echo "<p>"._T('spiplistes:texte_boite_en_cours')."</p>" ;
103                echo "<p align='center'><a href='".generer_url_ecrire('gerer_courrier','change_statut=publie&id_message='.$id_mess)."'>["._T('annuler')."]</a></p>";
104                echo fin_boite_info();
105        }
106        //echo ' <div style="background-image: url(\''. generer_url_action('cron','&var='.time()).'\');"> </div> ';
107        //spip_log("spip_listes :  autocron"); 
108}
109
110function spip_listes_raccourcis(){
111        global  $connect_statut;
112       
113        // debut des racourcis
114        echo debut_raccourcis(_DIR_PLUGIN_SPIPLISTES."img_pack/mailer_config.gif");
115       
116        if ($connect_statut == "0minirezo") {
117                icone_horizontale(_T('spiplistes:Nouveau_courrier'), generer_url_ecrire("courrier_edit","new=oui&type=nl"), _DIR_PLUGIN_SPIPLISTES."img_pack/stock_mail_send.gif");
118//              echo "</a>"; // bug icone_horizontale()
119                echo "<br />" ;
120                echo "<br />" ;
121               
122                icone_horizontale(_T('spiplistes:Nouvelle_liste_de_diffusion'), generer_url_ecrire("liste_edit","new=oui"), _DIR_PLUGIN_SPIPLISTES."img_pack/reply-to-all-24.gif");
123//              echo "</a>"; // bug icone_horizontale()
124                icone_horizontale(_T('spiplistes:import_export'), generer_url_ecrire("import_export"), _DIR_PLUGIN_SPIPLISTES."img_pack/listes_inout.png");
125//              echo "</a>"; // bug icone_horizontale()
126               
127                icone_horizontale(_T('spiplistes:Configuration'), generer_url_ecrire("config"),_DIR_PLUGIN_SPIPLISTES."img_pack/mailer_config.gif");
128//              echo "</a>"; // bug icone_horizontale()
129        }
130        echo fin_raccourcis();
131
132        //Afficher la console d'envoi ?
133        boite_autocron();
134       
135        // colonne gauche boite info
136        echo "<br />" ;
137        echo debut_boite_info();
138        echo _T('spiplistes:_aide');
139        echo fin_boite_info();
140}
141
142/**
143* spiplistes_afficher_en_liste
144*
145* affiche des listes d'éléments
146*
147* @param string titre
148* @param string image
149* @param string statut
150* @param string recherche
151* @param string nom_position
152* @return string la liste des lettres pour le statut demandé @author BoOz / Pierre Basson
153**/
154function spiplistes_afficher_en_liste($titre, $image, $element='listes', $statut, $recherche='', $nom_position='position') {
155       
156        global $pas, $id_auteur;
157        $position = intval($_GET[$nom_position]);
158       
159        $clause_where = '';
160        if (!empty($recherche)) {
161                $clause_where.= ' AND ( titre LIKE '._q("%$recherche%").' OR descriptif LIKE '._q("%$recherche%").' OR  texte LIKE '._q("%$recherche%").' )';
162        }
163       
164        $lettres = '';
165       
166        if(!$pas) $pas=10 ;
167        if(!$position) $position=0 ;
168       
169        if($element == 'listes'){
170                $requete_listes = 'SELECT id_liste,
171                titre,
172                date
173                FROM spip_listes
174                WHERE statut='._q($statut).' '.$clause_where.'
175                ORDER BY date DESC
176                LIMIT '.intval($position).','.intval($pas).'';
177        }
178       
179        if($element == 'messages'){
180                $type='nl' ;
181                $type2="";
182                $statut2="";
183                if($statut=='redac')
184                        $statut2=" OR statut='ready'";
185                if($statut=='auto'){
186                        $type='auto';
187                        $statut='publie';
188                }
189                if($statut=='encour')
190                        $type2=" OR type='auto'";
191       
192                $requete_listes = 'SELECT id_courrier,
193                        titre,
194                        date, nb_emails_envoyes
195                        FROM spip_courriers
196                        WHERE (type='._q($type).$type2.') AND (statut='._q($statut).$statut2.') '.$clause_where.'
197                        ORDER BY date DESC
198                        LIMIT '.intval($position).','.intval($pas).'';
199        }
200       
201        if($element == 'abonnements'){
202                if($statut=='')
203                        $requete_listes = 'SELECT listes.id_liste, listes.titre, listes.statut, listes.date,lien.id_auteur,lien.id_liste
204                          FROM spip_auteurs_listes AS lien
205                          LEFT JOIN spip_listes AS listes ON lien.id_liste=listes.id_liste
206                          WHERE lien.id_auteur='._q($id_auteur).' AND (listes.statut="liste" OR listes.statut="inact")
207                          ORDER BY listes.date DESC LIMIT '.intval($position).','.intval($pas).'';
208                else{
209                        $requete_listes = 'SELECT id_courrier,
210                        titre,
211                        date, nb_emails_envoyes
212                        FROM spip_courriers
213                        WHERE type='._q($type).' AND statut='._q($statut).' '.$clause_where.'
214                        ORDER BY date DESC
215                        LIMIT '.intval($position).','.intval($pas).'';
216                }
217        }
218       
219        //echo "$requete_listes";
220        $resultat_aff = spip_query($requete_listes);
221
222       
223        if (@spip_num_rows($resultat_aff) > 0) {
224       
225        $en_liste.= "<div class='liste'>\n";
226        $en_liste.= "<div style='position: relative;'>\n";
227        $en_liste.= "<div style='position: absolute; top: -12px; left: 3px;'>\n";
228        $en_liste.= "<img src='".$image."'  />\n";
229        $en_liste.= "</div>\n";
230        $en_liste.= "<div style='background-color: white; color: black; padding: 3px; padding-left: 30px; border-bottom: 1px solid #444444;' class='verdana2'>\n";
231        $en_liste.= "<b>\n";
232        $en_liste.= $titre;
233        $en_liste.= "</b>\n";
234        $en_liste.= "</div>\n";
235        $en_liste.= "</div>\n";
236        $en_liste.= "<table width='100%' cellpadding='2' cellspacing='0' border='0'>\n";
237       
238        while ($row = spip_fetch_array($resultat_aff)) {
239                $titre          = $row['titre'];
240                $date           = affdate($row['date']);                               
241               
242                $retour = _DIR_RESTREINT_ABS.self();
243                switch ($element){
244                        case "abonnements":
245                                $id_row = $row['id_liste'];
246                                $url_row        = generer_url_ecrire('listes', 'id_liste='.$id_row);
247                                $url_desabo = generer_action_auteur('spiplistes_changer_statut_abonne', $row['id_auteur']."-listedesabo-$id_row", $retour);
248                                break;
249                        case "listes":
250                                $id_row = $row['id_liste'];
251                                $url_row        = generer_url_ecrire('listes', 'id_liste='.$id_row);
252                                break;
253                        default:
254                                $id_row = $row['id_courrier'];                 
255                                $nb_emails_envoyes      = $row['nb_emails_envoyes'];
256                                $url_row        = generer_url_ecrire('gerer_courrier', 'id_message='.$id_row);
257                }
258               
259                $en_liste.= "<tr class='tr_liste'>\n";
260                $en_liste.= "<td width='11'>";
261                switch ($statut) {
262                        case 'brouillon':
263                                $en_liste.= "<img src='"._DIR_IMG_PACK."puce-blanche.gif' alt='puce-blanche' border='0' style='margin: 1px;' />";
264                                break;
265                        case 'publie':
266                                $en_liste.= "<img src='"._DIR_IMG_PACK."puce-verte.gif' alt='puce-verte' border='0' style='margin: 1px;' />";
267                                break;
268                        case 'envoi_en_cours':
269                                $en_liste.= "<img src='"._DIR_IMG_PACK."puce-orange.gif' alt='puce-orange' border='0' style='margin: 1px;' />";
270                                break;
271                }
272                $en_liste.= "</td>";
273                $en_liste.= "<td class='arial2'>\n";
274                $en_liste.= "<div>\n";
275                $en_liste.= "<a href=\"".$url_row."\" dir='ltr' style='display:block;'>\n";
276                $en_liste.= $titre;
277               
278                if ($element == 'listes') {
279                        $nb_abo= spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_listes WHERE id_liste="._q($id_row)));
280                        $nb_abo = ($nb_abo>1)? $nb_abo._T('spiplistes:nb_abonnes_plur') : $nb_abo._T('spiplistes:nb_abonnes_sing');
281                       
282                        $en_liste.= " <span style='font-size:100%;color:#666666' dir='ltr'>\n";
283                        $en_liste.= "(".$nb_abo.")\n";
284                        $en_liste.= "</span>\n";
285                }
286               
287                if($nb_emails_envoyes>0){
288                        $en_liste.= "<span style='font-size:100%;color:#666666' dir='ltr'>\n";
289                        $en_liste.= "(".$nb_emails_envoyes.")\n";
290                        $en_liste.= "</span>\n";
291                }
292               
293                $en_liste.= "</a>\n";
294                $en_liste.= "</div>\n";
295                $en_liste.= "</td>\n";
296               
297                switch ($element){
298                        case "abonnements":
299                                $en_liste.= "<td width='120' class='arial1'><a href=\"".$url_desabo."\" dir='ltr' style='display:block;'>"._T('spiplistes:desabonnement')."</a></td>\n";
300                                break;
301                        default:
302                                $en_liste.= "<td width='120' class='arial1'>".$date."</td>\n";
303                }
304               
305                $en_liste.= "<td width='50' class='arial1'><b>"._T('spiplistes:numero').$id_row."</b></td>\n";
306                $en_liste.= "</tr>\n";
307       
308        }
309        $en_liste.= "</table>\n";
310       
311        switch ($element){
312                case "listes":
313                        $requete_total = 'SELECT id_liste
314                        FROM spip_listes
315                        WHERE statut='._q($statut).' '.$clause_where.'
316                        ORDER BY date DESC';
317                        $retour = 'listes_toutes';
318                        break;
319                case "messages":
320                        $requete_total = 'SELECT id_courrier
321                        FROM spip_courriers
322                        WHERE type='._q($type).' AND statut='._q($statut);
323                        $retour = 'spip_listes';
324                        break;
325                case "abonnements":
326                        $requete_total = 'SELECT listes.id_liste, listes.titre, listes.statut, listes.date, lien.id_auteur,lien.id_liste
327                         FROM  spip_auteurs_listes AS lien
328                         LEFT JOIN spip_listes AS listes
329                         ON lien.id_liste=listes.id_liste
330                         WHERE lien.id_auteur='._q($id_auteur).' AND (listes.statut ="liste" OR listes.statut ="inact")
331                         ORDER BY listes.date DESC';
332                        $retour = 'abonne_edit';
333                        $param = '&id_auteur='.$id_auteur;
334                        break;
335        }
336       
337        $resultat_total = spip_query($requete_total);
338        $total = spip_num_rows($resultat_total);
339       
340        $en_liste.= spiplistes_afficher_pagination($retour, $param, $total, $position, $nom_position);
341        $en_liste.= "</div>\n";
342        $en_liste.= "<br />\n";
343        }
344
345        return $en_liste;
346
347}
348
349
350
351/**
352* adapte de lettres_afficher_pagination
353*
354* @param string fond
355* @param string arguments
356* @param int total
357* @param int position
358* @author Pierre Basson
359**/
360function spiplistes_afficher_pagination($fond, $arguments, $total, $position, $nom) {
361        global $pas;
362        $pagination = '';
363        $i = 0;
364
365        $nombre_pages = floor(($total-1)/$pas)+1;
366
367        if($nombre_pages>1) {
368       
369                $pagination.= "<div style='background-color: white; color: black; padding: 3px; padding-left: 30px;  padding-right: 40px; text-align: right;' class='verdana2'>\n";
370                while($i<$nombre_pages) {
371                        $url = generer_url_ecrire($fond, $nom.'='.strval($i*$pas).$arguments, '&');
372                        $item = strval($i+1);
373                        if(($i*$pas) != $position) {
374                                $pagination.= '&nbsp;&nbsp;&nbsp;<a href="'.$url.'">'.$item.'</a>'."\n";
375                        } else {
376                                $pagination.= '&nbsp;&nbsp;&nbsp;<i>'.$item.'</i>'."\n";
377                        }
378                        $i++;
379                }
380               
381                $pagination.= "</ul>\n";
382                $pagination.= "</div>\n";
383        }
384
385        return $pagination;
386}
387
388
389function spiplistes_cherche_auteur(){
390        if (!$cherche_auteur = _request('cherche_auteur')) return;
391       
392        echo "<p align='left'>";
393        $col = strpos($cherche_auteur, '@') !== false ? 'email' : 'nom';
394        $like = '';
395        if (strpos($cherche_auteur, '%') !== false) {
396                $like = " WHERE $col LIKE '" . $cherche_auteur . "'";
397                $cherche_auteur = str_replace('%', ' ', $cherche_auteur);
398        }
399        $result = spip_query("SELECT id_auteur, $col FROM spip_auteurs$like");
400       
401        while ($row = spip_fetch_array($result, SPIP_NUM)) {
402                $table_auteurs[] = $row[1];
403                $table_ids[] = $row[0];
404        }
405       
406        $resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
407        echo debut_boite_info();
408        if (!$resultat)
409                echo "<b>"._T('texte_aucun_resultat_auteur', array('cherche_auteur' => $cherche_auteur)).".</b><br />";
410        elseif (count($resultat) == 1) {
411                list(, $nouv_auteur) = each($resultat);
412                echo "<b>"._T('spiplistes:une_inscription')."</b><br />";
413                $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur="._q($nouv_auteur));
414                echo "<ul>";
415                while ($row = spip_fetch_array($result)) {
416                        $id_auteur = $row['id_auteur'];
417                        $nom_auteur = $row['nom'];
418                        $email_auteur = $row['email'];
419                        $bio_auteur = $row['bio'];
420                       
421                        echo "<li><font face='Verdana,Arial,Sans,sans-serif' size=2><b><font size=3><a href=\"?exec=abonne_edit&id_auteur=$id_auteur\">".typo($nom_auteur)."</a></font></b>";
422                        echo " | $email_auteur";
423                        echo "</font>\n";
424                }
425                echo "</ul>";
426        }
427        elseif (count($resultat) < 16) {
428                reset($resultat);
429                unset($les_auteurs);
430                while (list(, $id_auteur) = each($resultat))
431                        $les_auteurs[] = $id_auteur;
432                if ($les_auteurs) {
433                        $les_auteurs = join(',', $les_auteurs);
434                        echo "<b>"._T('texte_plusieurs_articles', array('cherche_auteur' => $cherche_auteur))."</b><br />";
435                        $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur IN ($les_auteurs) ORDER BY nom");
436                        echo "<ul>";
437                        while ($row = spip_fetch_array($result)) {
438                                $id_auteur = $row['id_auteur'];
439                                $nom_auteur = $row['nom'];
440                                $email_auteur = $row['email'];
441                                $bio_auteur = $row['bio'];
442                               
443                                echo "<li><font face='Verdana,Arial,Sans,sans-serif' size=2><b><font size=3>".typo($nom_auteur)."</font></b>";
444                                if ($email_auteur)
445                                        echo " ($email_auteur)";
446                                echo " | <a href=\"".generer_url_ecrire("abonne_edit","id_auteur=$id_auteur")."\">"._T('spiplistes:choisir')."</a>";
447                                if (trim($bio_auteur))
448                                        echo "<br /><font size=1>".couper(propre($bio_auteur), 100)."</font>\n";
449                                echo "</font><p>\n";
450                        }
451                        echo "</ul>";
452                }
453        }
454        else
455                echo "<b>"._T('texte_trop_resultats_auteurs', array('cherche_auteur' => $cherche_auteur))."</b><br />";
456
457        echo fin_boite_info();
458        echo "<p>";
459}
460
461function spiplistes_afficher_auteurs($query, $url){
462        $tri = _request('tri') ? _request('tri') : 'nom';
463
464        $t = spip_query('SELECT COUNT(*) FROM spip_auteurs');
465        $nombre_auteurs = spip_fetch_array($t, SPIP_NUM);
466        $nombre_auteurs = intval($nombre_auteurs[0]);
467       
468        // reglage du debut
469        $max_par_page = 30;
470        $debut = intval(_request('debut'));
471        if ($debut > $nombre_auteurs - $max_par_page) {
472                $debut = max(0,$nombre_auteurs - $max_par_page);
473        }
474       
475        $t = spip_query($query . ' LIMIT ' . $debut . ',' . $max_par_page);
476       
477        $auteurs=array();
478        $les_auteurs = array();
479        while ($auteur = spip_fetch_array($t)) {
480                if ($auteur['statut'] == '0minirezo') {
481                $auteur['restreint'] = spip_num_rows(spip_query(
482                  "SELECT * FROM spip_auteurs_rubriques WHERE id_auteur="._q($auteur['id_auteur'])));
483                }
484                $auteurs[] = $auteur;
485                $les_auteurs[] = $auteur['id_auteur'];
486        }
487               
488        $lettre = array();
489        if (($tri == 'nom') AND $GLOBALS['options'] == 'avancees') {
490                $qlettre = spip_query(
491        'select distinct upper(left(nom,1)) l, count(*) from spip_auteurs group by l order by l');
492                $count = 0;
493                while ($rlettre = spip_fetch_array($qlettre, SPIP_NUM)) {
494                        $lettre[$rlettre[0]] = $count;
495                        $count += intval($rlettre[1]);
496                }
497        }
498       
499        //
500        // Affichage
501        //
502       
503        // ici commence la vraie boucle
504        echo debut_cadre_relief('redacteurs-24.gif');
505        echo "<table border='0' cellpadding=3 cellspacing=0 width='100%' class='arial2'>\n";
506       
507        if ($nombre_auteurs > $max_par_page) {
508                echo "<tr bgcolor='white'><td colspan='6'>";
509                echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'>";
510                for ($j=0; $j < $nombre_auteurs; $j+=$max_par_page) {
511                        if ($j > 0) echo " | ";
512                       
513                        if ($j == $debut)
514                                echo "<b>$j</b>";
515                        elseif ($j > 0)
516                                echo "<a href='".parametre_url($url,'debut',$j)."'>$j</a>";
517                        else
518                                echo " <a href='".parametre_url($url,'debut',0)."'>0</a>";
519                       
520                        if ($debut > $j  AND $debut < $j+$max_par_page)
521                                echo " | <b>$debut</b>";
522                }
523                echo "</font>";
524                echo "</td></tr>\n";
525               
526                if (($tri == 'nom') AND $GLOBALS['options'] == 'avancees') {
527                        // affichage des lettres
528                        echo "<tr bgcolor='white'><td colspan='6'>";
529                        echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>";
530                        foreach ($lettre as $key => $val) {
531                                if ($val == $debut)
532                                        echo "<b>$key</b> ";
533                                else
534                                        echo "<a href='".parametre_url($url,'debut',$val)."'>$key</a> ";
535                        }
536                        echo "</font>";
537                        echo "</td></tr>\n";
538                }
539                echo "<tr height='5'></tr>";
540        }
541       
542        echo "<tr bgcolor='#DBE1C5'>";
543        echo "<td width='20'>";
544        $img = "<img src='"._DIR_IMG_PACK."/admin-12.gif' alt='' border='0'>";
545        if ($tri=='statut')
546                echo $img;
547        else
548                echo "<a href='".parametre_url($url,'tri','statut')."' title='"._T('lien_trier_statut')."'>$img</a>";
549       
550        echo "</td><td>";
551        if ($tri == '' OR $tri=='nom')
552                echo '<b>'._T('info_nom').'</b>';
553        else
554                echo "<a href='".parametre_url($url,'tri','nom')."' title='"._T('lien_trier_nom')."'><b>"._T('info_nom')."</b></a>";
555       
556        echo "</td><td colspan='2'><b>"._T('info_site')."</b>";
557                echo "</td><td>";
558        if ($visiteurs != 'oui') {
559                if ($tri=='nombre')
560                        echo "<b>"._T('spiplistes:format')."</b>";
561                else
562                        echo "<b>"._T('spiplistes:format')."</b>"; 
563        }
564        echo "</td><td>";
565        echo "<b>"._T('spiplistes:modifier')."</b>";
566       
567        echo "</td></tr>\n";
568       
569        //translate extra field data
570        list(,,,$trad,$val) = explode("|",_T("spiplistes:options")); 
571        $trad = explode(",",$trad);
572        $val = explode(",",$val);
573        $trad_map = Array();
574        for($index_map=0;$index_map<count($val);$index_map++) {
575                $trad_map[$val[$index_map]] = $trad[$index_map];
576        }
577        $i=0;
578        foreach ($auteurs as $row) {
579                // couleur de ligne
580                $couleur = ($i % 2) ? '#FFFFFF' : $couleur_claire;
581                $i++;
582                echo "<tr bgcolor='$couleur'>";
583               
584
585                // statut auteur
586                echo "<td>";
587                echo bonhomme_statut($row);
588               
589                // nom
590                echo '</td><td>';
591                echo "<a href='?exec=abonne_edit&id_auteur=".$row['id_auteur']."'>".typo($row['nom']).'</a>';
592               
593                if ($connect_statut == '0minirezo' AND $row['restreint'])
594                echo " &nbsp;<small>"._T('statut_admin_restreint')."</small>";
595               
596                // contact
597                if ($GLOBALS['options'] == 'avancees') {
598                        echo '</td><td>';
599                        if ($row['messagerie'] == 'oui' AND $row['login']
600                          AND $activer_messagerie != "non" AND $connect_activer_messagerie != "non" AND $messagerie != "non")
601                                echo _T('spiplistes:erreur'); // bouton_imessage($row['id_auteur'],"force")."&nbsp;";
602                        if ($connect_statut=="0minirezo"){
603                                if (strlen($row['email'])>3)
604                                        echo "<a href='mailto:".$row['email']."'>"._T('lien_email')."</a>";
605                                else
606                                        echo "&nbsp;";
607                        }
608                       
609                        if (strlen($row['url_site'])>3)
610                                echo "</td><td><a href='".$row['url_site']."'>"._T('lien_site')."</a>";
611                        else
612                                echo "</td><td>&nbsp;";
613                }
614               
615                // Abonne ou pas ?
616                echo '</td><td>';
617                $id_auteur=$row['id_auteur'] ;
618                $abo = spip_fetch_array(spip_query("SELECT `spip_listes_format` FROM `spip_auteurs_elargis` WHERE `id_auteur`=$id_auteur")) ;           
619                //var_dump($abo);die("coucou");
620                $abo = $abo["spip_listes_format"];
621                //var_dump($abo);
622                if($abo == "non")
623                        echo "-";
624                else
625                        echo "&nbsp;".$trad_map[$abo];
626               
627                // Modifier l'abonnement
628                echo '</td><td>';
629                echo "<a name='abo".$row['id_auteur']."'></a>";
630
631                $retour = parametre_url($url,'debut',$debut);
632                        $u = generer_action_auteur('spiplistes_changer_statut_abonne', $row['id_auteur']."-format", $retour);
633                        if($abo == 'html'){
634                                $option_abo = "<a href='".parametre_url($u,'statut','non')."'>"._T('spiplistes:desabo')
635                                 . "</a> | <a href='".parametre_url($u,'statut','texte')."'>"._T('spiplistes:texte')."</a>";
636                        }
637                        elseif ($abo == 'texte') 
638                                $option_abo = "<a href='".parametre_url($u,'statut','non')."'>"._T('spiplistes:desabo')
639                                 . "</a> | <a href='".parametre_url($u,'statut','html')."'>"._T('spiplistes:html')."</a>";
640                        elseif(($abo == 'non')OR (!$abo)) 
641                                $option_abo = "<a href='".parametre_url($u,'statut','texte')."'>"._T('spiplistes:texte')
642                                 . "</a> | <a href='".parametre_url($u,'statut','html')."'>"._T('spiplistes:html')."</a>";
643                        echo "&nbsp;".$option_abo;
644               
645                echo "</td></tr>\n";
646        }
647       
648        echo "</table>\n";
649       
650        echo "<a name='bas'>";
651        echo "<table width='100%' border='0'>";
652       
653        $debut_suivant = $debut + $max_par_page;
654        if ($debut_suivant < $nombre_auteurs OR $debut > 0) {
655                echo "<tr height='10'></tr>";
656                echo "<tr bgcolor='white'><td align='left'>";
657                if ($debut > 0) {
658                        $debut_prec = strval(max($debut - $max_par_page, 0));
659                        echo '<form method="post" action="'.parametre_url($url,'debut',$debut_prec).'">';
660                        echo "<input type='submit' name='submit' value='&lt;&lt;&lt;' class='fondo' />";
661                        echo "</form>";
662                }
663                echo "</td><td align='right'>";
664                if ($debut_suivant < $nombre_auteurs) {
665                        echo '<form method="post" action="'.parametre_url($url,'debut',$debut_suivant).'">';
666                        echo "<input type='submit' name='submit' value='&gt;&gt;&gt;' class='fondo' />";
667                        echo "</form>";
668                }
669                echo "</td></tr>\n";
670        }
671       
672        echo "</table>\n";
673        echo fin_cadre_relief();
674        return join(',', $les_auteurs);
675}
676
677/******************************************************************************************/
678/* SPIP-Listes est un systeme de gestion de listes d'abonnes et d'envoi d'information     */
679/* par email pour SPIP. http://bloog.net/spip-listes                                      */
680/* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net                               */
681/*                                                                                        */
682/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
683/* de la Licence Publique Generale GNU publiee par la Free Software Foundation            */
684/* (version 2).                                                                           */
685/*                                                                                        */
686/* Ce programme est distribue car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
687/* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
688/* d'adaptation dans un but specifique. Reportez-vous à la Licence Publique Generale GNU  */
689/* pour plus de détails.                                                                  */
690/*                                                                                        */
691/* Vous devez avoir reçu une copie de la Licence Publique Generale GNU                    */
692/* en meme temps que ce programme ; si ce n'est pas le cas, ecrivez a la                  */
693/* Free Software Foundation,                                                              */
694/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis.                   */
695/******************************************************************************************/
696?>
Note: See TracBrowser for help on using the repository browser.