MDL-62616 tool_log: Add a setting to disable exporting logs.
authorAdrian Greeve <abgreeve@gmail.com>
Tue, 3 Jul 2018 06:16:15 +0000 (14:16 +0800)
committerJake Dallimore <jake@moodle.com>
Wed, 4 Jul 2018 01:58:49 +0000 (09:58 +0800)
admin/tool/log/classes/local/privacy/helper.php
admin/tool/log/classes/privacy/provider.php
admin/tool/log/lang/en/tool_log.php
admin/tool/log/settings.php
admin/tool/log/version.php

index 4aa17d1..8a057cf 100644 (file)
@@ -99,8 +99,8 @@ class helper {
             'name' => $name,
             'description' => $description,
             'timecreated' => transform::datetime($record->timecreated),
-            'ip' => $record->ip,
             'origin' => static::transform_origin($record->origin),
+            'ip' => $isauthor ? $record->ip : '',
             'other' => $other ? $other : []
         ];
 
index af91b8b..252ba50 100644 (file)
@@ -74,7 +74,9 @@ class provider implements
      * @param approved_contextlist $contextlist The approved contexts to export information for.
      */
     public static function export_user_data(approved_contextlist $contextlist) {
-        static::call_subplugins_method_with_args('export_user_data', [$contextlist]);
+        if (get_config('tool_log', 'exportlog')) {
+            static::call_subplugins_method_with_args('export_user_data', [$contextlist]);
+        }
     }
 
     /**
index bfda300..571b91f 100644 (file)
@@ -24,6 +24,8 @@
 
 $string['actlogshdr'] = 'Available log stores';
 $string['configlogplugins'] = 'Please enable all required plugins and arrange them in appropriate order.';
+$string['exportlog'] = 'Include logs when exporting.';
+$string['exportlogdetail'] = 'Include logs that relate to the user when exporting.';
 $string['logging'] = 'Logging';
 $string['managelogging'] = 'Manage log stores';
 $string['pluginname'] = 'Log store manager';
index 3fee812..cbc3f31 100644 (file)
 defined('MOODLE_INTERNAL') || die();
 
 if ($hassiteconfig) {
+
+    $privacysettings = $ADMIN->locate('privacysettings');
+
+    if ($ADMIN->fulltree) {
+        $privacysettings->add(new admin_setting_configcheckbox('tool_log/exportlog',
+                new lang_string('exportlog', 'tool_log'),
+                new lang_string('exportlogdetail', 'tool_log'), 1)
+        );
+    }
+
     $ADMIN->add('modules', new admin_category('logging', new lang_string('logging', 'tool_log')));
 
     $temp = new admin_settingpage('managelogging', new lang_string('managelogging', 'tool_log'));
index b5a7d90..1af8d1c 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version = 2018051400; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->version = 2018051401; // The current plugin version (Date: YYYYMMDDXX).
 $plugin->requires = 2018050800; // Requires this Moodle version.
 $plugin->component = 'tool_log'; // Full name of the plugin (used for diagnostics).