MDL-66999 theme_boost: @extend remove extends for grades
[moodle.git] / grade / grading / classes / privacy / gradingform_legacy_polyfill.php
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/>.
17 /**
18  * This file contains the polyfill to allow a plugin to operate with Moodle 3.3 up.
19  *
20  * @package    core_grading
21  * @copyright  2018 Sara Arjona <sara@moodle.com>
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 namespace core_grading\privacy;
27 defined('MOODLE_INTERNAL') || die();
29 /**
30  * The trait used to provide backwards compatability for third-party plugins.
31  *
32  * @copyright  2018 Sara Arjona <sara@moodle.com>
33  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
34  */
35 trait gradingform_legacy_polyfill {
37     /**
38      * Export user data relating to an instance ID.
39      *
40      * @param  \context $context Context to use with the export writer.
41      * @param  int $instanceid The instance ID to export data for.
42      * @param  array $subcontext The directory to export this data to.
43      */
44     public static function export_gradingform_instance_data(\context $context, int $instanceid, array $subcontext) {
45         static::_export_gradingform_instance_data($context, $instanceid, $subcontext);
46     }
48     /**
49      * Deletes all user data related to the provided instance IDs.
50      *
51      * @param  array  $instanceids The instance IDs to delete information from.
52      */
53     public static function delete_gradingform_for_instances(array $instanceids) {
54         static::_delete_gradingform_for_instances($instanceids);
55     }
57     /**
58      * This method is used to export any user data this sub-plugin has using the object to get the context and userid.
59      *
60      * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface.
61      * @todo MDL-63167 remove this method.
62      *
63      * @param context $context Context owner of the data.
64      * @param stdClass $definition Grading definition entry to export.
65      * @param int $userid The user whose information is to be exported.
66      *
67      * @return stdClass The data to export.
68      */
69     public static function get_gradingform_export_data(\context $context, $definition, int $userid) {
70         debugging('This method is deprecated. Please use the gradingform_provider_v2 interface', DEBUG_DEVELOPER);
71         return static::_get_gradingform_export_data($context, $definition, $userid);
72     }
74     /**
75      * Any call to this method should delete all user data for the context defined.
76      *
77      * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface.
78      * @todo MDL-63167 remove this method.
79      *
80      * @param context $context Context owner of the data.
81      */
82     public static function delete_gradingform_for_context(\context $context) {
83         debugging('This method is deprecated. Please use the gradingform_provider_v2 interface', DEBUG_DEVELOPER);
84         static::_delete_gradingform_for_context($context);
85     }
87     /**
88      * A call to this method should delete user data (where practicle) from the userid and context.
89      *
90      * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface.
91      * @todo MDL-63167 remove this method.
92      *
93      * @param int $userid The user whose information is to be deleted.
94      * @param context $context Context owner of the data.
95      */
96     public static function delete_gradingform_for_userid(int $userid, \context $context) {
97         debugging('This method is deprecated. Please use the gradingform_provider_v2 interface', DEBUG_DEVELOPER);
98         static::_delete_gradingform_for_userid($userid, $context);
99     }