Extension:ContactPage

From mediawiki.org
MediaWiki extensions manual
OOjs UI icon advanced-invert.svg
ContactPage
Release status: stable
MediaWiki-extensions-ContactPage.png
Implementation Special page , Hook
Description Provides a contact form for visitors
Author(s) Daniel Kinzler, Sam Reed
Latest version Continuous updates
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki >= 1.35.0
PHP 5.4+
Database changes No
License GNU General Public License 2.0 or later
Download
README
Example nl.wikipedia.org
  • $wgContactConfig
Translate the ContactPage extension if it is available at translatewiki.net
Vagrant role contactpage
Issues 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 without registering.

Installation and configuration[edit]

  • 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 " file:
    wfLoadExtension( 'ContactPage' );
    $wgContactConfig['default'] = [
    	'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
    	'MustBeLoggedIn' => true, // Check if the user is logged in before rendering the form. Either "true" or "false" as required
    	'AdditionalFields' => [
    		'Text' => [
    			'label-message' => 'emailmessage',
    			'type' => 'textarea',
    			'rows' => 20,
    			'required' => true,  // Either "true" or "false" as required
    		],
    	],
            // Added in MW 1.26
    	'DisplayFormat' => 'table',  // See HTMLForm documentation for available values.
    	'RLModules' => [],  // Resource loader modules to add to the form display page.
    	'RLStyleModules' => []  // 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 March 2014, it is no longer possible to prefill text from MediaWiki:Contactpage-text-[form-name].
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
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.

Further customization[edit]

Adding a link to special page "Contact" to the footer of your wiki (< 1.37.0)

To do this add ...

  1. ... the following code without changing it to your "LocalSettings.php" file:
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = function( $skin, &$template ) {
	$contactLink = Html::element( 'a', [ 'href' => $skin->msg( 'contactpage-url' )->escaped() ],
		$skin->msg( 'contactpage-label' )->text() );
	$template->set( 'contact', $contactLink );
	$template->data['footerlinks']['places'][] = 'contact';
	return true;
};
  1. ... the URL of "Special:Contact" to system message MediaWiki:Contactpage-url and
  2. ... the label for "Special:Contact" to system message MediaWiki:Contactpage-label.
Creating more complex forms

See HTMLForm and related pages for more information on the possibilities available to create more complex forms.

Issues[edit]

Users of some hosting providers such as SiteGround and Amazon SES may get a PHP mail error or one that says that the FROM email address is not configured in the server, despite $wgPasswordSender being configured correctly and other email functionality working as expected. A fix for this issue is described here.

See also[edit]

  • Extension:EmailPage - Allows sending fully rendered articles with embedded CSS to users, groups, or contact lists
  • Extension:CIForms - Forms with auto-validation, multiple choice questions and cloze tests