update Piwik to version 2.16 (fixes #91)
This commit is contained in:
parent
296343bf3b
commit
d885a4baa9
5833 changed files with 418860 additions and 226988 deletions
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
|
|
@ -8,19 +8,19 @@
|
|||
*/
|
||||
namespace Piwik\Plugins\CorePluginsAdmin;
|
||||
|
||||
use Piwik\Container\StaticContainer;
|
||||
use Piwik\Filechecks;
|
||||
use Piwik\Filesystem;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\SettingsPiwik;
|
||||
use Piwik\Unzip;
|
||||
use Piwik\Plugin\Dependency as PluginDependency;
|
||||
use Piwik\Unzip;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class PluginInstaller
|
||||
{
|
||||
const PATH_TO_DOWNLOAD = '/tmp/latest/plugins/';
|
||||
const PATH_TO_DOWNLOAD = '/latest/plugins/';
|
||||
const PATH_TO_EXTRACT = '/plugins/';
|
||||
|
||||
private $pluginName;
|
||||
|
|
@ -32,11 +32,10 @@ class PluginInstaller
|
|||
|
||||
public function installOrUpdatePluginFromMarketplace()
|
||||
{
|
||||
$tmpPluginZip = PIWIK_USER_PATH . self::PATH_TO_DOWNLOAD . $this->pluginName . '.zip';
|
||||
$tmpPluginFolder = PIWIK_USER_PATH . self::PATH_TO_DOWNLOAD . $this->pluginName;
|
||||
$tmpPluginPath = StaticContainer::get('path.tmp') . '/latest/plugins/';
|
||||
|
||||
$tmpPluginZip = SettingsPiwik::rewriteTmpPathWithHostname($tmpPluginZip);
|
||||
$tmpPluginFolder = SettingsPiwik::rewriteTmpPathWithHostname($tmpPluginFolder);
|
||||
$tmpPluginZip = $tmpPluginPath . $this->pluginName . '.zip';
|
||||
$tmpPluginFolder = $tmpPluginPath . $this->pluginName;
|
||||
|
||||
try {
|
||||
$this->makeSureFoldersAreWritable();
|
||||
|
|
@ -48,6 +47,8 @@ class PluginInstaller
|
|||
$this->makeSureThereAreNoMissingRequirements($metadata);
|
||||
$this->copyPluginToDestination($tmpPluginFolder);
|
||||
|
||||
Filesystem::deleteAllCacheOnUpdate($this->pluginName);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
|
||||
$this->removeFileIfExists($tmpPluginZip);
|
||||
|
|
@ -62,8 +63,7 @@ class PluginInstaller
|
|||
|
||||
public function installOrUpdatePluginFromFile($pathToZip)
|
||||
{
|
||||
$tmpPluginFolder = PIWIK_USER_PATH . self::PATH_TO_DOWNLOAD . $this->pluginName;
|
||||
$tmpPluginFolder = SettingsPiwik::rewriteTmpPathWithHostname($tmpPluginFolder);
|
||||
$tmpPluginFolder = StaticContainer::get('path.tmp') . self::PATH_TO_DOWNLOAD . $this->pluginName;
|
||||
|
||||
try {
|
||||
$this->makeSureFoldersAreWritable();
|
||||
|
|
@ -78,6 +78,8 @@ class PluginInstaller
|
|||
$this->fixPluginFolderIfNeeded($tmpPluginFolder);
|
||||
$this->copyPluginToDestination($tmpPluginFolder);
|
||||
|
||||
Filesystem::deleteAllCacheOnUpdate($this->pluginName);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
|
||||
$this->removeFileIfExists($pathToZip);
|
||||
|
|
@ -94,7 +96,10 @@ class PluginInstaller
|
|||
|
||||
private function makeSureFoldersAreWritable()
|
||||
{
|
||||
Filechecks::dieIfDirectoriesNotWritable(array(self::PATH_TO_DOWNLOAD, self::PATH_TO_EXTRACT));
|
||||
Filechecks::dieIfDirectoriesNotWritable(array(
|
||||
StaticContainer::get('path.tmp') . self::PATH_TO_DOWNLOAD,
|
||||
self::PATH_TO_EXTRACT
|
||||
));
|
||||
}
|
||||
|
||||
private function downloadPluginFromMarketplace($pluginZipTargetFile)
|
||||
|
|
@ -151,7 +156,7 @@ class PluginInstaller
|
|||
private function makeSureThereAreNoMissingRequirements($metadata)
|
||||
{
|
||||
$requires = array();
|
||||
if(!empty($metadata->require)) {
|
||||
if (!empty($metadata->require)) {
|
||||
$requires = (array) $metadata->require;
|
||||
}
|
||||
|
||||
|
|
@ -161,8 +166,14 @@ class PluginInstaller
|
|||
if (!empty($missingDependencies)) {
|
||||
$message = '';
|
||||
foreach ($missingDependencies as $dep) {
|
||||
$params = array(ucfirst($dep['requirement']), $dep['actualVersion'], $dep['requiredVersion']);
|
||||
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsNotice', $params);
|
||||
if (empty($dep['actualVersion'])) {
|
||||
$params = array(ucfirst($dep['requirement']), $dep['requiredVersion'], $metadata->name);
|
||||
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsPleaseInstallNotice', $params);
|
||||
} else {
|
||||
$params = array(ucfirst($dep['requirement']), $dep['actualVersion'], $dep['requiredVersion']);
|
||||
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsNotice', $params);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
throw new PluginInstallerException($message);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue