Kézikönyv:$wgConf

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgConf and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎magyar • ‎polski • ‎português do Brasil • ‎中文 • ‎日本語 • ‎한국어
Global Objects: $wgConf
Új oldalkonfigurációs objektumot hoz létre. Alapértelmezésben nincs rá sok szükség.
Bevezetve:1.5.0 (r9670)
Eltávolítva:használatban
Megengedett értékek:nincs megadva
Alapértelmezett érték:új SiteConfiguration-objektum

Részletek

A változó egy oldalkonfigurációs változót hoz létre; erre alapértelmezésben nincs sok szükség.

A beállítás a tömeges telepítéskor használva, amikor több száz wikinek kell egyetlen konfigurációs állományt létrehozni, illetve ekkor csoportonkénti alapértelmezéseket lehet létrehozni, amelyek wikinként felülírhatóak.

A beállítás mibenléte nem feltétlenül egyértelmű. :) Jelenleg a CentralAuth kiterjesztésnek van rá szüksége az oldalankénti információk (például az egyes felhasználói lapok hivatkozásainak) összegyűjtésére.

Konfiguráció

A wikik csoportosítása az adatbázisbéli nevük előtagja alapján történik; nagyobb telepítéseknél például „huwiki”, „huwiktionary” és „huwikibooks”; ezek mindegyike külön előtag-csoportot alkot. Az előtagokat a $wgConf suffixes alváltozójában kell definiálni, ha a $wgConf->siteFromDB() formát használnád.

A $wgConf->settings a beállítások tömbje, kitöltése a $wgConf->settings['wgSettingName']['wiki'] formában történik.
A következőket kell konfigurálni a fent említett $wgConf->settings változó „wiki” részében:

  • adatbázis neve
  • wikicímke (az 1.12.0 óta)
  • előtag (például „wiki” vagy „wiktionary”), amely a csoport minden tagjára vonatkozik (meghatározható a $wgConf->siteFromDB() formával)
  • 'default', ha minden wikire vonatkozik.

A sztringek esetén a beállítások során behelyettesítendő paramétereket adhatsz meg; ez akkor hasznos, ha a konfigurációs érték formája minden wikin megegyezik. Ez alapértelmezésben $name; figyelj arra, hogy használj aposztrófokat ('), illetve emeld ki a $ jelet (\$), különben értéke a PHP nem definiált változójával lesz felülírva.

1.13 és korábbi verziók

MediaWiki-verzió: 1.13

A globális beállítások kibontásakor az objektum először a leginkább specifikált szinten (a fenti listában az első) fog keresni; ha itt nem találja a konfigurációs értéket, akkor folyamatosan továbbhalad; ha megtalálta, akkor megáll. Figyelj egyes specifikus változók (például $wgGroupPermissions ) helyes beállítására, mivel sem a kevésbé specifikus szintek, sem az alapértelmezett érték (a DefaultSettings.php-ban található) nem lesznek összefésülve, ezt neked kell megtenni.

A globális változók beállításainak kibontásához a $wgConf->extractAllGlobals( $wiki, $suffix, $params, $wikiTags ); forma használható.

Ennek paraméterei:

  • $wiki: a wiki adatbázisának neve (általában $wgDBname ); neked kell megadnod
  • $suffix: a wiki előtagja, az előtag szintjének meghatározására
  • $params: értékekhez rendelt paraméterek neveinek tömbje
  • $wikiTags: wikicímkék tömbje (az 1.1.2.0 verzió óta)

1.14 és újabb verziók

MediaWiki-verzió: 1.14

Az 1.14.0 verzióban néhány új funkciót adtunk hozzá, azonban a korábbiak is használhatóak.

Visszahívás

Az 1.14 verzióban egy visszahívási funkciót vezettünk be, amellyel a SiteConfiguration::get() és a kapcsolódó funkcióknak átadott paraméterek módosíthatóak. Ez hasznos lehet a paraméterek módosításakor, ha ezen funkciók a LocalSettings.php-ban meghívásra kerülnek (mint például a CentralAuth esetében). A működés a $wgConf->siteParamsCallback-ben konfigurálható. A visszahívási funkció első argumentuma a SiteConfiguration-objektum, a második pedig a wiki neve. Visszatérési értéke a következő kulcsokat tartalmazza (mindegyik opcionális):

  • suffix: az oldal előtagja (a SiteConfiguration::get() és hasonlók $suffix paraméterével összhangban)
  • lang: az oldal nyelve
  • tags: wikicímkék tömbje (a $wikiTags paraméterrel összhangban)
  • params: cserélendő paraméterek tömbje (a $params paraméterrel összhangban).

Ezen kulcsok össze lesznek vonva a SiteConfiguration::get()-nek átadott paraméterekkel. Ha a suffix és lang paraméterek ki vannak töltve, akkor tartalmuk a $wgConf->siteFromDB()-ben rögzített alapértelmezett viselkedést felülírja.

Beállítások összefésülése

Lehetséges a tömbök összefésülése, amely a $wgGroupPermissions -szal való használatkor lehet hasznos. Az összefűzendő paraméterek közé ehhez egy +-jelet kell tenned.

  • A testre szabott, illetve a DefaultSettings.php-ban található beállítások összefésüléséhez a változó elé +-jelet kell tenned (például '+wgGroupPermissions')
  • Különböző specifikációs szintű beállítások összefésüléséhez a szint elé kell + jelet tenned.

A két előfordulás ezután együtt használható.

Az összefűzés a következő sorrendben történik:

  1. Adatbázisnév
  2. Címkék (a kibontási metódus által meghatározott módon, amely ezen a ponton véletlenszerű lehet)
  3. Wiki-előtag
  4. Alapértelmezés

Ha egy kulcs előtt nem szerepel a +-jel, az összefésűlés véget ér.

Példa a $wgGroupPermissions -ra:

$wgConf->settings = array(

// ...

// '+' triggers a merge with this and the value of $wgGroupPermissions defined
// in DefaultSettings.php
'+wgGroupPermissions' => array(

    // Allow bureaucrats to change status on remote wikis
    // and allow anonymous users to create page (this part
    // will not be merged with 'default' since there's no
    // "+" in front of 'centralwiki')
    'centralwiki' => array(
        'bureaucrat' => array(
            'userrights-interwiki' => true,
        ),
    ),

    // A wiki with rollback right given to logged-in users
    // the 'default' part will be merged with this value
    // (i.e. anonymous users won't be able to create pages)
    '+somewiki' => array(
        'user' => array(
            'rollback' => true,
        ),
    ),

    // Disallow anonymous users to create pages.
    // Note: the 'default' key should never have a "+" in front of it
    'default' => array(
        '*' => array(
            'createpage' => false,
            'createtalk' => false,
        ),
    ),
),

// ...

);

Az alapértelmezett szintaxis a következő:

$wgConf->settings=array(
'wgConfigurationSetting'=>array(
    'default'=>'defaultvalue',
    'wikidatabasename1'=>'value that overrides default for this wiki',
),
//To merge the settings you set here with those in DefaultSettings.php:
'+wgConfigurationSetting'=>array(
/*Note: This and DefaultSettings.php are NOT the same! The default specified here
        overrides that in DefaultSettings.php, and becomes the new default for all
        your wikis unless you choose to override it for a particular wiki,
        like for wikidatabasename1 here */
    'default'=>'defaultvalue',
    'wikidatabasename1'=>'value that overrides default for this wiki',
),
);

Példa

Az alábbi példában három wiki szerepel: dewiki, enwiki és frwiki. Ezek helye: http://localhost/$wgDBname/ (pl.: http://localhost/dewiki/, http://localhost/enwiki/ and http://localhost/frwiki/).

Feltételezzük, hogy a $wgDBname már ki van töltve.

A példában a $wgConf->settings-et az InitialiseSettings.php tartalmazza; ez nem kötelező, a definiálás a LocalSettings.php-ban is lehetséges.

InitialiseSettings.php

<?php

$wgConf->settings = array(

'wgServer' => array(
    // if you want to allow also usage of https, just use '//localhost'
    // and set 'http://localhost' at 'wgCanonicalServer'
    'default' => 'http://localhost',
),

'wgCanonicalServer' => array(
    'default' => 'http://localhost',
),

'wgScriptPath' => array(
    'default' => '/$wiki',
),

'wgArticlePath' => array(
    'default' => '/$wiki/index.php/$1',
),

'wgSitename' => array(
    'default' => 'Wikipedia',
    'frwiki' => 'Wikipédia', // accent in French
),

'wgLanguageCode' => array(
    'default' => '$lang',
),

'wgLocalInterwiki' => array(
    'default' => '$lang',
),

);

LocalSettings.php

1.13 és korábbi verziók esetében

MediaWiki-verzió: 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() );

1.14 és újabb verziók esetében

MediaWiki-verzió: 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 );

Wikimédia-konfiguráció

Ha érdekel, hogy a Wikimédia-wikik hogy használszák a $wgConf-ot, lásd a következőket:

Lásd még

  • includes/SiteConfiguration.php állomány (vagy lásd GitHubon) – a $wgConf működését és ezen lap megértését segítő információkat tartalmaz