Jump to content

Podręcznik:$wgNamespaceProtection

From mediawiki.org
This page is a translated version of the page Manual:$wgNamespaceProtection and the translation is 100% complete.
Dostęp: $wgNamespaceProtection
Ustala kto może edytować strony w danej przestrzeni nazw
Wprowadzono w wersji:1.10.0 (r19110)
Usunięto w wersji:nadal w użyciu
Dozwolone wartości:(tablica z tablicami)
Domyślna wartość:$wgNamespaceProtection = []; (1.14+)
$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13)

Szczegóły

Ustala kto może edytować strony w danej przestrzeni nazw. Domyślnie restrykcja jest ustawiona dla przestrzeni nazw MediaWiki, którą mogą edytować tylko użytkownicy z uprawnieniem 'editinterface ' (domyślnie: administratorzy).

Jako klucz tablicy należy podać identyfikator przestrzeni nazw, jako wartość-tablica z nazwami uprawnień. Jeżeli więcej niż jedną nazwę uprawnienia, będzie wymagane posiadanie każdego z nich.

Od wersji 1.14, przestrzeń nazw MediaWiki: jest bezwarunkowo zabezpieczona i tylko użytkownicy z uprawnieniem 'editinterface' mogą je edytować. Jest to ustawione w Setup.php i nie może być zmieniane w LocalSettings.php ponieważ jest to łatwe do ustawienia nieprawidłowo, co może zdestabilizować bezpieczeństwo wiki. Jeżeli chcesz pozwolić użytkownikom na edycję interfejsu, przypisz im uprawnienie 'editinterface'.

Nie da się ograniczyć poprzez $wgNamespaceProtection dostępu do czytania treści w określonej przestrzeni nazw. (Zobacz Extension:Lockdown )

Przykłady

Ograniczenie edycji głównej przestrzeni nazw

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

Spowoduje to zablokowanie możliwość edycji stron z głównej przestrzeni nazw osobom nie posiadającym uprawnienia edit-main.

Ustawianie własnych przestrzeni nazw z ograniczeniem zapisu

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; // tylko menadżerowie mogą edytować strony w przestrzeni nazw Official
$wgGroupPermissions['employees']['official-talk-edit'] = true; // pracownicy mogą edytować strony w przestrzeni nazw Official_talk
$wgGroupPermissions['managers']['official-talk-edit'] = true; // więc menadżerowie też mogą

Blokowanie stron dyskusji

Dopóki "everyone" nie jest uprawieniem z rdzenia, dosłownie każdy ma zabroniony dostęp (włącznie z administratorami). Zwróć uwagę, że nadal będzie trzeba usunąć zakładkę Edytuj innymi sposobami (zobacz: Podręcznik:FAQ#Jak mogę dodawać/usuwać karty na mojej wiki? )

# Zablokuj wszystkie przestrzenie nazw dyskusji z rdzenia
$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'];

Zobacz też