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

Release status: stable

Implementation Special page, Hook
Description Provides a contact form for visitors
Author(s) Daniel Kinzler, Sam Reed
Latest version 2.2 (2014-03-26)
MediaWiki 1.23+
PHP 5.3+
Database changes No
License GNU General Public License 2.0 or later
Example Contact page - brightbyte.de
  • $wgContactConfig

Translate the ContactPage extension if it is available at translatewiki.net

Check usage and version matrix; code metrics


Open tasks · Report a bug

The ContactPage extension implements a contact form for visitors. It creates a special page "Special:Contact", which is similar to "Special:EmailUser", but it has a fixed recipient, and may be used anonymously.

Upgrading from versions < 2.x (MediaWiki ≤ 1.22) to versions ≥ 2.x (MediaWiki ≥ 1.23) requires a complete reconfiguration of this extension in "LocalSetting.php" to avoid breakage.

Installation and Configuration[edit | edit source]

  • Download and place the file(s) in a directory called ContactPage in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'ContactPage' );
$wgContactConfig['default'] = array(
	'RecipientUser' => 'WikiUser', // Must be the name of a valid account which also has a verified e-mail-address added to it.
	'SenderName' => 'Contact Form on ' . $wgSitename, // "Contact Form on" needs to be translated
	'SenderEmail' => null, // Defaults to $wgPasswordSender, may be changed as required
	'RequireDetails' => true, // Either "true" or "false" as required
	'IncludeIP' => true, // Either "true" or "false" as required
	'AdditionalFields' => array(
		'Text' => array(
			'label-message' => 'emailmessage',
			'type' => 'textarea',
			'rows' => 20,
			'cols' => 80,
			'required' => true,  // Either "true" or "false" as required
        // Added in MW 1.26
        'DisplayFormat' => 'table',  // See HTMLForm documentation for available values.
        'RLModules' => array(),  // Resource loader modules to add to the form display page.
        'RLStyleModules' => array(),  // Resource loader CSS modules to add to the form display page.
  • See the README file for further options to customize and adapt as it convenes. Note, however, that since 2.1, it is no longer possible to prefill text from MediaWiki:Contactpage-text-[form-name]. This feature has been removed (Git March 2014).
  • YesY Done - Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

To users running MediaWiki 1.24 or earlier:

The instructions above describe the new way of installing extensions using $LoadExtension, since MediaWiki 1.25. If you need to install this extension in earlier versions, instead of wfLoadExtension( 'ContactPage' );, you need to use:

require_once "$IP/extensions/ContactPage/ContactPage.php";

(To run an extension on an earlier release, you may need to download the version of it tagged for that release from Special:ExtensionDistributor.)

You can require a CAPTCHA test for the contact page, if you have the ConfirmEdit extension installed. CAPTCHAs are enabled by adding
$wgCaptchaTriggers['contactpage'] = true;
to "LocalSettings.php" below the invocation of both extensions.
Note Note: The integration with the ConfirmEdit extension does not work for the REL1_23 tag. Thus this version has to be used for MW 1.23.x

Further customization[edit | edit source]

Adding a link to special page "Contact" to the footer of your wiki

To do this add ...
1) ... the following code to your "LocalSettings.php" file:

$wgHooks['SkinTemplateOutputPageBeforeExec'][] = function( $sk, &$tpl ) {
	$contactLink = Html::element( 'a', array( 'href' => $sk->msg( 'contactpage-url' )->escaped() ),
		$sk->msg( 'contactpage-label' )->text() );
	$tpl->set( 'contact', $contactLink );
	$tpl->data['footerlinks']['places'][] = 'contact';
	return true;

2) ... the URL of "Special:Contact" to system message "MediaWiki:Contactpage-url" and
3) ... the label for "Special:Contact" to system message "MediaWiki:Contactpage-label".

Hooks provided[edit | edit source]

See Extension hook registry for information about hooks added by ContactPage.

See also[edit | edit source]