Exemple #1
0
 private function setLicenseKey($licenseKey)
 {
     $key = new LicenseKey();
     $key->set($licenseKey);
     $this->marketplaceClient->clearAllCacheEntries();
     $this->expired->clearCache();
 }
Exemple #2
0
    return $previous;
}), 'Piwik\\Plugins\\Marketplace\\Plugins\\InvalidLicenses' => DI\decorate(function ($previous, ContainerInterface $c) {
    $pluginNames = $c->get('test.vars.mockMarketplaceAssumePluginNamesActivated');
    if (!empty($pluginNames)) {
        /** @var \Piwik\Plugins\Marketplace\Plugins\InvalidLicenses $previous */
        $previous->setActivatedPluginNames($pluginNames);
        $previous->clearCache();
    }
    return $previous;
}), 'Piwik\\Plugins\\Marketplace\\Api\\Service' => DI\decorate(function ($previous, ContainerInterface $c) {
    if (!$c->get('test.vars.mockMarketplaceApiService')) {
        return $previous;
    }
    // for ui tests
    $service = new MockService();
    $key = new LicenseKey();
    $accessToken = $key->get();
    $service->authenticate($accessToken);
    function removeReviewsUrl($content)
    {
        $content = json_decode($content, true);
        if (!empty($content['shop']['reviews']['embedUrl'])) {
            $content['shop']['reviews']['embedUrl'] = '';
        }
        return json_encode($content);
    }
    $isExceededUser = $c->get('test.vars.consumer') === 'exceededLicense';
    $isExpiredUser = $c->get('test.vars.consumer') === 'expiredLicense';
    $isValidUser = $c->get('test.vars.consumer') === 'validLicense';
    $service->setOnDownloadCallback(function ($action, $params) use($service, $isExceededUser, $isValidUser, $isExpiredUser) {
        if ($action === 'info') {
Exemple #3
0
 public function overview()
 {
     $view = $this->configureViewAndCheckPermission('@Marketplace/overview');
     $show = Common::getRequestVar('show', 'plugins', 'string');
     $query = Common::getRequestVar('query', '', 'string', $_POST);
     $sort = new Sort();
     $sort = $sort->getSort();
     $mode = new Mode();
     $mode = $mode->getMode();
     // we're fetching all available plugins to decide which tabs need to be shown in the UI and to know the number
     // of total available plugins
     $allPlugins = $this->plugins->getAllPlugins();
     $allThemes = $this->plugins->getAllThemes();
     $paidPlugins = $this->plugins->getAllPaidPlugins();
     $showThemes = $show === 'themes';
     $showPlugins = !$showThemes;
     $showPaid = $show === 'premium';
     $showAll = !$showPaid;
     if ($showPlugins && $showPaid) {
         $type = PurchaseType::TYPE_PAID;
         $view->numAvailablePlugins = count($paidPlugins);
     } elseif ($showPlugins && $showAll) {
         $type = PurchaseType::TYPE_ALL;
         $view->numAvailablePlugins = count($allPlugins);
     } else {
         $type = PurchaseType::TYPE_ALL;
         $view->numAvailablePlugins = count($allThemes);
     }
     $pluginsToShow = $this->plugins->searchPlugins($query, $sort, $showThemes, $type);
     $paidPluginsToInstallAtOnce = array();
     if (SettingsPiwik::isAutoUpdatePossible()) {
         foreach ($paidPlugins as $paidPlugin) {
             if ($this->canPluginBeInstalled($paidPlugin) || $this->pluginManager->isPluginInstalled($paidPlugin['name']) && !$this->pluginManager->isPluginActivated($paidPlugin['name'])) {
                 $paidPluginsToInstallAtOnce[] = $paidPlugin['name'];
             }
         }
     }
     $view->paidPluginsToInstallAtOnce = $paidPluginsToInstallAtOnce;
     $view->pluginsToShow = $pluginsToShow;
     $view->isValidConsumer = $this->consumer->isValidConsumer();
     $view->paidPlugins = $paidPlugins;
     $view->freePlugins = $allPlugins;
     $view->themes = $allThemes;
     $view->showThemes = $showThemes;
     $view->showPlugins = $showPlugins;
     $view->showFree = $showAll;
     $view->showPaid = $showPaid;
     $view->pluginType = $show;
     $view->pluginTypeOptions = array('plugins' => Piwik::translate('General_Plugins'), 'premium' => Piwik::translate('Marketplace_PaidPlugins'), 'themes' => Piwik::translate('CorePluginsAdmin_Themes'));
     $view->pluginSortOptions = array(Sort::METHOD_LAST_UPDATED => Piwik::translate('Marketplace_SortByLastUpdated'), Sort::METHOD_POPULAR => Piwik::translate('Marketplace_SortByPopular'), Sort::METHOD_NEWEST => Piwik::translate('Marketplace_SortByNewest'), Sort::METHOD_ALPHA => Piwik::translate('Marketplace_SortByAlpha'));
     $view->mode = $mode;
     $view->query = $query;
     $view->sort = $sort;
     $view->hasLicenseKey = $this->licenseKey->has();
     $view->hasSomeAdminAccess = Piwik::isUserHasSomeAdminAccess();
     $view->installNonce = Nonce::getNonce(static::INSTALL_NONCE);
     $view->updateNonce = Nonce::getNonce(static::UPDATE_NONCE);
     $view->deactivateNonce = Nonce::getNonce(PluginsController::DEACTIVATE_NONCE);
     $view->activateNonce = Nonce::getNonce(PluginsController::ACTIVATE_NONCE);
     $view->isSuperUser = Piwik::hasUserSuperUserAccess();
     $view->isPluginsAdminEnabled = CorePluginsAdmin::isPluginsAdminEnabled();
     $view->isAutoUpdatePossible = SettingsPiwik::isAutoUpdatePossible();
     $view->isAutoUpdateEnabled = SettingsPiwik::isAutoUpdateEnabled();
     return $view->render();
 }