Differences Between: [Versions 310 and 403] [Versions 39 and 403]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Privacy Subsystem implementation for qtype_shortanswer. 19 * 20 * @package qtype_shortanswer 21 * @copyright 2018 Andrew Nicols <andrew@nicols.co.uk> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 namespace qtype_shortanswer\privacy; 26 27 use core_privacy\local\metadata\collection; 28 use core_privacy\local\request\transform; 29 use core_privacy\local\request\writer; 30 31 defined('MOODLE_INTERNAL') || die(); 32 33 /** 34 * Privacy Subsystem for qtype_shortanswer implementing user_preference_provider. 35 * 36 * @copyright 2018 Andrew Nicols <andrew@nicols.co.uk> 37 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 38 */ 39 class provider implements 40 // This component has data. 41 // We need to return default options that have been set a user preferences. 42 \core_privacy\local\metadata\provider, 43 \core_privacy\local\request\user_preference_provider 44 { 45 46 /** 47 * Returns meta data about this system. 48 * 49 * @param collection $collection The initialised collection to add items to. 50 * @return collection A listing of user data stored through this system. 51 */ 52 public static function get_metadata(collection $collection) : collection { 53 $collection->add_user_preference('qtype_shortanswer_defaultmark', 'privacy:preference:defaultmark'); 54 $collection->add_user_preference('qtype_shortanswer_penalty', 'privacy:preference:penalty'); 55 $collection->add_user_preference('qtype_shortanswer_usecase', 'privacy:preference:usecase'); 56 return $collection; 57 } 58 59 /** 60 * Export all user preferences for the plugin. 61 * 62 * @param int $userid The userid of the user whose data is to be exported. 63 */ 64 public static function export_user_preferences(int $userid) { 65 $preference = get_user_preferences('qtype_shortanswer_defaultmark', null, $userid); 66 if (null !== $preference) { 67 $desc = get_string('privacy:preference:defaultmark', 'qtype_shortanswer'); 68 writer::export_user_preference('qtype_shortanswer', 'defaultmark', $preference, $desc); 69 } 70 71 $preference = get_user_preferences('qtype_shortanswer_penalty', null, $userid); 72 if (null !== $preference) { 73 $desc = get_string('privacy:preference:penalty', 'qtype_shortanswer'); 74 writer::export_user_preference('qtype_shortanswer', 'penalty', transform::percentage($preference), $desc); 75 } 76 77 $preference = get_user_preferences('qtype_shortanswer_usecase', null, $userid); 78 if (null !== $preference) { 79 $desc = get_string('privacy:preference:usecase', 'qtype_shortanswer'); 80 if ($preference) { 81 $strvalue = get_string('caseyes', 'qtype_shortanswer'); 82 } else { 83 $strvalue = get_string('caseno', 'qtype_shortanswer'); 84 } 85 writer::export_user_preference('qtype_shortanswer', 'shuffleanswers', $strvalue, $desc); 86 } 87 } 88 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body