Jump to content

Kézikönyv:$wgNamespacProtection

From mediawiki.org
This page is a translated version of the page Manual:$wgNamespaceProtection and the translation is 96% complete.
Outdated translations are marked like this.
Hozzáférés: $wgNamespaceProtection
Ki és mely névtereket szerkeszthet?
Bevezetve:1.10.0 (r19110)
Eltávolítva:használatban
Megengedett értékek:(tömbök tömbje)
Alapértelmezett érték:$wgNamespaceProtection = []; (1.14+)
$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13)

Részletek

A beállítással egyes névtereket csak bizonyos felhasználói csoportok szerkeszthetnek. Alapértelmezésben az egyetlen ilyen korlátozás a MediaWiki-névtérben van, amelyet csak az 'editinterface ' jogosultsággal rendelkezők (alapértelmezésben az adminisztrátorok) módosíthatnak.

A tömbök kulcsai a névterek azonosítói, az értékek pedig a jogosultságnevek egyszerű tömbjei. Ha több mint egy jogosultságot rendelsz hozzá egy névtérhez, csak az összes, felsorolt joggal rendelkezők szerkeszthetik az abban lévő lapokat.

A MediaWiki 1.14 óta a korábbi verziókkal megegyezően a MediaWiki névteret feltétel nélkül csak az 'editinterface' csoport tagjai módosíthatják. Ez a Setup.php -ban rögzített beállítás, és a LocalSettings.php -ban sem módosítható, mivel a hibás beállítás a wiki biztonságát veszélyeztetné. Ha szeretnéd, hogy az adminisztrátorokon kívül más is szerkeszthesse a MediaWiki névteret, akkor ezeknek a csoportoknak meg kell adnod az 'editinterface' jogosultságot.

A $wgNamespaceProtection használatával nem lehetséges az olvashatóság korlátozása. (Lásd: Kiterjesztés:Lockdown )

Példa

A fő névtér szerkeszthetőségének korlátozása

$wgNamespaceProtection[NS_MAIN] = ['edit-main'];

A fenti kód hatására a fő névteret csak az „edit-main” jogosultsággal rendelkezők szerkeszthetik.

Egyedi névterek definiálása korlátozott írási joggal

define('NS_OFFICIAL', 100);
define('NS_OFFICIAL_TALK', 101);

$wgExtraNamespaces = [
    NS_OFFICIAL => 'Official',
    NS_OFFICIAL_TALK => 'Official_talk'
];

$wgNamespaceProtection[NS_OFFICIAL]      = ['official-edit'];
$wgNamespaceProtection[NS_OFFICIAL_TALK] = ['official-talk-edit'];

$wgGroupPermissions['managers']['official-edit'] = true; // az Official névteret csak a „manager” csoportba tartozók módosíthatják
$wgGroupPermissions['employees']['official-talk-edit'] = true; // az „employees” csoport tagjai az Official_talk vitalapokra írhatnak
$wgGroupPermissions['managers']['official-talk-edit'] = true; // mint a „manager” joggal rendelkezők is

Vitalapok letiltása

Mivel „everyone” jogosultság alapértelmezésben nem létezik, lényegében mindenki (az adminisztrátorok) is kizáródnak. Vedd figyelembe, hogy a fület más módokon kell eltüntetned (lásd: Kézikönyv:GYIK#Hogyan adhatok hozzá/távolíthatok el lapokat a wikimben? ).

# Minden vitalap-névtér letiltása
$wgNamespaceProtection[NS_TALK] = ['everyone'];
$wgNamespaceProtection[NS_USER_TALK] = ['everyone'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['everyone'];
$wgNamespaceProtection[NS_FILE_TALK] = ['everyone'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['everyone'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['everyone'];
$wgNamespaceProtection[NS_HELP_TALK] = ['everyone'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['everyone'];

Lásd még