. /** * Privacy Subsystem implementation for datafield_latlong. * * @package datafield_latlong * @copyright 2018 Carlos Escobedo * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace datafield_latlong\privacy; use core_privacy\local\request\writer; use mod_data\privacy\datafield_provider; defined('MOODLE_INTERNAL') || die(); /** * Privacy Subsystem for datafield_latlong implementing null_provider. * * @copyright 2018 Carlos Escobedo * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class provider implements \core_privacy\local\metadata\null_provider, datafield_provider { /** * Get the language string identifier with the component's language * file to explain why this plugin stores no data. * * @return string */ public static function get_reason() : string { return 'privacy:metadata'; } /** * Exports data about one record in {data_content} table. * * @param \context_module $context * @param \stdClass $recordobj record from DB table {data_records} * @param \stdClass $fieldobj record from DB table {data_fields} * @param \stdClass $contentobj record from DB table {data_content} * @param \stdClass $defaultvalue pre-populated default value that most of plugins will use */ public static function export_data_content($context, $recordobj, $fieldobj, $contentobj, $defaultvalue) { $defaultvalue->field['services'] = explode(',', $fieldobj->param1); if ($fieldobj->param2 > 0) { $defaultvalue->field['label'] = 'Content of field '.$fieldobj->param2; } else if ($fieldobj->param2 == -2) { $defaultvalue->field['label'] = 'lattitude/longitude'; } else { $defaultvalue->field['label'] = 'item #'; } $defaultvalue->lattitude = $contentobj->content; $defaultvalue->longitude = $contentobj->content1; unset($defaultvalue->content); unset($defaultvalue->content1); writer::with_context($context)->export_data([$recordobj->id, $contentobj->id], $defaultvalue); } /** * Allows plugins to delete locally stored data. * * @param \context_module $context * @param \stdClass $recordobj record from DB table {data_records} * @param \stdClass $fieldobj record from DB table {data_fields} * @param \stdClass $contentobj record from DB table {data_content} */ public static function delete_data_content($context, $recordobj, $fieldobj, $contentobj) { } }