[MediaWiki-commits] [Gerrit] mediawiki...BlueSpicePagesVisited[master]: BlueSpicePagesVisited: Change config
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\\Ge
[MediaWiki-commits] [Gerrit] mediawiki...BlueSpicePagesVisited[master]: BlueSpicePagesVisited: Change config
Pmiguelpirzer has uploaded a new change for review. ( 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. 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, 62 insertions(+), 36 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpicePagesVisited refs/changes/61/394061/1 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..e860e2e 100644 --- a/extension.json +++ b/extension.json @@ -20,9 +20,20 @@ "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\\Hook\\GetPreferences\\AddWidgetLimit::callback", + "GetPreferences": "BlueSpice\\Hook\\GetPreferences\\AddWidgetNS::callback", + "GetPreferences": "BlueSpice\\Hook\\GetPreferences\\AddWidgetSortOdr::callback", + "UnitTestsList": "PagesVisited::