diff options
author | Stefan Giehl <stefan@piwik.org> | 2018-03-23 02:51:24 +0300 |
---|---|---|
committer | Matthieu Aubry <mattab@users.noreply.github.com> | 2018-03-23 02:51:24 +0300 |
commit | c61018b5b4676b9e0f5b500cca592007c22c1153 (patch) | |
tree | 1b4b70ff84b632a6713507209da68c6b61b99861 /plugins | |
parent | 4ed366ae6ec2697c525943395499b3dcb51dc2aa (diff) |
Hide widgets not working without internet connection if disabled in config (#12279)
* Hide SEO rankings widget if internet is disabled in config
* Hide RSS widgets if internet is disabled in config
* Remove more wirdgets when internet connection disabled
* Adjust widgets to remove after rename to Matomo
* Code improvements
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Marketplace/Marketplace.php | 17 | ||||
-rw-r--r-- | plugins/Marketplace/Widgets/GetNewPlugins.php | 14 | ||||
-rw-r--r-- | plugins/Marketplace/Widgets/GetPremiumFeatures.php | 14 | ||||
-rw-r--r-- | plugins/RssWidget/RssWidget.php | 18 | ||||
-rw-r--r-- | plugins/RssWidget/Widgets/RssChangelog.php | 14 | ||||
-rw-r--r-- | plugins/RssWidget/Widgets/RssPiwik.php | 14 | ||||
-rw-r--r-- | plugins/SEO/SEO.php | 19 | ||||
-rw-r--r-- | plugins/SEO/Widgets/GetRank.php | 14 |
8 files changed, 113 insertions, 11 deletions
diff --git a/plugins/Marketplace/Marketplace.php b/plugins/Marketplace/Marketplace.php index c906cb0454..a274094544 100644 --- a/plugins/Marketplace/Marketplace.php +++ b/plugins/Marketplace/Marketplace.php @@ -9,7 +9,12 @@ namespace Piwik\Plugins\Marketplace; use Piwik\Container\StaticContainer; +use Piwik\Piwik; use Piwik\Plugin; +use Piwik\Plugins\Marketplace\Widgets\GetNewPlugins; +use Piwik\Plugins\Marketplace\Widgets\GetPremiumFeatures; +use Piwik\SettingsPiwik; +use Piwik\Widget\WidgetsList; class Marketplace extends \Piwik\Plugin { @@ -23,6 +28,7 @@ class Marketplace extends \Piwik\Plugin 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys', 'Controller.CoreHome.checkForUpdates' => 'checkForUpdates', + 'Widget.filterWidgets' => 'filterWidgets' ); } @@ -55,6 +61,17 @@ class Marketplace extends \Piwik\Plugin $translationKeys[] = 'Marketplace_LicenseKeyDeletedSuccess'; } + /** + * @param WidgetsList $list + */ + public function filterWidgets($list) + { + if (!SettingsPiwik::isInternetEnabled()) { + $list->remove(GetPremiumFeatures::getCategory(), GetPremiumFeatures::getName()); + $list->remove(GetNewPlugins::getCategory(), GetNewPlugins::getName()); + } + } + public static function isMarketplaceEnabled() { return self::getPluginManager()->isPluginActivated('Marketplace'); diff --git a/plugins/Marketplace/Widgets/GetNewPlugins.php b/plugins/Marketplace/Widgets/GetNewPlugins.php index 4f814a6d7e..4503767a95 100644 --- a/plugins/Marketplace/Widgets/GetNewPlugins.php +++ b/plugins/Marketplace/Widgets/GetNewPlugins.php @@ -27,10 +27,20 @@ class GetNewPlugins extends Widget $this->marketplaceApiClient = $marketplaceApiClient; } + public static function getCategory() + { + return 'About Matomo'; + } + + public static function getName() + { + return 'Latest Marketplace Updates'; + } + public static function configure(WidgetConfig $config) { - $config->setCategoryId('About Matomo'); - $config->setName('Latest Marketplace Updates'); + $config->setCategoryId(self::getCategory()); + $config->setName(self::getName()); $config->setOrder(19); } diff --git a/plugins/Marketplace/Widgets/GetPremiumFeatures.php b/plugins/Marketplace/Widgets/GetPremiumFeatures.php index a928be6067..02726f7718 100644 --- a/plugins/Marketplace/Widgets/GetPremiumFeatures.php +++ b/plugins/Marketplace/Widgets/GetPremiumFeatures.php @@ -29,10 +29,20 @@ class GetPremiumFeatures extends Widget $this->marketplaceApiClient = $marketplaceApiClient; } + public static function getCategory() + { + return 'About Matomo'; + } + + public static function getName() + { + return Piwik::translate('Marketplace_PaidPlugins'); + } + public static function configure(WidgetConfig $config) { - $config->setCategoryId('About Matomo'); - $config->setName(Piwik::translate('Marketplace_PaidPlugins')); + $config->setCategoryId(self::getCategory()); + $config->setName(self::getName()); $config->setOrder(20); } diff --git a/plugins/RssWidget/RssWidget.php b/plugins/RssWidget/RssWidget.php index 03f2af97d9..45c49617bd 100644 --- a/plugins/RssWidget/RssWidget.php +++ b/plugins/RssWidget/RssWidget.php @@ -7,6 +7,10 @@ * */ namespace Piwik\Plugins\RssWidget; +use Piwik\Plugins\RssWidget\Widgets\RssChangelog; +use Piwik\Plugins\RssWidget\Widgets\RssPiwik; +use Piwik\SettingsPiwik; +use Piwik\Widget\WidgetsList; /** * @@ -14,13 +18,14 @@ namespace Piwik\Plugins\RssWidget; class RssWidget extends \Piwik\Plugin { /** - * @see Piwik\Plugin::registerEvents + * @see \Piwik\Plugin::registerEvents */ public function registerEvents() { return array( 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'Request.getRenamedModuleAndAction' => 'renameExampleRssWidgetModule', + 'Widget.filterWidgets' => 'filterWidgets' ); } @@ -35,4 +40,15 @@ class RssWidget extends \Piwik\Plugin $module = 'RssWidget'; } } + + /** + * @param WidgetsList $list + */ + public function filterWidgets($list) + { + if (!SettingsPiwik::isInternetEnabled()) { + $list->remove(RssChangelog::getCategory(), RssChangelog::getName()); + $list->remove(RssPiwik::getCategory(), RssPiwik::getName()); + } + } } diff --git a/plugins/RssWidget/Widgets/RssChangelog.php b/plugins/RssWidget/Widgets/RssChangelog.php index 9a58d0c367..6b5d13e81d 100644 --- a/plugins/RssWidget/Widgets/RssChangelog.php +++ b/plugins/RssWidget/Widgets/RssChangelog.php @@ -14,10 +14,20 @@ use Piwik\Plugins\RssWidget\RssRenderer; class RssChangelog extends \Piwik\Widget\Widget { + public static function getCategory() + { + return 'About Matomo'; + } + + public static function getName() + { + return 'Matomo Changelog'; + } + public static function configure(WidgetConfig $config) { - $config->setCategoryId('About Matomo'); - $config->setName('Matomo Changelog'); + $config->setCategoryId(self::getCategory()); + $config->setName(self::getName()); } private function getFeed($URL) { diff --git a/plugins/RssWidget/Widgets/RssPiwik.php b/plugins/RssWidget/Widgets/RssPiwik.php index 2234488c49..68a1bf310c 100644 --- a/plugins/RssWidget/Widgets/RssPiwik.php +++ b/plugins/RssWidget/Widgets/RssPiwik.php @@ -14,10 +14,20 @@ use Piwik\Plugins\RssWidget\RssRenderer; class RssPiwik extends \Piwik\Widget\Widget { + public static function getCategory() + { + return 'About Matomo'; + } + + public static function getName() + { + return 'Matomo.org Blog'; + } + public static function configure(WidgetConfig $config) { - $config->setCategoryId('About Matomo'); - $config->setName('Matomo.org Blog'); + $config->setCategoryId(self::getCategory()); + $config->setName(self::getName()); } private function getFeed($URL){ diff --git a/plugins/SEO/SEO.php b/plugins/SEO/SEO.php index f5db02ea46..5717aaed36 100644 --- a/plugins/SEO/SEO.php +++ b/plugins/SEO/SEO.php @@ -7,9 +7,28 @@ * */ namespace Piwik\Plugins\SEO; +use Piwik\Plugins\SEO\Widgets\GetRank; +use Piwik\SettingsPiwik; +use Piwik\Widget\WidgetsList; /** */ class SEO extends \Piwik\Plugin { + public function registerEvents() + { + return [ + 'Widget.filterWidgets' => 'filterWidgets' + ]; + } + + /** + * @param WidgetsList $list + */ + public function filterWidgets($list) + { + if (!SettingsPiwik::isInternetEnabled()) { + $list->remove(GetRank::getCategory(), GetRank::getName()); + } + } } diff --git a/plugins/SEO/Widgets/GetRank.php b/plugins/SEO/Widgets/GetRank.php index b22a6683c9..3a673edd94 100644 --- a/plugins/SEO/Widgets/GetRank.php +++ b/plugins/SEO/Widgets/GetRank.php @@ -18,10 +18,20 @@ use Piwik\Plugins\SEO\API; class GetRank extends \Piwik\Widget\Widget { + public static function getCategory() + { + return 'SEO'; + } + + public static function getName() + { + return 'SEO_SeoRankings'; + } + public static function configure(WidgetConfig $config) { - $config->setCategoryId('SEO'); - $config->setName('SEO_SeoRankings'); + $config->setCategoryId(self::getCategory()); + $config->setName(self::getName()); } public function render() |