From 8f8527a416be41ba5f2ac984e944f76817260ed2 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 4 Jan 2013 17:23:22 +0100 Subject: [PATCH] [feature/avatars] Improve handling of incorrect input for avatars The upload avatar driver will now inform the user if insufficient data has been entered for both remote and local avatar uploads. The local avatar driver (gallery avatar) will also inform the user if he didn't select a category and/or file before submitting. PHPBB3-10018 --- phpBB/includes/avatar/driver/local.php | 7 +++++++ phpBB/includes/avatar/driver/upload.php | 7 ++++++- phpBB/language/en/common.php | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/avatar/driver/local.php b/phpBB/includes/avatar/driver/local.php index d7611b903a..bef5c6d427 100644 --- a/phpBB/includes/avatar/driver/local.php +++ b/phpBB/includes/avatar/driver/local.php @@ -120,6 +120,13 @@ class phpbb_avatar_driver_local extends phpbb_avatar_driver $category = $this->request->variable('avatar_local_cat', ''); $file = $this->request->variable('avatar_local_file', ''); + + if (empty($category) || empty($file)) + { + $error[] = 'NO_AVATAR_SELECTED'; + return false; + } + if (!isset($avatar_list[$category][urldecode($file)])) { $error[] = 'AVATAR_URL_NOT_FOUND'; diff --git a/phpBB/includes/avatar/driver/upload.php b/phpBB/includes/avatar/driver/upload.php index 4facb243ac..1bb86cf158 100644 --- a/phpBB/includes/avatar/driver/upload.php +++ b/phpBB/includes/avatar/driver/upload.php @@ -75,10 +75,15 @@ class phpbb_avatar_driver_upload extends phpbb_avatar_driver { $file = $upload->form_upload('avatar_upload_file'); } - else + elseif (!empty($this->config['allow_avatar_remote_upload']) && !empty($url)) { $file = $upload->remote_upload($url); } + else + { + $error[] = 'NO_AVATAR_SELECTED'; + return false; + } $prefix = $this->config['avatar_salt'] . '_'; $file->clean_filename('avatar', $prefix, $row['id']); diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 02b4443a56..f064dd43ac 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -397,6 +397,7 @@ $lang = array_merge($lang, array( 'NO_AUTH_ADMIN_USER_DIFFER' => 'You are not able to re-authenticate as a different user.', 'NO_AUTH_OPERATION' => 'You do not have the necessary permissions to complete this operation.', 'NO_AVATARS' => 'No avatars currently available', + 'NO_AVATAR_SELECTED' => 'You have not selected any avatar.', 'NO_CONNECT_TO_SMTP_HOST' => 'Could not connect to smtp host : %1$s : %2$s', 'NO_BIRTHDAYS' => 'No birthdays today', 'NO_EMAIL_MESSAGE' => 'Email message was blank.',