Timboven has uploaded a new change for review. https://gerrit.wikimedia.org/r/61187
Change subject: Added extra Notice-type (for those that use a 'folder' structure in their pagenames. Also refactored the lookup of the content that must be used for the notice-message, the retrievel of the content is now extracted to a seperate method. ...................................................................... Added extra Notice-type (for those that use a 'folder' structure in their pagenames. Also refactored the lookup of the content that must be used for the notice-message, the retrievel of the content is now extracted to a seperate method. Change-Id: I8cb62a8c8b94960c1cc6a595d6b62602645b6321 --- M PageNotice.php 1 file changed, 45 insertions(+), 12 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageNotice refs/changes/87/61187/1 diff --git a/PageNotice.php b/PageNotice.php index dddad48..aa56087 100644 --- a/PageNotice.php +++ b/PageNotice.php @@ -36,22 +36,55 @@ $name = $out->getTitle()->getPrefixedDBKey(); $ns = $out->getTitle()->getNamespace(); - $opt = array( - 'parseinline', - ); + $folders = explode("/", $name); + + $header = getPageNotice("Notice/top-$name"); + $nsheader = getPageNotice("Notice/top-ns-$ns"); - $header = wfMsgExt("top-notice-$name", $opt); - $nsheader = wfMsgExt("top-notice-ns-$ns", $opt); + $footer = getPageNotice("Notice/bottom-$name"); + $nsfooter = getPageNotice("Notice/bottom-ns-$ns"); + + $folderHeader = ""; + if (count($folders) > 1) { + $msgName = "Notice/top-".folders[0]; + $folderHeader = getPageNotice($msgName); + } - $footer = wfMsgExt("bottom-notice-$name", $opt); - $nsfooter = wfMsgExt("bottom-notice-ns-$ns", $opt); + if ($header != null) { + $text = "<div>$header</div>\n$text"; + } else if ($folderHeader != null) { + $text = "<div id=\"folderHeader\">$folderHeader</div>\n$text"; + } + if ($nsheader != null) $text = "<div>$nsheader</div>\n$text"; - if (!wfEmptyMsg("top-notice-$name", $header)) $text = "<div>$header</div>\n$text"; - if (!wfEmptyMsg("top-notice-ns-$ns", $nsheader)) $text = "<div>$nsheader</div>\n$text"; - - if (!wfEmptyMsg("bottom-notice-$name", $footer)) $text = "$text\n<div>$footer</div>"; - if (!wfEmptyMsg("bottom-notice-ns-$ns", $nsfooter)) $text = "$text\n<div>$nsfooter</div>"; + if ($footer != null) $text = "$text\n<div>$footer</div>"; + if ($nsfooter != null) $text = "$text\n<div>$nsfooter</div>"; return true; } +function getPageNotice($key) { + $opt = array( + 'parseinline', + ); + + $res = wfMsgExt($key, $opt); + if (wfEmptyMsg($key, $res)) { + $title = Title::newFromText( $key, NS_MEDIAWIKI ); + if (is_null($title)) { + return null; + } + $article = new Article($title); + if ($article->exists()) { + $title2 = $article->followRedirect(); + if (isset($title2) && $title2 != null) { + $article = new Article($title2); + } + $res = MessageCache::singleton()->parse($article->getContent(), $title, true, true)->getText(); + } else { + $res = null; + } + } + + return $res; +} -- To view, visit https://gerrit.wikimedia.org/r/61187 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8cb62a8c8b94960c1cc6a595d6b62602645b6321 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/PageNotice Gerrit-Branch: master Gerrit-Owner: Timboven <tim.bo...@telenet.be> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits