diff --git a/ecrire/action/rss.php b/ecrire/action/rss.php deleted file mode 100644 index c865add26c55b82d23909a851812fa374ff937cd..0000000000000000000000000000000000000000 --- a/ecrire/action/rss.php +++ /dev/null @@ -1,138 +0,0 @@ -<?php - -/***************************************************************************\ - * SPIP, Systeme de publication pour l'internet * - * * - * Copyright (c) 2001-2008 * - * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * - * * - * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * - * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * -\***************************************************************************/ - -if (!defined("_ECRIRE_INC_VERSION")) return; - -// Ce script n'est plus utile qu'a la compatibilite avec les liens -// produits par l'ancienne definition de bouton_spip_rss - -include_spip('inc/acces'); -include_spip('inc/texte'); // utile pour l'espace public, deja fait sinon - -// On recoit un op (operation) + args (arguments) -// + id (id_auteur) + cle (low_sec(id_auteur, "op args")) -// On verifie que la cle correspond -// On cree ensuite le RSS correspondant a l'operation - -// Pour memoire, la forme des URLs : -// 1.8: spip_rss.php?op=forums&args=page-public&id=4&cle=047b4183&lang=fr -// 1.9: spip.php?action=rss&op=forums&args=page-public&id=4&cle=047b4183&lang=fr -// ou encore spip.php?action=rss&op=a-suivre&id=5&cle=5731e121&lang=fr - -// http://doc.spip.org/@action_rss_dist -function action_rss_dist() -{ - $op = _request('op'); - $args = _request('args'); - $cle = _request('cle'); - $id = _request('id'); - $lang = _request('lang'); - - spip_timer('rss'); - if (verifier_low_sec($id, $cle, "rss $op $args")) { - lang_select($lang); - $op = str_replace('-', '_', $op); - $contexte = $_REQUEST; - $contexte['cle'] = afficher_low_sec($id, $op, $args); - $contexte['fond'] = 'prive/rss/' . $op; - foreach (split(':', $args) as $bout) { - list($var, $val) = split('-', $bout, 2); - $contexte[$var] = $val; - } - $f = charger_fonction($op, 'rss', true); - if ($f) $contexte = $f($contexte); - } else $contexte = ''; - if ($contexte) { - $r = evaluer_fond ('', $contexte); - echo $r['texte']; - $message ="spip_rss s'applique sur " . $contexte['fond'] . " et $args pour $id par $f cle " . $contexte['cle']; - } else $message = ("spip_rss sur '$op $args pour $id' incorrect"); - spip_log("$message (" . spip_timer('rss') .')'); - exit; -} - -// Dans quelques cas le contexte doit etre revu -// Il faudrait les eliminer, et gerer la compatibilite autrement - -# Compatibilite des anciens liens, inutile pour les nouveaux. -// http://doc.spip.org/@rss_revisions -function rss_revisions($a) -{ - if (isset($a['langue_choisie'])) { - $a['lang'] = $a['langue_choisie']; - unset($a['langue_choisie']); - } - if (isset($a['id_auteur'])) { - $a['statut'] = 'prepa'; - } else { - $a['statut'] = ''; - } - include_spip('inc/suivi_versions'); - return $a; -} -// suivi public des forums publics -// Ne sert plus qu'a la compatibilite, c'est du squelette public a present -// http://doc.spip.org/@rss_forum -function rss_forum($a) -{ - if ($id = intval($a['id_article'])) { - $a['fond'] = 'rss_forum_article'; - } - else if ($id = intval($a['id_syndic'])) { - $a['fond'] = 'rss_forum_syndic'; - } - else if ($id = intval($a['id_breve'])) { - $a['fond'] = 'rss_forum_breve'; - } - else if ($id = intval($a['id_rubrique'])) { - $a['fond'] = 'rss_forum_rubrique'; - } - else if ($id = intval($a['id_thread'])) { - $a['fond'] = 'rss_forum_thread'; - } else { $a ='';} - - return $a; -} - -# suivi prive de tous les forums -// Ne sert plus qu'a la compatibilite, cf les squeletes forums_$page a present -// http://doc.spip.org/@rss_forums -function rss_forums($a) -{ - switch ($a['page']) { - case 'public': - $a['statut'] = array('publie','prop','off','spam'); - $a['texte'] = '.'; - return $a; - case 'prop': - $a['statut'] = array('prop'); - $a['texte'] = '.*'; - return $a; - case 'spam': - $a['statut'] = array('spam'); - $a['texte'] = '.*'; - return $a; - case 'interne': - $a['statut'] = array('prive','privac','privoff','privadm'); - $a['texte'] = '.'; - return $a; - case 'vide': - $a['statut'] = array('publie','off','prive','privac','privoff','privadm'); - $a['texte'] = '^$'; - return $a; - default: - return ''; - } -} - - -?> diff --git a/ecrire/public.php b/ecrire/public.php index e0faaf7d28bfaac1af5f133063a4f8ebddd41783..542c5148522c260924b726417465397556ad7870 100644 --- a/ecrire/public.php +++ b/ecrire/public.php @@ -69,7 +69,11 @@ else { echo minipres(); exit; } - + // l'argument Page a priorite sur l'argument action + // le cas se presente a cause des RewriteRule d'Apache + // qui permettent d'ajouter un argument dans la QueryString + // mais pas d'en retirer un en conservant les autres. + unset($_GET['action']); # par defaut } else { // traiter le cas pathologique d'un upload de document ayant echoue diff --git a/htaccess.txt b/htaccess.txt index 91276f0c79d491d2727d30a9f6c4415bf1e5c18f..2735d91085a9929bb91008a8da9b227ecb7ace88 100644 --- a/htaccess.txt +++ b/htaccess.txt @@ -44,6 +44,13 @@ RewriteBase / ################ GESTIONS DES URLS SPIP ####################### +# Deux pseudo-actions a present evacuees +# N'y at-il pas moyen de REMPLACER un nom dans la QueryString ? +RewriteCond %{QUERY_STRING} action=rss +RewriteRule spip.php spip.php?page=rss [QSA,L] +RewriteCond %{QUERY_STRING} action=ical +RewriteRule spip.php spip.php?page=ical_prive [QSA,L] + ### # Si le fichier ou repertoire demande existe # ignorer toutes les regles qui suivent @@ -68,8 +75,10 @@ RewriteRule ^site([0-9]+)(\.html)?$ spip.php?page=site&id_syndic=$1 [QSA,L] RewriteRule ^(rubrique|article|breve|mot|auteur|site|agenda|backend|backend-breves|distrib|forum|ical|plan|recherche|sommaire|sommaire_texte)\.php3?$ spip.php?page=$1 [QSA,L] RewriteRule ^resume.php[3]? spip.php?page=sommaire [QSA,L] RewriteRule ^page.php[3]? spip.php [QSA,L] -RewriteRule ^spip_cal\.php3?$ spip.php?action=ical [QSA,L] -RewriteRule ^spip_rss\.php3?$ spip.php?action=rss [QSA,L] +RewriteRule ^spip_cal\.php3?$ spip.php?page=ical_prive [QSA,L] +RewriteRule ^spip_rss\.php3?$ spip.php?page=rss [QSA,L] + + # Fin compatibilite ###