Extension:CheckuserPages
From MediaWiki.org
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
For further details, see Security issues with authorization extensions
|
Release status: unknown |
|||
|---|---|---|---|
| Implementation | User rights | ||
| Description | Add 'checkuser only read' protect namespaces for private information | ||
| Author(s) | Edward (FerrerTalk) | ||
| Last Version | 1.0 | ||
| MediaWiki | 1.13 | ||
| License | GNU GPLv2 | ||
| Download | Code | ||
|
|||
|
|||
|
check usage (experimental) |
|||
CheckuserPages extension create protect namespace (and talk), prevent inclusion of pages from that namespace; and add 'clerk' usergroup with permissions from read and edit added namespaces. Move and delete pages on protect namespaces bureaucrat only by default.
Contents |
[edit] Namespace settings
- NS_CHECKUSER: 'checkuser' and 'clerk' group only;
- NS_CHECKUSER_TALK: 'autoconfirmed', 'sysop', 'checkuser' and 'clerk' group only;
[edit] Usage
[edit] Download
Place the files in $IP/extensions/CheckuserPages/. Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php.
[edit] Installation
To install this extension, add the following to 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] Code
[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:Клерки', );