From 3696e365d5eb10e34a92d0ff528abfda3b1457d1 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Tue, 10 Jan 2006 14:59:38 +0000 Subject: [PATCH] basculement de spip_redirect vers spip_action, en conservant le premier sous une forme adaptee pour assurer la continuite du service --- .gitattributes | 1 + ecrire/inc_mail.php3 | 6 +--- ecrire/inc_presentation.php3 | 4 +-- ecrire/inc_signatures.php3 | 3 +- ecrire/inc_spip_action_ical.php | 1 - ecrire/inc_spip_action_redirect.php | 56 +++++++++++++++++++++++++++++ ecrire/inc_urls.php3 | 14 ++++---- inc-urls-propres.php3 | 2 +- spip_redirect.php3 | 41 ++------------------- 9 files changed, 71 insertions(+), 57 deletions(-) create mode 100644 ecrire/inc_spip_action_redirect.php diff --git a/.gitattributes b/.gitattributes index 658ca5d0f4..a84496f75d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -320,6 +320,7 @@ ecrire/inc_spip_action_ical.php -text ecrire/inc_spip_action_iconifier.php -text ecrire/inc_spip_action_joindre.php -text ecrire/inc_spip_action_purger.php -text +ecrire/inc_spip_action_redirect.php -text ecrire/inc_spip_action_supprimer.php -text ecrire/inc_spip_action_test_dirs.php -text ecrire/inc_spip_action_tester.php -text diff --git a/ecrire/inc_mail.php3 b/ecrire/inc_mail.php3 index 00f1d179af..07b3c253f5 100644 --- a/ecrire/inc_mail.php3 +++ b/ecrire/inc_mail.php3 @@ -10,12 +10,8 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ - -// if (!defined("_ECRIRE_INC_VERSION")) return; - - // // Infos de mails sur l'hebergeur (tout ca est assez sale) // @@ -192,7 +188,7 @@ function extrait_article($row) { $extrait .= "\n\n".textebrut(propre(couper_intro("$chapo<p>$texte", 700)))."\n\n"; if ($statut == 'publie') $extrait .= "-> ". - generer_url_public('spip_redirect', "id_article=$id_article") . + generer_url_public('spip_action.php', "action=redirect&id_article=$id_article") . "\n\n"; return $extrait; } diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index d3cdfc352a..66ed06a415 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -3261,7 +3261,7 @@ function fin_page($credits='') { "</a></div>"; } else { echo '<div style="text-align: right; font-family: Verdana; font-size: 8pt">', - info_copyright(), "<br />"._T('info_copyright_doc'),'</div>' ; + info_copyright(), "<br />",_T('info_copyright_doc'),'</div>' ; } fin_grand_cadre(); @@ -3386,7 +3386,7 @@ function voir_en_ligne ($type, $id, $statut=false, $image='racine-24.gif') { } if ($message) - icone_horizontale($message, generer_url_public('spip_redirect',"id_$type=$id&var_mode=$en_ligne"), $image, "rien.gif"); + icone_horizontale($message, generer_url_public('spip_action.php', "action=redirect&id_$type=$id&var_mode=$en_ligne"), $image, "rien.gif"); } diff --git a/ecrire/inc_signatures.php3 b/ecrire/inc_signatures.php3 index 517810bd2d..4405d55f20 100644 --- a/ecrire/inc_signatures.php3 +++ b/ecrire/inc_signatures.php3 @@ -11,7 +11,6 @@ \***************************************************************************/ -// if (!defined("_ECRIRE_INC_VERSION")) return; include_ecrire('inc_urls'); @@ -88,7 +87,7 @@ function controle_signatures($script, $id, $debut, $where, $order, $limit=10) { echo "<a href='", (($statut == 'publie') ? - generer_url_public('spip_redirect', "id_article=$id_article") : + generer_url_public('spip_action.php', "action=redirect&id_article=$id_article") : generer_url_ecrire('articles', "id_article=$id_article")), "'>", typo($titre), diff --git a/ecrire/inc_spip_action_ical.php b/ecrire/inc_spip_action_ical.php index f87c387d5d..0955930c2f 100644 --- a/ecrire/inc_spip_action_ical.php +++ b/ecrire/inc_spip_action_ical.php @@ -27,7 +27,6 @@ function ligne ($texte) { function spip_action_ical_dist() { global $id_auteur, $arg, $action; - spip_log("fonction spipcal $id_auteur, $arg, $action"); if (verifier_low_sec($id_auteur, $arg, $action)) { $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=" . intval($id_auteur)); diff --git a/ecrire/inc_spip_action_redirect.php b/ecrire/inc_spip_action_redirect.php new file mode 100644 index 0000000000..c2e1713388 --- /dev/null +++ b/ecrire/inc_spip_action_redirect.php @@ -0,0 +1,56 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2006 * + * 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. * +\***************************************************************************/ + +// pour rediriger vers l'URL canonique de l'article, +// en indiquant recalcul et previsu + +if (!defined("_ECRIRE_INC_VERSION")) return; + +charger_generer_url(); + +function spip_action_redirect_dist() +{ + global $id_article, $id_auteur, $id_breve, $id_forum, $id_mot, $id_rubrique, $id_site, $id_syndic, $var_mode; + + + if ($id_article = intval($id_article)) { + $url = generer_url_article($id_article); +} + else if ($id_breve = intval($id_breve)) { + $url = generer_url_breve($id_breve); +} + else if ($id_forum = intval($id_forum)) { + $url = generer_url_forum($id_forum); +} + else if ($id_rubrique = intval($id_rubrique)) { + $url = generer_url_rubrique($id_rubrique); +} + else if ($id_mot = intval($id_mot)) { + $url = generer_url_mot($id_mot); +} + else if ($id_auteur = intval($id_auteur)) { + $url = generer_url_auteur($id_auteur); +} + else if ($id_syndic = intval($id_syndic) OR $id_syndic = intval($id_site)) { + $url = generer_url_site($id_syndic); +} +else { + $url = _DIR_RESTREINT_ABS; +} + +// Ne pas masquer cette eventuelle erreur (aide a detecter des lignes vides +// dans inc-urls ou mes_fonctions/mes_options) + header("Location: " . (!$var_mode ? $url : ($url . (strpos($url,'?') ? '&' : '?') ."var_mode=" . $var_mode))); +} + + +?> diff --git a/ecrire/inc_urls.php3 b/ecrire/inc_urls.php3 index f52be37de3..0d0909dfb1 100644 --- a/ecrire/inc_urls.php3 +++ b/ecrire/inc_urls.php3 @@ -19,7 +19,7 @@ function generer_url_article($id_article) { if (($row = spip_fetch_array(spip_query( "SELECT statut FROM spip_articles WHERE id_article=$id_article" ))) AND ($row['statut'] == 'publie')) - return generer_url_public('spip_redirect',"id_article=$id_article"); + return generer_url_public('spip_action.php', "action=redirect&id_article=$id_article"); else return generer_url_ecrire('articles',"id_article=$id_article"); } @@ -27,7 +27,7 @@ function generer_url_rubrique($id_rubrique) { if (($row = spip_fetch_array(spip_query( "SELECT statut FROM spip_rubriques WHERE id_rubrique=$id_rubrique" ))) AND ($row['statut'] == 'publie')) - return generer_url_public('spip_redirect',"id_rubrique=$id_rubrique"); + return generer_url_public('spip_action.php', "action=redirect&id_rubrique=$id_rubrique"); else return generer_url_ecrire('naviguer',"id_rubrique=$id_rubrique"); } @@ -36,25 +36,25 @@ function generer_url_breve($id_breve) { if (($row = spip_fetch_array(spip_query( "SELECT statut FROM spip_breves WHERE id_breve=$id_breve" ))) AND ($row['statut'] == 'publie')) - return generer_url_public('spip_redirect',"id_breve=$id_breve"); + return generer_url_public('spip_action.php', "action=redirect&id_breve=$id_breve"); else return generer_url_ecrire('breves_voir',"id_breve=$id_breve"); } function generer_url_forum($id_forum) { - return generer_url_public('spip_redirect',"id_forum=$id_forum"); + return generer_url_public('spip_action.php', "action=redirect&id_forum=$id_forum"); } function generer_url_mot($id_mot) { - return generer_url_public('spip_redirect',"id_mot=$id_mot"); + return generer_url_public('spip_action.php', "action=redirect&id_mot=$id_mot"); } function generer_url_site($id_syndic) { - return generer_url_public('spip_redirect',"id_syndic=$id_syndic"); + return generer_url_public('spip_action.php', "action=redirect&id_syndic=$id_syndic"); } function generer_url_auteur($id_auteur) { - return generer_url_public('spip_redirect',"id_auteur=$id_auteur"); + return generer_url_public('spip_action.php', "action=redirect&id_auteur=$id_auteur"); } function generer_url_document($id_document) { diff --git a/inc-urls-propres.php3 b/inc-urls-propres.php3 index 49ac134659..2024152c0a 100644 --- a/inc-urls-propres.php3 +++ b/inc-urls-propres.php3 @@ -74,7 +74,7 @@ function _generer_url_propre($type, $id_objet) { // 1) il n'existe pas, ou // 2) l'objet n'est pas 'publie' et on est admin connecte, ou // 3) on le demande explicitement (preview) et on est admin connecte - if (defined('_SPIP_REDIRECT') AND + if (function_exists('spip_action_redirect_dist') AND ($GLOBALS['preview'] OR ($row['statut'] <> 'publie')) AND $GLOBALS['auteur_session']['statut'] == '0minirezo') $modif_url_propre = true; diff --git a/spip_redirect.php3 b/spip_redirect.php3 index 61ad160495..924151722d 100644 --- a/spip_redirect.php3 +++ b/spip_redirect.php3 @@ -10,47 +10,10 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ -// redirige vers l'URL canonique de l'article, -// en indiquant recalcul et previsu +// pour compatibilite. Remplacer par spip_action.php?action=redirect + args define ('_SPIP_REDIRECT', 1); include ("ecrire/inc_version.php3"); -charger_generer_url(); - -function spip_action_redirect_dist() -{ - global $id_article, $id_auteur, $id_breve, $id_forum, $id_mot, $id_rubrique, $id_site, $id_syndic, $var_mode; - - - if ($id_article = intval($id_article)) { - $url = generer_url_article($id_article); -} - else if ($id_breve = intval($id_breve)) { - $url = generer_url_breve($id_breve); -} - else if ($id_forum = intval($id_forum)) { - $url = generer_url_forum($id_forum); -} - else if ($id_rubrique = intval($id_rubrique)) { - $url = generer_url_rubrique($id_rubrique); -} - else if ($id_mot = intval($id_mot)) { - $url = generer_url_mot($id_mot); -} - else if ($id_auteur = intval($id_auteur)) { - $url = generer_url_auteur($id_auteur); -} - else if ($id_syndic = intval($id_syndic) OR $id_syndic = intval($id_site)) { - $url = generer_url_site($id_syndic); -} -else { - $url = _DIR_RESTREINT_ABS; -} - -// Ne pas masquer cette eventuelle erreur (aide a detecter des lignes vides -// dans inc-urls ou mes_fonctions/mes_options) - header("Location: " . (!$var_mode ? $url : ($url . (strpos($url,'?') ? '&' : '?') ."var_mode=" . $var_mode))); -} - +include_ecrire("inc_spip_action_redirect.php"); spip_action_redirect_dist(); ?> -- GitLab