Podręcznik:$wgNamespaceProtection

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

Outdated translations are marked like this.
Other languages:
English • ‎français • ‎magyar • ‎polski • ‎中文 • ‎日本語
Przestrzenie nazw: $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]      = array( '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 = 
    array(NS_OFFICIAL => "Official",
          NS_OFFICIAL_TALK => "Official_talk",
    );

$wgNamespaceProtection[NS_OFFICIAL]      = array( 'official-edit' );
$wgNamespaceProtection[NS_OFFICIAL_TALK] = array( '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: $FAQ)

# 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ż