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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits