Passed
Push — 3.0 ( f60a73...a99576 )
by Jeroen
69:39 queued 12s
created

actions/avatar/upload.php (1 issue)

Severity
1
<?php
2
/**
3
 * Avatar upload action
4
 */
5
6
$guid = (int) get_input('guid');
7
$owner = get_user($guid);
8
if (!$owner || !$owner->canEdit()) {
1 ignored issue
show
$owner is of type ElggUser, thus it always evaluated to true.
Loading history...
9
	return elgg_error_response(elgg_echo('avatar:upload:fail'));
10
}
11
12
if (get_input('avatar_remove')) {
13
	if (!$owner->deleteIcon()) {
14
		return elgg_error_response(elgg_echo('avatar:remove:fail'));
15
	}
16
	
17
	return elgg_ok_response('', elgg_echo('avatar:remove:success'));
18
}
19
20
/* @var $avatar \Symfony\Component\HttpFoundation\File\UploadedFile */
21
$avatar = elgg_get_uploaded_file('avatar', false);
22
if (!empty($avatar) && !$avatar->isValid()) {
23
	$error = elgg_get_friendly_upload_error($avatar->getError());
24
	
25
	return elgg_error_response($error);
26
} elseif (empty($avatar)) {
27
	return elgg_error_response(elgg_echo('avatar:upload:fail'));
28
}
29
30
if (!$owner->saveIconFromUploadedFile('avatar')) {
31
	return elgg_error_response(elgg_echo('avatar:resize:fail'));
32
}
33
34
if (!elgg_trigger_event('profileiconupdate', $owner->type, $owner)) {
35
	return elgg_error_response();
36
}
37
38
// River
39
$view = 'river/user/default/profileiconupdate';
40
41
// remove old river items
42
elgg_delete_river([
43
	'subject_guid' => $owner->guid,
44
	'view' => $view,
45
	'limit' => false,
46
]);
47
48
// create new river entry
49
elgg_create_river_item([
50
	'view' => $view,
51
	'action_type' => 'update',
52
	'subject_guid' => $owner->guid,
53
	'object_guid' => $owner->guid,
54
]);
55
56
return elgg_ok_response('', elgg_echo('avatar:upload:success'));
57