Extension:ContactPage
![]() Release status: stable |
|
---|---|
![]() |
|
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.43 |
PHP | 5.4+ |
Database changes | No |
License | GNU General Public License 2.0 or later |
Download | README |
Example | nl.wikipedia.org |
|
|
Quarterly downloads | 35 (Ranked 105th) |
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 move the extracted
ContactPage
folder to yourextensions/
directory.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ContactPage - 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 'NameReadonly' => false, // Set to "true" to make the name field read only 'EmailReadonly' => false, // Set to "true" to make the email address field read only 'SubjectReadonly' => false, // Set to "true" to make the subject line field read only 'MustHaveEmail' => false, // Set to "true" to require that the user submitting the form must have an associated email address 'AdditionalFields' => [ 'Text' => [ 'label-message' => 'emailmessage', 'type' => 'textarea', 'rows' => 20, 'required' => true, // Either "true" or "false" as required ], ], '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.
- 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 to "LocalSettings.php" below the invocation of both extensions.
$wgCaptchaTriggers['contactpage'] = true;
Further customization
edit- MediaWiki 1.37.0 or later
- Add the following code without changing it to your "LocalSettings.php" file:
$wgHooks['SkinAddFooterLinks'][] = function( Skin $skin, string $key, array &$footerlinks ) { if ( $key === 'places' ) { $footerlinks['contact'] = Html::element( 'a', [ 'href' => 'https://www.example.org/wiki/Special:Contact', // URL to "Special:Contact" 'rel' => 'noreferrer noopener' // not required, but recommended for security reasons ], $skin->msg( 'contactpage-label' )->text() ); }; };
- Add the label for "Special:Contact" to system message MediaWiki:Contactpage-label.
- MediaWiki 1.36.x or earlier
- Add 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; };
- Add the URL of "Special:Contact" to system message MediaWiki:Contactpage-url and
- Add the label for "Special:Contact" to system message MediaWiki:Contactpage-label.
Creating complex forms
editSee HTMLForm and related pages for more information on the possibilities available to create more complex forms.
Issues
editUsers 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
This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |