source: spip-zone/_squelettes_/bloog/mes_fonctions.php3 @ 1483

Last change on this file since 1483 was 1483, checked in by webmaster@…, 14 years ago

article, discussion, mes fonctions, plug exif,

File size: 28.2 KB
Line 
1<?php
2/*
3 *   +----------------------------------+
4 *    Nom du Filtre :                                 
5 *   +----------------------------------+
6 *    Auteur :                                     
7 *   +-------------------------------------+
8 *    Fonctions de ce filtre :
9 * 
10 *   +-------------------------------------+
11*/
12
13 
14/*
15 *   +----------------------------------+
16 *    Nom du Filtre :    JPG TIFF                                   
17 *   +----------------------------------+
18 *    Date : vendredi 20 février 2004
19 *    Auteur :  Noplay (noplay@noplay.net)                                     
20 *   +-------------------------------------+
21 *    Fonctions de ce filtre :
22 *     Ce filtre sert à afficher l'exif
23 *     d'une photographie jpg ou tiff
24 *   +-------------------------------------+
25*/
26
27include('plug_exif.php');
28
29
30
31/*
32 *   +----------------------------------+
33 *    Nom du Filtre :    list_prop                                     
34 *   +----------------------------------+
35 *    Date : vendredi 20 février 2004
36 *    Auteur :  Noplay (noplay@noplay.net)                                     
37 *   +-------------------------------------+
38 *    Fonctions de ce filtre :
39 *     Ce filtre sert à afficher le nombre
40 *     d'articles en attente de validation.
41 *   +-------------------------------------+
42 * 
43 * Pour toute suggestion, remarque, proposition d'ajout
44 * reportez-vous au forum de l'article :
45 * http://www.uzine.net/spip_contrib/article.php3?id_article=408
46*/
47function list_prop($texte) {
48  $query = "SELECT COUNT(*) as count FROM spip_articles WHERE statut='prop'";
49  $r = spip_query($query);
50  if($nb_prop = spip_fetch_array($r))
51         $nb_prop = $nb_prop['count'];
52  else $nb_prop = 0;
53   if ($nb_prop) {
54if ($nb_prop==1) return "Il y a ".$nb_prop." article en attente de publication.<br><br>";
55else return "Il y a ".$nb_prop." articles</b></a> en attente de publication.<br><br>";
56}}
57
58/*
59 *   +----------------------------------+
60 *    Nom du Filtre :    titre_forum
61 *   +----------------------------------+
62 *    Date : lundi 11 mai 2005
63 *    Auteur :  BoOz (booz@bloog.net)
64 *   +-------------------------------------+
65 *    Fonctions de ce filtre :
66 *    Nettoie les titres des forums
67 *    [(#ID_AUTEUR|messages_prives)]
68 *   +-------------------------------------+
69 * 
70 * Pour toute suggestion, remarque, proposition d'ajout
71 * reportez-vous au site bloog.net
72*/
73function titre_forum($titre=''){
74$ze_titre = ereg_replace( "> ", "", $titre );
75return $ze_titre;
76}
77/*
78 *   +----------------------------------+
79 *    Nom du Filtre :    messages_prives
80 *   +----------------------------------+
81 *    Date : lundi 23 février 2004
82 *    Auteur :  BoOz (booz@bloog.net)
83 *   +-------------------------------------+
84 *    Fonctions de ce filtre :
85 *    Permet d'afficher le nombre de message privés d'un auteur dans la partie publique
86 *    [(#ID_AUTEUR|messages_prives)]
87 *   +-------------------------------------+
88 * 
89 * Pour toute suggestion, remarque, proposition d'ajout
90 * reportez-vous au forum de l'article :
91 * http://www.uzine.net/spip_contrib/
92*/
93function messages_prives($id_auteur=''){
94global $table_prefix;
95$query = "SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS
96lien
97WHERE lien.id_auteur=$id_auteur AND vu='non'   AND statut='publie'
98AND type='normal' AND lien.id_message=messages.id_message";
99$nb_mess = "";
100$result = spip_query($query);
101$nb_mess = spip_num_rows($result);
102If($id_auteur !=''){
103IF ($nb_mess == 1) {
104$resultat = "Vous avez <B>1</B> nouveau message <a
105href=\"ecrire/messagerie.php3\">privé</a> !";
106} ELSEIF ($nb_mess > 1) {
107$resultat = "Vous avez <B>".$nb_mess."</B> nouveaux messages <a
108href=\"ecrire/messagerie.php3\">privés</a> !";
109}
110ELSE $resultat = "Vous n\'avez pas de nouveau message <a href=\"ecrire/messagerie.php3\">privé</a>.";
111} else $resultat = "ERREUR : Vous devez definir un id_auteur !!";
112return $resultat;
113}
114// Filtre d'affichage du nombre de téléchargement et du dernier clic
115// appel dans les squelettes : [(#ID_DOCUMENT|compteur)]
116function compteur($id)
117        {
118        $result=spip_query("SELECT total, ".
119                                        "DATE_FORMAT(dateur,'%d/%m/%Y') AS date_d, ".
120                                        "DATE_FORMAT(dateur,'%H:%i') AS date_t ".
121                                        "FROM dw2_doc WHERE id_doc=$id");
122        while ($row=spip_fetch_array($result))
123                {
124                $date=$row['date_d'];
125                $heure=$row['date_t'];
126                $compteur=$row['total'];
127                // Suggestion de présentation, ex : 2155 | 15-05-2004 - 02:49
128                 $aff_compteur= "Téléchargé ".$compteur." fois." ;
129                //      ou
130                // $aff_compteur= $compteur." le ".$date." à ".$heure;
131                // ou $aff_compteur=$compteur." &#8212; (".$date.")";
132                // ...
133                }
134                return $aff_compteur;
135        }
136function texte_alternatif ($texte, $avant='', $altern='', $apres='')
137{
138    if ($texte)
139        return $avant.$texte.$apres;
140    else
141        return $altern;
142}
143
144
145
146/* Filtre NORM_LIENS v2.0 - 29 juillet 2003 - Par Led
147
148   Permet de normaliser les liens lorsque ceux-ci sont orphelins (sans balise
149   HREF). Par exemple:
150   "http://www.url.com" deviendra "<a href="http://www.url.com">http://www.url.com</a>"
151
152   Le filtre s'utilise avec les balises #CHAPO, #TEXTE, #PS, #NOTES,
153   #INTRODUCTION, #DESCRIPTIF et #BIO.
154
155   SYNTAXE DANS LES SQUELETTES:
156   [(#TEXTE|norm_liens)]
157   [(#TEXTE|norm_liens{tag}]
158   Où tag doit avoir comme valeur blank, self, parent ou top.
159   Si aucun tag n'est spécifié la balise HREF n'aura pas de target.
160
161   ATTENTION: Si vous désirez utiliser ce filtre avec le filtre CIBLES_LIENS (du
162              21 juillet 2003 et écrit par moi-même) sur une même balise SPIP il
163              faut obligatoirement placer le filtre NORM_LIENS en premier.
164              Exemples: [(#TEXTE|norm_liens|cibles_liens)]
165                        [(#TEXTE|norm_liens{tag}|cibles_liens)]
166*/
167
168function norm_liens($texte, $target='') {
169
170    $target = '_'.$target;
171    if ( $target != "_" ) {
172        $texte = eregi_replace(' http://([^ <]*)', ' <a href="http://\\1" target="'.$target.'">LIEN HTTP</a>', $texte);
173        $texte = eregi_replace(' ftp://([^ <]*)', ' <a href="ftp://\\1" target="'.$target.'">LIEN FTP</a>', $texte);
174        $texte = eregi_replace(' www.([^ <]*)', ' <a href="http://www.\\1" target="'.$target.'">LIEN WWW</a>', $texte);
175        $texte = eregi_replace(' ftp.([^ <]*)', ' <a href="ftp://ftp.\\1" target="'.$target.'">LIEN FTP</a>', $texte);
176        $texte = eregi_replace('^http://([^ <]*)', '<a href="http://\\1" target="'.$target.'">LIEN HTTP</a>', $texte);
177        $texte = eregi_replace('^ftp://([^ <]*)', '<a href="ftp://\\1" target="'.$target.'">LIEN FTP</a>', $texte);
178        $texte = eregi_replace('^www.([^ <]*)', '<a href="http://www.\\1" target="'.$target.'">LIEN WWW</a>', $texte);
179        $texte = eregi_replace('^ftp.([^ <]*)', '<a href="ftp://ftp.\\1" target="'.$target.'">LIEN FTP</a>', $texte);
180        $texte = eregi_replace('<p class="spip">http://([^ <]*)', '<p class="spip"><a href="http://\\1" target="'.$target.'">LIEN HTTP</a>', $texte);
181        $texte = eregi_replace('<p class="spip">ftp://([^ <]*)', '<p class="spip"><a href="ftp://\\1" target="'.$target.'">LIEN FTP</a>', $texte);
182        $texte = eregi_replace('<p class="spip">www.([^ <]*)', '<p class="spip"><a href="http://www.\\1" target="'.$target.'">LIEN WWW</a>', $texte);
183        $texte = eregi_replace('<p class="spip">ftp.([^ <]*)', '<p class="spip"><a href="ftp://ftp.\\1" target="'.$target.'">LIEN FTP</a>', $texte);
184        }
185    else {
186        $texte = eregi_replace(' http://([^ <]*)', ' <a href="http://\\1">LIEN HTTP</a>', $texte);
187        $texte = eregi_replace(' ftp://([^ <]*)', ' <a href="ftp://\\1">LIEN FTP</a>', $texte);
188        $texte = eregi_replace(' www.([^ <]*)', ' <a href="http://www.\\1">LIEN WWW</a>', $texte);
189        $texte = eregi_replace(' ftp.([^ <]*)', ' <a href="ftp://ftp.\\1">LIEN FTP</a>', $texte);
190        $texte = eregi_replace('^http://([^ <]*)', '<a href="http://\\1">LIEN HTTP</a>', $texte);
191        $texte = eregi_replace('^ftp://([^ <]*)', '<a href="ftp://\\1">LIEN FTP</a>', $texte);
192        $texte = eregi_replace('^www.([^ <]*)', '<a href="http://www.\\1">LIEN WWW</a>', $texte);
193        $texte = eregi_replace('^ftp.([^ <]*)', '<a href="ftp://ftp.\\1">LIEN FTP</a>', $texte);
194        $texte = eregi_replace('<p class="spip">http://([^ <]*)', '<p class="spip"><a href="http://\\1">LIEN HTTP</a>', $texte);
195        $texte = eregi_replace('<p class="spip">ftp://([^ <]*)', '<p class="spip"><a href="ftp://\\1">LIEN FTP</a>', $texte);
196        $texte = eregi_replace('<p class="spip">www.([^ <]*)', '<p class="spip"><a href="http://www.\\1">LIEN WWW</a>', $texte);
197        $texte = eregi_replace('<p class="spip">ftp.([^ <]*)', '<a href="ftp://ftp.\\1">LIEN FTP</a>', $texte);
198        }
199    $texte = eregi_replace('([^ >]*)@([^ ,:!?&<]*)', ' <a href="mailto:\\1+AROBASE+\\2">\\1+AROBASE+\\2</a>', $texte);
200
201    return $texte;
202}
203/*
204 *   +----------------------------------+
205 *    Nom du Filtre :    get_auteur_infos
206 *   +----------------------------------+
207 *    Date : lundi 23 février 2004
208 *    Auteur :  Nikau (luchier@nerim.fr)
209 *   +-------------------------------------+
210 *    Fonctions de ce filtre :
211 *    Cette fonction permet d'obtenir toutes les infos
212 *    d'un auteur avec son nom ou son id_auteur
213 *    ATTENTION !! cette fonction ne s'utilise pas de       
214 *    façon classique !! voir explication dans la contrib'
215 *    Fonction utilisée également dans la fonction
216 *    'afficher_avatar'
217 *   +-------------------------------------+
218 * 
219 * Pour toute suggestion, remarque, proposition d'ajout
220 * reportez-vous au forum de l'article :
221 * http://www.uzine.net/spip_contrib/article.php3?id_article=261
222*/
223function get_auteur_infos($id='', $nom='') {
224if ($id) $query = "SELECT * FROM spip_auteurs WHERE id_auteur=$id";
225if ($nom) $query = "SELECT * FROM spip_auteurs WHERE nom='$nom'";
226$result = spip_query($query);
227if ($row = spip_fetch_array($result)) {
228$row=serialize($row);
229}
230return $row;
231}
232/*
233 *   +----------------------------------+
234 *    Nom du Filtre :    afficher_avatar
235 *   +----------------------------------+
236 *    Date : lundi 23 février 2004
237 *    Auteur :  Nikau (luchier@nerim.fr)
238 *   +-------------------------------------+
239 *    Fonctions de ce filtre :
240 *    Cette fonction permet d'afficher
241 *    l'avatar d'un auteur.
242 *    On peut passer une classe CSS pour régler       
243 *    l'affichage
244 *    EXEMPLE :
245 *    [(#NOM|afficher_avatar{''})] ou
246 *     [(#NOM|afficher_avatar{'nom_de_la_classe'})]
247 *   +-------------------------------------+
248 * 
249 * Pour toute suggestion, remarque, proposition d'ajout
250 * reportez-vous au forum de l'article :
251 * http://www.uzine.net/spip_contrib/article.php3?id_article=261
252*/
253function afficher_avatar($nom, $classe='') {
254if ($classe!='') $insert=" class=\"$classe\""; else $insert="";
255
256$infos=unserialize(get_auteur_infos('', $nom));
257
258if ($infos['statut']=="0minirezo" OR $infos[statut]=="1comite") {
259  $racine="auton$infos[id_auteur]";
260        if (file_exists("IMG/$racine.gif")) {
261                $fichier = "$racine.gif";
262                }
263                else if (file_exists("IMG/$racine.jpg")) {
264                                 $fichier = "$racine.jpg";
265                                 }
266                else if (file_exists("IMG/$racine.png")) {
267                                 $fichier = "$racine.png";
268                }
269        $retour="<img".$insert." src=\"IMG/$fichier\" alt=\"avatar de $nom\">";
270        }
271        else {
272        if ($infos['statut']=="6forum") {
273        $infos=unserialize(get_auteur_infos('', $nom));
274$source=unserialize($infos[extra]);
275$source_extra=$source[avatar];
276$retour="<img".$insert."  src=\"".$source_extra."\" alt=\"Avatar de $nom\">";
277}
278}
279return $retour;
280}
281/*
282 *   +----------------------------------+
283 *    Nom des Filtres :  afficher_mots_clefs et pas_afficher_mots_clefs
284 *   +----------------------------------+
285 *    Date : lundi 25 février 2004
286 *    Auteur :  Nikau (luchier@nerim.fr)
287 *   +-------------------------------------+
288 *    Fonctions de ce filtre :
289 *    Permet d'afficher ou non les mots clefs pour
290 *    les forums selon le statut de l'auteur du message
291 *    EXEMPLE :
292 *    [(#ID_FORUM|afficher_mots_clefs] ou
293 *     [(#ID_FORUM|pas_afficher_mots_clefs]
294 *   +-------------------------------------+
295 * 
296 * Pour toute suggestion, remarque, proposition d'ajout
297 * reportez-vous au forum de l'article :
298 * http://www.uzine.net/spip_contrib/article.php3?id_article=421
299*/
300function afficher_mots_clefs($texte) {
301if (($GLOBALS['auteur_session']['statut']=='0minirezo') OR ($GLOBALS['auteur_session']['statut']=='1comite'))
302{
303$GLOBALS['afficher_groupe'][]=10;
304$GLOBALS['afficher_groupe'][]=11;
305}
306else {
307$GLOBALS['afficher_groupe'][]=0;
308}
309}
310function pas_afficher_mots_clefs($texte) {
311if (($GLOBALS['auteur_session']['statut']=='0minirezo') OR ($GLOBALS['auteur_session']['statut']=='1comite'))
312{
313$GLOBALS['afficher_groupe'][]=11;
314}
315else{
316$GLOBALS['afficher_groupe'][]=0;
317}
318}
319/*
320 *   +----------------------------------+
321 *    Nom des Filtres :  citation
322 *   +----------------------------------+
323 *    Date : samedi 28 février 2004
324 *    Auteur :  Nikau (luchier@nerim.fr)
325 *   +-------------------------------------+
326 *    Fonctions de ce filtre :
327 *    Permet d'afficher un formulaire de 
328 *    forum avec la citation du message
329 *    auquel on répond
330 *    EXEMPLE :
331 *    [(#ID_FORUM|citation)] ou
332 *   +-------------------------------------+
333 * 
334 * Pour toute suggestion, remarque, proposition d'ajout
335 * reportez-vous au forum de l'article :
336 * http://www.uzine.net/spip_contrib/article.php3?id_article=425
337*/
338function citation($id_citation) {
339//récupération des détails du forum
340if ($id_citation) {
341$query = "SELECT * FROM spip_forum WHERE id_forum=$id_citation";
342}
343$result = spip_query($query);
344if ($row = spip_fetch_array($result)) {
345}
346$ajout="<quote>\n\{\{$row[auteur] a écrit :}}<br />\n$row[texte]</quote>";
347//echo"id message = $GLOBALS[id_message]<br>";
348if ($GLOBALS[id_message]=intval($GLOBALS[id_message])) {
349$texte_retour=retour_forum($row[id_rubrique], $row[id_forum], $row[id_article], $row[id_breve], $row[id_syndic], $row[titre]);
350} else {
351$texte=explode("</textarea>",retour_forum($row[id_rubrique], $row[id_forum], $row[id_article], $row[id_breve], $row[id_syndic], $row[titre]));
352$texte_retour=$texte[0].$ajout."</textarea>".$texte[1];
353}
354return $texte_retour;
355}
356/*
357 *   +---------------------------------------------+
358 *    Nom du Filtre : Nombre de messages
359 *   +---------------------------------------------+
360 *    Date : mercredi 09 avril 2003
361 *    Auteur : BoOz Email:booz.bloog@laposte.net
362 *    site : http://bloog.net
363 *   +---------------------------------------------+
364 *    Fonctions de ce filtre :
365 *    Compte le nombre de messages d'un auteur
366 *     Appelez le dans vos squellette tout simplement
367 *     par : [(#ID_AUTEUR|nb_messages)]
368 *   +---------------------------------------------+
369 * 
370 * Pour toute suggestion, remarque, proposition d'ajout
371 * reportez-vous au forum de l'article :
372 * http://www.uzine.net/spip_contrib/
373 *
374 */
375function nb_messages($id_auteur){
376global $table_prefix;
377$query = "SELECT auteur FROM ".$table_prefix."_forum WHERE id_auteur=$id_auteur";
378$nb_mess = "";
379$result_auteurs = spip_query($query);
380$nb_mess = spip_num_rows($result_auteurs);
381return $nb_mess;
382}
383// FIN du nb_message
384/*
385 *   +---------------------------------------------+
386 *    Nom du Filtre : Filtre RETROLIENS
387 *   +---------------------------------------------+
388 *    Date : 2003
389 *    Auteur : BoOz d'après un code original de Fil
390 *   
391 *   +---------------------------------------------+
392 *    Fonctions de ce filtre :
393 *     Affiche les référents de l'article
394 *     Appelez le dans vos squellette tout simplement
395 *     par : [(#URL_SITE|afficher_referers)]
396 *   +---------------------------------------------+
397 * 
398 * Pour toute suggestion, remarque, proposition d'ajout
399 * reportez-vous au forum de l'article :
400 * http://www.uzine.net/spip_contrib/article.php3?id_article=XXX
401 *
402 */
403// Afficher les referers
404//
405function affiche_referers ($query, $limit=10, $plus = true) {
406// Charger les moteurs de recherche
407        $arr_engines = stats_load_engines();
408        $query .= " LIMIT 0,$limit";
409        $result = spip_query($query);
410        while ($row = spip_fetch_array($result)) {
411                $referer = interdire_scripts($row['referer']);
412                $visites = $row['vis'];
413                $tmp = "";
414                $aff = "";
415                $buff = stats_show_keywords($referer, $referer);
416                if ($buff["host"]) {
417                        $numero = substr(md5($buff["hostname"]),0,8);
418                        $nbvisites[$numero] = $nbvisites[$numero] + $visites;
419                        if (strlen($buff["keywords"]) > 0) {
420                                $criteres = substr(md5($buff["keywords"]),0,8);
421                                if (!$lescriteres[$numero][$criteres])
422                                        $tmp = " &laquo;&nbsp;".$buff["keywords"]."&nbsp;&raquo;";
423                                $lescriteres[$numero][$criteres] = true;
424                        } else {
425                                $tmp = $buff["path"];
426                                if (strlen($buff["query"]) > 0) $tmp .= "?".$buff['query'];
427                                if (strlen($tmp) > 30)
428                                        $tmp = "/".substr($tmp, 0, 27)."...";
429                                else if (strlen($tmp) > 0)
430                                        $tmp = "/$tmp";
431                        }
432                        if ($tmp)
433                                $lesreferers[$numero][] = "<a href='$referer'> $tmp</a>" . (($visites > 1)?" ($visites)":"");
434                        else
435                        $lesliensracine[$numero] += $visites;
436                        $lesdomaines[$numero] = $buff["hostname"];
437                        $lesurls[$numero] = $buff["host"];
438                        $lesliens[$numero] = $referer;
439                }
440        }
441        if (count($nbvisites) > 0) {
442                arsort($nbvisites);
443    //Que les pas moteurs
444                $aff .= "<ul>";
445                for (reset($nbvisites); $numero = key($nbvisites); next($nbvisites)) {
446                        if ($lesdomaines[$numero] == '') next;
447            $visites = pos($nbvisites);
448                        $ret = "\n<li>";
449                        if ($visites > 5) $ret .= "<font color='red'>$visites "._T('info_visites')."</font> ";
450                        else if ($visites > 1) $ret .= "$visites "._T('info_visites')." ";
451                        else $ret .= "<font color='#999999'>$visites "._T('info_visite')."</font> ";
452                        if (count($lesreferers[$numero]) > 1) {
453                                $referers = join ($lesreferers[$numero],"</li><li>");
454                                $aff .= "<p /> ";
455                                $aff .= $ret;
456                                $aff .= "<a href='http://".$lesurls[$numero]."'><b><font color='$couleur_foncee'>".$lesdomaines[$numero]."</font></b></a>";
457                                if ($rac = $lesliensracine[$numero]) $aff .= " <font size='1'>($rac)</font>";
458                                $aff .= "<ul><font size='1'><li>$referers</li></font></ul>";
459                                $aff .= "</li><p />\n";
460                        } else {
461                                $aff .= $ret;
462                                $lien = $lesdomaines[$numero].ereg_replace(" \([0-9]+\)$", "",$lesreferers[$numero][0]);
463                                $aff .= "<a href='".$lesliens[$numero]."'><b>$lien</b></a>";
464                                $aff .= "</li>";
465                        }
466                }
467                $aff .= "</ul>";
468                // Le lien pour en afficher "plus"
469                if ($plus AND (spip_num_rows($result) == $limit)) {
470                        $lien = $GLOBALS['clean_link'];
471                        $lien->addVar('limit',$limit+200);
472                        $aff .= "<div style='text-align:right;'><b><a href='".$lien->getUrl()."'>+++</a></b></div>";
473                }
474        }
475        return $aff;
476}
477function afficher_referers($id_article, $nb=50, $jour=false) {
478include_ecrire('inc_statistiques.php3') ;
479if (!$id_article = intval($id_article)) {
480        $table_ref = "spip_referers";
481            $where = "1";
482        if ($jour)
483            $vis = "visites_jour";
484        else
485            $vis = "visites";
486    } else {
487        $table_ref = "spip_referers_articles";
488        $vis = "visites";
489                $where = "id_article=$id_article";
490    }
491    $query = "SELECT referer, $vis AS vis FROM $table_ref WHERE ($where) AND ($vis>0) ORDER
492BY $vis DESC";
493    return affiche_referers($query, $nb, false);
494}
495/*
496 *   +---------------------------------------------+
497 *    Nom du Filtre : membres récemment connectés
498 *   +---------------------------------------------+
499 *    Date : mercredi 09 avril 2003
500 *    Auteur : Txia Lyfoung Email:txia@lyfoung.com
501 *    site : http://lyfoung.com
502 *   +---------------------------------------------+
503 *    Fonctions de ce filtre :
504 *     Permet de voir les personnes qui se sont
505 *     connectés récemment
506 *     Appelez le dans vos squellette tout simplement
507 *     par : [(#URL_SITE|nb_connect)]
508 *   +---------------------------------------------+
509 * 
510 * Pour toute suggestion, remarque, proposition d'ajout
511 * reportez-vous au forum de l'article :
512 * http://www.uzine.net/spip_contrib/article.php3?id_article=94
513 *
514 */
515function nb_connect($resultat){
516global $table_prefix;
517$query = "SELECT nom, en_ligne FROM ".$table_prefix."_auteurs WHERE (TO_DAYS(now())-TO_DAYS(en_ligne))<=7 ORDER BY en_ligne DESC";
518$resultat = "";
519$result_auteurs = spip_query($query);
520$nb_connectes = spip_num_rows($result_auteurs);
521$flag_cadre = ($nb_connectes > 0);
522if ($flag_cadre) {
523        $resultat.="<p>";
524        if ($nb_connectes > 1) $resultat.="<h5>Ils sont venus ces derniers temps </h5>";
525        else $resultat.="<h5>Il est venu ces derniers temps</h5>";
526        while ($row = spip_fetch_array($result_auteurs)) {
527                $nom_auteur = $row["nom"];
528                $en_ligne = $row["en_ligne"];
529                $resultat.="<br>$nom_auteur <span style='font-size:78%'> [ $en_ligne ]</span>";
530        }
531}
532return $resultat;
533}
534// FIN du Filtre nb_connect
535/*
536 *   +---------------------------------------------+
537 *    Nom du Filtre : membres nouveaux
538 *   +---------------------------------------------+
539 *        par : [(#URL_SITE|new_connect)]
540 *   +---------------------------------------------+
541 * 
542 * Pour toute suggestion, remarque, proposition d'ajout
543 * reportez-vous au forum de l'article :
544 * http://www.uzine.net/spip_contrib/article.php3?id_article=94
545 *
546 */
547function new_connect($resultat){
548global $table_prefix;
549$query = "SELECT nom, en_ligne FROM ".$table_prefix."_auteurs WHERE statut = 'nouveau' ORDER BY en_ligne DESC";
550$resultat = "";
551$result_auteurs = spip_query($query);
552$new_connectes = spip_num_rows($result_auteurs);
553$flag_cadre = ($new_connectes > 0);
554if ($flag_cadre) {
555        $resultat.="<p>";
556        if ($new_connectes > 1) $resultat.="Vous etes inscrits mais vous ne vous etes jamais connectés au site:<br><br>";
557        else $resultat.="Tu es inscrit mais tu ne t'es jamais connecté au site:<br><br>";
558        while ($row = spip_fetch_array($result_auteurs)) {
559                $nom_auteur = $row["nom"];
560                $en_ligne = $row["en_ligne"];
561                $resultat.="<div class=h5>$nom_auteur</div> ";
562        }
563}
564return $resultat;
565}
566// FIN du Filtre new_connect
567/*
568*   +----------------------------------+
569 *    Nom du Filtre :    pagination                                               
570 *   +----------------------------------+
571 *    Date : dimanche 22 août 2004
572 *    Auteur :  James (klike<at>free.fr)
573 *   +-------------------------------------+
574 *    Fonctions de ce filtre :
575 *     affiche la liste des pages d'une boucle contenant
576 *     un critère de limite du type {debut_xxx, yyy}
577 *   +-------------------------------------+ 
578 * 
579 * Pour toute suggestion, remarque, proposition d'ajout
580 * reportez-vous au forum de l'article :
581 * http://www.uzine.net/spip_contrib/article.php3?id_article=663
582*/
583function pagination($total, $position=0, $pas=1, $fonction='') {
584  global $clean_link;
585  global $pagination_item_avant, $pagination_item_apres, $pagination_separateur;
586  tester_variable('pagination_separateur', '&nbsp;| ');
587  if (ereg('^debut([-_a-zA-Z0-9]+)$', $position, $match)) {
588    $debut_lim = "debut".$match[1];
589    $position = intval($GLOBALS['HTTP_GET_VARS'][$debut_lim]);
590  }
591  $nombre_pages = floor(($total-1)/$pas)+1;
592  $texte = '';
593  if($nombre_pages>1) {
594    $i = 0;
595    while($i<$nombre_pages) {
596      $clean_link->delVar($debut_lim);
597      $clean_link->addVar($debut_lim, strval($i*$pas));
598      $url = $clean_link->getUrl()."&amp;var_mode=recalcul";
599       if(function_exists($fonction)) $item = call_user_func($fonction, $i+1);
600      else $item = strval($i+1);
601      if(($i*$pas) != $position) {
602        if(function_exists('lien_pagination')) $item = lien_pagination($url, $item, $i+1);
603        else $item = "<a href=\"".$url."\">".$item."</a>";
604      }
605      $texte .= $pagination_item_avant.$item.$pagination_item_apres;
606      if($i<($nombre_pages-1)) $texte .= $pagination_separateur;
607      $i++;
608    }
609   //Correction bug: $clean_link doit revenir à son état initial
610   $clean_link->delVar($debut_lim);
611   if($position) $clean_link->addVar($debut_lim, $position);
612                IF ($position > 0){
613                $clean_link->delVar($debut_lim);
614                $clean_link->addVar($debut_lim, strval($position-$pas));
615                $prev_link = $clean_link->getUrl()."&amp;var_mode=recalcul";
616                $prev = "<a href=\"$prev_link\"><img src=\"./IMG/002/left.gif\" border=\"0\" align=\"absmiddle\"></a> | ";
617                } ELSE $prev = "pages ";
618                $nextposition=$position+$pas;
619                IF ($nextposition < ($total)){
620                $clean_link->delVar($debut_lim);
621                $clean_link->addVar($debut_lim, strval($nextposition));
622                $next_link = $clean_link->getUrl()."&amp;var_mode=recalcul";
623                $string = "-page-".$position.".html";
624                $next_link = ereg_replace($string, "-page-".$nextposition.".html", $next_link);
625                $next = " | <a href=\"$next_link\"><img src=\"./IMG/002/right.gif\" border=\"0\" align=\"absmiddle\"></a>";
626                } ELSE $next = " pages";
627        $texte = $prev . $texte . $next;
628    return $texte;
629 }
630 return '';
631}
632// FIN du Filtre pagination
633
634
635/*
636 *   +----------------------------------+
637 *    Nom du Filtre :    smileys II
638 *   +----------------------------------+
639 *    Date : mercredi 14 octobre 2003
640 *    Auteur :  BoOz (booz.bloog@laposte.net)
641 *   +-------------------------------------+
642 *    Fonctions de ce filtre :
643 *    Dans un texte, génère automatiquement le smiley
644 *    approprié à la place d'une chaine :nom.
645 *    Ce filtre utilise les smileys disponibles dans       
646 *    le répertoire smileys/
647 *    Exemple d'application :
648 *    [(#TEXTE|smileys)]
649 *   +-------------------------------------+
650 * 
651 * Pour toute suggestion, remarque, proposition d'ajout
652 * reportez-vous au forum de l'article :
653 * http://www.uzine.net/spip_contrib/article.php3?id_article=261
654*/
655function smileys($chaine) {
656$listimag=array();
657$rep1="smileys/";
658$listfich=opendir($rep1);
659while ($fich=readdir($listfich))
660{       if(($fich !='..') and ($fich !='.') and ($fich !='.test'))
661        { 
662$nomfich=substr($fich,0,strrpos($fich, "."));
663$listimag[$nomfich]="<img alt=\"smiley\" src=\"smileys/".$fich."\"/>";
664        }
665}
666ksort($listimag);
667reset($listimag);
668while (list($nom,$chem) = each($listimag))
669{ 
670  $chaine = str_replace(":".$nom, $chem , $chaine);
671}
672        return $chaine;
673}
674/*
675 *   +----------------------------------+
676 *    Nom du Filtre : Glossaire interne                                               
677 *   +----------------------------------+
678 *    Date : jeudi 11 septembre 2003
679 *    Auteur :  François Schreuer <francois (sur) schreuer (point) org>
680 *   +-------------------------------------+
681 *    Fonctions de ce filtre :
682 *    Gestion des liens vers un glossaire interne à un site
683 *   +-------------------------------------+
684 * 
685 * Pour toute suggestion, remarque, proposition d'ajout
686 * reportez-vous au forum de l'article :
687 * http://www.spip-contrib.net/article241.html
688*/
689
690# Remplace seulement la première occurence. Mêmes arguments que str_replace
691# Cette fonction est inspirée d'une fonction trouvée à l'adresse http://www.phpapps.org/index.php?action=sources&go=voir_source&id=174 (qui toutefois contenait un bug lorsque la chaîne recherchée ne se trouvait pas dans le texte
692function first_replace($c,$r,$t)
693{
694        if(strstr($t,$c))
695        {
696                $d = str_replace(strstr($t,$c),"",$t);
697                $f = strstr($t,$c);
698                $f = substr($f,strlen($c));
699                return $d . $r . $f;
700        }
701        else
702                return $t;
703}
704
705# Crée des liens vers le glossaire
706function lier_au_glossaire($texte)
707{
708        # Config
709        # L'identifiant (id_rubrique) de la rubrique glossaire
710        $id_rubrique = 2;
711        # Limiter l'effet du filtre à la première occurence
712        $eviter_doublons = 1; // 0 : afficher toutes les occurences
713
714        # On checke si l'entrée est déjà présente dans la table
715        # Mettre l'identifiant de la rubrique contenant le glos
716        $r = spip_query("SELECT id_breve,titre FROM spip_breves WHERE statut='publie' AND id_rubrique='$id_rubrique'");
717
718        while($o = spip_fetch_array($r))
719        {
720                if($eviter_doublons == 1)
721                {
722                        $texte = first_replace("$o[titre]","<a href=\"breve.php3?id_breve=".$o[id_breve]."\" class=\"glossaire\">$o[titre]</a>",$texte);
723                }
724                else
725                {
726                        $texte = str_replace("$o[titre]","<a href=\"breve.php3?id_breve=".$o[id_breve]."\" class=\"glossaire\">$o[titre]</a>",$texte);
727                }
728        }
729        return $texte;
730}
731?>
Note: See TracBrowser for help on using the repository browser.