2013-03-08 3 views
0

Я использую Media Wiki для документации. После того, как я добавил много страниц с пространством имен, например INTERN:My Page или Public:My Page, и хочу ограничить доступ для чтения для этих пространств имен.wikimedia Lockdown с существующими пространствами имен

Я нашел расширение «Lockdown» и могу использовать его для нового, изготовленного на заказ, Namespaces:

define ("NS_CUSTOM", 110); 
$wgExtraNamespaces[NS_CUSTOM] = "customNamespace"; 

$wgNamespacePermissionLockdown[NS_CUSTOM]['*'] = array('sysop'); 

Если я пытаюсь тем же код для своих существующих пространств имен старых страницы не, доступные - это кажется, что страниц не существует.

Есть ли способ ограничить доступ к существующим пространствам имен? Могу ли я найти идентификатор пространства имен где-нибудь в базе данных?

+0

ли вы использовать все эти три строки , если вы хотите заблокировать NS_PROJECT, например? – cyroxx

ответ

0

Я создал новое пользовательское пространство имена

define ("NS_CUSTOM", 111); 
$wgExtraNamespaces[NS_CUSTOM] = "customNamespace"; 
$wgNamespacePermissionLockdown[NS_CUSTOM]['*'] = array('sysop'); 

и изменен таким образом Ряды в page таблице базы данных для page_namespace = 111

2

Согласно Lockdown documentation, в одной строке должна быть достаточна для уже существующего пространства имен, как NS_PROJECT:

$wgNamespacePermissionLockdown[NS_PROJECT]['*'] = array('sysop'); 

Из вашего вопроса и вашего собственного ответа недостаточно ясно, что ваш конфиг guration выглядит как (например, пытаетесь ли вы заблокировать несколько пространств имен и, возможно, сделали некоторые ошибки там). Тем не менее, вы должны не

  1. переопределять существующие пространства имен
  2. повторно использовать определение NS_CUSTOM для различных идентификаторов пространства имен (что является вариант 1.)

 Смежные вопросы

  • Нет связанных вопросов^_^