You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: classes/privacy/provider.php
+27-30Lines changed: 27 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -142,39 +142,36 @@ public static function get_contexts_for_userid(int $userid) : contextlist {
142
142
INNER JOIN {course_modules} cm ON cm.id = c.instanceid AND c.contextlevel = :contextlevel
143
143
INNER JOIN {modules} m ON m.id = cm.module AND m.name = :modname
144
144
INNER JOIN {moodleoverflow} mof ON mof.id = cm.instance
145
-
LEFT JOIN {moodleoverflow_discussions} d ON d.moodleoverflow = mof.id
146
-
LEFT JOIN {moodleoverflow_posts} p ON p.discussion = d.id
147
-
LEFT JOIN {moodleoverflow_read} r ON r.moodleoverflowid = mof.id
148
-
LEFT JOIN {moodleoverflow_subscriptions} s ON s.moodleoverflow = mof.id
149
-
LEFT JOIN {moodleoverflow_discuss_subs} ds ON ds.moodleoverflow = mof.id
150
-
LEFT JOIN {moodleoverflow_ratings} ra ON ra.moodleoverflowid = mof.id
151
-
LEFT JOIN {moodleoverflow_tracking} track ON track.moodleoverflowid = mof.id
152
-
LEFT JOIN {moodleoverflow_grades} g ON g.moodleoverflowid = mof.id
153
-
WHERE (
154
-
d.userid = :duserid OR
155
-
d.usermodified = :dmuserid OR
156
-
p.userid = :puserid OR
157
-
r.userid = :ruserid OR
158
-
s.userid = :suserid OR
159
-
ds.userid = :dsuserid OR
160
-
ra.userid = :rauserid OR
161
-
track.userid = :userid OR
162
-
g.userid = :guserid
163
-
)
164
-
";
145
+
WHERE EXISTS (
146
+
SELECT 1 FROM {moodleoverflow_discussions} d WHERE d.moodleoverflow = mof.id AND (d.userid = :duserid OR d.usermodified = :dmuserid)
147
+
) OR EXISTS (
148
+
SELECT 1 FROM {moodleoverflow_posts} p WHERE p.discussion IN (SELECT id FROM {moodleoverflow_discussions} WHERE moodleoverflow = mof.id) AND p.userid = :puserid
149
+
) OR EXISTS (
150
+
SELECT 1 FROM {moodleoverflow_read} r WHERE r.moodleoverflowid = mof.id AND r.userid = :ruserid
151
+
) OR EXISTS (
152
+
SELECT 1 FROM {moodleoverflow_subscriptions} s WHERE s.moodleoverflow = mof.id AND s.userid = :suserid
153
+
) OR EXISTS (
154
+
SELECT 1 FROM {moodleoverflow_discuss_subs} ds WHERE ds.moodleoverflow = mof.id AND ds.userid = :dsuserid
155
+
) OR EXISTS (
156
+
SELECT 1 FROM {moodleoverflow_ratings} ra WHERE ra.moodleoverflowid = mof.id AND ra.userid = :rauserid
157
+
) OR EXISTS (
158
+
SELECT 1 FROM {moodleoverflow_tracking} track WHERE track.moodleoverflowid = mof.id AND track.userid = :tuserid
159
+
) OR EXISTS (
160
+
SELECT 1 FROM {moodleoverflow_grades} g WHERE g.moodleoverflowid = mof.id AND g.userid = :guserid
161
+
)";
165
162
166
163
$params = [
167
-
'modname' => 'moodleoverflow',
164
+
'modname'=> 'moodleoverflow',
168
165
'contextlevel' => CONTEXT_MODULE,
169
-
'duserid' => $userid,
170
-
'dmuserid' => $userid,
171
-
'puserid' => $userid,
172
-
'ruserid' => $userid,
173
-
'suserid' => $userid,
174
-
'dsuserid' => $userid,
175
-
'rauserid' => $userid,
176
-
'userid' => $userid,
177
-
'guserid' => $userid
166
+
'duserid'=> $userid,
167
+
'dmuserid'=> $userid,
168
+
'puserid'=> $userid,
169
+
'ruserid'=> $userid,
170
+
'suserid'=> $userid,
171
+
'dsuserid'=> $userid,
172
+
'rauserid'=> $userid,
173
+
'tuserid' => $userid,
174
+
'guserid'=> $userid
178
175
];
179
176
180
177
$contextlist = new \core_privacy\local\request\contextlist();
0 commit comments