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

Reply via email to