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