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
@ -10,16 +10,16 @@ namespace Piwik\Plugins\PrivacyManager;
use Piwik\Common;
use Piwik\Config as PiwikConfig;
use Piwik\Container\StaticContainer;
use Piwik\Date;
use Piwik\Db;
use Piwik\MetricsFormatter;
use Piwik\Metrics\Formatter;
use Piwik\Nonce;
use Piwik\Notification;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugins\DBStats\MySQLMetadataProvider;
use Piwik\Plugins\LanguagesManager\LanguagesManager;
use Piwik\TaskScheduler;
use Piwik\Scheduler\Scheduler;
use Piwik\View;
/**
@ -133,7 +133,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
if (Piwik::hasUserSuperUserAccess()) {
$view->deleteData = $this->getDeleteDataInfo();
$view->anonymizeIP = $this->getAnonymizeIPInfo();
$view->dntSupport = DoNotTrackHeaderChecker::isActive();
$dntChecker = new DoNotTrackHeaderChecker();
$view->dntSupport = $dntChecker->isActive();
$view->canDeleteLogActions = Db::isLockPrivilegeGranted();
$view->dbUser = PiwikConfig::getInstance()->database['username'];
$view->deactivateNonce = Nonce::getNonce(self::DEACTIVATE_DNT_NONCE);
@ -150,6 +151,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
*/
public function executeDataPurge()
{
$this->checkDataPurgeAdminSettingsIsEnabled();
Piwik::checkUserHasSuperUserAccess();
$this->checkTokenInUrl();
@ -163,8 +166,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$settings = PrivacyManager::getPurgeDataSettings();
if ($settings['delete_logs_enable']) {
$logDataPurger = LogDataPurger::make($settings);
$logDataPurger->purgeData();
/** @var LogDataPurger $logDataPurger */
$logDataPurger = StaticContainer::get('Piwik\Plugins\PrivacyManager\LogDataPurger');
$logDataPurger->purgeData($settings['delete_logs_older_than']);
}
if ($settings['delete_reports_enable']) {
$reportsPurger = ReportsPurger::make($settings, PrivacyManager::getAllMetricsToKeep());
@ -186,7 +190,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$doDatabaseSizeEstimate = PiwikConfig::getInstance()->Deletelogs['enable_auto_database_size_estimate'];
// determine the DB size & purged DB size
$metadataProvider = new MySQLMetadataProvider();
$metadataProvider = StaticContainer::get('Piwik\Plugins\DBStats\MySQLMetadataProvider');
$tableStatuses = $metadataProvider->getAllTablesStatus();
$totalBytes = 0;
@ -194,8 +198,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$totalBytes += $status['Data_length'] + $status['Index_length'];
}
$formatter = new Formatter();
$result = array(
'currentSize' => MetricsFormatter::getPrettySizeFromBytes($totalBytes)
'currentSize' => $formatter->getPrettySizeFromBytes($totalBytes)
);
// if the db size estimate feature is enabled, get the estimate
@ -222,8 +227,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
}
}
$result['sizeAfterPurge'] = MetricsFormatter::getPrettySizeFromBytes($totalAfterPurge);
$result['spaceSaved'] = MetricsFormatter::getPrettySizeFromBytes($totalBytes - $totalAfterPurge);
$result['sizeAfterPurge'] = $formatter->getPrettySizeFromBytes($totalAfterPurge);
$result['spaceSaved'] = $formatter->getPrettySizeFromBytes($totalBytes - $totalAfterPurge);
}
return $result;
@ -246,12 +251,14 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
{
Piwik::checkUserHasSuperUserAccess();
$deleteDataInfos = array();
$taskScheduler = new TaskScheduler();
$deleteDataInfos["config"] = PrivacyManager::getPurgeDataSettings();
$deleteDataInfos["deleteTables"] =
"<br/>" . implode(", ", LogDataPurger::getDeleteTableLogTables());
$scheduleTimetable = $taskScheduler->getScheduledTimeForMethod("PrivacyManager", "deleteLogTables");
/** @var Scheduler $scheduler */
$scheduler = StaticContainer::getContainer()->get('Piwik\Scheduler\Scheduler');
$scheduleTimetable = $scheduler->getScheduledTimeForMethod("PrivacyManager", "deleteLogTables");
$optionTable = Option::get(self::OPTION_LAST_DELETE_PIWIK_LOGS);
@ -272,7 +279,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$deleteDataInfos["nextScheduleTime"] = $nextPossibleSchedule;
} else {
$deleteDataInfos["lastRun"] = $optionTable;
$deleteDataInfos["lastRunPretty"] = Date::factory((int)$optionTable)->getLocalized('%day% %shortMonth% %longYear%');
$deleteDataInfos["lastRunPretty"] = Date::factory((int)$optionTable)->getLocalized(Date::DATE_FORMAT_SHORT);
//Calculate next run based on last run + interval
$nextScheduleRun = (int)($deleteDataInfos["lastRun"] + $deleteDataInfos["config"]["delete_logs_schedule_lowest_interval"] * 24 * 60 * 60);
@ -285,7 +292,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
}
}
$deleteDataInfos["nextRunPretty"] = MetricsFormatter::getPrettyTimeFromSeconds($deleteDataInfos["nextScheduleTime"] - time());
$formatter = new Formatter();
$deleteDataInfos["nextRunPretty"] = $formatter->getPrettyTimeFromSeconds($deleteDataInfos["nextScheduleTime"] - time());
return $deleteDataInfos;
}
@ -295,7 +304,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
Piwik::checkUserHasSuperUserAccess();
Nonce::checkNonce(self::DEACTIVATE_DNT_NONCE);
DoNotTrackHeaderChecker::deactivate();
$dntChecker = new DoNotTrackHeaderChecker();
$dntChecker->deactivate();
$this->redirectToIndex('PrivacyManager', 'privacySettings');
}
@ -305,7 +315,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
Piwik::checkUserHasSuperUserAccess();
Nonce::checkNonce(self::ACTIVATE_DNT_NONCE);
DoNotTrackHeaderChecker::activate();
$dntChecker = new DoNotTrackHeaderChecker();
$dntChecker->activate();
$this->redirectToIndex('PrivacyManager', 'privacySettings');
}