Robert Vogel has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/394061 )

Change subject: BlueSpicePagesVisited: Change config
......................................................................


BlueSpicePagesVisited: Change config

Added config-data in extension.json.

Removed BsConfig-registration methods in main-class.

Altered config-get methods.

Added config-classes.

Fixed callbacks on Hooks.

Fixed namespace on config-classes.

Added params to config-classes.

Corrected callback-methods on hook.

Corrected options on config-class.

Change-Id: If3a540ad70e926a16a0b7690c129e1eebe03dff1
---
M PagesVisited.class.php
M extension.json
A src/Hook/GetPreferences/AddWidgetLimit.php
A src/Hook/GetPreferences/AddWidgetNS.php
A src/Hook/GetPreferences/WidgetSortOdr.php
5 files changed, 71 insertions(+), 36 deletions(-)

Approvals:
  Pwirth: Looks good to me, approved
  Robert Vogel: Verified



diff --git a/PagesVisited.class.php b/PagesVisited.class.php
index 5c1c2ab..e26d067 100644
--- a/PagesVisited.class.php
+++ b/PagesVisited.class.php
@@ -52,40 +52,7 @@
                $this->setHook( 'BSInsertMagicAjaxGetData' );
                $this->setHook( 'BSUsageTrackerRegisterCollectors' );
 
-               BsConfig::registerVar( 'MW::PagesVisited::WidgetLimit', 10, 
BsConfig::LEVEL_USER|BsConfig::TYPE_INT, 'bs-pagesvisited-pref-widgetlimit', 
'int' );
-               BsConfig::registerVar( 'MW::PagesVisited::WidgetNS', array( 0 
), 
BsConfig::LEVEL_USER|BsConfig::TYPE_ARRAY_STRING|BsConfig::USE_PLUGIN_FOR_PREFS,
 'bs-pagesvisited-pref-widgetns', 'multiselectex' );
-               BsConfig::registerVar( 'MW::PagesVisited::WidgetSortOdr', 
'time', 
BsConfig::LEVEL_USER|BsConfig::TYPE_STRING|BsConfig::USE_PLUGIN_FOR_PREFS, 
'bs-pagesvisited-pref-widgetsortodr', 'select' );
-
                wfProfileOut( 'BS::'.__METHOD__ );
-       }
-
-       /**
-        * The preferences plugin callback
-        * @param string $sAdapterName
-        * @param BsConfig $oVariable
-        * @return array MediaWiki preferences options array
-        */
-       public function runPreferencePlugin( $sAdapterName, $oVariable ) {
-               $aPrefs = array();
-               switch( $oVariable->getName() ) {
-                       case 'WidgetNS':
-                               $aPrefs = array(
-                                       'type' => 'multiselectex',
-                                       'options' => 
BsNamespaceHelper::getNamespacesForSelectOptions( array( -2, NS_MEDIA, 
NS_MEDIAWIKI, NS_MEDIAWIKI_TALK, NS_SPECIAL ) )
-                               );
-                               break;
-                       case 'WidgetSortOdr':
-                               $aPrefs = array(
-                                       'options' => array(
-                                               wfMessage( 
'bs-pagesvisited-pref-sort-time' )->plain() => 'time',
-                                               wfMessage( 
'bs-pagesvisited-pref-sort-pagename' )->plain() => 'pagename'
-                                       )
-                               );
-                               break;
-                       default:
-                               break;
-               }
-               return $aPrefs;
        }
 
        /**
@@ -211,9 +178,11 @@
         * @param array &$aViews List of Widget view objects from the BlueSpice 
Skin.
         */
        private function addWidgetView( &$aViews ) {
-               $iCount = BsConfig::get( 'MW::PagesVisited::WidgetLimit' );
-               $aNamespaces = BsConfig::get( 'MW::PagesVisited::WidgetNS' );
-               $sSortOrder = BsConfig::get( 'MW::PagesVisited::WidgetSortOdr' 
);
+               $config = 
\MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 
'bsg' );
+
+               $iCount = $config->get( 'PagesVisitedWidgetLimit' );
+               $aNamespaces = $config->get( 'PagesVisitedWidgetNS' );
+               $sSortOrder = $config->get( 'PagesVisitedWidgetSortOdr' );
 
                //Validation
                $oValidationICount = BsValidator::isValid( 'IntegerRange', 
$iCount, array( 'fullResponse' => true, 'lowerBoundary' => 1, 'upperBoundary' 
=> 30 ) );
diff --git a/extension.json b/extension.json
index 307a955..3984fdb 100644
--- a/extension.json
+++ b/extension.json
@@ -20,9 +20,22 @@
                        "i18n"
                ]
        },
+       "DefaultUserOptions": {
+               "bs-pagesvisited-pref-widgetlimit": "int",
+               "bs-pagesvisited-pref-widgetns": "multiselectex",
+               "bs-pagesvisited-pref-widgetsortodr": "select"
+       },
        "AutoloadClasses": {
                "PagesVisited": "PagesVisited.class.php"
        },
+       "Hooks": {
+               "GetPreferences": [
+                       
"\\BlueSpice\\PagesVisited\\Hook\\GetPreferences\\AddWidgetLimit::callback",
+                       
"\\BlueSpice\\PagesVisited\\Hook\\GetPreferences\\AddWidgetNS::callback",
+                       
"\\BlueSpice\\PagesVisited\\Hook\\GetPreferences\\AddWidgetSortOdr::callback"
+               ],
+               "UnitTestsList": "PagesVisited::onUnitTestsList"
+       },
        "load_composer_autoloader": true,
        "manifest_version": 1
 }
diff --git a/src/Hook/GetPreferences/AddWidgetLimit.php 
b/src/Hook/GetPreferences/AddWidgetLimit.php
new file mode 100644
index 0000000..3c5c1fd
--- /dev/null
+++ b/src/Hook/GetPreferences/AddWidgetLimit.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace BlueSpice\PagesVisited\Hook\GetPreferences;
+
+use BlueSpice\Hook\GetPreferences;
+
+class AddWidgetLimit extends GetPreferences {
+       protected function doProcess() {
+               $this->preferences['bs-pagesvisited-pref-widgetlimit'] = array(
+                       'type' => 'int',
+                       'label-message' => 'bs-pagesvisited-pref-widgetlimit',
+                       'section' => 'bluespice/pagesvisited',
+               );
+               return true;
+       }
+}
diff --git a/src/Hook/GetPreferences/AddWidgetNS.php 
b/src/Hook/GetPreferences/AddWidgetNS.php
new file mode 100644
index 0000000..238baf7
--- /dev/null
+++ b/src/Hook/GetPreferences/AddWidgetNS.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace BlueSpice\PagesVisited\Hook\GetPreferences;
+
+use BlueSpice\Hook\GetPreferences;
+
+class AddWidgetNS extends GetPreferences {
+       protected function doProcess() {
+               $this->preferences['bs-pagesvisited-pref-widgetns'] = array(
+                       'type' => 'multiselectex',
+                       'label-message' => 'bs-pagesvisited-pref-widgetns',
+                       'section' => 'bluespice/pagesvisited',
+                       'options' => 
\BsNamespaceHelper::getNamespacesForSelectOptions( array( -2, NS_MEDIA, 
NS_MEDIAWIKI, NS_MEDIAWIKI_TALK, NS_SPECIAL ) )
+                       );
+               return true;
+       }
+}
diff --git a/src/Hook/GetPreferences/WidgetSortOdr.php 
b/src/Hook/GetPreferences/WidgetSortOdr.php
new file mode 100644
index 0000000..645a9a0
--- /dev/null
+++ b/src/Hook/GetPreferences/WidgetSortOdr.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace BlueSpice\PagesVisited\Hook\GetPreferences;
+
+use BlueSpice\Hook\GetPreferences;
+
+class AddWidgetSortOdr extends GetPreferences {
+       protected function doProcess() {
+               $this->preferences['bs-pagesvisited-pref-widgetsortodr'] = 
array(
+                       'type' => 'radio',
+                       'section' => 'bluespice/pagesvisited',
+                       'label-message' => 'bs-pagesvisited-pref-widgetsortodr',
+                       'options' => array(
+                               wfMessage( 'bs-pagesvisited-pref-sort-time' 
)->plain() => 'time',
+                               wfMessage( 'bs-pagesvisited-pref-sort-pagename' 
)->plain() => 'pagename'
+                               )
+                       );
+               return true;
+       }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/394061
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If3a540ad70e926a16a0b7690c129e1eebe03dff1
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/BlueSpicePagesVisited
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