[ Index ]
 

Code source de SPIP 1.8.3

Accédez au Source d'autres logiciels libres | Soutenez Angelica Josefina !

title

Body

[fermer]

/ -> spip_rss.php (source)

   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  
  21  include ("ecrire/inc_version.php3");
  22  include_ecrire ("inc_texte.php3");
  23  include_ecrire ('inc_rss.php3');
  24  include_ecrire ("inc_acces.php3");
  25  // Gestionnaire d'URLs
  26  if (@file_exists("inc-urls.php3"))
  27      include_local("inc-urls.php3");
  28  else
  29      include_local("inc-urls-".$GLOBALS['type_urls'].".php3");
  30  
  31  
  32  //
  33  // Verifier la securite du lien et decoder les arguments
  34  //
  35  spip_timer('rss');
  36  if (!verifier_low_sec ($id, $cle,
  37  "rss $op $args"
  38  )) {
  39      $op = 'erreur securite';
  40      unset($a);
  41  } else {
  42      $a = array();
  43      foreach (split(':', $args) as $bout) {
  44          list($var, $val) = split('-', $bout, 2);
  45          $a[$var] = $val;
  46      }
  47      include_ecrire ('inc_lang.php3');
  48      lang_select($lang);
  49  }
  50  
  51  //
  52  // Choisir la fonction de calcul du RSS
  53  //
  54  switch($op) {
  55      # forum public
  56      case 'forum':
  57          if ($id = intval($a['id_article'])) {
  58              $critere = "statut='publie' AND id_article=$id";
  59              $url = generer_url_article($id);
  60          }
  61          else if ($id = intval($a['id_syndic'])) {
  62              $critere = "statut='publie' AND id_syndic=$id";
  63              $url = generer_url_site($id);
  64          }
  65          else if ($id = intval($a['id_breve'])) {
  66              $critere = "statut='publie' AND id_breve=$id";
  67              $url = generer_url_breve($id);
  68          }
  69          else if ($id = intval($a['id_rubrique'])) {
  70              $critere = "statut='publie' AND id_rubrique=$id";
  71              $url = generer_url_rubrique($id);
  72          }
  73          else if ($id = intval($a['id_thread'])) {
  74              $critere = "statut='publie' AND id_thread=$id";
  75              $url = generer_url_forum($id);
  76          }
  77          if ($id) $rss = rss_suivi_forums($a, $critere, false);
  78          $title = _T("ecrire:titre_page_forum_suivi");
  79          break;
  80      # suivi prive des forums
  81      case 'forums':
  82          include_ecrire ("inc_forum.php3");
  83          $critere = critere_statut_controle_forum($a['page']);
  84          $rss = rss_suivi_forums($a, $critere, true);
  85          $title = _T("ecrire:titre_page_forum_suivi")." (".$a['page'].")";
  86          $url = _DIR_RESTREINT_ABS .'controle_forum.php3?page='.$a['page'];
  87          break;
  88      # revisions des articles
  89      case 'revisions':
  90          $rss = rss_suivi_versions($a);
  91          $title = _T("icone_suivi_revisions");
  92          $url = _DIR_RESTREINT_ABS .'suivi_revisions.php3?';
  93          foreach (array('id_secteur', 'id_auteur', 'lang_choisie') as $var)
  94              if ($a[$var]) $url.= '&'.$var.'='.$a[$var];
  95          break;
  96      # messagerie privee
  97      case 'messagerie':
  98          $rss = rss_suivi_messagerie($a);
  99          $title = _T("icone_messagerie_personnelle");
 100          $url = _DIR_RESTREINT_ABS .'messagerie.php3';
 101          break;
 102      # a suivre
 103      case 'a-suivre':
 104          $rss = rss_a_suivre($a);
 105          $title = _T("icone_a_suivre");
 106          $url = _DIR_RESTREINT_ABS .'';
 107          break;
 108      case 'erreur securite':
 109          $rss = array(array('title' => _L('Erreur de s&eacute;curit&eacute;')));
 110          $title = _L('Erreur de s&eacute;curit&eacute;');
 111          $url = '';
 112          break;
 113      default:
 114          $rss = array(array('title' => _L('Erreur')));
 115          $title = _L('Erreur');
 116          $url = '';
 117          break;
 118  }
 119  
 120  //
 121  // Envoyer le RSS
 122  //
 123  $intro = array(
 124      'title' => "[".lire_meta('nom_site')."] RSS ".$title,
 125      'url' => $url
 126  );
 127  
 128  list($content,$header) = affiche_rss($rss, $intro, $fmt);
 129  if ($header) @header($header);
 130  echo $content;
 131  
 132  spip_log("spip_rss: ".spip_timer('rss'));
 133  exit;
 134  
 135  
 136  ?>


Généré le : Thu Feb 22 22:27:47 2007 par Balluche grâce à PHPXref 0.7