source: spip-zone/_plugins_/ecommerce/squelettes_ecommerce/spip_rss.php @ 30253

Last change on this file since 30253 was 30253, checked in by gilles.vincent@…, 11 years ago

[30252] suite : split est deprecie en 5.3.0

File size: 4.0 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2005                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13
14// SPIP RSS
15//
16// On recoit un op (operation) + args (arguments)
17// + id (id_auteur) + cle (low_sec(id_auteur, "op args"))
18// On verifie que la cle correspond
19// On cree ensuite le RSS correspondant a l'operation
20
21include("ecrire/inc_version.php3");
22include_ecrire("inc_texte.php3");
23include_ecrire('inc_rss.php3');
24include_ecrire("inc_acces.php3");
25// Gestionnaire d'URLs
26if (@file_exists("inc-urls.php3"))
27        include_local("inc-urls.php3");
28else
29        include_local("inc-urls-".$GLOBALS['type_urls'].".php3");
30
31
32//
33// Verifier la securite du lien et decoder les arguments
34//
35spip_timer('rss');
36if (!verifier_low_sec ($id, $cle,
37"rss $op $args"
38)
39OR ($a['id_auteur']>0 AND $id<>$a['id_auteur'])) {
40        $op = 'erreur securite';
41        unset($a);
42} else {
43        $a = array();
44        foreach (explode(':', $args) as $bout) {
45                list($var, $val) = explode('-', $bout, 2);
46                $a[$var] = $val;
47        }
48        include_ecrire('inc_lang.php3');
49        lang_select($lang);
50}
51
52//
53// Choisir la fonction de calcul du RSS
54//
55switch($op) {
56        # forum public
57        case 'forum':
58                if ($id = intval($a['id_article'])) {
59                        $critere = "statut='publie' AND id_article=$id";
60                        $url = generer_url_article($id);
61                }
62                else if ($id = intval($a['id_syndic'])) {
63                        $critere = "statut='publie' AND id_syndic=$id";
64                        $url = generer_url_site($id);
65                }
66                else if ($id = intval($a['id_breve'])) {
67                        $critere = "statut='publie' AND id_breve=$id";
68                        $url = generer_url_breve($id);
69                }
70                else if ($id = intval($a['id_rubrique'])) {
71                        $critere = "statut='publie' AND id_rubrique=$id";
72                        $url = generer_url_rubrique($id);
73                }
74                else if ($id = intval($a['id_thread'])) {
75                        $critere = "statut='publie' AND id_thread=$id";
76                        $url = generer_url_forum($id);
77                }
78                if ($id) $rss = rss_suivi_forums($a, $critere, false);
79                $title = _T("ecrire:titre_page_forum_suivi");
80                break;
81        # suivi prive des forums
82        case 'forums':
83                include_ecrire("inc_forum.php3");
84                $critere = critere_statut_controle_forum($a['page']);
85                $rss = rss_suivi_forums($a, $critere, true);
86                $title = _T("ecrire:titre_page_forum_suivi")." (".$a['page'].")";
87                $url = _DIR_RESTREINT_ABS .'controle_forum.php3?page='.$a['page'];
88                break;
89        # revisions des articles
90        case 'revisions':
91                $rss = rss_suivi_versions($a);
92                $title = _T("icone_suivi_revisions");
93                $url = _DIR_RESTREINT_ABS .'suivi_revisions.php3?';
94                foreach (array('id_secteur', 'id_auteur', 'lang_choisie') as $var)
95                        if ($a[$var]) $url.= '&'.$var.'='.$a[$var];
96                break;
97        # messagerie privee
98        case 'messagerie':
99                $rss = rss_suivi_messagerie($a);
100                $title = _T("icone_messagerie_personnelle");
101                $url = _DIR_RESTREINT_ABS .'messagerie.php3';
102                break;
103        # a suivre
104        case 'a-suivre':
105                $rss = rss_a_suivre($a);
106                $title = _T("icone_a_suivre");
107                $url = _DIR_RESTREINT_ABS .'';
108                break;
109        case 'erreur securite':
110                $rss = array(array('title' => _L('Erreur de s&eacute;curit&eacute;')));
111                $title = _L('Erreur de s&eacute;curit&eacute;');
112                $url = '';
113                break;
114        default:
115                $rss = array(array('title' => _L('Erreur')));
116                $title = _L('Erreur');
117                $url = '';
118                break;
119}
120
121//
122// Envoyer le RSS
123//
124$intro = array(
125        'title' => "[".lire_meta('nom_site')."] RSS ".$title,
126        'url' => $url
127);
128
129list($content,$header) = affiche_rss($rss, $intro, $fmt);
130if ($header) @header($header);
131echo $content;
132
133spip_log("spip_rss: ".spip_timer('rss'));
134exit;
135
136
137?>
Note: See TracBrowser for help on using the repository browser.