diff options
-rw-r--r-- | app/Controller/AvatarFile.php | 39 | ||||
-rw-r--r-- | app/Controller/User.php | 37 | ||||
-rw-r--r-- | app/Model/File.php | 1 | ||||
-rw-r--r-- | app/Template/avatar_file/show.php (renamed from app/Template/user/avatar.php) | 4 | ||||
-rw-r--r-- | app/Template/user/sidebar.php | 4 | ||||
-rw-r--r-- | app/User/Avatar/AvatarFileProvider.php | 2 |
6 files changed, 43 insertions, 44 deletions
diff --git a/app/Controller/AvatarFile.php b/app/Controller/AvatarFile.php index f8298e16..a47cca66 100644 --- a/app/Controller/AvatarFile.php +++ b/app/Controller/AvatarFile.php @@ -14,10 +14,47 @@ use Kanboard\Core\Thumbnail; class AvatarFile extends Base { /** - * Show Avatar image and send aggressive caching headers + * Display avatar page */ public function show() { + $user = $this->getUser(); + + $this->response->html($this->helper->layout->user('avatar_file/show', array( + 'user' => $user, + ))); + } + + /** + * Upload Avatar + */ + public function upload() + { + $user = $this->getUser(); + + if (! $this->avatarFile->uploadFile($user['id'], $this->request->getFileInfo('avatar'))) { + $this->flash->failure(t('Unable to upload the file.')); + } + + $this->response->redirect($this->helper->url->to('AvatarFile', 'show', array('user_id' => $user['id']))); + } + + /** + * Remove Avatar image + */ + public function remove() + { + $this->checkCSRFParam(); + $user = $this->getUser(); + $this->avatarFile->remove($user['id']); + $this->response->redirect($this->helper->url->to('AvatarFile', 'show', array('user_id' => $user['id']))); + } + + /** + * Show Avatar image (public) + */ + public function image() + { $user_id = $this->request->getIntegerParam('user_id'); $size = $this->request->getStringParam('size', 48); $filename = $this->avatarFile->getFilename($user_id); diff --git a/app/Controller/User.php b/app/Controller/User.php index 8c02ef7f..f7d7d2e0 100644 --- a/app/Controller/User.php +++ b/app/Controller/User.php @@ -405,41 +405,4 @@ class User extends Base 'user' => $user, ))); } - - /** - * Display avatar page - */ - public function avatar() - { - $user = $this->getUser(); - - $this->response->html($this->helper->layout->user('user/avatar', array( - 'user' => $user, - ))); - } - - /** - * Upload Avatar - */ - public function uploadAvatar() - { - $user = $this->getUser(); - - if (! $this->avatarFile->uploadFile($user['id'], $this->request->getFileInfo('avatar'))) { - $this->flash->failure(t('Unable to upload the file.')); - } - - $this->response->redirect($this->helper->url->to('user', 'avatar', array('user_id' => $user['id']))); - } - - /** - * Remove Avatar image - */ - public function removeAvatar() - { - $this->checkCSRFParam(); - $user = $this->getUser(); - $this->avatarFile->remove($user['id']); - $this->response->redirect($this->helper->url->to('user', 'avatar', array('user_id' => $user['id']))); - } } diff --git a/app/Model/File.php b/app/Model/File.php index 5e77060c..e383235c 100644 --- a/app/Model/File.php +++ b/app/Model/File.php @@ -5,7 +5,6 @@ namespace Kanboard\Model; use Exception; use Kanboard\Core\Thumbnail; use Kanboard\Event\FileEvent; -use Kanboard\Core\Tool; use Kanboard\Core\ObjectStorage\ObjectStorageException; /** diff --git a/app/Template/user/avatar.php b/app/Template/avatar_file/show.php index c285f44d..266a2ccb 100644 --- a/app/Template/user/avatar.php +++ b/app/Template/avatar_file/show.php @@ -4,14 +4,14 @@ <?= $this->avatar->render($user['id'], $user['username'], $user['name'], $user['email'], $user['avatar_path'], '') ?> -<form method="post" enctype="multipart/form-data" action="<?= $this->url->href('user', 'uploadAvatar', array('user_id' => $user['id'])) ?>"> +<form method="post" enctype="multipart/form-data" action="<?= $this->url->href('AvatarFile', 'upload', array('user_id' => $user['id'])) ?>"> <?= $this->form->csrf() ?> <?= $this->form->label(t('Upload my avatar image'), 'avatar') ?> <?= $this->form->file('avatar') ?> <div class="form-actions"> <?php if (! empty($user['avatar_path'])): ?> - <?= $this->url->link(t('Remove my image'), 'User', 'removeAvatar', array('user_id' => $user['id']), true, 'btn btn-red') ?> + <?= $this->url->link(t('Remove my image'), 'AvatarFile', 'remove', array('user_id' => $user['id']), true, 'btn btn-red') ?> <?php endif ?> <button type="submit" class="btn btn-blue"><?= t('Save') ?></button> <?= t('or') ?> diff --git a/app/Template/user/sidebar.php b/app/Template/user/sidebar.php index ecadc60d..5ea2e355 100644 --- a/app/Template/user/sidebar.php +++ b/app/Template/user/sidebar.php @@ -37,8 +37,8 @@ <li <?= $this->app->checkMenuSelection('user', 'edit') ?>> <?= $this->url->link(t('Edit profile'), 'user', 'edit', array('user_id' => $user['id'])) ?> </li> - <li <?= $this->app->checkMenuSelection('user', 'avatar') ?>> - <?= $this->url->link(t('Avatar'), 'user', 'avatar', array('user_id' => $user['id'])) ?> + <li <?= $this->app->checkMenuSelection('AvatarFile') ?>> + <?= $this->url->link(t('Avatar'), 'AvatarFile', 'show', array('user_id' => $user['id'])) ?> </li> <?php endif ?> diff --git a/app/User/Avatar/AvatarFileProvider.php b/app/User/Avatar/AvatarFileProvider.php index 87a42c07..eea565f0 100644 --- a/app/User/Avatar/AvatarFileProvider.php +++ b/app/User/Avatar/AvatarFileProvider.php @@ -23,7 +23,7 @@ class AvatarFileProvider extends Base implements AvatarProviderInterface */ public function render(array $user, $size) { - $url = $this->helper->url->href('AvatarFile', 'show', array('user_id' => $user['id'], 'size' => $size)); + $url = $this->helper->url->href('AvatarFile', 'image', array('user_id' => $user['id'], 'size' => $size)); $title = $this->helper->text->e($user['name'] ?: $user['username']); return '<img src="' . $url . '" alt="' . $title . '" title="' . $title . '">'; } |