X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fgrouplogo.php;h=e3906847d307ae6d4af9a3fd50e606a16f5aed67;hb=9e89a177c76741f7e696f09d778bd8b151f84d3f;hp=3dc9891e0b93a559f78b7ec36c05fa81b838b29c;hpb=2a32af084f4c7c1ee33d311322b5f16abe0963a2;p=quix0rs-gnu-social.git diff --git a/actions/grouplogo.php b/actions/grouplogo.php index 3dc9891e0b..e3906847d3 100644 --- a/actions/grouplogo.php +++ b/actions/grouplogo.php @@ -28,13 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - - - -define('MAX_ORIGINAL', 480); +if (!defined('GNUSOCIAL')) { exit(1); } /** * Upload an avatar @@ -217,6 +211,10 @@ class GrouplogoAction extends GroupAction 'height' => AVATAR_PROFILE_SIZE, 'alt' => $this->group->nickname)); $this->elementEnd('div'); + if (!empty($this->group->homepage_logo)) { + // TRANS: Button on group logo upload page to delete current group logo. + $this->submit('delete', _('Delete')); + } $this->elementEnd('li'); } @@ -321,6 +319,8 @@ class GrouplogoAction extends GroupAction $this->uploadLogo(); } else if ($this->arg('crop')) { $this->cropLogo(); + } else if ($this->arg('delete')) { + $this->deleteLogo(); } else { // TRANS: Form validation error message when an unsupported argument is used. $this->showForm(_('Unexpected form submission.')); @@ -390,13 +390,20 @@ class GrouplogoAction extends GroupAction $dest_y = $this->arg('avatar_crop_y') ? $this->arg('avatar_crop_y'):0; $dest_w = $this->arg('avatar_crop_w') ? $this->arg('avatar_crop_w'):$filedata['width']; $dest_h = $this->arg('avatar_crop_h') ? $this->arg('avatar_crop_h'):$filedata['height']; - $size = min($dest_w, $dest_h); - $size = ($size > MAX_ORIGINAL) ? MAX_ORIGINAL:$size; + $size = min($dest_w, $dest_h, common_config('avatar', 'maxsize')); + $box = array('width' => $size, 'height' => $size, + 'x' => $dest_x, 'y' => $dest_y, + 'w' => $dest_w, 'h' => $dest_h); + + $profile = $this->group->getProfile(); $imagefile = new ImageFile(null, $filedata['filepath']); - $filename = $imagefile->resize($size, $dest_x, $dest_y, $dest_w, $dest_h); + $filename = Avatar::filename($profile->getID(), image_type_to_extension($imagefile->preferredType()), + $size, common_timestamp()); + + $imagefile->resizeTo(Avatar::path($filename), $box); - if ($this->group->setOriginal($filename)) { + if ($profile->setOriginal($filename)) { @unlink($filedata['filepath']); unset($_SESSION['FILEDATA']); $this->mode = 'upload'; @@ -408,6 +415,29 @@ class GrouplogoAction extends GroupAction } } + /** + * Get rid of the current group logo. + * + * @return void + */ + function deleteLogo() + { + $orig = clone($this->group); + Avatar::deleteFromProfile($this->group->getProfile()); + @unlink(Avatar::path(basename($this->group->original_logo))); + @unlink(Avatar::path(basename($this->group->homepage_logo))); + @unlink(Avatar::path(basename($this->group->stream_logo))); + @unlink(Avatar::path(basename($this->group->mini_logo))); + $this->group->original_logo=User_group::defaultLogo(AVATAR_PROFILE_SIZE); + $this->group->homepage_logo=User_group::defaultLogo(AVATAR_PROFILE_SIZE); + $this->group->stream_logo=User_group::defaultLogo(AVATAR_STREAM_SIZE); + $this->group->mini_logo=User_group::defaultLogo(AVATAR_MINI_SIZE); + $this->group->update($orig); + + // TRANS: Success message for deleting the group logo. + $this->showForm(_('Logo deleted.')); + } + function showPageNotice() { if ($this->msg) {