Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-02-04 05:14:02 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-02-04 05:14:02 +0400
commite36c5964faa34157f3b01398c997c63918d71897 (patch)
treef5ddb7d98d6c77e652c3c5733e8e6cf1f07c717f /plugins/PrivacyManager/PrivacyManager.php
parentda093df73c783da880ae1b5d989318341790f9d8 (diff)
refs #4563 PrivacyManager Settings should be in Config and Option table, also removed some completely from config as described in ticket
Diffstat (limited to 'plugins/PrivacyManager/PrivacyManager.php')
-rw-r--r--plugins/PrivacyManager/PrivacyManager.php85
1 files changed, 33 insertions, 52 deletions
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index 4dc3013df5..d6908a61cd 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -10,12 +10,11 @@ namespace Piwik\Plugins\PrivacyManager;
use Exception;
use Piwik\Common;
-use Piwik\Config;
+use Piwik\Config as PiwikConfig;
use Piwik\DataTable\DataTableInterface;
use Piwik\Date;
use Piwik\Db;
use Piwik\Menu\MenuAdmin;
-
use Piwik\Metrics;
use Piwik\Option;
use Piwik\Period\Range;
@@ -23,7 +22,6 @@ use Piwik\Period;
use Piwik\Piwik;
use Piwik\Plugins\Goals\Archiver;
use Piwik\ScheduledTask;
-use Piwik\ScheduledTime\Daily;
use Piwik\ScheduledTime;
use Piwik\Site;
use Piwik\Tracker\GoalManager;
@@ -45,23 +43,23 @@ class PrivacyManager extends \Piwik\Plugin
const OPTION_LAST_DELETE_PIWIK_LOGS = "lastDelete_piwik_logs";
const OPTION_LAST_DELETE_PIWIK_REPORTS = 'lastDelete_piwik_reports';
const OPTION_LAST_DELETE_PIWIK_LOGS_INITIAL = "lastDelete_piwik_logs_initial";
- const DEFAULT_MAX_ROWS_PER_QUERY = 100000;
-
- // default config options for data purging feature
- public static $defaultPurgeDataOptions = array(
- 'delete_logs_enable' => 0,
- 'delete_logs_schedule_lowest_interval' => 7,
- 'delete_logs_older_than' => 180,
- 'delete_logs_max_rows_per_query' => self::DEFAULT_MAX_ROWS_PER_QUERY,
- 'delete_reports_enable' => 0,
- 'delete_reports_older_than' => 12,
- 'delete_reports_keep_basic_metrics' => 1,
- 'delete_reports_keep_day_reports' => 0,
- 'delete_reports_keep_week_reports' => 0,
- 'delete_reports_keep_month_reports' => 1,
- 'delete_reports_keep_year_reports' => 1,
- 'delete_reports_keep_range_reports' => 0,
- 'delete_reports_keep_segment_reports' => 0,
+
+ // options for data purging feature array[configName => configSection]
+ public static $purgeDataOptions = array(
+ 'delete_logs_enable' => 'Deletelogs',
+ 'delete_logs_schedule_lowest_interval' => 'Deletelogs',
+ 'delete_logs_older_than' => 'Deletelogs',
+ 'delete_logs_max_rows_per_query' => 'Deletelogs',
+ 'enable_auto_database_size_estimate' => 'Deletelogs',
+ 'delete_reports_enable' => 'Deletereports',
+ 'delete_reports_older_than' => 'Deletereports',
+ 'delete_reports_keep_basic_metrics' => 'Deletereports',
+ 'delete_reports_keep_day_reports' => 'Deletereports',
+ 'delete_reports_keep_week_reports' => 'Deletereports',
+ 'delete_reports_keep_month_reports' => 'Deletereports',
+ 'delete_reports_keep_year_reports' => 'Deletereports',
+ 'delete_reports_keep_range_reports' => 'Deletereports',
+ 'delete_reports_keep_segment_reports' => 'Deletereports',
);
private $dntChecker = null;
@@ -152,8 +150,8 @@ class PrivacyManager extends \Piwik\Plugin
public function setTrackerCacheGeneral(&$cacheContent)
{
- $this->ipAnonymizer->setTrackerCacheGeneral($cacheContent);
- $this->dntChecker->setTrackerCacheGeneral($cacheContent);
+ $config = new Config();
+ $cacheContent = $config->setTrackerCacheGeneral($cacheContent);
}
public function getScheduledTasks(&$tasks)
@@ -195,37 +193,20 @@ class PrivacyManager extends \Piwik\Plugin
$settings = array();
// load settings from ini config
- try {
- $oldSettings = array(
- 'enable_auto_database_size_estimate',
-
- // backwards compatibility: load old values in ini config if present
- 'delete_logs_enable',
- 'delete_logs_schedule_lowest_interval',
- 'delete_logs_older_than',
- );
-
- $deleteLogsSettings = Config::getInstance()->Deletelogs;
- foreach ($oldSettings as $settingName) {
- $settings[$settingName] = $deleteLogsSettings[$settingName];
- }
- } catch (Exception $e) {
- // ignore
+ $config = PiwikConfig::getInstance();
+ foreach (self::$purgeDataOptions as $configKey => $configSection) {
+ $settings[$configKey] = $config->$configSection[$configKey];
+ }
+
+ if (!Controller::isDataPurgeSettingsEnabled()) {
+ return $settings;
}
// load the settings for the data purging settings
- foreach (self::$defaultPurgeDataOptions as $optionName => $defaultValue) {
- $value = Option::get($optionName);
+ foreach (self::$purgeDataOptions as $configName => $configSection) {
+ $value = Option::get($configName);
if ($value !== false) {
- $settings[$optionName] = $value;
- } else {
- // if the option hasn't been set/created, use the default value
- if (!isset($settings[$optionName])) {
- $settings[$optionName] = $defaultValue;
- }
-
- // option is not saved in the DB, so save it now
- Option::set($optionName, $settings[$optionName]);
+ $settings[$configName] = $value;
}
}
@@ -239,9 +220,9 @@ class PrivacyManager extends \Piwik\Plugin
*/
public static function savePurgeDataSettings($settings)
{
- foreach (self::$defaultPurgeDataOptions as $optionName => $defaultValue) {
- if (isset($settings[$optionName])) {
- Option::set($optionName, $settings[$optionName]);
+ foreach (self::$purgeDataOptions as $configName => $configSection) {
+ if (isset($settings[$configName])) {
+ Option::set($configName, $settings[$configName]);
}
}
}