diff options
author | mrgoldy <gijsmartens1@gmail.com> | 2019-08-25 21:24:22 +0200 |
---|---|---|
committer | mrgoldy <gijsmartens1@gmail.com> | 2019-08-25 21:24:22 +0200 |
commit | 8bc056ebe6d5876c6de2a2ca84bf234678c3e702 (patch) | |
tree | 2dcd7bd57b28c17866edfc0577dbe058240feb9c /phpBB/phpbb/plupload/plupload.php | |
parent | 9c15594fe498a8a1640bb89aa0c93800918a9798 (diff) | |
download | forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar.gz forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar.bz2 forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar.xz forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.zip |
[ticket/16076] addFileFilter to check max file size per mime type
PHPBB3-16076
Diffstat (limited to 'phpBB/phpbb/plupload/plupload.php')
-rw-r--r-- | phpBB/phpbb/plupload/plupload.php | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/phpBB/phpbb/plupload/plupload.php b/phpBB/phpbb/plupload/plupload.php index eb698fb35d..9ad12b1082 100644 --- a/phpBB/phpbb/plupload/plupload.php +++ b/phpBB/phpbb/plupload/plupload.php @@ -216,38 +216,36 @@ class plupload } /** - * Looks at the list of allowed extensions and generates a string - * appropriate for use in configuring plupload with - * - * @param \phpbb\cache\service $cache - * @param string $forum_id The ID of the forum - * - * @return string - */ + * Looks at the list of allowed extensions and generates a string + * appropriate for use in configuring plupload with + * + * @param \phpbb\cache\service $cache Cache service object + * @param string $forum_id The forum identifier + * + * @return string + */ public function generate_filter_string(\phpbb\cache\service $cache, $forum_id) { + $groups = []; + $filters = []; + $attach_extensions = $cache->obtain_attach_extensions($forum_id); unset($attach_extensions['_allowed_']); - $groups = array(); // Re-arrange the extension array to $groups[$group_name][] foreach ($attach_extensions as $extension => $extension_info) { - if (!isset($groups[$extension_info['group_name']])) - { - $groups[$extension_info['group_name']] = array(); - } - - $groups[$extension_info['group_name']][] = $extension; + $groups[$extension_info['group_name']]['extensions'][] = $extension; + $groups[$extension_info['group_name']]['max_file_size'] = (int) $extension_info['max_filesize']; } - $filters = array(); - foreach ($groups as $group => $extensions) + foreach ($groups as $group => $group_info) { $filters[] = sprintf( - "{title: '%s', extensions: '%s'}", + "{title: '%s', extensions: '%s', max_file_size: %s}", addslashes(ucfirst(strtolower($group))), - addslashes(implode(',', $extensions)) + addslashes(implode(',', $group_info['extensions'])), + $group_info['max_file_size'] ); } |