mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
MDL-56535 forum: Do not return user information in single discussion
This patch fixes the forum external functions
This commit is contained in:
parent
577bd70d38
commit
30861fbdaa
1 changed files with 48 additions and 32 deletions
|
@ -268,14 +268,20 @@ class mod_forum_external extends external_api {
|
|||
$post->children = array();
|
||||
}
|
||||
|
||||
$user = new stdclass();
|
||||
$user->id = $post->userid;
|
||||
$user = username_load_fields_from_object($user, $post, null, array('picture', 'imagealt', 'email'));
|
||||
$post->userfullname = fullname($user, $canviewfullname);
|
||||
if (forum_is_author_hidden($post, $forum)) {
|
||||
$post->userid = null;
|
||||
$post->userfullname = null;
|
||||
$post->userpictureurl = null;
|
||||
} else {
|
||||
$user = new stdclass();
|
||||
$user->id = $post->userid;
|
||||
$user = username_load_fields_from_object($user, $post, null, array('picture', 'imagealt', 'email'));
|
||||
$post->userfullname = fullname($user, $canviewfullname);
|
||||
|
||||
$userpicture = new user_picture($user);
|
||||
$userpicture->size = 1; // Size f1.
|
||||
$post->userpictureurl = $userpicture->get_url($PAGE)->out(false);
|
||||
$userpicture = new user_picture($user);
|
||||
$userpicture->size = 1; // Size f1.
|
||||
$post->userpictureurl = $userpicture->get_url($PAGE)->out(false);
|
||||
}
|
||||
|
||||
$post->subject = external_format_string($post->subject, $modcontext->id);
|
||||
// Rewrite embedded images URLs.
|
||||
|
@ -467,31 +473,6 @@ class mod_forum_external extends external_api {
|
|||
$discussion->numreplies = (int) $replies[$discussion->discussion]->replies;
|
||||
}
|
||||
|
||||
$picturefields = explode(',', user_picture::fields());
|
||||
|
||||
// Load user objects from the results of the query.
|
||||
$user = new stdclass();
|
||||
$user->id = $discussion->userid;
|
||||
$user = username_load_fields_from_object($user, $discussion, null, $picturefields);
|
||||
// Preserve the id, it can be modified by username_load_fields_from_object.
|
||||
$user->id = $discussion->userid;
|
||||
$discussion->userfullname = fullname($user, $canviewfullname);
|
||||
|
||||
$userpicture = new user_picture($user);
|
||||
$userpicture->size = 1; // Size f1.
|
||||
$discussion->userpictureurl = $userpicture->get_url($PAGE)->out(false);
|
||||
|
||||
$usermodified = new stdclass();
|
||||
$usermodified->id = $discussion->usermodified;
|
||||
$usermodified = username_load_fields_from_object($usermodified, $discussion, 'um', $picturefields);
|
||||
// Preserve the id (it can be overwritten due to the prefixed $picturefields).
|
||||
$usermodified->id = $discussion->usermodified;
|
||||
$discussion->usermodifiedfullname = fullname($usermodified, $canviewfullname);
|
||||
|
||||
$userpicture = new user_picture($usermodified);
|
||||
$userpicture->size = 1; // Size f1.
|
||||
$discussion->usermodifiedpictureurl = $userpicture->get_url($PAGE)->out(false);
|
||||
|
||||
$discussion->name = external_format_string($discussion->name, $modcontext->id);
|
||||
$discussion->subject = external_format_string($discussion->subject, $modcontext->id);
|
||||
// Rewrite embedded images URLs.
|
||||
|
@ -512,6 +493,41 @@ class mod_forum_external extends external_api {
|
|||
$discussion->locked = forum_discussion_is_locked($forum, $discussion);
|
||||
$discussion->canreply = forum_user_can_post($forum, $discussion, $USER, $cm, $course, $modcontext);
|
||||
|
||||
if (forum_is_author_hidden($discussion, $forum)) {
|
||||
$discussion->userid = null;
|
||||
$discussion->userfullname = null;
|
||||
$discussion->userpictureurl = null;
|
||||
|
||||
$discussion->usermodified = null;
|
||||
$discussion->usermodifiedfullname = null;
|
||||
$discussion->usermodifiedpictureurl = null;
|
||||
} else {
|
||||
$picturefields = explode(',', user_picture::fields());
|
||||
|
||||
// Load user objects from the results of the query.
|
||||
$user = new stdclass();
|
||||
$user->id = $discussion->userid;
|
||||
$user = username_load_fields_from_object($user, $discussion, null, $picturefields);
|
||||
// Preserve the id, it can be modified by username_load_fields_from_object.
|
||||
$user->id = $discussion->userid;
|
||||
$discussion->userfullname = fullname($user, $canviewfullname);
|
||||
|
||||
$userpicture = new user_picture($user);
|
||||
$userpicture->size = 1; // Size f1.
|
||||
$discussion->userpictureurl = $userpicture->get_url($PAGE)->out(false);
|
||||
|
||||
$usermodified = new stdclass();
|
||||
$usermodified->id = $discussion->usermodified;
|
||||
$usermodified = username_load_fields_from_object($usermodified, $discussion, 'um', $picturefields);
|
||||
// Preserve the id (it can be overwritten due to the prefixed $picturefields).
|
||||
$usermodified->id = $discussion->usermodified;
|
||||
$discussion->usermodifiedfullname = fullname($usermodified, $canviewfullname);
|
||||
|
||||
$userpicture = new user_picture($usermodified);
|
||||
$userpicture->size = 1; // Size f1.
|
||||
$discussion->usermodifiedpictureurl = $userpicture->get_url($PAGE)->out(false);
|
||||
}
|
||||
|
||||
$discussions[] = $discussion;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue