source: spip-zone/_plugins_/_test_/sedna/sedna-milieu_fonctions.php @ 12873

Last change on this file since 12873 was 12873, checked in by cedric@…, 13 years ago

eclater sedna pour pouvoir mieux l'integrer (cela necessite tout de meme un niveau avance ...)

File size: 1.8 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5if (!function_exists('syndication_en_erreur')){
6                // filtre |syndication_en_erreur
7        function syndication_en_erreur($statut_syndication) {
8                if ($statut_syndication == 'off'
9                OR $statut_syndication == 'sus')
10                        return _T('sedna:probleme_de_syndication');
11        }
12}
13        // filtre de nettoyage XHTML strict d'un contenu potentiellement hostile
14        // |textebrut|lignes_longues|entites_html|antispam2|texte_script
15        function nettoyer_texte($texte) {
16                return texte_script(
17                        antispam2(
18                        corriger_toutes_entites_html(
19                        entites_html(
20                        couper(
21                        lignes_longues(
22                        textebrut(
23                                $texte
24                        )), 600)
25                        ))));
26        }
27        // tri maison : d'abord par jour de syndication,
28        // et a l'interieur du jour par date de maj
29        function critere_tri_sedna($idb, &$boucles, $crit) {
30                $boucle = &$boucles[$idb];
31                $boucle->order = array(
32                        "'date_format(syndic_articles.date,\\'%Y-%m-%d 00:00:00\\') DESC'", "'syndic_articles.maj DESC'", "'syndic_articles.date DESC'"
33                );
34        }
35
36        // critere {contenu}
37        function critere_contenu($idb, &$boucles, $crit) {
38                $boucle = &$boucles[$idb];
39
40                // un peu trop rapide, ca... le compilateur exige mieux
41                $boucle->hash = '
42                // RECHERCHE
43                if ($r = addslashes($GLOBALS["recherche"]))
44                        $s = "(syndic_articles.descriptif LIKE \'%$r%\'
45                                OR syndic_articles.titre LIKE \'%$r%\'
46                                OR syndic_articles.url LIKE \'%$r%\'
47                                OR syndic_articles.lesauteurs LIKE \'%$r%\')";
48                        else $s = 1;
49                ';
50                $boucle->where[] = '$s';
51        }
52        // identifiant d'un lien en fonction de son url et sa date, 4 chars
53        // 3ko = 500 * (5 caracteres + espace)
54        // 16**5 possibilites = suffisant pour eviter risque de doublons sur 500
55        function creer_identifiant ($url,$date) {
56                return substr(md5("$date$url"),0,5);
57        }
58        // unicode 24D0 = caractere de forme "(a)"
59        function antispam2($texte) {
60                return str_replace('@','&#x24d0;', $texte);
61        }
62
63?>
Note: See TracBrowser for help on using the repository browser.