*
* @param object $addtoobject Object to add user name fields to.
* @param object $secondobject Object that contains user name field information.
- * @param string $prefix prefix to be added to the user name field e.g. authorfirstname.
+ * @param string $prefix prefix to be added to all fields (including $additionalfields) e.g. authorfirstname.
* @param array $additionalfields Additional fields to be matched with data in the second object.
* The key can be set to the user table field name.
* @return object User name fields.
// the key is a number and then sets the key to the array value.
foreach ($additionalfields as $key => $value) {
if (is_numeric($key)) {
- $additionalfields[$value] = $value;
+ $additionalfields[$value] = $prefix . $value;
unset($additionalfields[$key]);
+ } else {
+ $additionalfields[$key] = $prefix . $value;
}
}
$fields = array_merge($fields, $additionalfields);
$userinfo->imagealt = 'Michael Jordan draining another basket.';
$userinfo->idnumber = 3982;
-
// Just user name fields.
$user = new stdClass();
$user = username_load_fields_from_object($user, $userinfo);
// User information for showing a picture.
$user = new stdClass();
- $additionalfields = array('id' => 'userid', 'imagealt', 'picture', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$user = username_load_fields_from_object($user, $userinfo, null, $additionalfields);
+ $user->id = $userinfo->userid;
$expectedarray = new stdClass();
$expectedarray->id = 1;
$expectedarray->firstname = 'Bruce';
$userinfo->authorfirstnamephonetic = 'ブルース';
$userinfo->authorlastnamephonetic = 'カンベッル';
$userinfo->authormiddlename = '';
+ $userinfo->authorpicture = 23;
+ $userinfo->authorimagealt = 'Michael Jordan draining another basket.';
+ $userinfo->authoremail = 'test@testing.net';
+
// Return an object with user picture information.
$user = new stdClass();
- $additionalfields = array('id' => 'userid', 'imagealt', 'picture', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$user = username_load_fields_from_object($user, $userinfo, 'author', $additionalfields);
+ $user->id = $userinfo->userid;
$expectedarray = new stdClass();
$expectedarray->id = 1;
$expectedarray->firstname = 'Bruce';
$expectedarray->lastnamephonetic = 'カンベッル';
$expectedarray->middlename = '';
$expectedarray->alternatename = '';
- $expectedarray->email = '';
+ $expectedarray->email = 'test@testing.net';
$expectedarray->picture = 23;
$expectedarray->imagealt = 'Michael Jordan draining another basket.';
$this->assertEquals($user, $expectedarray);
// Build an object that represents the posting user
$postuser = new stdClass;
- $postuserfields = array('id' => 'userid', 'imagealt', 'picture', 'email');
+ $postuserfields = explode(',', user_picture::fields());
$postuser = username_load_fields_from_object($postuser, $post, null, $postuserfields);
+ $postuser->id = $post->userid;
$postuser->fullname = fullname($postuser, $cm->cache->caps['moodle/site:viewfullnames']);
$postuser->profilelink = new moodle_url('/user/view.php', array('id'=>$post->userid, 'course'=>$course->id));
// Picture
$postuser = new stdClass();
- $postuserfields = array('id' => 'userid', 'imagealt', 'picture', 'email');
+ $postuserfields = explode(',', user_picture::fields());
$postuser = username_load_fields_from_object($postuser, $post, null, $postuserfields);
+ $postuser->id = $post->userid;
echo '<td class="picture">';
echo $OUTPUT->user_picture($postuser, array('courseid'=>$forum->course));
echo "</td>\n";
$usedate = (empty($post->timemodified)) ? $post->modified : $post->timemodified; // Just in case
$parenturl = (empty($post->lastpostid)) ? '' : '&parent='.$post->lastpostid;
$usermodified = new stdClass();
- $usermodified = username_load_fields_from_object($usermodified, $post, 'um', array('id' => 'usermodified'));
+ $usermodified->id = $post->usermodified;
+ $usermodified = username_load_fields_from_object($usermodified, $post, 'um');
echo '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$post->usermodified.'&course='.$forum->course.'">'.
fullname($usermodified).'</a><br />';
echo '<a href="'.$CFG->wwwroot.'/mod/forum/discuss.php?d='.$post->discussion.$parenturl.'">'.
$tmpactivity->user = new stdClass();
$additionalfields = array('id' => 'userid', 'picture', 'imagealt', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$tmpactivity->user = username_load_fields_from_object($tmpactivity->user, $post, null, $additionalfields);
+ $tmpactivity->user->id = $post->userid;
$activities[$index++] = $tmpactivity;
}
public function col_picture($attempt) {
global $OUTPUT;
$user = new stdClass();
- $additionalfields = array('id' => 'userid', 'imagealt', 'picture', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$user = username_load_fields_from_object($user, $attempt, null, $additionalfields);
+ $user->id = $attempt->userid
return $OUTPUT->user_picture($user);
}
}
if (in_array('picture', $columns)) {
$user = new stdClass();
- $additionalfields = array('id' => 'userid', 'picture', 'imagealt', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$user = username_load_fields_from_object($user, $scouser, null, $additionalfields);
+ $user->id = $scouser->userid;
$row[] = $OUTPUT->user_picture($user, array('courseid'=>$course->id));
}
if (!$download) {
}
if (in_array('picture', $columns)) {
$user = new stdClass();
- $additionalfields = array('id' => 'userid', 'picture', 'imagealt', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$user = username_load_fields_from_object($user, $scouser, null, $additionalfields);
+ $user->id = $scouser->userid;
$row[] = $OUTPUT->user_picture($user, array('courseid'=>$course->id));
}
if (!$download) {
}
if (in_array('picture', $columns)) {
$user = new stdClass();
- $additionalfields = array('id' => 'userid', 'picture', 'imagealt', 'email');
+ $additionalfields = explode(',', user_picture::fields());
$user = username_load_fields_from_object($user, $scouser, null, $additionalfields);
+ $user->id = $scouser->userid;
$row[] = $OUTPUT->user_picture($user, array('courseid'=>$course->id));
}
if (!$download) {