update Piwik to version 2.16 (fixes #91)

This commit is contained in:
oliver 2016-04-10 18:55:57 +02:00
commit d885a4baa9
5833 changed files with 418860 additions and 226988 deletions

View file

@ -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
@ -12,9 +12,10 @@ use Piwik\Config;
use Piwik\Mail;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugins\UsersManager\API as UsersManagerApi;
use Piwik\SettingsPiwik;
use Piwik\UpdateCheck;
use Piwik\Plugins\UsersManager\API as UsersManagerApi;
use Piwik\Version;
/**
* Class to check and notify users via email if there is a core update available.
@ -66,9 +67,18 @@ class UpdateCommunication
$message .= Piwik::translate('CoreUpdater_ThereIsNewVersionAvailableForUpdate');
$message .= "\n\n";
$message .= Piwik::translate('CoreUpdater_YouCanUpgradeAutomaticallyOrDownloadPackage', $latestVersion);
$message .= "\n\n";
$message .= "\n";
$message .= $host . 'index.php?module=CoreUpdater&action=newVersionAvailable';
$message .= "\n\n";
$version = new Version();
if ($version->isStableVersion($latestVersion)) {
$message .= Piwik::translate('CoreUpdater_ViewVersionChangelog');
$message .= "\n";
$message .= $this->getLinkToChangeLog($latestVersion);
$message .= "\n\n";
}
$message .= Piwik::translate('CoreUpdater_FeedbackRequest');
$message .= "\n";
$message .= 'http://piwik.org/contact/';
@ -76,9 +86,13 @@ class UpdateCommunication
$this->sendEmailNotification($subject, $message);
}
private function isVersionLike($latestVersion)
private function getLinkToChangeLog($version)
{
return strlen($latestVersion) < 18;
$version = str_replace('.', '-', $version);
$link = sprintf('http://piwik.org/changelog/piwik-%s/', $version);
return $link;
}
/**
@ -101,7 +115,7 @@ class UpdateCommunication
}
}
private function isNewVersionAvailable()
protected function isNewVersionAvailable()
{
UpdateCheck::check();
@ -112,14 +126,15 @@ class UpdateCommunication
}
$latestVersion = self::getLatestVersion();
if (!$this->isVersionLike($latestVersion)) {
$version = new Version();
if (!$version->isVersionNumber($latestVersion)) {
return false;
}
return $hasUpdate;
}
private function hasNotificationAlreadyReceived()
protected function hasNotificationAlreadyReceived()
{
$latestVersion = $this->getLatestVersion();
$lastVersionSent = $this->getLatestVersionSent();
@ -135,7 +150,13 @@ class UpdateCommunication
private function getLatestVersion()
{
return UpdateCheck::getLatestVersion();
$version = UpdateCheck::getLatestVersion();
if (!empty($version)) {
$version = trim($version);
}
return $version;
}
private function getLatestVersionSent()