Robert Vogel has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/393767 )
Change subject: BlueSpiceBlog: Change config
......................................................................
BlueSpiceBlog: Change config
Removed config-data on main-class.
Added config-data on JSON.
Added config-classes.
Added "Blog"-Prefixes.
Removed private config.
Updated to manifest version 2.
Changed BsConfig-get-method.
Change-Id: I2d9f4f50528a3e456c49a5c0e322fc8adf46cdc5
---
M Blog.class.php
M extension.json
A src/configDefinition/BlogImageRenderMode.php
A src/configDefinition/BlogMaxEntryCharacters.php
A src/configDefinition/BlogMoreInNewWindow.php
A src/configDefinition/BlogNewEntryFieldPosition.php
A src/configDefinition/BlogShowAll.php
A src/configDefinition/BlogShowInfo.php
A src/configDefinition/BlogShowLimit.php
A src/configDefinition/BlogShowNewEntryField.php
A src/configDefinition/BlogShowPermalink.php
A src/configDefinition/BlogThumbFloatDirection.php
M views/view.Blog.php
13 files changed, 215 insertions(+), 50 deletions(-)
Approvals:
Pwirth: Verified; Looks good to me, approved
diff --git a/Blog.class.php b/Blog.class.php
index 6953652..67e3934 100644
--- a/Blog.class.php
+++ b/Blog.class.php
@@ -53,35 +53,6 @@
$this->setHook( 'BSTopMenuBarCustomizerRegisterNavigationSites'
);
$this->setHook( 'BSUsageTrackerRegisterCollectors' );
- // Trackback is not fully functional in MW and thus disabled.
- BsConfig::registerVar( 'MW::Blog::ShowTrackback', false,
BsConfig::LEVEL_PRIVATE|BsConfig::TYPE_BOOL );
- // Show permalink link at end of a blog entry
- BsConfig::registerVar( 'MW::Blog::ShowPermalink', true,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_BOOL, 'bs-blog-pref-showpermalink',
'toggle' );
- // Show info line below blog entry heading
- BsConfig::registerVar( 'MW::Blog::ShowInfo', true,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_BOOL, 'bs-blog-pref-showinfo', 'toggle');
- // Open more link in new window
- BsConfig::registerVar( 'MW::Blog::MoreInNewWindow', false,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_BOOL, 'bs-blog-pref-moreinnewwindow',
'toggle' );
- // Should a link to complete list of blog entries be rendered?
- BsConfig::registerVar( 'MW::Blog::ShowAll', true,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_BOOL, 'bs-blog-pref-showall', 'toggle' );
- // Place more link at end of blog entry instead of next line
- BsConfig::registerVar( 'MW::Blog::MoreAtEndOfEntry', true,
BsConfig::LEVEL_PRIVATE|BsConfig::TYPE_BOOL, 'toggle' );
- // Possible values are "creation" and "title"
- BsConfig::registerVar( 'MW::Blog::SortBy', 'creation',
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_STRING|BsConfig::USE_PLUGIN_FOR_PREFS,
'bs-blog-pref-sortby', 'select' );
- // Number of blog entries that shall be displayed initially
- BsConfig::registerVar( 'MW::Blog::ShowLimit', 10,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_INT, 'bs-blog-pref-showlimit', 'int' );
- // Show form that allows to create a new blog entry
- BsConfig::registerVar( 'MW::Blog::ShowNewEntryField', true,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_BOOL, 'bs-blog-pref-shownewentryfield',
'toggle' );
- // Position of new entry field. Possible values are "top" and
"bottom"
- BsConfig::registerVar( 'MW::Blog::NewEntryFieldPosition',
'top',
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_STRING|BsConfig::USE_PLUGIN_FOR_PREFS,
'bs-blog-pref-newentryfieldposition', 'select' );
- // Maximum number of characters befor an entry is automatically
cut
- BsConfig::registerVar( 'MW::Blog::MaxEntryCharacters', 1000,
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_INT, 'bs-blog-pref-maxentrycharacters',
'int' );
- // Defines how images should be rendered. Possible values:
full|thumb|none
- BsConfig::registerVar( 'MW::Blog::ImageRenderMode', 'thumb',
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_STRING|BsConfig::USE_PLUGIN_FOR_PREFS,
'bs-blog-pref-imagerendermode', 'select' );
- // Defines float direction of images when ImageRenderMode is
thumb. Possible values: left|right|none
- BsConfig::registerVar( 'MW::Blog::ThumbFloatDirection',
'right',
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_STRING|BsConfig::USE_PLUGIN_FOR_PREFS,
'bs-blog-pref-imagefloatdirection', 'select' );
-
- BsConfig::registerVar( 'MW::Blog::ShowTagFormWhenNotLoggedIn',
false, BsConfig::LEVEL_PRIVATE|BsConfig::TYPE_BOOL, 'toggle' );
-
$this->mCore->registerPermission( 'blog-viewspecialpage',
array('user'), array( 'type' => 'global' ) );
wfProfileOut( 'BS::'.__METHOD__ );
@@ -382,20 +353,20 @@
// initialize local variables
$oErrorListView = new ViewTagErrorList( $this );
- // get all config options
- $iShowLimit = BsConfig::get( 'MW::Blog::ShowLimit'
);
- //$blogShowTrackback =
BsConfig::get('MW::Blog::ShowTrackback'); // see comment below
- $bShowPermalink = BsConfig::get(
'MW::Blog::ShowPermalink' );
- $bShowInfo = BsConfig::get( 'MW::Blog::ShowInfo' );
- $sSortBy = BsConfig::get( 'MW::Blog::SortBy' );
- $bMoreInNewWindow = BsConfig::get(
'MW::Blog::MoreInNewWindow' );
- $bShowAll = BsConfig::get( 'MW::Blog::ShowAll' );
- $bMoreAtEndOfEntry = BsConfig::get(
'MW::Blog::MoreAtEndOfEntry' );
- $bShowNewEntryField = BsConfig::get(
'MW::Blog::ShowNewEntryField' );
- $bNewEntryFieldPosition = BsConfig::get(
'MW::Blog::NewEntryFieldPosition' );
- $sImageRenderMode = BsConfig::get(
'MW::Blog::ImageRenderMode' );
- $sImageFloatDirection = BsConfig::get(
'MW::Blog::ThumbFloatDirection' );
- $iMaxEntryCharacters = BsConfig::get(
'MW::Blog::MaxEntryCharacters' );
+ $config =
\MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()->makeConfig(
'bsg' );
+ //Read in config variables
+ $iShowLimit = $config->get( 'ShowLimit' );
+ $bShowPermalink = $config->get( 'ShowPermalink' );
+ $bShowInfo = $config->get( 'ShowInfo' );
+ $sSortBy = $config->get( 'SortBy' );
+ $bMoreInNewWindow = $config->get( 'MoreInNewWindow' );
+ $bShowAll = $config->get( 'ShowAll' );
+ $bMoreAtEndOfEntry = $config->get( 'MoreAtEndOfEntry' );
+ $bShowNewEntryField = $config->get( 'ShowNewEntryField' );
+ $bNewEntryFieldPosition = $config->get( 'NewEntryFieldPosition'
);
+ $sImageRenderMode = $config->get( 'ImageRenderMode' );
+ $sImageFloatDirection = $config->get( 'ThumbFloatDirection' );
+ $iMaxEntryCharacters = $config->get( 'MaxEntryCharacters' );
// Trackbacks are not supported the way we intend it to be.
From http://www.mediawiki.org/wiki/Manual:$wgUseTrackbacks
// When MediaWiki receives a trackback ping, a box will show up
at the bottom of the article containing a link to the originating page
@@ -450,7 +421,7 @@
return $oErrorListView->execute();
}
- if ( BsConfig::get( 'MW::Blog::ShowTagFormWhenNotLoggedIn' ) !=
true ) {
+ if ( $config->get( 'BlogShowTagFormWhenNotLoggedIn' ) != true )
{
$oPermissionTest = Title::newFromText(
'PermissionTest', $argsINamespace );
if ( !$oPermissionTest->userCan( 'edit' ) ) {
$argsBNewEntryField = false;
diff --git a/extension.json b/extension.json
index bc74e83..10f2e57 100644
--- a/extension.json
+++ b/extension.json
@@ -9,10 +9,26 @@
],
"descriptionmsg": "bs-blog-desc",
"type": "bluespice",
- "bsgExtensions": {
- "Blog": {
- "className": "Blog",
- "extPath": "/BlueSpiceBlog"
+ "attributes": {
+ "BlueSpiceFoundation": {
+ "Extensions": {
+ "BlueSpiceBlog": {
+ "className": "Blog",
+ "extPath": "/BlueSpiceBlog",
+ "configDefinitions": {
+ "ShowPermalink":
"\\BlueSpice\\Blog\\ConfigDefinition\\ShowPermalink::getInstance",
+ "ShowInfo":
"\\BlueSpice\\Blog\\ConfigDefinition\\ShowInfo::getInstance",
+ "MoreInNewWindow":
"\\BlueSpice\\Blog\\ConfigDefinition\\MoreInNewWindow::getInstance",
+ "ShowAll":
"\\BlueSpice\\Blog\\ConfigDefinition\\ShowAll::getInstance",
+ "ShowLimit":
"\\BlueSpice\\Blog\\ConfigDefinition\\ShowLimit::getInstance",
+ "ShowNewEntryField":
"\\BlueSpice\\Blog\\ConfigDefinition\\ShowNewEntryField::getInstance",
+ "NewEntryFieldPosition":
"\\BlueSpice\\Blog\\ConfigDefinition\\NewEntryFieldPosition::getInstance",
+ "MaxEntryCharacters":
"\\BlueSpice\\Blog\\ConfigDefinition\\MaxEntryCharacters::getInstance",
+ "ImageRenderMode":
"\\BlueSpice\\Blog\\ConfigDefinition\\ImageRenderMode::getInstance",
+ "ThumbFloatDirection":
"\\BlueSpice\\Blog\\ConfigDefinition\\ThumbFloatDirection::getInstance"
+ }
+ }
+ }
}
},
"callback": "Blog::onRegistration",
@@ -27,6 +43,73 @@
"ExtensionMessagesFiles": {
"BlogNamespaces": "languages/Blog.namespaces.php",
"BlogAlias": "includes/specials/SpecialBlog.alias.php"
+ },
+ "config_prefix": "bsg",
+ "config": {
+ "BlogShowTrackback": {
+ "value": true,
+ "descriptionmsg": "bs-blog-pref-showpermalink"
+ },
+ "BlogShowPermalink": {
+ "value": true,
+ "descriptionmsg": "bs-blog-pref-showinfo",
+ "public": true
+ },
+ "BlogShowInfo": {
+ "value": true,
+ "descriptionmsg": "bs-blog-pref-moreinnewwindow",
+ "public": true
+ },
+ "BlogMoreInNewWindow": {
+ "value": false,
+ "descriptionmsg": "bs-blog-pref-moreinnewwindow",
+ "public": "true"
+ },
+ "BlogShowAll": {
+ "value": true,
+ "descriptionmsg": "bs-blog-pref-showall",
+ "public": "true"
+ },
+ "BlogMoreAtEndOfEntry": {
+ "value": true
+ },
+ "BlogSortBy": {
+ "value": "creation",
+ "descriptionmsg": "bs-blog-pref-sortby"
+ },
+ "BlogShowLimit": {
+ "value": 10,
+ "descriptionmsg": "bs-blog-pref-showlimit",
+ "public": true
+ },
+ "BlogShowNewEntryField": {
+ "value": true,
+ "descriptionmsg": "bs-blog-pref-shownewentryfield",
+ "public": true
+ },
+ "BlogNewEntryFieldPosition": {
+ "value": "top",
+ "descriptionmsg": "bs-blog-pref-newentryfieldposition",
+ "public": true
+ },
+ "BlogMaxEntryCharacters": {
+ "value": 1000,
+ "descriptionmsg": "bs-blog-pref-maxentrycharacters",
+ "public": true
+ },
+ "BlogImageRenderMode": {
+ "value": "thumb",
+ "descriptionmsg": "bs-blog-pref-imagerendermode",
+ "public": true
+ },
+ "BlogThumbFloatDirection": {
+ "value": "right",
+ "descriptionmsg": "bs-blog-pref-imagefloatdirection",
+ "public": true
+ },
+ "BlogShowTagFormWhenNotLoggedIn": {
+ "value": false
+ }
},
"AutoloadClasses": {
"Blog": "Blog.class.php",
@@ -50,5 +133,5 @@
"remoteExtPath": "BlueSpiceBlog/resources"
},
"load_composer_autoloader" : true,
- "manifest_version": 1
+ "manifest_version": 2
}
diff --git a/src/configDefinition/BlogImageRenderMode.php
b/src/configDefinition/BlogImageRenderMode.php
new file mode 100644
index 0000000..291cb8a
--- /dev/null
+++ b/src/configDefinition/BlogImageRenderMode.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\StringSetting;
+
+class BlogImageRenderMode extends StringSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-imagerendermode';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogMaxEntryCharacters.php
b/src/configDefinition/BlogMaxEntryCharacters.php
new file mode 100644
index 0000000..bb7e05a
--- /dev/null
+++ b/src/configDefinition/BlogMaxEntryCharacters.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\IntSetting;
+
+class BlogMaxEntryCharacters extends IntSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-maxentrycharacters';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogMoreInNewWindow.php
b/src/configDefinition/BlogMoreInNewWindow.php
new file mode 100644
index 0000000..3b6f8aa
--- /dev/null
+++ b/src/configDefinition/BlogMoreInNewWindow.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\BooleanSetting;
+
+class BlogMoreInNewWindow extends BooleanSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-moreinnewwindow';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogNewEntryFieldPosition.php
b/src/configDefinition/BlogNewEntryFieldPosition.php
new file mode 100644
index 0000000..6783b32
--- /dev/null
+++ b/src/configDefinition/BlogNewEntryFieldPosition.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\StringSetting;
+
+class BlogNewEntryFieldPosition extends StringSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-newentryfieldposition';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogShowAll.php
b/src/configDefinition/BlogShowAll.php
new file mode 100644
index 0000000..8315deb
--- /dev/null
+++ b/src/configDefinition/BlogShowAll.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\BooleanSetting;
+
+class BlogShowAll extends BooleanSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-showall';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogShowInfo.php
b/src/configDefinition/BlogShowInfo.php
new file mode 100644
index 0000000..f3c536b
--- /dev/null
+++ b/src/configDefinition/BlogShowInfo.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\BooleanSetting;
+
+class BlogShowInfo extends BooleanSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-showinfo';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogShowLimit.php
b/src/configDefinition/BlogShowLimit.php
new file mode 100644
index 0000000..1dbcc65
--- /dev/null
+++ b/src/configDefinition/BlogShowLimit.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\IntSetting;
+
+class BlogShowLimit extends IntSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-showlimit';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogShowNewEntryField.php
b/src/configDefinition/BlogShowNewEntryField.php
new file mode 100644
index 0000000..be3fee5
--- /dev/null
+++ b/src/configDefinition/BlogShowNewEntryField.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\BooleanSetting;
+
+class BlogShowNewEntryField extends BooleanSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-shownewentryfield';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogShowPermalink.php
b/src/configDefinition/BlogShowPermalink.php
new file mode 100644
index 0000000..89bd147
--- /dev/null
+++ b/src/configDefinition/BlogShowPermalink.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\BooleanSetting;
+
+class BlogShowPermalink extends BooleanSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-showpermalink';
+ }
+}
\ No newline at end of file
diff --git a/src/configDefinition/BlogThumbFloatDirection.php
b/src/configDefinition/BlogThumbFloatDirection.php
new file mode 100644
index 0000000..7973159
--- /dev/null
+++ b/src/configDefinition/BlogThumbFloatDirection.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace BlueSpice\Blog\ConfigDefinition;
+
+use BlueSpice\ConfigDefinition\StringSetting;
+
+class BlogThumbFloatDirection extends StringSetting {
+ public function getLabelMessageKey() {
+ return 'bs-blog-pref-imagefloatdirection';
+ }
+}
\ No newline at end of file
diff --git a/views/view.Blog.php b/views/view.Blog.php
index aa5661d..994629d 100644
--- a/views/view.Blog.php
+++ b/views/view.Blog.php
@@ -82,7 +82,8 @@
$aOut[] = ' pagename = "'.$sParentpage.'" +
document.getElementById("'.$sId.'Input").value;';
//$aOut[] = ' if(!check_pagename(pagename)) return false;';
$aOut[] = ' pagename = pagename.replace(" ", "_");';
- if ( $wgUser->isLoggedIn() || BsConfig::get(
'MW::Blog::ShowTagFormWhenNotLoggedIn' ) != true ) {
+ $config =
\MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()->makeConfig(
'bsg' );
+ if ( $wgUser->isLoggedIn() || $config->get(
'BlogShowTagFormWhenNotLoggedIn' ) != true ) {
$aOut[] = ' url =
unescape("'.$wgScriptPath.'/index.php?title='.( $this->getOption( 'namespace' )
? $this->getOption( 'namespace' ).':' : ''
).'"+pagename+"%26action"+"=edit"+"%26blogcat='.$this->getOption( 'blogcat'
).'");';
} else {
$aOut[] = ' url =
unescape("'.$wgScriptPath.'/index.php%3Ftitle=special:userlogin%26returnto='.$this->getOption(
'namespace' ).':"+pagename);';
--
To view, visit https://gerrit.wikimedia.org/r/393767
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2d9f4f50528a3e456c49a5c0e322fc8adf46cdc5
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/BlueSpiceBlog
Gerrit-Branch: master
Gerrit-Owner: Pmiguelpirzer <[email protected]>
Gerrit-Reviewer: Ljonka <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Pwirth <[email protected]>
Gerrit-Reviewer: Robert Vogel <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits