Extension:CheckuserPages

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
CheckuserPages

Release status: unknown

Crosswiki block mockup.png
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
Added rights

clerk

Hooks used
userCan

Check usage (experimental)

Based on Lockdown & CheckUser Extensions.

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:Клерки',
 );

[edit] See also

Language: English  • Русский
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox