MDL-71917 core_message: Use $USER in WS delete_message_for_all_users
authorcescobedo <carlos.escobedo@gmail.com>
Fri, 2 Jul 2021 05:10:01 +0000 (07:10 +0200)
committerAdrian Greeve <abgreeve@gmail.com>
Tue, 6 Jul 2021 05:34:23 +0000 (13:34 +0800)
message/externallib.php

index dc8b4fe..84e251a 100644 (file)
@@ -3577,13 +3577,13 @@ class core_message_external extends external_api {
      * Deletes a message for all users
      *
      * @param  int $messageid the message id
-     * @param  int $userid the user id of who we want to delete the message for all users
+     * @param  int $userid the user id of who we want to delete the message for all users, is no longer used.
      * @return external_description
      * @throws moodle_exception
      * @since 3.7
      */
     public static function delete_message_for_all_users(int $messageid, int $userid) {
-        global $CFG;
+        global $CFG, $USER;
 
         // Check if private messaging between users is allowed.
         if (empty($CFG->messaging)) {
@@ -3601,11 +3601,10 @@ class core_message_external extends external_api {
         $context = context_system::instance();
         self::validate_context($context);
 
-        $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
-        core_user::require_active_user($user);
+        core_user::require_active_user($USER);
 
         // Checks if a user can delete a message for all users.
-        if (core_message\api::can_delete_message_for_all_users($user->id, $params['messageid'])) {
+        if (core_message\api::can_delete_message_for_all_users($USER->id, $params['messageid'])) {
             \core_message\api::delete_message_for_all_users($params['messageid']);
         } else {
             throw new moodle_exception('You do not have permission to delete this message for everyone.');