Jump to content

Extension:Redirect302

From mediawiki.org
This page is a translated version of the page Extension:Redirect302 and the translation is 100% complete.
Manuel des extensions MediaWiki
Redirect302
État de la version : non-maintenu
Implémentation Accroche
Description Ajoute une accroche pour créer des redirections de style 302
Auteur(s) Joshua Gay (Joshuagaydiscussion)
Dernière version 0.2 (2012-11-07)
MediaWiki 1.17+
Modifie la base
de données
Non
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement see below
Exemple The Free Software Directory

L'extension Redirect302 modifie l'accroche de redirection afin qu'une erreur http 302 soit émise et que la redirection soit effectuée côté client.

Installation

  • Copiez le code dans des fichiers et placez le(s) fichier(s) dans un répertoire appelé Redirect302 dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    require_once "$IP/extensions/Redirect302/Redirect302.php";
    
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Code

Redirect302.php

<?php

/**
 * Cette extension modifie l'accroche de redirection afin qu'une erreur http 302 soit émise et que la redirection soit effectuée côté client.
 *
 * @file
 * @ingroup Extensions
 * license: GPL-2.0-or-later
 */

if ( !defined( 'MEDIAWIKI' ) ) die();

// credits
define('Redirect302_VERSION', '0.2' );
$wgExtensionCredits['other'][] = array(
         'path' => __FILE__,
         'name' => 'Redirect302',
         'version' => Redirect302_VERSION,
         'author' => array( 'Joshua Gay' ),
         'url' => 'https://www.mediawiki.org/wiki/Extension:Redirect302',
         'descriptionmsg' => 'redirect302-desc',
);

// messages i18n
$dir = dirname(__FILE__) . '/';
$wgExtensionMessagesFiles['Redirect302'] = $dir . 'Redirect302.i18n.php';

// Register hook
$wgHooks['InitializeArticleMaybeRedirect'][] = 'redirect302_hook';

// Redirect with 302
function redirect302_hook($title, $request, &$ignoreRedirect, &$target, &$article) {
  if (!$ignoreRedirect && $article->isRedirect()) {
    if(($target = $article->followRedirect()) instanceof Title) {
      $target = $target->getFullURL();
    }
  }
  return true;
}

Redirect302.i18n.php

<?php
/**
 * Fichier d'internationalisation pour l'extension Redirect302.
 *
 * @file
 * @ingroup Extensions
 */

$messages = array();
 
/** English
 * @author Joshua Gay
 */
$messages['en'] = array(
         'redirect302-desc' => 'Adds a hook to create 302 style redirects',
);

/** German (Deutsch)
 * @author Kghbln
 */
$messages['de'] = array(
         'redirect302-desc' => 'Ermöglicht Umleitungen mit HTTP-Statuscode 302',
);

On-wiki translation

/** French (français)
 * @author ?
 */
$messages['fr'] = array(
         'redirect302-desc' => 'Ajoute une accroche pour créer des redirections de style 302',
);