diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-02-04 05:14:02 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-02-04 05:14:02 +0400 |
commit | e36c5964faa34157f3b01398c997c63918d71897 (patch) | |
tree | f5ddb7d98d6c77e652c3c5733e8e6cf1f07c717f /plugins/PrivacyManager/PrivacyManager.php | |
parent | da093df73c783da880ae1b5d989318341790f9d8 (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.php | 85 |
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]); } } } |