source: spip-zone/_plugins_/sedna/trunk/sedna_options.php @ 92624

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

version 1.3.2 : réparer l'affichage de la dernière syndication dans le pied

Le ficher syndic.lock n'existe plus depuis SPIP 3, on supprime donc le code qui l'utilisait. Sur une idée de Fil, on affiche la date en se basant sur la date du dernier job de syndication moins l'intervalle de temps entre deux syndication (_PERIODE_SYNDICATION ou 120 valeur par défaut).

File size: 2.1 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5if (preg_match(',&age=([0-9]+)&age=([0-9]+),',$_SERVER['REQUEST_URI'],$regs)){
6        url_de_base();
7        $url = parametre_url(self(),'age',$regs[1],'&');
8        include_spip('inc/headers');
9        redirige_par_entete($url);
10}
11
12if($var_color=_request('var_color')) {
13        include_spip('inc/cookie');
14        spip_setcookie('sedna_color', $var_color, time()+365*24*3600);
15        $_COOKIE['sedna_color'] = $var_color;
16}
17
18$GLOBALS['marqueur'].=isset($_COOKIE['sedna_color'])?(":".$_COOKIE['sedna_color']):"";
19
20function sedna_utils(){
21        $GLOBALS['forcer_lang']= true;
22
23        // Descriptifs : affiches ou masques ?
24        // l'accessibilite sans javascript => affiches par defaut
25        if ($_COOKIE['sedna_style'] == 'masquer')
26                $class_desc = "desc_masquer";
27        else
28                $class_desc = "desc_afficher";
29       
30        // Si synchro active il faut comparer le contenu du cookie et ce
31        // qu'on a stocke dans le champ spip_auteurs.sedna (a creer au besoin)
32        $synchro = '';
33        if ($_COOKIE['sedna_synchro'] == 'oui'
34        AND $id = $GLOBALS['visiteur_session']['id_auteur']) {
35                // Recuperer ce qu'on a stocke
36                $champ = $champ['sedna'];
37                // mixer avec le cookie en conservant un ordre chronologique
38                if ($_COOKIE['sedna_lu'] <> $champ) {
39                        $lus_cookie = preg_split(',[- +],',$_COOKIE['sedna_lu']);
40                        $lus_champ = preg_split(',[- +],',$champ);
41                        $lus = array();
42                        while (count($lus_cookie) OR count($lus_champ)) {
43                                if ($a = array_shift($lus_cookie))
44                                        $lus[$a] = true;
45                                if ($a = array_shift($lus_champ))
46                                        $lus[$a] = true;
47                        }
48                        $lus = substr(join('-', array_keys($lus)),0,3000); # 3ko maximum
49                        // Mettre la base a jour
50                        sql_updateq("spip_auteurs",array('sedna',$lus),"id_auteur=".intval($id));
51                        $synchro = ' *';
52
53                        // Si le cookie n'est pas a jour, on l'update sur le brouteur
54                        if ($lus <> $_COOKIE['sedna_lu']) {
55                                include_spip('inc/cookie');
56                                spip_setcookie('sedna_lu', $lus,
57                                        time()+365*24*3600);
58                                        $_COOKIE['sedna_lu'] = $lus;
59                                // Signaler que la synchro a eu lieu
60                                $synchro = ' &lt;&lt;';
61                        }
62                }
63        }
64        // forcer le refresh ?
65        if ($id = intval(_request('refresh'))) {
66                include_spip('genie/syndic');
67                syndic_a_jour($id);
68        }
69}
70
71?>
Note: See TracBrowser for help on using the repository browser.