示例#1
0
文件: Client.php 项目: piwik/piwik
 /**
  * @param  $pluginOrThemeName
  * @throws Exception
  * @return string
  */
 public function getDownloadUrl($pluginOrThemeName)
 {
     $plugin = $this->getPluginInfo($pluginOrThemeName);
     if (empty($plugin['versions'])) {
         throw new Exception('Plugin has no versions.');
     }
     $latestVersion = array_pop($plugin['versions']);
     $downloadUrl = $latestVersion['download'];
     return $this->service->getDomain() . $downloadUrl . '?coreVersion=' . $this->environment->getPiwikVersion();
 }
示例#2
0
文件: API.php 项目: piwik/piwik
 /**
  * Saves the given license key in case the key is actually valid (exists on the Piwik Marketplace and is not
  * yet expired).
  *
  * @param string $licenseKey
  * @return bool
  *
  * @throws Exception In case of an invalid license key
  * @throws Service\Exception In case of any network problems
  */
 public function saveLicenseKey($licenseKey)
 {
     Piwik::checkUserHasSuperUserAccess();
     $licenseKey = trim($licenseKey);
     // we are currently using the Marketplace service directly to 1) change LicenseKey and 2) not use any cache
     $this->marketplaceService->authenticate($licenseKey);
     try {
         $consumer = $this->marketplaceService->fetch('consumer/validate', array());
     } catch (Api\Service\Exception $e) {
         if ($e->getCode() === Api\Service\Exception::HTTP_ERROR) {
             throw $e;
         }
         $consumer = array();
     }
     if (empty($consumer['isValid'])) {
         throw new Exception(Piwik::translate('Marketplace_ExceptionLinceseKeyIsNotValid'));
     }
     $this->setLicenseKey($licenseKey);
     return true;
 }
示例#3
0
文件: config.php 项目: piwik/piwik
<?php

use Interop\Container\ContainerInterface;
use Piwik\Plugins\Marketplace\Api\Service;
use Piwik\Plugins\Marketplace\LicenseKey;
return array('MarketplaceEndpoint' => function (ContainerInterface $c) {
    $domain = 'http://plugins.piwik.org';
    $updater = $c->get('Piwik\\Plugins\\CoreUpdater\\Updater');
    if ($updater->isUpdatingOverHttps()) {
        $domain = str_replace('http://', 'https://', $domain);
    }
    return $domain;
}, 'Piwik\\Plugins\\Marketplace\\Api\\Service' => function (ContainerInterface $c) {
    /** @var \Piwik\Plugins\Marketplace\Api\Service $previous */
    $domain = $c->get('MarketplaceEndpoint');
    $service = new Service($domain);
    $key = new LicenseKey();
    $accessToken = $key->get();
    $service->authenticate($accessToken);
    return $service;
});