mirror of
https://github.com/nextcloud/server.git
synced 2024-08-09 14:13:00 +02:00
VCARDS don't hold binary data
* We need to base64 encode the avatar! * Switched to vcard v4 * User proper data uri Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
f692ea34f1
commit
e9f98fd5a9
@ -71,7 +71,7 @@ class Converter {
|
|||||||
break;
|
break;
|
||||||
case AccountManager::PROPERTY_AVATAR:
|
case AccountManager::PROPERTY_AVATAR:
|
||||||
if ($image !== null) {
|
if ($image !== null) {
|
||||||
$vCard->add('PHOTO', $image->data(), ['ENCODING' => 'b', 'TYPE' => $image->mimeType()]);
|
$vCard->add('PHOTO', 'data:'.$image->mimeType().';base64,' . base64_encode($image->data()));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AccountManager::PROPERTY_EMAIL:
|
case AccountManager::PROPERTY_EMAIL:
|
||||||
|
@ -134,11 +134,45 @@ class ConverterTest extends TestCase {
|
|||||||
|
|
||||||
public function providesNewUsers() {
|
public function providesNewUsers() {
|
||||||
return [
|
return [
|
||||||
[null],
|
[
|
||||||
[null, null, 'foo@bar.net'],
|
null
|
||||||
[['cloud' => 'foo@cloud.net', 'email' => 'foo@bar.net'], null, 'foo@bar.net', 'foo@cloud.net'],
|
],
|
||||||
[['cloud' => 'foo@cloud.net', 'email' => 'foo@bar.net', 'fn' => 'Dr. Foo Bar'], "Dr. Foo Bar", "foo@bar.net", 'foo@cloud.net'],
|
[
|
||||||
[['cloud' => 'foo@cloud.net', 'fn' => 'Dr. Foo Bar'], "Dr. Foo Bar", null, "foo@cloud.net"],
|
null,
|
||||||
|
null,
|
||||||
|
'foo@bar.net'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
'cloud' => 'foo@cloud.net',
|
||||||
|
'email' => 'foo@bar.net',
|
||||||
|
'photo' => 'data:image/jpeg;base64,MTIzNDU2Nzg5',
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
'foo@bar.net',
|
||||||
|
'foo@cloud.net'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
'cloud' => 'foo@cloud.net',
|
||||||
|
'email' => 'foo@bar.net',
|
||||||
|
'fn' => 'Dr. Foo Bar',
|
||||||
|
'photo' => 'data:image/jpeg;base64,MTIzNDU2Nzg5',
|
||||||
|
],
|
||||||
|
"Dr. Foo Bar",
|
||||||
|
"foo@bar.net",
|
||||||
|
'foo@cloud.net'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[
|
||||||
|
'cloud' => 'foo@cloud.net',
|
||||||
|
'fn' => 'Dr. Foo Bar',
|
||||||
|
'photo' => 'data:image/jpeg;base64,MTIzNDU2Nzg5',
|
||||||
|
],
|
||||||
|
"Dr. Foo Bar",
|
||||||
|
null,
|
||||||
|
"foo@cloud.net"
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,7 +205,7 @@ class ConverterTest extends TestCase {
|
|||||||
*/
|
*/
|
||||||
protected function getUserMock($displayName, $eMailAddress, $cloudId) {
|
protected function getUserMock($displayName, $eMailAddress, $cloudId) {
|
||||||
$image0 = $this->getMockBuilder(IImage::class)->disableOriginalConstructor()->getMock();
|
$image0 = $this->getMockBuilder(IImage::class)->disableOriginalConstructor()->getMock();
|
||||||
$image0->method('mimeType')->willReturn('JPEG');
|
$image0->method('mimeType')->willReturn('image/jpeg');
|
||||||
$image0->method('data')->willReturn('123456789');
|
$image0->method('data')->willReturn('123456789');
|
||||||
$user = $this->getMockBuilder(IUser::class)->disableOriginalConstructor()->getMock();
|
$user = $this->getMockBuilder(IUser::class)->disableOriginalConstructor()->getMock();
|
||||||
$user->method('getUID')->willReturn('12345');
|
$user->method('getUID')->willReturn('12345');
|
||||||
|
Loading…
Reference in New Issue
Block a user