diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 0953d997e46..1ff1f88aa0d 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -6811,16 +6811,20 @@ function forum_reset_userdata($data) { $types = array(); } else if (!empty($data->reset_forum_types)){ $removeposts = true; - $typesql = ""; $types = array(); + $sqltypes = array(); $forum_types_all = forum_get_forum_types_all(); foreach ($data->reset_forum_types as $type) { if (!array_key_exists($type, $forum_types_all)) { continue; } - $typesql .= " AND f.type=?"; $types[] = $forum_types_all[$type]; - $params[] = $type; + $sqltypes[] = $type; + } + if (!empty($sqltypes)) { + list($typesql, $typeparams) = $DB->get_in_or_equal($sqltypes); + $typesql = " AND f.type " . $typesql; + $params = array_merge($params, $typeparams); } $typesstr = get_string('resetforums', 'forum').': '.implode(', ', $types); }