mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +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,6 +268,11 @@ class mod_forum_external extends external_api {
|
|||
$post->children = array();
|
||||
}
|
||||
|
||||
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'));
|
||||
|
@ -276,6 +281,7 @@ class mod_forum_external extends external_api {
|
|||
$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,6 +473,35 @@ class mod_forum_external extends external_api {
|
|||
$discussion->numreplies = (int) $replies[$discussion->discussion]->replies;
|
||||
}
|
||||
|
||||
$discussion->name = external_format_string($discussion->name, $modcontext->id);
|
||||
$discussion->subject = external_format_string($discussion->subject, $modcontext->id);
|
||||
// Rewrite embedded images URLs.
|
||||
list($discussion->message, $discussion->messageformat) =
|
||||
external_format_text($discussion->message, $discussion->messageformat,
|
||||
$modcontext->id, 'mod_forum', 'post', $discussion->id);
|
||||
|
||||
// List attachments.
|
||||
if (!empty($discussion->attachment)) {
|
||||
$discussion->attachments = external_util::get_area_files($modcontext->id, 'mod_forum', 'attachment',
|
||||
$discussion->id);
|
||||
}
|
||||
$messageinlinefiles = external_util::get_area_files($modcontext->id, 'mod_forum', 'post', $discussion->id);
|
||||
if (!empty($messageinlinefiles)) {
|
||||
$discussion->messageinlinefiles = $messageinlinefiles;
|
||||
}
|
||||
|
||||
$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.
|
||||
|
@ -491,26 +526,7 @@ class mod_forum_external extends external_api {
|
|||
$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.
|
||||
list($discussion->message, $discussion->messageformat) =
|
||||
external_format_text($discussion->message, $discussion->messageformat,
|
||||
$modcontext->id, 'mod_forum', 'post', $discussion->id);
|
||||
|
||||
// List attachments.
|
||||
if (!empty($discussion->attachment)) {
|
||||
$discussion->attachments = external_util::get_area_files($modcontext->id, 'mod_forum', 'attachment',
|
||||
$discussion->id);
|
||||
}
|
||||
$messageinlinefiles = external_util::get_area_files($modcontext->id, 'mod_forum', 'post', $discussion->id);
|
||||
if (!empty($messageinlinefiles)) {
|
||||
$discussion->messageinlinefiles = $messageinlinefiles;
|
||||
}
|
||||
|
||||
$discussion->locked = forum_discussion_is_locked($forum, $discussion);
|
||||
$discussion->canreply = forum_user_can_post($forum, $discussion, $USER, $cm, $course, $modcontext);
|
||||
|
||||
$discussions[] = $discussion;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue