diff options
author | Zach Copley <zach@controlyourself.ca> | 2008-12-25 09:46:01 -0500 |
---|---|---|
committer | Zach Copley <zach@controlyourself.ca> | 2008-12-25 09:46:01 -0500 |
commit | 5e061d2060702516328a723ad6c9577eb0aa782d (patch) | |
tree | 1ed33f138f71806da110d6234f22ecf0a109966e /classes/Profile.php | |
parent | 6b51941056a361327e8717ede1194df3abe430a9 (diff) |
Some fixups of patches not already migrated to trunk to bring inline with PEAR coding stds
darcs-hash:20081225144601-7b5ce-4846f3d036c36037836d15ed672c10ba33f9f84c.gz
Diffstat (limited to 'classes/Profile.php')
-rw-r--r-- | classes/Profile.php | 42 |
1 files changed, 33 insertions, 9 deletions
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() { |