diff options
Diffstat (limited to 'plugins/Marketplace/Widgets/GetPremiumFeatures.php')
-rw-r--r-- | plugins/Marketplace/Widgets/GetPremiumFeatures.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/plugins/Marketplace/Widgets/GetPremiumFeatures.php b/plugins/Marketplace/Widgets/GetPremiumFeatures.php new file mode 100644 index 0000000000..4e777a218f --- /dev/null +++ b/plugins/Marketplace/Widgets/GetPremiumFeatures.php @@ -0,0 +1,56 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + * + */ +namespace Piwik\Plugins\Marketplace\Widgets; + +use Piwik\Common; +use Piwik\Piwik; +use Piwik\Plugin; +use Piwik\Plugins\Marketplace\Api\Client; +use Piwik\Plugins\Marketplace\Input\PurchaseType; +use Piwik\Plugins\Marketplace\Input\Sort; +use Piwik\Widget\Widget; +use Piwik\Widget\WidgetConfig; + +class GetPremiumFeatures extends Widget +{ + /** + * @var Client + */ + private $marketplaceApiClient; + + public function __construct(Client $marketplaceApiClient) + { + $this->marketplaceApiClient = $marketplaceApiClient; + } + + public static function configure(WidgetConfig $config) + { + $config->setCategoryId('About Piwik'); + $config->setName(Piwik::translate('Marketplace_PaidPlugins')); + $config->setOrder(20); + } + + public function render() + { + $template = 'getPremiumFeatures'; + + $plugins = $this->marketplaceApiClient->searchForPlugins('', '', Sort::METHOD_LAST_UPDATED, PurchaseType::TYPE_PAID); + + if (empty($plugins)) { + $plugins = array(); + } else { + $plugins = array_splice($plugins, 0, 20); + } + + return $this->renderTemplate($template, array( + 'plugins' => $plugins + )); + } + +}
\ No newline at end of file |