- function scale($filename, $size, $type)
- {
- $filepath = common_avatar_path($filename);
-
- if (!file_exists($filepath)) {
- $this->serverError(_('Lost our file.'));
- return;
- }
-
- $info = @getimagesize($filepath);
-
- switch ($type) {
- case IMAGETYPE_GIF:
- $image_src = imagecreatefromgif($filepath);
- break;
- case IMAGETYPE_JPEG:
- $image_src = imagecreatefromjpeg($filepath);
- break;
- case IMAGETYPE_PNG:
- $image_src = imagecreatefrompng($filepath);
- break;
- default:
- $this->serverError(_('Unknown file type'));
- return;
- }
-
- $image_dest = imagecreatetruecolor($size, $size);
-
- if ($type == IMAGETYPE_GIF || $type == IMAGETYPE_PNG) {
-
- $transparent_idx = imagecolortransparent($image_src);
-
- if ($transparent_idx >= 0) {
-
- $transparent_color = imagecolorsforindex($image_src, $transparent_idx);
- $transparent_idx = imagecolorallocate($image_dest, $transparent_color['red'], $transparent_color['green'], $transparent_color['blue']);
- imagefill($image_dest, 0, 0, $transparent_idx);
- imagecolortransparent($image_dest, $transparent_idx);
-
- } elseif ($type == IMAGETYPE_PNG) {
-
- imagealphablending($image_dest, false);
- $transparent = imagecolorallocatealpha($image_dest, 0, 0, 0, 127);
- imagefill($image_dest, 0, 0, $transparent);
- imagesavealpha($image_dest, true);
-
+ function getBestName()
+ {
+ return ($this->fullname) ? $this->fullname : $this->nickname;
+ }
+
+ function getAliases()
+ {
+ $aliases = array();
+
+ // XXX: cache this
+
+ $alias = new Group_alias();
+
+ $alias->group_id = $this->id;
+
+ if ($alias->find()) {
+ while ($alias->fetch()) {
+ $aliases[] = $alias->alias;
+ }
+ }
+
+ $alias->free();
+
+ return $aliases;
+ }
+
+ function setAliases($newaliases) {
+
+ $newaliases = array_unique($newaliases);
+
+ $oldaliases = $this->getAliases();
+
+ # Delete stuff that's old that not in new
+
+ $to_delete = array_diff($oldaliases, $newaliases);
+
+ # Insert stuff that's in new and not in old
+
+ $to_insert = array_diff($newaliases, $oldaliases);
+
+ $alias = new Group_alias();
+
+ $alias->group_id = $this->id;
+
+ foreach ($to_delete as $delalias) {
+ $alias->alias = $delalias;
+ $result = $alias->delete();
+ if (!$result) {
+ common_log_db_error($alias, 'DELETE', __FILE__);
+ return false;
+ }
+ }
+
+ foreach ($to_insert as $insalias) {
+ $alias->alias = $insalias;
+ $result = $alias->insert();
+ if (!$result) {
+ common_log_db_error($alias, 'INSERT', __FILE__);
+ return false;