Create an extension it will be easier ton maintain. Divide the code in several methods too, https://jeroendedauw.github.io/slides/craftmanship/functions/#/1
On Wed, May 3, 2017 at 11:22 PM, Jean Valjean <jeanvaljean2...@gmail.com> wrote: > Okay, this is the code I came up with: > > $wgAlreadyParsed = false; > function onParserBeforeStripSiteNotice( &$parser, &$text, &$strip_state ) { > global $wgAlreadyParsed; > if ( $wgAlreadyParsed ) { > return true; > } > $title = $parser->getTitle(); > if ( $title->getNamespace () !== 0 ) { > return true; > } > $wikiPage = WikiPage::factory( $title ); > $revision = $wikiPage->getRevision(); > if ( is_null ( $revision ) ) { > return true; > } > $content = $revision->getContent( Revision::RAW ); > $revisionText = ContentHandler::getContentText( $content ); > if ( $text !== $revisionText ) { > return true; > } > $wgAlreadyParsed = true; > $titleText = $title->getPrefixedText (); > $text = "{{siteNotice|$titleText}}" . $text; > } > $wgHooks['ParserBeforeStrip'][] = 'onParserBeforeStripSiteNotice'; > > Then in Template:SiteNotice I put: > > {{#ifeq: {{FULLPAGENAME}}|Main Page||<div class="plainlinks" > style="border:1px solid #a7d7f9; width:100%; font-size: 110%; text-align: > center; padding: 0.5ex; "><p>This page is an archive.</p></div>}} > > > On Wed, May 3, 2017 at 3:51 AM, Jean Valjean <jeanvaljean2...@gmail.com> > wrote: > >> How do I put up a sitenotice for all pages except one (e.g. Main Page)? I >> want the main page to have my current content, and all other pages to have >> a notice saying their content is just an archive. >> >> I notice that when I put {{FULLPAGENAME}} in MediaWiki:Sitenotice, it >> always says "MediaWiki:Sitenotice". >> >> Otherwise, I would use an #ifeq. >> > _______________________________________________ > MediaWiki-l mailing list > To unsubscribe, go to: > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l -- Sébastien Santoro aka Dereckson http://www.dereckson.be/ _______________________________________________ MediaWiki-l mailing list To unsubscribe, go to: https://lists.wikimedia.org/mailman/listinfo/mediawiki-l