diff options
Diffstat (limited to 'actions/avatar/remove.php')
| -rw-r--r-- | actions/avatar/remove.php | 34 | 
1 files changed, 34 insertions, 0 deletions
diff --git a/actions/avatar/remove.php b/actions/avatar/remove.php new file mode 100644 index 000000000..cd38e456a --- /dev/null +++ b/actions/avatar/remove.php @@ -0,0 +1,34 @@ +<?php +/** + * Avatar remove action + */ + +$guid = get_input('guid'); +$user = get_entity($guid); +if ($user) { +	// Delete all icons from diskspace +	$icon_sizes = elgg_get_config('icon_sizes'); +	foreach ($icon_sizes as $name => $size_info) { +		$file = new ElggFile(); +		$file->owner_guid = $guid; +		$file->setFilename("profile/{$guid}{$name}.jpg"); +		$filepath = $file->getFilenameOnFilestore(); +		if (!$file->delete()) { +			elgg_log("Avatar file remove failed. Remove $filepath manually, please.", 'WARNING'); +		} +	} +	 +	// Remove crop coords +	unset($user->x1); +	unset($user->x2); +	unset($user->y1); +	unset($user->y2); +	 +	// Remove icon +	unset($user->icontime); +	system_message(elgg_echo('avatar:remove:success')); +} else { +	register_error(elgg_echo('avatar:remove:fail')); +} + +forward(REFERER);  | 
