summaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
authorSean Murphy <sgmurphy@gmail.com>2009-02-09 20:17:56 -0500
committerSean Murphy <sgmurphy@gmail.com>2009-02-09 20:17:56 -0500
commit55fcc150fe90156ad33f8627128c7ae555662528 (patch)
tree474722c4821efe79bacd6dbdc0be6fe7ccf1eb0d /actions
parentcf29ef2bc484c1d9719e852d1d3b6eeaff74e094 (diff)
Fixed #1025: Delete avatar option.
Diffstat (limited to 'actions')
-rw-r--r--actions/avatarsettings.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/actions/avatarsettings.php b/actions/avatarsettings.php
index 7dd53f6eb..f38a44a24 100644
--- a/actions/avatarsettings.php
+++ b/actions/avatarsettings.php
@@ -145,6 +145,7 @@ class AvatarsettingsAction extends AccountSettingsAction
'height' => AVATAR_PROFILE_SIZE,
'alt' => $user->nickname));
$this->elementEnd('div');
+ $this->submit('delete', _('Delete'));
$this->elementEnd('li');
}
@@ -256,6 +257,8 @@ class AvatarsettingsAction extends AccountSettingsAction
$this->uploadAvatar();
} else if ($this->arg('crop')) {
$this->cropAvatar();
+ } else if ($this->arg('delete')) {
+ $this->deleteAvatar();
} else {
$this->showForm(_('Unexpected form submission.'));
}
@@ -344,6 +347,29 @@ class AvatarsettingsAction extends AccountSettingsAction
$this->showForm(_('Failed updating avatar.'));
}
}
+
+ /**
+ * Get rid of the current avatar.
+ *
+ * @return void
+ */
+
+ function deleteAvatar()
+ {
+ $user = common_current_user();
+ $profile = $user->getProfile();
+
+ $avatar = $profile->getOriginalAvatar();
+ $avatar->delete();
+ $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
+ $avatar->delete();
+ $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
+ $avatar->delete();
+ $avatar = $profile->getAvatar(AVATAR_MINI_SIZE);
+ $avatar->delete();
+
+ $this->showForm(_('Avatar deleted.'), true);
+ }
/**
* Add the jCrop stylesheet