Extension:DismissableSiteNotice

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

Release status: stable

Implementation Skin, MyWiki
Description Allows users to close the sitenotice
Author(s) Brion Vibber (Brion VIBBERtalk)
Latest version continuous updates
Database changes No
License GPLv2+
Download
log
Example Wikimedia sites
Wikia sites
Hooks used
SiteNoticeAfter

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

Check usage and version matrix; code metrics
Bugs: list open list all report

The DismissableSiteNotice extension allows users to close the sitenotice, using cookies. When you add a new sitenotice and want everyone to see it, change the number on the created page "MediaWiki:Sitenotice id" by one (e.g. if it would be 5, you'd replace the page with the number 6 and so on).

Installation[edit | edit source]

  • Download and extract the file(s) in a directory called DismissableSiteNotice in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/DismissableSiteNotice/DismissableSiteNotice.php";
  • Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.

Usage[edit | edit source]

How to auto-reset dismissal after every edit to MediaWiki:Sitenotice

The default is that it will remember the dismissal by the user and only reset after the number in MediaWiki:sitenotice_id has been raised. This allows a wiki to make minor updates to a notice without causing it to show again for everybody.

Some sites may not need this additional control and may want to reset it no matter the change. The below code change will reset ("re-display") the sitenotice whenever the MediaWiki:Sitenotice message is edited. This eliminates the need for the "sitenotice_id" message entirely.

In DismissableSiteNotice.php change the one line of extension code:

$id = intval( $wgMajorSiteNoticeID ) . "." . intval( wfMsgForContent( 'sitenotice_id' ) );

to:

$id = intval( $wgMajorSiteNoticeID ) . "." . crc32( wfMsgForContent( 'sitenotice' ) );

See also[edit | edit source]