Manual:$wgConf/fr

From MediaWiki.org
Jump to: navigation, search
Objets globaux: $wgConf
Crée un objet de configuration de site. Non utilisé pour la plus grande partie dans une installation par défaut.
Introduit dans la version: 1.5.0(r9670)
Retiré dans la version: toujours utilisé
Valeurs autorisées:
Valeur par défaut: nouvel objet SiteConfiguration.

Autres paramètres: Alphabétique | Par Fonction


Contents

Détails [edit]

Crée un objet de configuration de site. Non utilisé pour la plus grande partie dans une installation par défaut.

Ce paramètre est utilisé dans une installation de masse de Wikimedia pour fournir un fichier de configuration centralisé pour une centaine de wikis, fournissant des valeurs par défaut par groupe de sites et des écrasements par wiki.

Cela peut sembler un peu déroutant, toutefois. :)

Actuellement, il est nécessaire pour CentralAuth pour parcourir les informations par site, par ex. lier les bonnes pages utilisateur sur chaque wiki.

Configuration [edit]

Les wikis sont groupés par le suffixe de leurs noms de base de données; sur une grande installation, il peut par exemple y avoir 'enwiki' et 'enwiktionary' et 'enwikibooks', chacun dans un groupe de suffixe différent. Les suffixes doivent être déclarés dans la variable de membre suffixes de $wgConf si vous voulez utiliser $wgConf->siteFromDB().

$wgConf->settings est le tableau de sparamètres. Son format est $wgConf->settings['wgSettingName']['wiki'].
Les paramètres peuvent être assignés à (du plus spécifique au moins spécifique, c'est la partie 'wiki' de $wgConf->settings mentionné ci-dessus):

  • un nom de base de données spécifique
  • une balise wiki (depuis 1.12.0)
  • un suffixe (par ex. 'wiki' ou 'wiktionary') pour affecter tous ceux qui sont dans ce groupe de suffixe (peut être déterminé avec $wgConf->siteFromDB())
  • 'default' pour affecter tous les wikis

Pour les paramètres chaîne, vous pouvez définir des paramètres qui seront remplacés lors de l'extraction des paramètres. Cela peut être utile quand le paramètre a le même format pour tous les wikis. Le format est $name. Faites attention d'utiliser des apostrophes simples (') ou d'échapper le $ (\$), sinon il sera remplacé par la variable PHP (qui peut ne pas être définie à ce moment-là).

1.13 et précédents [edit]

Version de MediaWiki: 1.13

Lors de l'extraction des paramètres globaux, l'objet sera d'abord recherché au niveau le plus spécifique (le premier dans la liste ci-dessus) et, s'il n'est pas trouvé, il sera cherché dans les niveaux moins spécifiques. Quand il est trouvé, il n'est pas cherché dans de moins spécifiques. Cela veut dire que vous devez faire attention à certains paramètres spécifiques, comme $wgGroupPermissions, car s'ils ne correspondent pas au paramètre de niveaux moins spécifiques, ni à la valeur par défaut (celle dans DefaultSettings.php), vous deverz le faire par vous-mêmes.

Pour extraire les paramètres dans les variables globales, vous pouvez utiliser $wgConf->extractAllGlobals( $wiki, $suffix, $params, $wikiTags );.

Les paramètres sont:

  • $wiki: Nom de base de données du wiki (en général $wgDBname). Vous devez le définir par vous-mêmes.
  • $suffix: Suffixe du wiki, utilisé pour obtenir le niveau de suffixe.
  • $params: tableau de paramètres faisant correspondre son nom à sa valeur.
  • $wikiTags: (depuis 1.12.0) tableau de balises wiki.

1.14 et suivants [edit]

Version de MediaWiki: 1.14

Certaines fonctionnalités nouvelles ont été ajoutées en 1.14.0. La partie 1.13 et précédents peut toutefois toujours être utilisée.

Fonction de rappel [edit]

Depuis 1.14, un rappel a été introduit pour permettre de modifier les paramètres passés à SiteConfiguration::get() et à al fonction liée. Il peut être utilisé pour modifier les paramètres quand ce genre de fonction est appelé après LocalSettings.php (ce peut être le cas avec CentralAuth). Vous pouvez le définir dans $wgConf->siteParamsCallback. La fonction de rappel recevra l'objet SiteConfiguration en premier argument, et le nom du wiki en second. Il doit renvoyer un tableau avec les clés suivantes (toutes optionnelles):

  • suffix: suffixe du site (correspondant au paramètre $suffix de SiteConfiguration::get() et semblables)
  • lang: langue du site
  • tags: tableau de balises wiki (correspondant au paramètre $wikiTags)
  • params: tableau de paramètres à remplacer (correspondant au paramètre $params)

Il sera fusionné avec les paramètres passés à SiteConfiguration::get() et autres fonctions semblables. Si le suffix et le lang sont remplis, alors ils seront utilisés pour écraser le comportement par défaut de $wgConf->siteFromDB().

Fusion des paramètres [edit]

Les tableaux peuvent maintenant être fusionnés. Cela peut être utile pour $wgGroupPermissions. Pour l'utiliser, vous devez préfixer les clés avec un "+" pour les paramètres que vous voulez fusionner.

  • Pour fusionner votre version personnalisée du paramètre avec celle de DefaultSettings.php, préfixez le nom du paramètre par "+" (comme '+wgGroupPermissions')
  • Pour fusionner un niveau plus spécifique avec un moins spécifique, préfixez le niveau avec un "+".

Les deux possibilités peuvent être utilisées ensemble.

Exemple avec $wgGroupPermissions:

$wgConf->settings = array(
 
// ...
 
// fusionner cela avec la valeur de $wgGroupPermissions définie
// dans DefaultSettings.php
'+wgGroupPermissions' => array(
 
    // Permet aux bureaucrates de modifier le statut sur les wikis distants
    // et permet aux utilisateurs anonymes de créer une page (cette partie
    // ne sera pas fusionnée avec 'default' car il n'y  pas de
    // "+" en face de 'centralwiki')
    'centralwiki' => array(
        'bureaucrat' => array(
            'userrights-interwiki' => true,
        ),
    ),
 
    // Un wiki avec droit d'annulation donné aux utilisateurs connectés
    // la partie 'default' sera fusionnée avec ces valeurs
    // (c.à.d. les utilsiateurs anonymes ne pourront pas créer de page)
    '+somewiki' => array(
        'user' => array(
            'rollback' => true,
        ),
    ),
 
    // Interdit aux utilisateurs anonymes de créer des pages.
    // Note: la cla 'default' ne devrait jamais avoir un "+" devant elle
    'default' => array(
        '*' => array(
            'createpage' => false,
            'createtalk' => false,
        ),
    ),
),
 
// ...
 
);

Exemple [edit]

Cet exemple utilise 3 wikis: dewiki, enwiki et frwiki. Ils sont situés à http://localhost/$wgDBname/ (c.à.d. http://localhost/dewiki/, http://localhost/enwiki/ et http://localhost/frwiki/).

On suppose que $wgDBname est déjà défini.

Note Note: Dans cet exemple, $wgConf->settings est déclaré dans InitialiseSettings.php; ce n'est pas obligatoire et peut être fait dans LocalSettings.php.

InitialiseSettings.php [edit]

<?php
 
$wgConf->settings = array(
 
'wgServer' => array(
    'default' => 'http://localhost',
),
 
'wgScriptPath' => array(
    'default' => '/$wiki',
),
 
'wgArticlePath' => array(
    'default' => '/$wiki/index.php/$1',
),
 
'wgSitename' => array(
    'default' => 'Wikipedia',
    'frwiki' => 'Wikipédia',
),
 
'wgLanguageCode' => array(
    'default' => '$lang',
),
 
'wgLocalInterwiki' => array(
    'default' => '$lang',
),
 
);

LocalSettings.php [edit]

pour 1.13 et précédents [edit]

Version de MediaWiki: 1.13


$wgLocalDatabases = array(
    'dewiki',
    'enwiki',
    'frwiki',
);
 
$wgConf->wikis = $wgLocalDatabases;
$wgConf->suffixes = array( 'wiki' );
$wgConf->localVHosts = array( 'localhost' );
 
require_once "$IP/InitialiseSettings.php";
 
list( $site, $lang ) = $wgConf->siteFromDB( $wgDBname );
$params = array(
    'site' => $site,
    'lang' => $lang,
    'wiki' => $wgDBname,
);
$wgConf->extractAllGlobals( $wgDBname, $site, $params, array() );

pour 1.14 et suivants [edit]

Version de MediaWiki: 1.14


$wgLocalDatabases = array(
    'dewiki',
    'enwiki',
    'frwiki',
);
 
$wgConf->wikis = $wgLocalDatabases;
$wgConf->suffixes = array( 'wiki' );
$wgConf->localVHosts = array( 'localhost' );
 
require_once "$IP/InitialiseSettings.php";
 
function efGetSiteParams( $conf, $wiki ) {
    $site = null;
    $lang = null;
    foreach( $conf->suffixes as $suffix ) {
        if ( substr( $wiki, -strlen( $suffix ) ) == $suffix ) {
            $site = $suffix;
            $lang = substr( $wiki, 0, -strlen( $suffix ) );
            break;
        }
    }
    return array(
        'suffix' => $site,
        'lang' => $lang,
        'params' => array(
            'lang' => $lang,
            'site' => $site,
            'wiki' => $wiki,
        ),
        'tags' => array(),
    );
}
 
$wgConf->suffixes = $wgLocalDatabases;
$wgConf->siteParamsCallback = 'efGetSiteParams';
$wgConf->extractAllGlobals( $wgDBname );

Configuration de Wikimedia [edit]

Pour voir comment Wikimedia utilise $wgConf pour configurer ses wikis, voyez:

Langue : English  • français • 日本語