diff options
-rw-r--r-- | actions/avatar/crop.php | 6 | ||||
-rw-r--r-- | pages/avatar/edit.php | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/actions/avatar/crop.php b/actions/avatar/crop.php index f2b812c4f..b9a80f331 100644 --- a/actions/avatar/crop.php +++ b/actions/avatar/crop.php @@ -22,6 +22,12 @@ $filehandler->owner_guid = $owner->getGUID(); $filehandler->setFilename("profile/" . $owner->guid . "master" . ".jpg"); $filename = $filehandler->getFilenameOnFilestore(); +// ensuring the avatar image exists in the first place +if (!file_exists($filename)) { + register_error(elgg_echo('avatar:crop:fail')); + forward(REFERER); +} + $icon_sizes = elgg_get_config('icon_sizes'); unset($icon_sizes['master']); diff --git a/pages/avatar/edit.php b/pages/avatar/edit.php index eef8f8f8b..c71633b8b 100644 --- a/pages/avatar/edit.php +++ b/pages/avatar/edit.php @@ -10,8 +10,13 @@ elgg_set_context('profile_edit'); $title = elgg_echo('avatar:edit'); -$content = elgg_view('core/avatar/upload', array('entity' => elgg_get_page_owner_entity())); -$content .= elgg_view('core/avatar/crop', array('entity' => elgg_get_page_owner_entity())); +$entity = elgg_get_page_owner_entity(); +$content = elgg_view('core/avatar/upload', array('entity' => $entity)); + +// only offer the crop view if an avatar has been uploaded +if (isset($entity->icontime)) { + $content .= elgg_view('core/avatar/crop', array('entity' => $entity)); +} $params = array( 'content' => $content, |