From 5e061d2060702516328a723ad6c9577eb0aa782d Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Thu, 25 Dec 2008 09:46:01 -0500 Subject: Some fixups of patches not already migrated to trunk to bring inline with PEAR coding stds darcs-hash:20081225144601-7b5ce-4846f3d036c36037836d15ed672c10ba33f9f84c.gz --- classes/Profile.php | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) (limited to 'classes/Profile.php') diff --git a/classes/Profile.php b/classes/Profile.php index 3b6ac1d7f..31bdf71d5 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -121,15 +121,39 @@ class Profile extends Memcached_DataObject return $avatar; } - function delete_avatars() { - $avatar = new Avatar(); - $avatar->profile_id = $this->id; - $avatar->find(); - while ($avatar->fetch()) { - $avatar->delete(); - } - return true; - } + function crop_avatars($x, $y, $w, $h) + { + + $avatar = $this->getOriginalAvatar(); + $this->delete_avatars(false); # don't delete original + + foreach (array(AVATAR_PROFILE_SIZE, AVATAR_STREAM_SIZE, AVATAR_MINI_SIZE) as $size) { + # We don't do a scaled one if original is our scaled size + if (!($avatar->width == $size && $avatar->height == $size)) { + $s = $avatar->scale_and_crop($size, $x, $y, $w, $h); + if (!$s) { + return NULL; + } + } + } + return true; + } + + function delete_avatars($original=true) + { + $avatar = new Avatar(); + $avatar->profile_id = $this->id; + $avatar->find(); + while ($avatar->fetch()) { + if ($avatar->original) { + if ($original == false) { + continue; + } + } + $avatar->delete(); + } + return true; + } function getBestName() { -- cgit v1.2.3-54-g00ecf