Jump to content

Příručka:$wgNamespaceProtection

From mediawiki.org
This page is a translated version of the page Manual:$wgNamespaceProtection and the translation is 100% complete.
Přístup: $wgNamespaceProtection
Které jmenné prostory může kdo upravovat?
Zavedeno od verze:1.10.0 (r19110)
Odstraněno od verze:stále se používá
Povolené hodnoty:(pole polí)
Výchozí hodnota:$wgNamespaceProtection = []; (1.14+)
$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13)

Podrobnosti

Toto nastavení umožňuje wiki vyžadovat speciální oprávnění k úpravě některých jmenných prostorů. Ve výchozím nastavení je jediným omezením to, že jmenný prostor MediaWiki mohou upravovat pouze uživatelé s oprávněním 'editinterface ' (standardně: sysops).

Klíče pole jsou čísla jmenného prostoru a hodnoty jsou jednoduchá pole názvů oprávnění. Pokud uvedete více než jedno oprávnění pro daný obor názvů, uživatel je musí mít všechna, aby mohl upravovat stránky v tomto oboru názvů.

Od 1.14 je jmenný prostor MediaWiki: bezpodmínečně chráněn pro uživatele s právem 'editinterface' (stejně jako v předchozích verzích). Toto je nastaveno v Setup.php a nemůže být změněno v LocalSettings.php , protože jinak je příliš snadné jej nastavit nesprávně a ponechat wiki nezabezpečenou. Pokud chcete povolit jiným skupinám než sysopům upravovat jmenný prostor MediaWiki:, pak udělte právo 'editinterface' těmto skupinám.

Není možné omezit přístup pro čtení k určitému jmennému prostoru pomocí $wgNamespaceProtection. (Viz Extension:Lockdown )

Příklad

Omezení úprav hlavního jmenného prostoru

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

To omezuje úpravy v hlavním jmenném prostoru na lidi ve skupině, která má oprávnění k úpravám.

Nastavení vlastních jmenných prostorů s omezeným přístupem pro zápis

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; // stránky v oficiálním jmenném prostoru mohou upravovat pouze manažeři
$wgGroupPermissions['employees']['official-talk-edit'] = true; // zaměstnanci mohou upravovat stránky ve jmenném prostoru Official_talk
$wgGroupPermissions['managers']['official-talk-edit'] = true; // stejně jako manažeři

Deaktivace diskusních stránek

Vzhledem k tomu, že "everyone" není základním oprávněním, doslova každému bude odepřen přístup (včetně sysopů). Všimněte si, že stále budete muset kartu odebrat jinými metodami (viz: Příručka:FAQ#Jak mohu přidat/odebrat karty na mé wiki? )

# Zakázat všechny základní jmenné prostory TALK
$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'];

Související odkazy