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(self::getCategory()); $config->setName(self::getName()); $config->setOrder(20); } public function render() { $template = 'getPremiumFeatures'; $plugins = $this->marketplaceApiClient->searchForPlugins('', '', Sort::METHOD_LAST_UPDATED, PurchaseType::TYPE_PAID); $plugins = array_filter($plugins, function ($plugin) { return empty($plugin['isBundle']); }); if (empty($plugins)) { $plugins = array(); } else { $plugins = array_splice($plugins, 0, 20); } return $this->renderTemplate($template, array( 'plugins' => $plugins )); } }