Extension:CheckuserPages/ru

From MediaWiki.org

Jump to: navigation, search
If you need per-page or partial page access restrictions, you are advised to install an appropriate content management package. MediaWiki was not written to provide per-page access restrictions, and almost all hacks or patches promising to add them will likely have flaws somewhere, which could lead to exposure of confidential data. We are not responsible for anything being leaked, leading to loss of funds or one's job.
For further details, see Security issues with authorization extensions


MediaWiki Extension
Crystal Clear action run.png
CheckuserPages

Statut: unknown

Crosswiki block mockup.png
Области применения User rights
Используемые hook'и userCan
Описание Добавляет защищённые от просмотра пространства имён для конфиденциальной информации.
Автор(ы) Edward (Ferrer talk)
Версия 1.0
MediaWiki 1.13
Лицензия GNU GPLv2
Ссылка для скачивания Код
Добавляемые права участников clerk
Основано на расширениях Lockdown и CheckUser.

Расширение CheckuserPages добавляет защищённое пространство имён (и его обсуждение); также добавляет группу участников 'clerk' с правами просмотра и редактирования этого пространства имён. Удаление и переименование страниц из защищённого пространства имён по умолчанию доступно только бюрократам.

Contents

[edit] Настройки пространств имён

  • NS_CHECKUSER: 'checkuser' and 'clerk' group only;
  • NS_CHECKUSER_TALK: 'autoconfirmed', 'sysop', 'checkuser' and 'clerk' group only;

[edit] Использование

[edit] Загрузка

Скопируйте файлы расширения в папку $IP/extensions/CheckuserPages. Примечание: $IP — корневой каталог вашей MediaWiki, тот каталог, который содержит LocalSettings.php.

[edit] Установка

Для того, чтобы установить расширение, добавьте следующие строки в LocalSettings.php:

 # add configuration parameters here
 # add user rights here
 require_once("$IP/extensions/CheckuserPages/CheckuserPages.php");
 
 # default settings CheckuserPages extension
 $wgAddGroups['bureaucrat'] = array( 'clerk' );
 $wgRemoveGroups['bureaucrat'] = array( 'clerk' );

[edit] Код

[edit] CheckuserPages.php

 <?php
 
 /**
  * CheckuserPages extension
  * @author Edward (Ferrer); <ferrer126@gmail.com>
  * @copyright © 2008 Edward
  * @licence GNU General Public Licence 2.0 or later
 */
 
 # CheckuserPages Extension Credits
 $wgExtensionCredits['specialpage'][] = array(
         'name' => 'CheckuserPages',
         'version' => 1.0,
         'author' => 'Edward',
         'url' => 'http://www.mediawiki.org/wiki/Extension:CheckuserPages',
         'description' => 'Add checkuser-only read protect namespaces for private information.',
 );
 
 # Add 'clerk' group
 $wgAvailableRights[] = 'clerk';
 # GroupPermissions settings
 $wgGroupPermissions['clerk']['clerk'] = true;
 # $wgGroupPermissions['bureaucrat']['clerk'] = true;
 $wgGroupPermissions['checkuser']['clerk'] = true;
 
 # Add CheckUser: and CU_talk: namespace
 define("NS_CHECKUSER", 100);
 define("NS_CHECKUSER_TALK", 101);
 $wgExtraNamespaces[NS_CHECKUSER] = "CheckUser";
 $wgExtraNamespaces[NS_CHECKUSER_TALK] = "CU_talk";
 
 # Lockdown settings
 ## CheckUser: namespace settings
 $wgNamespacePermissionLockdown[NS_CHECKUSER]['read'] = array( 'checkuser', 'clerk' );
 $wgNamespacePermissionLockdown[NS_CHECKUSER]['edit'] = array( 'checkuser', 'clerk' );
 $wgNamespacePermissionLockdown[NS_CHECKUSER]['move'] = array( 'checkuser', 'bureaucrat' );
 $wgNamespacePermissionLockdown[NS_CHECKUSER]['delete'] = array( 'checkuser', 'bureaucrat' );
 
 ## CU_talk: namespace settings
 $wgNamespacePermissionLockdown[NS_CHECKUSER_TALK]['read'] = array( 'autoconfirmed', 'clerk', 'checkuser', 'sysop' );
 $wgNamespacePermissionLockdown[NS_CHECKUSER_TALK]['edit'] = array( 'autoconfirmed', 'clerk', 'checkuser', 'sysop' );
 $wgNamespacePermissionLockdown[NS_CHECKUSER_TALK]['move'] = array( 'checkuser', 'bureaucrat' );
 $wgNamespacePermissionLockdown[NS_CHECKUSER_TALK]['delete'] = array( 'checkuser', 'bureaucrat' );
 
 # Prevent inclusion of pages from that namespace
 $wgNonincludableNamespaces[] = NS_CHECKUSER;
 $wgNonincludableNamespaces[] = NS_CHECKUSER_TALK;
 
 # Internationalizing
 $wgExtensionMessagesFiles['CheckuserPages'] = dirname( __FILE__ ) . '/CheckuserPages.i18n.php';
 wfLoadExtensionMessages( 'CheckuserPages' );

[edit] CheckuserPages.i18n.php

 <?php
 
 /**
  * Internationalisation file for cu_pages extension.
 */
 
 <?php
 $messages = array();
 $messages['en'] = array(
         'group-clerk' => 'Clerks',
         'group-clerk-member' => 'clerk',
         'grouppage-clerk' => 'Project:Clerks',
 );
 $messages['ru'] = array(
         'group-clerk' => 'Клерки',
         'group-clerk-member' => 'клерк',
         'grouppage-clerk' => 'Project:Клерки',
 );

[edit] См. также